【レポート】
コンピュータ将棋においては、基本的にゲーム理論の一つである「ミニマックス法」を用い、ある盤面の状態が自分にとって有利なのかどうかを判断する「評価関数」の値を、自らの手番のときは最大になるような、相手の手番のときは最小になるような手を指すという形で手順を検討していくのが一般的。そこで問題なのがこの評価関数の中身だ。評価関数の出す値が適切なものであればそのソフトは強いし、不適切であれば弱いということで、これをどうプログラミングしていくかが勝負の分かれ目となる。
鶴岡氏はこの点について「まず基本は駒の損得」と語り、各駒にそれぞれ固有の点数を与えた上でその点数がなるべく大きくなるような手を選ぶ、という様子を解説した。ちなみに駒の種類によって点数は異なるが、その決め方は「駒の効きの数をベースにして経験的なもので調整した」という。ただこれだけでは、特に終盤戦において(昔のコンピュータ将棋によくあった)「重要な局面でどうでもいい駒の駒得を狙ってしまいその間に負けてしまう」という問題が発生するので、この点を改善するためにAI将棋の思考ルーチン「YSS」の作者である山下宏氏が考案した「玉に近い部分ほど評価点を高くする(特に局面が進めば進むほど高くなる)」という方法を採用するなどしているとのこと。
コンピュータ将棋においては、思考効率を上げるために「何手先まで手を読むか」と同時に「読まないでもいい手をどう切り捨てるか」という点も重要なポイント。鶴岡氏は「激指」において採用している方法として、プロ棋士の対局記録などから得られた統計情報を元に、ある局面で指される確率が一定以下になると読みを打ち切るという方法を紹介した。この結果「平均で約10手先、深いところで約20手先までを読んでます」と鶴岡氏は語った上で、「私はアマ初段だが、だいたい10手以上先を読もうとすると頭がこんがらがってしまうので、この点でも既にコンピュータの方が上回っている」とコンピュータの強さの理由の一端を示した。
序盤の駒組みの段階では駒の損得が発生しないので、そのままでは前記の評価関数上は値が変化せず手の優劣が発生しなくなってしまう。これについては序盤でよく指される手のデータをインプットした「定跡データベース」を用い、今指している対局の局面の中に完全にデータベースと一致するものがあればその手を指すという手法をとっている。そのほか、仮に一致するものがない場合には極力似た局面を探す、一般的な囲い(矢倉囲い・美濃囲いなど)の形に似ていたらプラス評価するなどの方法でフォローを図っている、と鶴岡氏は解説した。一方終盤の詰め将棋の段階の強さはコンピュータ将棋に定評のあるところだが、「実際には20数手詰みを読むような機会は少ない」という。
ちなみに現在の「激指」では「2CPUで約50万局面/秒ぐらい」の局面を読んでいるとのこと。もちろん並列化などによる高速化を図ってはいるものの、「(ミニマックス法で使用する)ツリーには順番の依存関係があるため並列化による効果は大きくない」ため、「4CPUでも1CPUの2倍ぐらいの局面しか処理できない」という。
またプログラムの改良については「改良したつもりが実は弱くなっていたこともよくある」ということで、何かプログラムの思考ロジックに変更を施した際は必ず旧プログラムと自動対戦を行いチェックするそうだ。「1,000局対戦して520勝したら強くなったといえる」と鶴岡氏は語った。
| 小規模ゲームスタジオが1日で100万ドル獲得 - クラウドソース型調達で [12:37 2/10] |
| あぁ俺の オタク川柳 予選落ち - 第7回「オタク川柳」投票受付を開始 [11:00 2/10] |
| Googleバーまたまた刷新、ロゴからのドロップダウンメニュー廃止 [10:50 2/10] |
| 地震への関心、再び高まる - 1月のTwitter利用動向 [10:21 2/10] |
| サイバーエージェントがアールフォース・エンターテインメントを子会社化 [09:56 2/10] |
|
【レポート】駆け出しイラストレーターのでこ、Webサイト制作に悪戦苦闘の巻 [12:00 2/11] クリエイティブ |
|
【コラム】節子、それタイタニックやない! 第1回 元格闘家演じるS.W.A.T.が繰り出す手加減ナシのアクションでオーバーキル! [12:00 2/11] エンタメ |
|
元タカラジェンヌの真琴つばさ、昼ドラで大御所・小林幸子とガチンコ対決! [11:30 2/11] エンタメ |
|
入院・手術でかかるお金は? [11:15 2/11] キャリア |
|
[長谷川潤]パンダ出産に「私もいつか…」と 映画「51」で初ナレーション [11:13 2/11] エンタメ |