遊星ゲームズ
FrontPage | RSS


神々のマルチゲーム
 ゲーム・論考

2006.06.11 02:27 てらしま

「n人零和有限確定完全情報ゲーム」つまり、サイコロを振らない、隠した情報のないマルチゲームのことを考えてみたもの。
日記」からの改稿転載です。
 ボードゲームにはよくこうしたものがある。「キングメーカー」の問題などはよく論じられること。キングメーカーはつらいが、でもなぜキングメーカーは生まれてしまうのだろう。

 つきつめれば、本当はどんな要素が勝敗を分けているのかという問題になる。ボードゲーマーとしては気になるところだ。
 チェスや将棋などの2人零和有限確定完全情報ゲームでは「先手勝利」「後手勝利」「引き分け」のいずれかしかない。それは有名な話だ。でもそれじゃあ、プレイヤーが3人以上になったときはどうなのだろう。

 ごくごく単純なn人零和有限確定完全情報ゲームを設定し、これを解析してみることで、マルチゲームの本質を見極めてみたいと思う。

.ゲーム理論とゲームの神さま

 某人のブログで柄にもなく議論してしまったせいで考えたこと。
http://white.niu.ne.jp/Freetalk/article.cgi/0604b210001a

 とりあえず、ゲームの神(whiteさんの文章では「オラクル」)が必敗側でプレイした場合どうなるのかという視点は考えたことなかったので、いくつか発見があった。
 下はわたしなりの結論。

  • ゲームに現れるすべての情報を把握し、終局までのすべての盤面を読むことができる存在を、オラクル(ゲームの神)と呼ぶ。
     いいかえればオラクルは、二人零和有限確定完全情報ゲームのすべての盤面をブーリアン(1か0、「勝った」か「負けた」)で評価することができる。
  • 次の一手をすべて検索して、結果が0しかなかった場合(先手必勝ゲームで後手になってしまったなど)、オラクルは手を選択できない。
     この場合にどの手を選ぶのかというのは、オラクルの定義からは規定できない。
     ランダムで選ぶオラクルもいるだろうし、かならず投了するオラクルもいるだろう。
    (現実的には、全終局図から単純勝率を計算する、ゲームを引き伸ばすなど、勝敗以外の評価関数を導入することになる)
     複数の1が見つかった場合も同様。
  • つまり、オラクルには性格差がある。

 ゲームに関するかぎり「絶対唯一の神」は存在しないんである。

# ゲームにそれがいえるってことは現実のすべてにいえるってことで、ってことは一神教は嘘か?とかそれは余談。

 性格があるといっても、オラクル同士の対戦なら、席決めだけの勝負なのは同じ。だから、ゲーム上で絶対のプレイヤーであることに変わりはない。「絶対」にも幅があるということだ。
 問題は、3人以上に話を拡張したとき。

ティカル」のレビュー記事にも書いたけど。具体的には、n人零和有限確定完全情報ゲームの場合である。
 オリンポスか高天原かどこかで、オラクルがn人集まって卓を囲んだらどうなるか。

 二人の場合と違うところは、ゲーム開始時点で「複数のプレイヤーに勝利の可能性が残っている」場合があるというところ。
 では勝者は誰になるのか。
 プレイヤーは全員オラクルなんだから、定義上ミスはしない。であれば、勝者を決める要素はあまり残っていない。
 いずれかの時点で決定した敗者の、ゲーム中の選択。あるいは勝利の可能性があるプレイヤーが、複数の最善手の中からどの手を選ぶか。残っている要素は、この二つしかないのだ。
 この組み合わせ次第で、ゲームの展開は変わることになる。
 つまりプレイヤーたちの性格の組み合わせによってゲームの展開が左右されるのである。
 最強のプレイヤーたちが完璧なプレイをしているはずだったのだが。勝敗を決めるのは、ゲームに対する能力ではなく「性格」なのだ。

 あー。まあそりゃそうだよねー。神さまでも大差ないねー。ゲームっておもしろいねー。

