人間に勝つコンピューター将棋の作り方
第1章 負け続けた35年の歴史 1 コンピュータ将棋の歴史――第0期コンピュータ将棋の誕生から選手権開催まで 2 第I期 20世紀末まで――級位者から有段者へ 3 第Ⅱ期 2000年代前半まで――アマチュア高段者との競り合い 4 第Ⅲ期 2005年〜2010年――プロへの挑戦 5 コンピュータ将棋の現状――2011年以降プロとの真剣勝負へ 6 付録 将棋プログラミングの基礎概念/min-max原理/αβ法 第2章コンピュータ将棋のアルゴリズム 1 アルゴリズムも60年前から 2 二人完全情報確定的ゼロ和ゲームであること 3 最大最小戦略と評価関数による探索 4 ネガマックス法 5 αβ木探索 6 枝分かれについて 7 反復深化 8 思考時間 9 トランスポジションテーブル 10 並べ替え 11 拡張と枝刈り 12 実現確率探索 13 静止探索・捕獲探索 14 証明数探索 15 詰将棋 16 定跡 17 評価関数とそのパラメータ学習 18 並列処理 19 人間のアルゴリズムとの違い 第3章 激指の誕生 1 開発のきっかけ 2 選手権初参加 3 実現確率による探索アルゴリズム 4 評価関数 5 終盤 6 実行速度と強さ 7 将棋プログラムの開発 8 激指の今後 第4章 YSSの誕生 1 選手権のひとコマ 2 きっかけ 3 みかけの駒損よりも勝ちにくい局面 4 手の生成 5 0.5手延長アルゴリズム 6 おわりに 第5章 GPS将棋の誕生 1 GPS将棋の成り立ち 2 世界コンピュータ将棋選手権への挑戦 3 GPS将棋の進化 4 Floodgateでの開発と研鑽 5 機械学習を武器に躍進 6 未来の将棋プログラムへの期待 第6章 数の暴力で人間に挑戦!――Bonanzaの誕生 1 力ずく探索 2 評価関数の機械学習 3 おわりに 第7章 文殊の誕生,あから2010の人間への挑戦 1 トッププロ棋士に勝つ将棋プロジェクト 2 競争から協調へ 3 Bonanzaとの邂逅 4 あから2010の挑戦 5 あから2010のシステム構成 6 ソフトウェア開発とプロトコル 7 合議が生んだ印象的な指し手とその検討 第8章 習甦の誕生 1 棋力向上への技術課題 2 大局観を実現する評価関数 3 評価関数の特徴を活かした探索 4 大局観を身に付ける学習 5 人間を超える大局観を目指して 第9章 プログラムの主戦場Floodgateの切磋琢磨 1 Floodgateとは 2 Floodgate観戦術 3 長時間Floodgate 4 プログラムの「棋風」 5 Floodgateの将来像 6 将棋好きの視点から 第10章 コンピュータ将棋の弱点を探る――対コンピュータ将棋ソフトウェア,人間の効果的戦略 1 コンピュータ将棋の現状 2 Bonanza6.0との練習対局からコンピュータ将棋の弱点を探る――対コンピュータ戦略のヒント 3 対コンピュータ,人間側の最適戦略 4 人類vsコンピュータはこうなる――若手強豪プロ,そしてトップ棋士との対戦に期待 第11章 女流王将戦一番勝負 1 はじめに 2 プロジェクト開始 3 対戦相手決定 4 あから2010 の誕生 5 作戦の決定 6 対局当日 7 対局内容 8 対局後 9 最後に エピローグ 参考文献
αβ法などで、ゲーム木の枝を刈り、少ない計算回数で出来るだけ深く読む。
今まで手動でひとつひとつ調整していた評価関数を機会学習を使うことで、短時間に、なおかつ正確に作る。
異なる将棋プログラムによる協議システムを作り、弱点をなくす。
といった、様々な工夫をこらして作られた『あから2010』その軌跡。
今、将棋プログラムを作るのであれば探索プログラムなどは既にほぼ完成しているものがあるので、優れた評価関数作りに多くの労力を割くべきであること、終盤に思考時間を多くとれるように、なおかつ序盤でも悪い手を指さないように、その調整が難しいこと等。
得るものが多かった。
人間側は「コンピューターの癖を読み、コンピューター将棋に勝つべく自己を最適化する」。
その姿は、「人間を倒すために、人間の癖を読み、自己を最適化する」将棋プログラムとそっくりで、皮肉というか、なんというか面白い。
そういえば、IBMのワトソンプロジェクトの時も人間はワトソンに勝つために「自己をプログラム」したんだった。
おもろい。