将棋プログラム「飛角」のアピール文章        2010年3月                甲村 実 1.定跡や棋譜を沢山覚えている人を「コンピュータのような人だ」   と言われる場合があります。   しかし、実際の将棋ソフトは、中盤や終盤は、手筋の活用をして   いるソフトもあるようですが、多くのソフトは、序盤用の定跡を   採用しているだけす。   後は、コンピュータの高速の処理能力を活用して、読みの量と質   で、決着をつけているようです。    「飛角」は、中盤や終盤でもデータベースを活用する事を目標   にしています。 2.中盤は、bonanzaのfv.binを活用した方式にも魅力を感じています。   しかし、fv.binを使用して、評価関数まで取り込んでしまえば、   bonanzaの子供ではなく、bonanzaの右脳移植を受けたクローンに   なりそうです。   もし、予選をギリギリで突破できる戦績なら、足切りの有力候補   になりそうでなので、fv.binの活用はしませんでした。   また、同様の理由で、その他のライブラリも活用していません。   (この心配は、杞憂でしょうか?)   公開されている文章は、書籍やインターネットの検索で入手して   参考にさせていただきました。 基本思想   基本思想には、多くの仮説が含まれています。   現状は、予測と期待だけです。 1.将棋の着手可能な指し手は、平均80手程であると言われている。   その中で、人間の読みの対象になるのは数手で、他は悪手か緩手   である。    人間やコンピュータが良い手と判定した指し手の集まりが棋譜   として表現されている。    但し、棋譜の中には、結果として悪手が多数存在する。   そして、大量の棋譜の中に、将棋の完全解で得られる手順が、   途中までは含まれているはずである。   但し、完全解は、遠い将来にならないと解明できない。 2.大量の棋譜があれば、序盤40手くらいまでに出現する局面の   対局との一致率は、100%に近い数値になると推定する。   少なくとも、今回の「世界コンピュータ将棋選手権」の対局では、   実用レベルになると期待している。 3.中盤や終盤では、局面の一致率は、低くなると推定する。   しかし、局所的には、類似の指し手が指されている。   その手順の一部が手筋として、書籍などに発表されている。    局面全体ではなく、局所的な形と指し手をデータベース化   すれば、良い手が指せる可能性が高いと推定する。   問題は、その手を指す時期です。    プロの指し手は、手筋の集まりであると言われることもある   ようだ、 4.終盤を考える。   例えば穴熊を攻める場合    飛車を主力として、横から攻める。    端から攻める。    上部から攻める。    穴熊の玉に間接的に利いている角の利きで攻める。    と金や金銀で、穴熊の囲いを攻める。   などが有力だと思う。   棋譜の中から、この穴熊という局所的な形と攻防の指し手を   データベース化すれば、良い手が指せる可能性が高いと推定   する。    人間なら、以前に穴熊崩しをした場合には、それを覚えて   いて、直ぐにその手順が浮かんでくる。また、棋譜を多く   記憶していれば、その中で穴熊を崩している手順を思い出す   だろう。あるいは、囲いの攻め方の解説書の内容を思い出す。   その手順が有力候補になる可能性は高い。 5.データベースが巨大化しても、動作させることを優先する。 実現方法 1.評価関数は、「コンピュータ将棋の進歩」シリーズを参考に   して作成しました。    特に、YSSの山下さんとTACOSの橋本さんの解説されている   内容に似せたつもりです。 2.指し手の検索は、データベースの検索を中心とする。   データベースに登録が無い場合は、指し手の生成と検索を行う。    データベースが巨大化して、泥臭い方法だけど、これが、   特徴の1つ。 3.千日手模様の切れ負けの将棋での時間の使い方は、結論が出て   いません。少し無理でも攻めるのでしょうか?    対局相手の消費時間より少ない消費時間になるようにできるか   どうか見通しが立っていません。 以上