片翼さんの電王戦観戦記

自分が読みたいのでまとめました
2
波島想太 @ele_cat_namy

期待 RT @katayokusan: 土曜日は電王戦最終局、10指に入るトッププロと、東大の講義用端末670台をクラスタ化したコンピューター将棋の一大決戦。 この際将棋プログラムの歴史でも書いてみようかと思ったけどクラスタの誰も興味なさそうなので書かない

2013-04-19 05:39:40
🚢☀片翼の人☔☁🌲 @katayokusan

@ele_cat_namy 実は書く気ゼロだったんだけど期待されてしまったので頑張って書きます。最近は超会議の話題で持ちきりですが、明日の電王戦最終戦もよろしく!

2013-04-19 22:40:56
🚢☀片翼の人☔☁🌲 @katayokusan

とはいえ、ちゃんと調べたわけではない一介の素人が適当に書きたいことを書き散らすので、いい加減なことばかり書きますけどね。「だいたいあってる」というか「すこしはあってる」という感じかと。

2013-04-19 22:42:55
🚢☀片翼の人☔☁🌲 @katayokusan

(1)もちろん、初期のコンピュータは単にルールを理解して駒を動かせるという程度で、例えばファミコンソフトなど、人間がおちょくる相手でしかなかった。しかしある程度こなれてくると、「人間らしく指せるようにしたい」という問題が出てきた。

2013-04-19 22:43:59
🚢☀片翼の人☔☁🌲 @katayokusan

(2)将棋の一局は、陣を組み上げる「序盤」、駒がぶつかり戦いに突入する「中盤」、敵陣に攻め入り玉を討ち取る「終盤」、の3シーンに分かれる。序盤は、玉を守る形や攻撃陣の構築が「定跡」としてパターン化されているが、「なぜそうするのか」をプログラムできず、不自然な陣形になっていた。

2013-04-19 22:47:53
🚢☀片翼の人☔☁🌲 @katayokusan

(3)そこで出てきたのが、定跡をデータベース化して与えてしまうという方法。これなら、プレイヤーが定跡に沿って指せば、それに追随することで人間らしく定跡通りに指せる。この頃、将棋ソフトの宣伝文句として、「数百万手」や「一千万手」というような定跡データベースの量が強調された。

2013-04-19 22:48:42
🚢☀片翼の人☔☁🌲 @katayokusan

(4)一方、定跡データベースに頼る方法は、「ひとたびデータベースを外されると脆い」という欠点も露呈させた。これを解決するには、コンピュータの地の思考能力を向上させていくしかない。定跡データベースの手法自体は現在も使われている。

2013-04-19 22:50:10
🚢☀片翼の人☔☁🌲 @katayokusan

(5)ハードの進化によって、人間を上回る場面も出てきた。例えば終盤、玉を詰ますという場面では、指す手が王手(次に玉を取るための手)と、それを回避する手に限られるため、検索範囲が狭くなり、処理速度の高速化によって人間を凌駕する早さで正解を発見できるようになった。

2013-04-19 22:51:45
🚢☀片翼の人☔☁🌲 @katayokusan

(6)定跡と最終盤以外の強さをどう向上させるか。コンピュータが指し手を決めるためのアルゴリズムは「評価関数」と呼ばれる。つまり、単純に言うとy=f(x)という関数があり、現局面をxとすると、関数によって最善手と判断したyを選択するというもの。

2013-04-19 22:53:06
🚢☀片翼の人☔☁🌲 @katayokusan

(7)より精度の高い関数の構築のために、結果を見ながら開発者がパラメータの調節を繰り返していた。しかし、この手法には限界があった。それは、人が管理できるパラメータ数には限界があるということ、そして開発者(主にアマチュア有段者レベル)以上の棋力にはなかなか進めないということだった。

2013-04-19 22:54:12
🚢☀片翼の人☔☁🌲 @katayokusan

(8)現在のようにプロと戦えるまでになったきっかけは、2005年にフリーソフトとして公開された「Bonanza」(ボナンザ)だった。世界コンピュータ将棋選手権で、高性能なワークステーションを用意した並み居る強豪ソフト群を、一般向けのノートパソコンでなぎ倒して優勝してしまった。

2013-04-19 22:55:58
🚢☀片翼の人☔☁🌲 @katayokusan

(9)Bonanzaの大きな特徴は2つあった。1つは、それまで、計算速度の問題から「より自然に見える選択肢」に絞り込んでいたことに対し、ハードの進化を背景に、全ての候補を検索の対象としたこと。これによって、人間には見落としがちな手段も見つけることができるようになった。

2013-04-19 22:57:36
🚢☀片翼の人☔☁🌲 @katayokusan

(10)もう1つは、棋譜(対局の記録)から評価関数を自動生成できるようにしたこと。与えられた棋譜に対して、それに近い指し手を選べるようにパラメータを作り変えていく。これによって、膨大な数のパラメータを設定することができ、プロ棋士の棋譜を大量に学習させることで大幅に棋力が向上した。

2013-04-19 22:59:35
🚢☀片翼の人☔☁🌲 @katayokusan