.単純なモデルゲームを考えてみる

 n人零和有限確定完全情報ゲームを考えるために、単純なゲームを考えてみようと思った。
 名づけて「Say10」

  • 初期状態は「0」。
  • プレイヤーの手番には、場の数字に「1」か「2」を足す。
  • 「10」にしたプレイヤーの勝ち。

 Not30とかいわれるゲームがあるけど(ちなみにこれは先手必勝)、あれの逆。一人勝ちゲームにするために、10といったら勝ちにしてみる。

 これを、とりあえず3人でやることにしてみる。もちろん、プレイヤーは全員、オラクル(最善手を打ちつづける人)という前提。
 簡単に考えられることとして、

  • 「8」か「9」にしたら負け(下家の勝ち)

 である。今回は3人でプレイしているので、

  • 「7」にしたら負け(二つ下家のプレイヤーの勝ち)

 もすぐにわかる。

  • 「6」にしたら、下家の負けが確定する。

 このとき、下家には「7」「8」という二つの選択肢があるが、敗北決定なのでどちらを選ぶかはわからない。「7」を選べばあなたの勝ち、「8」を選べばあなたの上家の勝ちである。
 さらに進めると、

  • 「5」にしたら、二つ下家の負け確定(「7」は負けだから、下家は「6」で止めるしかない)

 さて、場の数字が「4」であなたの手番が回ってきた。あなたは「5」を選ぶべきか「6」を選ぶべきか。
 これはどちらでもいい。どちらも最善手である。ただしあなたが勝てるかどうかは、あなたがここで決める敗北決定者の選択次第。

  • 「4」にしたら……、下家に敗者決定権を渡すことになる。

 ここから勝つには「敗北決定者にされず(下家が「6」)」「勝者決定権者があなたを勝たせる(二つ下家が「8」)」という二つの条件を満たさなければならない。
 単純にここから勝率を考えれば25%。つまり、「4」より「5」のほうが強い。(※)

※微妙にウソ。次項を参照。

 ここからいえるのは「敗者決定権は強い」ということなんだが、それはまた別の機会に考えることにして。

  • 「3」にしたら負け確定(下家は「5」を選ぶから)
  • 「2」にしたら、二つ下家に敗者決定権(下家は「4」しかない)。
  • 「1」にしたら、あなたに敗者決定権(下家は「2」しかない)。

 まとめよう。他人の選択による勝率を評価点とすると、

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 50 
 25 
 0 
 25 
 50 
 50 
 0 
 0 
 0 
 100 

 である。
 ゲームの展開は、

  • 1番手 「1」
  • 2番手 「2」
  • 3番手 「4」

 まで決まっていて、ここでふたたび回ってきた1番手が「5」か「6」かでゲームが分岐しはじめることになる。

 さてここで注意すべきは、ゲーム開始時には全プレイヤーに可能性があるというところだ。
 ただし勝率には差があって、1番手は50%、2・3番手は25%になる。

 ……と、つらつらと考えたりした。
 いやつまり「ゲーム理論とゲームの神さま」で書いた「ゲーム開始時に決定している敗者の、」という部分が間違いだったといいたかっただけなんだけどさ。

.オリンポスのマルチゲーム

 前回単純なモデルゲームを考えてみるの「Say10」の、メタゲームについてである。もはやチラシの裏に近いけど気にしないように。ただ、実は前回の記事でもまだ嘘ついてるので書いておかなければならないのだ。
 ていうかいったいおまえはなにをしているのかというと、ヒマつぶしn人零和有限確定完全情報ゲームをわたしがイメージするためにやっているのである。つまりほんとにチラシの裏(笑)

 ウソというのは、前回の

