「コンピュータ将棋」と「乗換案内」のプログラムの共通点とは?
将棋ソフトは指し手をどう決めているのか
対戦ゲームの手順を図で木のように表現したものを「ゲーム木(き)」と呼びます。「〇×ゲーム」のようにシンプルなゲームであれば小さな木で表現できますが、将棋となると非常に大きな木になります。一手につき60通りの可能性があるとすると、二手先は3600通り、三手先は216000通りと可能性が膨大に広がっていくため、コンピュータで調べつくすのも七、八手先が限界です。そこで、歩兵が100点としたら銀将は800点、飛車は2000点といった具合に駒に点数付けし、局面ごとに戦況の評価を行います。読みの深さと評価の適切さを合わせたものが将棋の能力となるため、限られたリソースをどう割り振るかがソフト開発のポイントになります。
囲碁は将棋やチェスより難しかった
技術的には将棋もチェスもさほど変わりませんが、囲碁は少し異なります。黒石も白石も置いただけではひとつの石に過ぎず、局面の評価が難しいのです。そこで編み出されたのがモンテカルロ木探索法です。黒と白の石を交互に置いていき、盤面をランダムに埋め尽くす作業を何百万回も行い、有利になる確率が高い手順を見つけ出していきます。
多人数が参加するゲームやランダム性のあるゲームになると、誰を狙うかなど作戦が必要となり、現実的な時間内でどのようにコンピュータで計算すればよいかはより難しい問題となります。それでも例えば4人打ち麻雀であればある程度強い人間に匹敵するところまで研究が進んでいます。
探索アルゴリズムの活用
ゲームにおける手順の探索は、実生活に使われている電車の乗換案内や地図上での経路探索システムなどと原理的には同じです。最近は単にルートを検索するだけでなく、さまざまな応用法が考えられています。例えば交通系ICカードによる駅の入退場データを読み解くと、人が通る道筋が見えてきます。うまく使えば、大きなイベントがある時の混雑状況を予測し、コントロールすることも可能になります。
※夢ナビ講義は各講師の見解にもとづく講義内容としてご理解ください。
※夢ナビ講義の内容に関するお問い合わせには対応しておりません。
先生情報 / 大学情報
明治大学 理工学部 情報科学科 准教授 横山 大作 先生
興味が湧いてきたら、この学問がオススメ!
高性能計算、ゲーム情報学先生が目指すSDGs
先生への質問
- 先生の学問へのきっかけは?
- 先輩たちはどんな仕事に携わっているの?