単純な駒得が強い静的評価では、簡単に展開すべき 最良局面を見誤るため、特に静的評価の実装に注意を払っている。 静的評価の中では、単純な両取り程度を認識でき、 得点を加算する能力を持っている。 このため、かなり重たい評価関数となってしまった。
| cpu | cpu スペック | 最高速度 |
| Pen4 1.5GHz | L1 32kB,L2 256kB | 25000局面/sec |
| PA8600 550MHz | L1 1.5MB | 24000局面/sec |
| K6-III 450MHz | L1 64kB,L2 256kB | 9000局面/sec |
思考ルーチンは、以下の手順で思考をすすめる。
| 1. | 定跡マッチングを行なう |
| 2. | 1手全件の木を作る |
| 3. | 詰め専用ルーチンを呼び出す |
| 4. | 2手全件の木を作る |
| 5. | 各1手目の先の静的評価の高い2手をもう1手展開する |
| 6. | 探索木中のある条件に合致した優位な末端を拡張する |
| 7. | 一定条件を満たすまで 6. へループする |
序盤は定跡マッチングによって手を指している。 現在の局面数は 15749 局面となっている。 残念ながら完全マッチングでしか指し手をえらべない。 また、定跡から外れる相手の悪手に対して、いきなり厳しい攻め手順を 指す為の定跡も持っていない。
詰めは専用ルーチンを持っている。 詰めルーチンの構造は共謀数を用いた縦型検索となっている。 条件によっては 11手を超える詰めを発見する事ができる。
なお、通常思考ルーチンでも、条件によっては 7手詰みを見つける事ができる。 専用ルーチンはきわめて短時間に終わらせなければならず 共謀数による上限制限を行なっているため、 沢山のあい駒があるケースでは浅い場所でも詰めを検出できない事がある。 通常思考ルーチンでは共謀数のような明確な打ち切りが無いので このような広くて浅い詰めを検出するのに、効果的に補完しあって働いている。 通常思考ルーチンの最大展開深さは、大会版では 11 手目までとしていた。
定跡から落ちた後、駒組を進める為に、駒の位置関係から 静的評価を調整する事で駒組をさせようとしている。 現在入っている陣系は、矢倉、美濃、穴熊、金無双のみである (ただし穴熊は、大会後にバグが発見され、組めない事が発覚)。 大会直前に実装しただけの事があり、第3戦のハイパー将棋7との 対戦で見せた以下の形(先手側)まで組ませるのがやっとであった。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
現在以下の OS 上でリコンパイルによる実行を実際に確認している (RS232C による通信部分は linux 上でのみ動作する)。 現実的には UNIX であれば問題無く動作すると思われる。
Linux(2.0, 2.2, 2.4)
FreeBSD(4.0)
HP-UX
HI-UX(/WE2,/MPP)
思考ルーチン、サーバー共に C 言語で書かれ、 思考ルーチンが 8.7kstep、サーバーが 3.3kstep となっている。
なお、今回参加したプログラムの正式名称は fuku1.0(cc8.9 ベース)である。 去年、初参加したプログラムは fuku0.6 であり、 これも(変形)最良優先アルゴリズムを使っていた。 今年、私達のチームでは大会直前に各自が作ったクライアントを持ち寄り 直接対戦させて、どのクライアントを出場させるかを決めた。 チーム内には深さ優先の思考ルーチンを持っている人もいるので、 来年は突然、深さ優先アルゴリズムで参加するかもしれない。