mgudn's

髷であり曲げでもある。

【将棋】 ツツカナの作り方

これまで、ツツカナの事をプロ棋士は 『 筋が良い 』 と何人かが発言している。

それと電王トーナメントで長考から詰みを発見した事実とを併せて、

ツツカナのプログラムの中身を考えてみる。

 

ツツカナはコンピューター将棋選手権の中でも異質で、

TOPクラスのソフトがPCを並列に繋いで読みを深くしている時代でも

ノートパソコン1台で出場していた。

 

それでも総合で上位に居る事実は何を表しているかと言うと、

他のソフトと比べて何か違うアプローチをしているのであろう。

 

例えば、相掛り や 横歩取り で現れる 24歩 ⇒ 同歩 ⇒ 同飛車

の場合一般的なソフトが 

①24歩 で読む ②同歩で 相手側の応手を読む ③同飛車 で再度読み直す

作業をしていると思うが、ツツカナは①駒がぶつかった局面 ②それの応手 ③清算した局面

こういう考え方に近いのだと思う。

 

具体的に言うとツツカナというソフトは、駒がぶつかった場合、その駒を取って悪くなるか

を探索の基本にしている様な気がする。

 

駒を取って悪くなる様なら取らずに他を探す。

中終盤でぶつかった駒の枚数が多くなっても基本はどの駒の清算を優先するかを

考えているのであろう。

言い方を変えれば駒の効率を重視した設計になっていて、

ツツカナが穴熊を使う展開をあまり見ない事もそれを裏付けると考えている。 

 

処理の高速化というのはプログラムを省略したり

高速化用のプログラムを実装したりとある程度、道筋は出来ていて(他分野の流用)

そこを変えたからプロ棋士から褒められるという事は起こらないと思うので、

探索の方法が他のソフトと違うのではないか。

 

そして私の推論に近ければ、計算量はかなり減ると思うんだがどうだろう?

 

又、 ① ⇒ ③ ⇒ ⑤ ~ の様に局面毎の比較で点数が上がって行く場合には、

更に読みを深める事をプログラムに加えていて、

それで長考から詰みを探す作業が出来ている様に思う。

終盤で詰みを見つける際にニコ生等の解説で出てくる、

△△の地点でばらして詰むかどうか考える様な事を行えているのではないか 

  ↑ココは似て非なるアプローチだった 一丸さんHP見た結果

 

以上、筋が良いと言われる事と長考から詰みを発見した事実

 (探索の深さを一局中に変える事が出来る)を基に考えると、この様な結論が導き出された。

 

合っているかは当然知らねぇw

 

UPする直前に ” トーナメント ツツカナ 棋譜 ” で検索して見直そうとした所

一丸さんのHPを発見し

第二回電王戦 QandA - コンピュータ将棋開発中

どの手をどの程度深く読むかをプロの棋譜をもとに自動調整している。

という事でした^^;;;

 

という事で、余り意味の無い事を考えてしまいましたが、

ツツカナというソフトの特徴として

駒の取り合いで悪くならない事を重要視している。

それは攻める場合も受ける場合も同じである。

駒の連結より効率・バランスの方が上位に来る。

従って穴熊を選ぶ事は少ない。

 

こんな感じでしょうか?

間もなく第四局開幕!!