(11)Bonanzaはオープンソースで、他の開発者もこの画期的な「ボナンザメソッド」を採り入れた。2012年の第1回電王戦で登場した「ボンクラーズ」は、「ボナンザ クラスターズ」の略。Bonanzaをベースに、複数のコンピュータをクラスタ化する技術を導入していた。

2013-04-19 23:00:26
🚢☀片翼の人☔☁🌲 @katayokusan

(12)第2回電王戦。第1局はコンピュータ世界選手権5位の「習甦(しゅうそ)」と、新人プロ棋士の阿部四段の対局。阿部四段は事前の研究で、習甦が無理な攻撃を仕掛けてくるクセを見抜き、そこに誘導することで完勝した。評価関数のまだ未熟な部分を的確に咎めた一戦だった。

2013-04-19 23:01:46
🚢☀片翼の人☔☁🌲 @katayokusan

(13)第2局は選手権4位の「Ponanza」と、年齢制限ギリギリでプロ棋士になった苦労人、佐藤四段の対局。いかにもBonanzaと関係がありそうだが、「bonanzaではない」という意味で「P」らしい。ここで、Ponanzaの開発者は、あえて序盤の定跡データベースを放棄した。

2013-04-19 23:03:58
🚢☀片翼の人☔☁🌲 @katayokusan

(14)先述通り、コンピュータ将棋の序盤は定跡データベースに大きく依存していた。それを放棄した理由は、定跡を更に深く研究しているプロを恐れたようだが、もはやデータベースなしでも戦えるという意味でもあった。実際、序盤の途中で機敏な動きを見せ、有利な体勢に持ち込んでいた。

2013-04-19 23:06:53
🚢☀片翼の人☔☁🌲 @katayokusan

(15)終盤までねじり合いが続いた一戦だったが、人間の終盤は、「最後にミスをした方が負ける」と言われる、大小のミスの繰り返しである。常に最善手を計算して指し続けるコンピュータと、ミスを繰り返す人間。その差が、現役プロ棋士初のコンピュータへの敗北につながったと言える内容だった。

2013-04-19 23:08:44
🚢☀片翼の人☔☁🌲 @katayokusan

(16)第3局は選手権3位の「ツツカナ」と、新進気鋭の船江五段。名局と評判の一戦だった。プロが優勢に進めたが、ツツカナは粘り強い戦いで逆転に成功。第2局のPonanzaは計10台のクラスタだったが、このツツカナはPC1台、それもドスパラの高性能ゲーミングPC程度のスペックだった。

2013-04-19 23:10:51
🚢☀片翼の人☔☁🌲 @katayokusan

(17)第4局は選手権2位「Puella α」と、ベテラン棋士塚田九段。プロには意外だったPuellaの攻めが見事に敵陣を崩していった。このままPuellaが勝つかに見えたが、そこからまさかの展開が待ち受けていた。それは、コンピュータ将棋が未だ抱える大きな弱点を衝いた作戦だった。

2013-04-19 23:14:08
🚢☀片翼の人☔☁🌲 @katayokusan

(18)将棋のルールの仕様上、玉を相手陣内に進入させ(入玉=にゅうぎょく=という)、周囲を守り駒で固めた場合、攻略が困難になるという特徴がある。そのため、双方が入玉すると勝負がつかなくなる。そこで、サッカーのPK戦のような特殊ルールがある。

2013-04-19 23:15:45
🚢☀片翼の人☔☁🌲 @katayokusan

(19)それは、それぞれが持つ駒を点数化して勝負をつけるというもの(点差が小さい場合は引き分け)。通常の勝負ではめっぽう強くなったコンピュータ将棋も、この入玉ルールにはまだ対応できていない。それを塚田九段は事前の研究で把握していた。

2013-04-19 23:18:11
🚢☀片翼の人☔☁🌲 @katayokusan

(20)不利になった塚田九段は、自陣の駒が次々と取られるのも無視し、入玉を狙って玉をどんどん敵陣に繰り出していく。Puellaも入玉狙いに切り替えたが、入玉ルールでの戦い方までは構築されていなかった。その結果、入手した駒を次々と奪還され、引き分けに持ち込まれることになった。

2013-04-19 23:20:12
🚢☀片翼の人☔☁🌲 @katayokusan

(21)塚田九段の作戦は、あまりにも露骨に見えた。こんな作戦はプロとしてふさわしくない、という批判も承知の上だった。5対5の団体戦で既に2敗、負ければプロ棋士側の敗北が決まる崖っぷちの状況で見せたプロの勝負根性だった。終局後に見せたベテランの涙の意味は、想像するに余りあった。

2013-04-19 23:22:52
🚢☀片翼の人☔☁🌲 @katayokusan

(22)コンピュータもプロ棋士も、それぞれの強さ・弱みを見せ、一戦ごとに見所があった電王戦。最終局はプロの10指に入る実力者・三浦八段と、東大のPC670台をクラスタ化した「GPS将棋」。三浦八段が敗れれば、プロ棋士側の敗北。というわけで明日4/20 10時から、必見ですよ。(終

2013-04-19 23:26:40