テクノロジー

AIの将棋ソフトがプロ棋士に勝利!その決め手はコレだ!

AIの将棋ソフトがプロ棋士に勝利!その決め手はコレだ!

「AI(人工知能)が将棋でプロに勝った!」

AI(人工知能)という言葉を頻繁に見かけるようになり、盤上で戦うゲームで人間に勝ったという話もよく見かけるようになりましたよね。

とりわけ話題をさらったのは株式会社ドワンゴが主催、開催していた将棋電王戦。この電王戦にはボンクラーズややねうら王といった様々なAI(人工知能)将棋チームが出場しています。

2013年に行われた第二回電王戦では山本一成氏が開発したソフトウェアPonanzaが佐藤慎一四段に勝利。コンピュータが公の場でプロ棋士を破ったのはこれが初めてのこと。しかし20年ほど前にはチェスで人間のトップレベルと十分戦える段階にはなっていました。

そこで今回は「AIの将棋ソフトがプロ棋士に勝利!その決め手はコレだ!」と題しAI(人工知能)が将棋で勝つために乗り越えなくてはいけなかった壁とは何か、そして勝つきっかけとなった技術はどのようなものであったかに迫っていきます。

それではまず、チェスが将棋を大きくリードしていた理由からお伝えします。

チェスのAI(人工知能)は将棋を大きくリードしていた!その理由に迫る!

チェスのイメージ
初めに言及した通りAI(人工知能)が将棋でプロ棋士に勝つ前の20年ほど前にチェスで既に人間のトップレベルと勝負できるような段階になってはいました。AI(人工知能)の開発過程で将棋にこれほどタイムラグができていた要因として最初に「扱いにくさ」があります。

単純計算を例に考えてみましょう。計算するだけであれば人間はどうやってもコンピュータに勝つことはできません。しかしAI(人工知能)に将棋をさせるとなると話は別。計算以前に何をどのようにするのかわからないのです。

冷静に考えれば将棋を指すことそのものは計算問題にはなりませんよね。AI(人工知能)の開発プロセスで将棋を計算問題に落とし込むのがプログラマの仕事となっており苦戦する要素となっていました。
もう一つ挙げられる要因に「論理性」があります。

チェスと将棋のゲーム性の違いについて触れていきます。

チェスの駒は将棋のそれよりも広く盤面を動けるものが多いです。盤面のどこかでピンチになった場合すぐに駆けつけることができます。また、盤面にどれだけ駒を生き残らせるかが優勢か劣勢かに直結します。
一方で将棋の駒の移動範囲はそこまで広くはありません。また、不利な状態になってもチェスほどすぐには対処できません。そのため駒が適切な位置にあることが有利不利に繋がっていきます。

コンピュータの場合残っている駒の数を計算させるのはとても簡単だったのでゲームについて論理的に説明しやすかったのです。これがコンピュータが将棋とチェスを区別する大きな要素の一つでタイムラグに繋がっていました。

勝利の決め手は大量の経験値!人間がAI(人工知能)に将棋を教わる時代!?

AIに将棋を教わるイメージ
将棋がチェスよりも論理的でないのであればそれをどうやってプログラムにしていったか。Ponanzaの開発者である山本一成氏曰く将棋のプログラムは1万行くらいで規模としては中小程度とのこと。そしてそのプログラムに将棋の全てが書いてあるわけではないようです。プログラム以外にAI(人工知能)自身が学習した部分があります。それは約2億もの情報量からできていると語っています。

プログラムには将棋の基本的なルールだけでなく、機械が将棋を勉強する方法も書いてあります。分野の知識ではなく勉強法を記述することで、プログラムはそれに従い勉強していきます。

そこで記述する勉強法では「強化学習」が挙げられます。これは価値を最大化させるような方法を試行錯誤しながら学ぶというものです。

ここではテトリスを例にしましょう。短期的に一番高いスコアを得るには一列でもすぐに消してしまうのが有効でしょう。しかしより長い目で見ていくとできるだけブロックを溜めてから一気に消した方が高いスコアが狙えます。このように一時的なものや表面的なものでなく最終的な価値を高めていくために学んでいくのを強化学習と言います。
Ponanzaでは8000億局面ぐらいを調べておりこれが強くなっている秘密だと言います。経験値としては人間のそれよりも比べ物にならないレベルにまで到達しておりこれが一つ目の決め手です。

