2012年3月26日月曜日

将棋の手は有限ですよね?

将棋の手は有限ですよね?

取った駒を使えるという点ではチェスよりも手が多いと思いますが、

有限である以上、「必ず勝てるプログラム」を作ることは可能なのでしょうか?



昔ファミコンの将棋で、コンピュータの思考が1手3~5分かかる上、弱いものもありましたが、1秒間に何億何兆もの計算ができるコンピュータがある現在、そういうものは出てこないのですか?


|||



>有限である以上、「必ず勝てるプログラム」を作ることは可能なのでしょうか?



理論上では、膨大な記憶領域と膨大な演算能力があれば、可能です。

概算では10の220乗から250乗程度の変化可能な局面数があり、その局面にいたる手順もさらにそれに何乗かする必要があります。

少なく見積もっても10の250乗で、これだけの変化を記憶して演算する能力がないといけないわけです。



>1秒間に何億何兆もの計算ができるコンピュータがある現在



たとえば、秒に1兆計算できるとしますね。これは1秒に10の12乗ということになります。



普通はあり得ないのですが、数千万の計算をして次の1手を探し出すのですが、計算の単純のために、1計算で1手を読めると大甘にしておきましょう。



変化の数は10の250乗ですので、10の238乗の秒数が必要になるわけです。

ちなみに一日は60x60x24で86400秒ですので、せいぜいが10の5乗なわけです。

つまり、10の236乗回の計算をするには、10の231乗日必要になるわけで、これは宇宙生成から今までの時間をすら越えちゃう膨大な時間がかかるということになります。



宇宙の開始がビッグバンと言われていまして、これが137億年前、つまり、50005億日=5京日前なんですが、5x10**16乗日です。つまり、宇宙が生まれてから計算しても、まだ10の216乗日がたりないわけなんですよ。



コンピュータも日々発達していて高速になっているだろ!といっても、これは上限があります。

計算を行う演算にてデータのやりとりを光速を越えることができませんし、計算するコンピュータも物理的なサイズが必要になります。



つまり、現在の最新コンピュータが10の20乗倍速くなっても、まだ10の200乗倍ほど足りませんし、大量にコンピュータを並べるにしても太陽系全域にコンピュータを並べても10の50乗倍にしかならず、あと10の150乗倍ほど、足りません。



|||



局面が有限ですので、存在局面数より手数が長くなると

必ず同一局面が出現することになり、ここで将棋のルールとして

千日手規定がありますので、手数は有限になります。



ですから、全ての局面を計算することが出来れば、

実質「必ず勝てるプログラム」を作ることはできます。

「実質」と書いたのは、将棋は先手必勝か後手必勝か

もしくは千日手か分かりませんので、もし後手必勝で

先手がコンピューターなら、相手が最善を尽くせば

勝てません。



しかし、人間相手であれば、まあどこかで大なり

小なり間違えるでしょうから、実質、必ず勝てます。



ここで全局面を計算するのが大変なことでして、

10の220乗もあります。

宇宙で観測可能な原子数が10の80乗個くらいですから、

桁外れに大きいことが分かるでしょう。

http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E...

1秒間に1兆の局面を計算できたとして、

10の208乗秒≒10の203乗日≒10の200乗年

も掛かるのです。

宇宙ができてから、たったの10の10乗年くらいですから、

とてつもないことです。



まあ全局面まで出来なくとも、ある局面で指せる手の数は平均80手、

30手先まで読んだとして、80の30乗≒10の60乗、くらいですから

う~ん、これでも1秒に1兆手読んだとして、10の40乗年くらい

掛かってしまいますね。



ただアルゴリズムの進歩により、10年後くらいにはトッププロに並ぶと思われます。


|||



何億何兆では足りません・・・


|||



千日手による引き分けや互入玉などがあるために完全な有限ゲームではありませんが、



一応、有限論理和ゲームですので最善手を指せばどちらかが必勝になると考えられます。

(もしかしたら、千日手という結果になるかもしれんけど。)



ただし、それをやろうとすると今のコンピュータでは全然容量が足りません。

量子コンピュータのような新しいシステムが完成しない限り、

結果は分からないと考えられます。


|||



毎年なのか知らないんですが、チェスの世界チャンピオンが、スーパーコンピュータと対戦しますよね。勝率は圧倒的に人間が良いそうです。

コンピュータでどんなに計算しても、人間の柔軟で、意外性を含んだ思考には及ばないようですね。

将棋の羽生名人も、チェスの大会ではなかなか良い成績は残せないようです。

必勝の手があるにしても、一度他人に見せてしまうとすぐに研究、攻略されてしまうので、コンピュータでも人間でも、相手がいる以上、必勝の指し手は完成しないのでしょうね。


|||



限りなく大きな数字にはなるでしょうが有限でしょうね。



必勝プログラムもいつかは可能なんじゃないでしょうか。



いま、思考ゲームではどんどんコンピューターが人間を追い越していってますが、

将棋はまだ人間の方が強かったと思います。

0 件のコメント:

コメントを投稿