本研究の目的は、ゲーム木の探索問題において近似節点の反復構造を利用するアルゴリズムを設計し、具体的応用例として、詰将棋を解く高速プログラムを作成することである。近似節点は、チェスプログラムの局面表を一般化したものであるが、探索グラフの中で、反復して現れる近似節点の集合を表現するデータ構造の工夫により、非常に高い木をもつ探索問題を解くアルゴリズムが設計できる。例えば、研究代表者が作成したプログラムによれば、611手詰のある詰将棋問題を解いた時に数十時間かかったが、近似節点の利用により1時間程度で解け、本研究の反復構造の利用により数分で解けるようになった。また、従来解けなかった長手数の問題で、本技法により解けたものもある。近似局面の反復構造を利用する技法に関して、理論的な計算量解析は難しく十分できていないが、本研究の成果として、実験的に詰将棋問題の解法に有効であることを示せたといえる。 本研究では、上記のアルゴリズムの開発もふくめて、詰将棋問題に関するいくつかの結果をえた。並列計算による高速解法と設計と実験的評価、詰将棋スログラムを応用した詰将棋問題の正しさの検査(余詰チェック)、その検査プログラムを利用した詰将棋問題の自動作成システムの開発である。正しさの検査については、歴史的に重要な古典問題集で研究代表者自身による前の検査でも発見できず、従来知られていなかった余詰をもつ問題を今回いくつか発見した。なお、最新の結果も含めて詰将棋アルゴリズムの研究成果について雑誌掲載のための総合報告を作成した。
|