さて、前にいったように「将棋」のウィキペディアをご覧いただきたい。
http://ja.wikipedia.org/wiki/%E5%B0%86%E6%A3%8B
二人零和有限確定完全情報ゲーム
いきなり
将棋は、ゲーム理論において二人零和有限確定完全情報ゲームに分類されるゲームの一つである。
とかましてくれます。こうなったら、この「二人零和有限確定完全情報ゲーム」つう用語が気になりますよね。そっちへとぶ。
「二人零和有限確定完全情報ゲーム」という言葉は以下のように分解できる。
二人: 3 人以上のプレーヤーの対戦では、誰にとって不利な行動をとれば、それが自分にとって最も有利な行動となるのか確定できない。すなわち、完全な先読みができない。
零和: 二人の得点の合計が0になる、つまり相手にとっての損がそのまま自分にとっての得になるという特徴。
非零和ゲームの代表例として囚人のジレンマがあり、これは最適行動が確定できない。
有限: いつかは終わるゲームであること。将棋も千日手を禁止しているため有限のゲームとなる。(後から註:打ち直しての千日手が発生するので、それを考えると無限ともいえるそうだ)
無限であればゲームツリーを書ききれず、完全な先読みができない。理論上無限のゲームに、トランプのページワンなどがある。
確定: 偶然の要素が入り込まないこと。
バックギャモンなどの双六系のゲームでは、サイコロでランダムにコマを進めるため、不確定ゲームに分類される。
完全情報: 相手に自分の手を隠さないこと。
不完全情報ゲームである海戦ゲーム、軍人将棋などは偶然の要素こそないものの、相手の手は不完全にしか把握できないため完全な先読みができない
この一文がなかなかに衝撃的。
「ゲームの特徴は、理論上は完全な先読みが可能であり、双方のプレーヤーが最善手を打てば、必ず先手必勝か後手必勝か引き分けかが決まるという点である。無論、実際には完全な先読みを人間が行う事は困難であるため、ゲームとして成立するが、五目並べは先手必勝、三目並べは引き分け、はさみ将棋は後手必勝になることがすでに知られている。」
ええええええ。
「ヒカルの碁」に出ていた「神の一手」というのは、実在するってことでした。いや、逆にいうと神様は勝ち負けが分かっちゃうんだわ。「神はサイコロを振らない」というアインシュタインの言葉がありますが、「神は囲碁将棋をしない」んだね。
そういえば、小学校低学年ぐらいで、五目並べならぬ三目並べ、両さん命名の「ゲームマルバッテン」つう遊びがある。自分は独自の研究で「絶対に負けない打ち方」を発見、世紀の大発見だ!!と思ったもんですけれども。みんな思いつくよな(笑)。このゲームは米映画「十二人の怒れる男」でも登場していたから、世界的なんだろうか。
すでに機械軍団は侵攻す
そういうことで「ボナンザ」をはじめとしてコンピューターが次々とこの種の問題に挑戦していたのは、ゆえないことではなかったのだ。実をいうとオセロゲームでは・・・
オセロのウィキペディア
・・・将棋やチェス、囲碁などと違い、オセロはコンピュータが簡単に人間をうち負かすことのできるボードゲームのひとつである。オセロはルールが単純であるため、古くからプログラミングの教材として、あるいは実際の製品としてコンピュータ上で開発されてきた。1980年には、家庭用ゲーム機である Atari 2600用のオセロが発売されている。当初はコンピュータの性能が低かったため人間でもコンピュータに勝つことができたが、現在の最高性能のオセロプログラムには、人間はまず勝つことができない。
数学的にみると、オセロはまだ完全には計算されていないゲームのひとつである。オセロの盤を n×n に一般化した場合、ある与えられた盤の状態においてプレイヤーが必ず勝つことができるかを判定する問題はPSPACE完全であることがわかっている。盤の大きさが 4×4 あるいは 6×6 のケースはすべて計算されており、例えば 6×6 のケースについて双方が最善の手順を取った場合、16対20で後手が必勝となる事がその手順とともに解明されている[1]。しかし 8×8 = 64升の場合は局面が膨大な数になるため、2007年現在ではスーパーコンピュータを駆使してなお双方最善手順は発見されていない。
ちょっと、ロマンですね。
でもあと5、6年で最善手順が発見されるんだろうなあ。たしか5、6年前に、世界王者がコンピューターに”挑戦する”という記事を読んで驚いたことがあったっけ。
直感、経験、選択
では将棋に戻って、まだまだ選択肢が多い将棋を人間たちはどうやって闘うのか。
将棋の真剣師を描く「風果つる街」の作者で、棋翁でもあった夢枕獏(「棋翁」がいかにアホなしろものであるかは「棋翁戦てんまつ記」を参照。関係者は逢坂剛、船戸与一、志水辰夫、夢枕獏、黒川博行、米長邦雄、大沢在昌、北方謙三、宮部みゆき)がどこかのエッセイに書いていたが、結局プロ棋士は一瞬で3000や4000の定石を思い浮かべ、検索する。しかし最後に2つか3つ、どれにすればいいのか迷う。そこから、何かを選択する。
その2、3の選択の積み重ねが、その棋士の「棋風」なんだという。
ふうむ。
んでんで、対するコンピュータ側は・・・またコンピュータ将棋のウィキペディアを見る。
「評価関数という方法論を採用する。数手先の変化を読み、相手が最善を尽くしてきたときに、もっとも自分が有利になる手を探すのである。ここでいう「有利」は(略)数値化させやすい基準で評価するものが多い。ここでの数値化の方法が評価関数」
「1990年、最初のコンピュータ将棋選手権大会が将棋会館で開かれた。以後毎年大会が行われている」
「フレーム問題
水平線効果・地平線効果ともいう。例えば、最高9手先まで読むように設定したプログラムを作る。そのプログラミングは、9手先まで読んで「好手」と判断して指した。しかし、10手先に・・・」
難しいもんだne。今回のボナンザは、
http://d.hatena.ne.jp/gryphon/20070320#p2
で紹介したように
将棋ソフトは、膨大な対局データから最善手を探し出す。ほとんどのソフトは、プロの対局を参考に無駄な手筋を捨て、候補を絞り込む方法を採っている。しかし、保木さんは全ての可能性をしらみ潰しに調べる「全幅検索」を採用した。
また、盤上の局面が有利なのか不利なのかを数値化して判断する「評価関数」には、計算科学で使われる「最適化」という手法を応用した
のだが、よく考えたら最適化って意味分からんし(笑)。
敵が見えないゲーム
ここで調べていて「海戦ゲーム」があることを知りました。
http://ja.wikipedia.org/wiki/%E6%B5%B7%E6%88%A6%E3%82%B2%E3%83%BC%E3%83%A0
ふむふむ。
実際のところ、将棋がもし戦争のシミュレーションだとするならば、敵がどこにいるかは分からず、先陣や斥候がぶつかってはじめて敵が分かるというのがよりリアルだ。
もし将棋が中間に幕がひかれ、どこかが接触して初めて開戦・・・なら戦術も勝敗もすべて違う別のゲームになるだろうな。
これは例のコンピューターゲームがそうで、たしか初期の初期のKOEI「信長の野望」とかは将棋のように全局面、敵の動きが見える形だったよね。それが後に、自軍から十数コマ離れたところは見えない形になった。
ファミコンウォーズや「銀河英雄伝説」のゲームもそうだったかな。このへんは意図的、確信犯的に製作者は「相手の動きが見えるゲーム」「見えないゲーム」を選択していたのだろうか。同じゲームで、ボタン一つでそれが切り変わるものがあったらどう展開が変わるのか調べてみたい。
今回は自分でも手探りで、調べながらかいたので面白かったですね。