→topに戻る →目次に戻る
2.4 最適な手を選ぶ -----ミニマックス法-----
前節ではすべての局面を生成するプログラムについて考えました。
今度は、探索された局面の中から最適な手を選ぶプログラムです。そのための最も基本的な考え方、ミニマックス法について考えます。
2.4.1 ミニマックス法の考え方
まず、リバーシにおける最適な手とは何か?について考えます。
リバーシは、次の手で相手の石をたくさん裏返しても最終的に勝利につながるかどうかわかりません。
したがって、途中経過ではなく、最終的に勝利するかどうか?が、今、最適かどうかを判定する根拠になるべきです。
前節で、すべての局面を生成するプログラムがわかっているのですから、全部やってみればいいのです。
コンピュータが得意な「しらみつぶし」です。
更新:2013年7月30日
しかし、リバーシにおいて「しらみつぶし」ができるのでしょうか?
単純に考えてみます。
マス目は64。このうち4か所には初めから石が置かれていますから、残り60か所。
第1手目の候補は3箇所。第2手目はそれぞれ3箇所、、、、。
というふうにして最後まで確認して(しらみつぶしに確認して)最善手を選ぶということになります。
おおざっぱですが、ずっと着手候補が3か所だと仮定すれば、確認回数Nは、
N=3×3×…×3=3
60
ところで
3
10=59,049
3
20=(3
10)
2=(59,049)
2=3,486,784,401≒3.49×10
9
3
60=(3
20)
3=(3.49×10
9)
3=3.49
3×10
27=4.25×10×10
27=4.25×10
28
∴N=4.25×10
28
これの中身がわかれば、リバーシにおけるすべての局面がわかったのですから、必勝法も自ずと判明しますから、最適な手が何かもわかるということになります。
めでたしめでたし。
しかし、10
28という数字はどれぐらいの数字でしょう?
仮に現在のコンピュータで1秒間に200回の確認ができたとすれば、
1年は3600×24×365=3.15×10
7秒ですから、1年に3.15×10
7×200=6.30×10
9回確認できます。
N÷(6.30×10
9)=(4.25×10
28)÷(6.30×10
9)=6.75×10
20
すなわち
N回確認するには、6.75×10
20年かかります。1,000兆年の675万倍の年数がかかります。
要するに「途中経過ではなく、最終的に勝利するかどうか?が、最適かどうかを判定する根拠になるべき」という話は、残念ながら、絵に描いた餅ということになります。
→topに戻る →目次に戻る
最終更新:2014年1月30日