「3」にしたら負け確定(下家は「5」を選ぶから)

 という部分。実は負け確定ではない。下家が「5」を選ぶとは限らないのだ。
 なぜなら「4」でも可能性はあるから。下家が「4」なら、あなたにはまだ勝つチャンスがある。
 しかし、やっぱり普通に考えれば「4」より「5」のほうが強い。
 でも「4」を選ぶべき時がある。たとえば負け確定にされたプレイヤーが「報復」する場合だ。報復されるとわかっているなら、自分の手で敗者を決める選択(「5」と「6」)はしたくないのだ。

 これはもうゲームの話ではない。「報復」しても負けは負け。そうしてもこのゲームに勝てるわけではない。
 だが、次のゲームではどうか。何回も同じゲームをくりかえすとしたらどうか。
 こういう話のことをメタゲームという。カードゲームプレイヤーが好んで使う言葉だ。次の試合の先発ピッチャーを予想するとかそういうこと。
 つまりゲーム外のゲームである。

 ゲームの話ではないのだから、これはもはや「性格」の話というべきだろう。「報復」する性格のプレイヤーが多いのなら、人を攻撃するプレイは避けるべきなのだ。

 こういう話を考えるとき、やるとおもしろいのは遺伝的アルゴリズム(GA)
 というわけで、わたしのヘボPerlでさくっと作ってみた。たいして難しくない。

 個体の遺伝子として使うのは「場の数字がnのときいくつ足すか」の羅列。たとえば前回の表

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 50 
 25 
 0 
 25 
 50 
 50 
 0 
 0 
 0 
 100 

でわたしが示した最適解は、

  • 1122?1??21

 になる。左から「場が0のときの選択、1のときの選択、……」で9まで。

 さて実際に実行してみた。以下、700世代くらいまでに出てきた繁栄種。おおむね出た順。

  • 11222,11221 まずは前回のわたしの結論どおり。
  • 11212,12121 「5」ではなく「4」を選ぶ。「6」のとき上家じゃなく下家を勝たせるようになった。
  • 11211,12121 ゲノム一つだけ違う亜種。上の奴に勝ちやすい?
  • 11111,12121 「3」を選ぶ。ていうかとりあえず時間稼ぎ。
  • 11221,12121 セオリーどおりの奴が復権。
  • 11121,12121 こいつも「3」を選ぶ。
  • 11222,11121 またセオリーどおり。「6」のとき上家を勝たせるタイプが久しぶりに復権。

  • 以下、数千世代やっても「必勝法」は現れず、いろんなのが出たり消えたり。

 いろいろ考察できるだろうが、意味がないからやらない。勝手に自分で作ったゲームだしな。

 もちろん乱数使いまくりだから、もう一度やれば違う結果が出る(遷移の傾向は多少ある)。変異率や淘汰圧(情報系の専門用語でなんというかは知らん)の設定でもぜんぜん変わる。でもメタゲームの遷移という現象をイメージすることはできる。
「3」が負け確定なんてぜんぜんウソだったじゃんということもわかる(ぉ

 けっきょく、最終局面は固定するけど序盤と敗北決定のときの選択は固定できないのだ。理屈で考えればほとんど負け確定の「3」でさえも、メタゲーム次第ではむしろ有利になってしまう。
 都会の害虫もかくやというようなものすごい淘汰圧をかけているので、勝ち残れる個体はたいていオラクルであるといっていいのだが。

 あー、前の表書きなおす?

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 1 
 1 
 1 
 1 
 1 
 1 
 0 
 0 
 0 
 1 

 勝利の可能性があるかないかだけ(笑)。メタゲーム次第だから評価のしようがない。もはや無意味だな……。
 ただし、くりかえし遊ばない一発勝負の場合は「選ばないほうがいいかもしれない手」(「3」とか)はある。でも相手次第では、それを選ぶことが唯一の勝ち筋かもしれないのだ。

 というわけで「オリンポスのマルチゲーム」のシミュレーションでした。なにかどーしようもない結論だけど、自己満足はした。

.コメント

神々のマルチゲームを