人間VSコンピューター@将棋

情報処理学会日本将棋連盟に「コンピュータ将棋」で挑戦状を叩きつけた、というニュースが話題になっています(将棋ファンの間で)。
http://www.ipsj.or.jp/03somu/shogi/index.html


渡辺竜王がボナンザにあやうく負けかけたのが三年前…
正直、今回の清水市代さんは負けそう…
いよいよプロ棋士がコンピューターに将棋で負ける日がやってくるかもしれません。


将棋と囲碁はまだプロがコンピューターに負けていないゲームです。
しかしコンピューターの能力の伸びは凄まじく、この10年以内にトッププロもコンピューターに勝てなくなるだろうと見られているようです。

将棋や囲碁なんて選択し有限のゲームなんだから、すべての場合を力づくでコンピューターに考えさせてしまえばいいやん、というのが素人の考えですが、どうもそう単純ではないらしい。
将棋の1局面での合法手は最大で593手あり、平均すると80手ほどという分析があるそうです。
したがってすべての手を読むとすると、手数が伸びるにつれ、局面数は


1手 80の1乗=80
2手 80の2乗=6400
3手 80の3乗=512000
4手 80の4乗=40960000
5手 80の5乗=3276800000
6手 80の6乗=262144000000
7手 80の7乗=20971520000000
8手 80の8乗=1677721600000000
9手 80の9乗=134217728000000000
10手 80の10乗=1073741824000000000


ということになり、10手で1073京7418兆2400億局面。これは仮に1秒に1億手読めたとしても約3400億年かかる数字。
というわけで、現在あるものよりはるかに高性能なコンピューターでも、すべての手を読んだうえで10手先を読むのはとても不可能だそうです。

もちろん人間は将棋の局面を考えて10手先を読むときにそんな天文学的な数の局面を考えているわけではない。
それは人間が手を読むときに9割以上の手を「ありえないもの」として捨ててかかっているからです(たとえば飛車をタダで捨てる手とか、逆にタダで飛車が取れるときに取らない手とかを人間はほとんど考えない)。

そこでコンピューターの棋力を上げるためには、「無駄な手をできるだけ読まず、いかに人間の思考に近い発想で手を読ませるか?」が重要なポイントになります。


そのあたりを含め、将棋の人間VSコンピュータの戦いの歴史はこちらに分かりやすくまとめてありました↓

◆人間VSコンピューター この世紀の決戦を楽しむために
http://d.hatena.ne.jp/tsumiyama/20100405/p1


激指とボナンザの発想の違いとかが分かりやすく解説されていてかなり面白い。
「人間の読まない手も含めて力尽くで全部計算する」ボナンザと「人間なら一目でダメと分かるような意味のない手を無視して考える」激指の違いなど興味ぶかいですね。

ややマニアックな話題ですいません。将棋ファンなもので…
いずれにしても、清水市代vs最強コンピューターの対決は秋ごろになる予定だそうで、結果が非常に楽しみです。