1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

ゲームと機械学習:人間vs.コンピュータをめぐって

Pocket

2016年10月、ある不正疑惑をめぐって将棋界に激震が走った。三浦弘行九段が対局中にスマートフォンを使って“ソフト指し”をしたのではないかという疑惑だ。ソフト指しとは、将棋コンピュータソフトの計算した“手”をカンニングして将棋を指す行為のこと。

12月には第三者委員会の詳しい検討の末、結局三浦九段のカンニングを裏付ける証拠はなかったということで騒動に決着が着いた。しかし、この疑惑が持ち上がった大きな理由は、三浦九段の勝率が急に高まったこと、そして彼がプロ棋士でさえ考え付くことが困難な“絶妙手”を指していたことが挙げられる。

なぜこれほど将棋ソフトは強くなったのか?

実はそれには、ゲームと機械学習との深い関係が隠されている。今回は将棋ソフトの実情についてお伝えしたい。

ゲームの世界における人間vs.コンピュータ

人間とコンピュータと、どっちが強いのか?

この興味をめぐって、将棋界では「将棋電王戦」が開催されている。主催するのはオンラインゲームサービスで知られる株式会社ドワンゴだ。これは超一流のプロ棋士とコンピュータの対決で、2012年から始まった一大イベントだ。現在では団体戦である叡王戦が行われている。

第一回の電王戦では、当時の日本将棋連盟会長であり永世棋聖の称号を持つ米長邦雄九段を、コンピュータが倒した。このときのコンピュータの名前はBonanzaというソフトにちなんで「ボンクラーズ」であったが、実力はボンクラとはとても呼べない代物だったようだ。

実は、人間とコンピュータとの対決は、将棋の世界だけの話ではない。チェッカー、オセロ、チェス、囲碁といったゲームでも、人間とコンピュータソフトの間の闘いはすでに始まっている。

コンピュータなのだから、必勝法を計算すれば簡単に人間を倒せるのではないか?
との疑問があるかもしれないが、必ずしもそうではない。実は、こうしたゲームの“手”の組み合わせは膨大であるため、コンピュータですら計算し尽くすことは難しいのだ。

ゲームの手の組み合わせの量

では、どれくらいの組み合わせを計算する必要があるのだろうか?おおまかに言うと、

チェッカー:10の30乗
オセロ:10の60乗
チェス:10の120乗
将棋:10の220乗
囲碁:10の360乗

という組み合わせ量になっている。

チェッカー、オセロ、チェスまでは組み合わせが少ないため、人間よりもコンピュータのほうが圧倒的に強いと考えられている。1997年には、チェスの世界チャンピオンをDeep Blueというコンピュータが倒した。このDeep Blueは1秒間に2億手先を読むことができた。現在でもチェスの世界で人間とコンピュータとの対決は行われているが、基本的には「ハンデ戦」である。

とはいえ、将棋以上の手の組み合わせになると、さすがのコンピュータでも解析し尽くすことは難しい。ここが人間とコンピュータとのせめぎあいの境界線だ。

チェッカーは組み合わせの量が少ないため、すでに完全に解かれている。最善手を指し続ければ、引き分けとなることが2007年にカナダの研究者らによって解明された。とはいえ、これも18年間、50台ものコンピュータを稼動し続けて得られた成果だ。つまり、将棋や囲碁にもなると、完全に計算し尽くすことはコンピュータでもできない。

人間とコンピュータとの思考方法の違い

では、コンピュータはどのようにしてゲームに強くなることができるのだろうか?

そのことを確認する前に、人間とコンピュータとの間のゲームに対する思考の違いに注目してみよう。将棋では、プロ棋士にもなると数百手先を読むことが可能となる。プロ棋士同士の対戦になると、こうした膨大な先読みが繰り広げられている。

しかし、いつもこのような先読みばかりをしているわけではない。

プロ棋士のなかでも特に秀でた棋士は、大局観を判断する能力が優れている。つまり、いまのゲームの局面が、ゲーム全体でどのような位置づけにあるのか、優勢なのか劣勢なのか、どういう戦略に切り替えればよいのか、といった総合的な判断を直感的に行う思考力である。

ではコンピュータはどのような思考を行うのだろうか。棋士と同じく、コンピュータも先読みする。それは、探索機能だ。とくに、米長九段を倒したBonanzaと呼ばれるコンピュータソフトは、全幅探索と呼ばれる先読み機能を持っていた。もちろん、計算量に限りがあるため、どこまで先を読むかはコンピュータの計算スピードにもよるが、基本的にはあらゆるパターンを計算し尽くす方針だ。

また、棋士が先読みだけでなく直感に頼るように、コンピュータも直感に近い機能で局面を判断する。実は、米長九段を倒したBonanza登場以前は、コンピュータにはアマチュアレベルの強さしかなかった。しかし、この「大局観」に相当するコンピュータの機能にブレイクスルーが起こったことが、Bonanzaの強さの秘訣である。

機械学習によるブレイクスルー

Bonanzaがそれ以前のコンピュータソフトと比べて格段に強くなった最大の要因、それは「大局観」の機能を高めるために機械学習を応用したことだ。Bonanza以前のコンピュータソフトは、局面を評価する機能がついていたが、それは人間が評価して数値化したものをコンピュータに入力するだけのものだった。

しかし、Bonanzaは、この局面評価の機能を、コンピュータ自身で学習する機能を身につけた。将棋の重要な対局は、楽譜のようにその一手一手が記録されている。それは棋譜と呼ばれている。

棋譜は最も古いものは400年前のものが存在する。その膨大な棋譜データをBonanzaは学習し、過去の強い棋士たちに近い手を指せるような「大局観」を機械学習によって身につけたのだ。

コンピュータソフトの進化は止まらない

囲碁の世界でも、2016年には韓国チャンピオンのイ・セドルがコンピュータに打ち負かされた。そのときのソフトはAlphaGoと呼ばれるものである。これには、モンテカルロ木探索と呼ばれる探索方法とDeep learningと呼ばれるニューラルネットワークによる学習法が採用されている。

実は三浦九段が使用したと疑われたソフトは、技巧と呼ばれるソフトであり、これはBonanzaやPonanzaとは違うアルゴリズムを採用している。コンピュータソフトの進化はまだまだ続いているのだ。

まだコンピュータとの決着は着いていない

三浦九段の不正疑惑騒動を振り返ろう。もしコンピュータソフトの実力がたいしたものでなければ、たとえ本当にカンニングしていたとしても、これほどの騒動にはならなかっただろう。問題視すらされなかったかもしれない。つまり、それだけコンピュータソフトが強くなっている証拠だ。

「ソフトの実力はもうすでに人間の力を上回っているのではないか」、「棋士たちも内心ではソフトに屈服しているのではないか」、との声も多い。早晩、コンピュータが人間を完全に打ち負かしてしまうだろうとも言われている。コンピュータの1年間の成長は棋士の1年間の成長とは比べ物にならない。

しかし、まだ完全決着が着いたわけではない。7冠王達成という伝説の偉業を持つ羽生善治とコンピュータとの対決は実現していない。もしこれが実現すれば、この対決こそが、人間vs.コンピュータの最終決着だろう。羽生がどのような戦略を用意してくるのか、将棋ファンの間でも注目の的だ。

【おすすめ記事】
【人工知能に興味のある方必読 】読んでおきたいおすすめ最新書籍
人工知能をプログラミングするならPython!
誰でも簡単に人工知能を使えるサービスがヤバすぎる!
機械学習の基礎をおさえるオススメ書籍6選!
機械学習とは何?身近な活用事例から学んでみよう!

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾
ページ上部へ戻る