コンピュータ将棋はどうやって戦法を選択しているのでしょうか?
もうすぐ、米長会長と「ボンクラーズ」の対局がありますね。
これが楽しみでコンピュータ将棋にも興味を持ちました。
ところで、例えば人間ならば得意戦法があったりする訳ですが、コンピュータ将棋は何でも指せますよね。
では、24のような誰と対局するか分からない状態で、コンピュータはどうやって戦形を選んでいるのでしょうか?
もちろん相手の指し方に合わせて選んでいるところはあると思いますが、例えばお互いに角道を開けた3手目の指し方は何通りかあるわけで、大まかに言って振り飛車にするのか、居飛車にするのか、飛車を振るならどこに振るのか、といったような選択は、どのように行われているのでしょうか?
「様々な戦法が同等レベルで指せる」が故に、極々序盤の戦法の選択は難しいと思うのですが、ランダムに決められているのでしょうか?それとも10手に満たないような序盤でも何らかの方法で有利な戦法を選んでいるのでしょうか?
コンピュータ将棋に詳しい方、回答をよろしくお願いします。
|||
この間の前哨戦の時、開発者が出ていて
プロ棋士に多く指されている手を、ランダムに選んでいると
言っていました。居飛車か振り飛車という点はランダムですが
それ以上は開発者ですら判らないのでしょうか?
不思議なもんですね・・
|||
序盤は『人間>>>>>コンピュータ』です。
これはコンピュータ1億台使っても変わりません。
だからコンピュータは序盤は人間の過去の棋譜を元に判断します。
『5年前に羽生さんがこれと同じ局面で2四銀だったなあ。
3年前に渡辺さんがこれと同じ局面で3三桂だったなぁ。
じゃ、この2つの選択肢からランダムで選ぼう』
みたいな感じだと思います。
じゃあ、羽生さんも渡辺さんも指したことのない局面になったらどうするのか。
その時はコンピュータが考えます。
プロ棋士の膨大な棋譜から、プロ棋士の感覚みたいなものを数学的手法で抽出して『評価関数』と呼ばれるデーターベースにしてあるので、それを使って『プロの感覚で一番いい手はどれだ』という事を探すんです。
確か1秒間に100万手くらい探してたと思います。電王戦ではモンスターマシンが出てきそうなので1秒間に1000万手くらい探すかもしれません。
米長さん頑張れ
0 件のコメント:
コメントを投稿