そして山本氏はPonanzaが強くなるに留まらず新しい戦法が湯水のように出てきており、プロ棋士らがコンピュータから勉強する時代になっているとも語っています。

AI(人工知能)が将棋の大局観を身につける!?Ponanzaに影響を与えたBonanzaのアルゴリズムから秘密に迫る!

人工知能が大局観を身につけるイメージ
将棋そのものへさらにフォーカスをあてていきましょう。ここではPonanzaに影響を与えた将棋ソフトBonanzaの仕組みに触れていきます。

将棋はルールに則ると指せる手は基本的に平均80パターンほどあるとされています。終局でに指される手の数は平均140。80の140乗ほどのパターンを用意しどう転んでも勝てる手を打ち続ければ負けることはないでしょう。
10手読むとしても1073京7418兆2400億パターンという天文学的な数字。仮に秒間1,000億通りのパターンを計算できるコンピュータがあったとしても1年間で生成できるパターンの数は315京3600兆で3年かけても初めの10手を明らかにすることはできません。

平均80パターンといっても大半は攻撃にも防御にもならないものであり、お互い王将を前後左右に動かしているだけで140手過ぎてしまう場合も十分に考えられます。もちろん無限ループになるのであらゆる状況で勝てるような手を指すことはできません。

その対策として大局観を実装しています。このアプローチは必ず勝てるとは限らないけれども駒同士の繋がりがよく相手の攻撃に耐えられるしこちらも攻撃もしやすい。さらにこの手を打てば優勢だろうと判断させるというものです。ここで正確なものを実装できれば有利な手ばかりを打ち確実に勝利できるということになります。

棋士の大局観に負けないようにするために評価関数という数値を活用しています。

評価関数とはゲームの形勢を評価し数値に変えていく関数のことです。
開発者らは「駒の価値」と「盤上の駒の連結」に重きを置いています。

強い駒を取れば相手を陣形を弱らせつつ自分のそれを強化させ有利に運ぶことができます。そのため全ての駒に点数を与え駒を得ることで勝てるようにするアルゴリズムが作られました。

そこで問題になったのは序盤では駒の交換があまり起こらないということです。そのため棋士の対局の序盤を学習させることで駒がぶつかるまでサポートするという仕組みを作っています。

しかしそれだけだと初めの段階で学習してない手を打たれるとどうにもならなくなってしまいます。例えばネットや本にあるマイナーな戦法を真似してしまえば初心者でも赤子の手を握るように勝ててしまうのです。

そこで評価軸としてさらに与えたのが盤上の駒の連結。攻める方は相手の陣形を乱せる手を評価し、守る側は自分の陣形を強固にする手を評価させます。これと併せ相手の駒を狙える状況なら同時に狙うことが判断の材料となります。
Bonanzaではプロ同士の棋譜から勝敗を軸に統計データを取り学習することでおびただしい量のパターンに点数をつけています。
大局観を統計データという形で学習させることでAI(人工知能)でありながら人間らしい強い将棋ができると評価されるに至っています。

一連の手法はボナンザメソッドと呼ばれており、Ponanza含む今日の将棋ソフトに多大な影響を与えていると言っても過言ではありません。
AI将棋まとめのイメージ
今回は「AIの将棋ソフトがプロ棋士に勝利!その決め手はコレだ!」と題しAI(人工知能)が将棋で勝つために乗り越えなくてはいけなかった壁とは何か、そして勝つきっかけとなった技術はどのようなものであったかに迫っていきました。

AI(人工知能)の将棋ソフトがチェスのAI(人工知能)より時間がかかったのは「扱いにくさ」と「ゲーム性の違い」があったからでした。
Ponanzaは強化学習により凄まじい量の対局を学習し高い経験値を誇っています。Ponanzaに影響を与えたBonanzaは評価関数という数値を用いており「駒の価値」と「盤上の駒の連結」に重きを置いています。これによってAI(人工知能)も人間のような大局観を持つに至っています。

今後も将棋ソフトの改良しどこまで人間を凌駕していくか注目していけるといいですよね。

=== お知らせ ===

当サイト(AIZINE)を運営している大阪の人工知能の開発会社お多福ラボでは、AI(人工知能)の勉強会を開催していますので興味のある方はぜひお越しください。

お多福ラボセミナーのバナー

テクノロジー

コメントをどうぞ

AIZINE(エーアイジン)

コメントをどうぞ

トップへ戻る
タイトルとURLをコピーしました