以前yanakaさんが将棋が強くなる方法について書いておられたので、それに関連してコンピュータ将棋はどうすれば強くなるかについて考えてみたいと思います。

 まず、可能性のある指し手をすべて検討していくという方法。これは、コンピュータならできそうな気もします。
 しかし、将棋というのは、可能性のある指し手のうち効果的な手はほとんどないんですよね。例えば、持ち駒を相手の駒の利いているところに置けばとられてしまいますが、可能性だけでいえばそういう手も検討しないといけません(ただし、たまにそれが良い手だったりするから難しい)。
 なので、すべての手を検討するというのはちょっと効率が悪い気がします。

 次に、特定の局面になったら確実に勝てるようにしていくという方法。yanakaさんが指摘していた方法で、自分が勝てる局面を覚えさせていき、対局の中でその局面が現れたら確実に勝てるようにしていくという方法です。
 しかし、おそらくこれは、普通のプロの将棋棋士がやっている方法なんですよね。プロ棋士の将棋では、一方が勝つとわかっている局面は現れない。なぜなら、対局者の一方が、負けるとわかっている局面になってしまうことを避けるからです。プロ棋士の対局で出てくるのは、どちらが勝ちなのか結論が出ていない局面ばかりのはずなんです。どっちが勝ちなのかわからないからこそ、どちらの対局者も「自分が勝てる」と考えてその局面に飛び込んでいく。
 特定の、一方が勝ちだとわかっている局面を覚えさせていくという方法だと、結論が出ていない局面を突き付けられたときに対応できない可能性が高いでしょう。

 じゃあどうすればいいか。個人的には、全ての可能性を検討していくという方法が一番いいのではないかと思います。効率的ではないかもしれませんが、すべての可能性を捨てずに検討していくというのは人間にはできないことです。案外と、この方法がコンピュータには合ってるんじゃないかあと思ってしまうのです。

コメント

お気に入り日記の更新

この日記について

日記内を検索