しょうぎせいさく日記

第壱次政策 2002/12/12

まずは、駒番号の設計から。。。
これはかなり重要だ。
条件としては

*255以下の数字
*成、敵味方 の表現を加算減算やビット演算等で表したい。

そうすれば 高速化やメモリーの軽減につながる。
で、結局駒番号は以下の通りにあらわすことにした。

駒番号の構造
PL1
01234567
-910-12131415
PL2
3233343536373839
-4142-44454647

壁:64
空:128

はぁ 出来た。。。

え?壁なんて駒はないって?

これは局面の外側に壁を配置することによって
高速化を計る良くある方法です。

え?駒番号の間に隙間が多くて無駄が多いって?

隙間だらけの設計の理由は

(駒-1)&60=12:
(13:圭PL1 & 14:杏PL1 & 15:とPL1)の駒を指す

とかの数式で駒のグループを数式で表せるから。
続きは また今度。。。


第弐次政策 2002/12/19

盤と持ち駒の座標は下のようにした。

盤の座標
色の付いてるところは壁。
持ち駒の座標の方の「手」という駒は、
パスした時に 取る駒という事にしました。

それにしても、最近 風邪で頭が痛い。。。
困った 困った。


第参次政策 2003/1/9

とりあえず画面の作成

画面
うーん。。。
Cは慣れてないので 作業がはかどらない。
何とかならないものかな。

第四次政策 2003/2/2

駒の効き関数と指し手の生成関数

駒の効き情報の方が少し前に出来ていたので
それをいじって指し手の生成を作ると手間が省けたので楽だった。

駒の効き関数で、どういう効き情報を作るかによって
評価関数に及ぼす影響は大きいし、処理時間も重要だ。
いつまで考えてても仕方がないので、
「りすかす」で比較的成功した方法を取った。

香、角、飛 などのとび駒は
飛車や香が並んでいる時に、突き抜けるようにした。
それから、とび駒の効きを遮る駒が敵王のときも突き抜けるようにした。
また、とび駒の効きを遮る駒が
見方の駒で順に効きがある時に、一マスだけ突き抜けるようにした。
下の図が例

画面

試しに、駒の効き関数の処理時間を計ってみた。
結果、「りすかす-参」3倍近くに算出速度が上がってる(わぁー
(「りすかす-参」は、めんどくさいので公開してない)
去年の大会のバージョンと比べたら、10倍以上処理速度が上がった気がする。
(去年のは計ってないから、わからないけど)
次は駒価値算出関数を完成させたいなぁ。









TOP


[★高収入が可能!WEBデザインのプロになってみない?! Click Here! 自宅で仕事がしたい人必見! Click Here!]
[ CGIレンタルサービス | 100MBの無料HPスペース | 検索エンジン登録代行サービス ]
[ 初心者でも安心なレンタルサーバー。50MBで250円から。CGI・SSI・PHPが使えます。 ]


FC2 キャッシング 出会い 無料アクセス解析