前回単純なモデルゲームを考えてみるの「Say10」の、メタゲームについてである。もはやチラシの裏に近いけど気にしないように。ただ、実は前回の記事でもまだ嘘ついてるので書いておかなければならないのだ。
ていうかいったいおまえはなにをしているのかというと、ヒマつぶしn人零和有限確定完全情報ゲームをわたしがイメージするためにやっているのである。つまりほんとにチラシの裏(笑)
ウソというのは、前回の
「3」にしたら負け確定(下家は「5」を選ぶから)
という部分。実は負け確定ではない。下家が「5」を選ぶとは限らないのだ。
なぜなら「4」でも可能性はあるから。下家が「4」なら、あなたにはまだ勝つチャンスがある。
しかし、やっぱり普通に考えれば「4」より「5」のほうが強い。
でも「4」を選ぶべき時がある。たとえば負け確定にされたプレイヤーが「報復」する場合だ。報復されるとわかっているなら、自分の手で敗者を決める選択(「5」と「6」)はしたくないのだ。
これはもうゲームの話ではない。「報復」しても負けは負け。そうしてもこのゲームに勝てるわけではない。
だが、次のゲームではどうか。何回も同じゲームをくりかえすとしたらどうか。
こういう話のことをメタゲームという。カードゲームプレイヤーが好んで使う言葉だ。次の試合の先発ピッチャーを予想するとかそういうこと。
つまりゲーム外のゲームである。
ゲームの話ではないのだから、これはもはや「性格」の話というべきだろう。「報復」する性格のプレイヤーが多いのなら、人を攻撃するプレイは避けるべきなのだ。
こういう話を考えるとき、やるとおもしろいのは
というわけで、わたしのヘボPerlでさくっと作ってみた。たいして難しくない。
個体の遺伝子として使うのは「場の数字がnのときいくつ足すか」の羅列。たとえば前回の表
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
50
|
25
|
0
|
25
|
50
|
50
|
0
|
0
|
0
|
100
|
からわたしが示した最適解は、
になる。左から「場が0のときの選択、1のときの選択、……」で9まで。コンマに意味はない。
さて実際に実行してみた。以下、700世代くらいまでに出てきた繁栄種。おおむね出た順。
いろいろ考察できるだろうが、意味がないからやらない。勝手に自分で作ったゲームだしな。
もちろん乱数使いまくりだから、もう一度やれば違う結果が出る(遷移の傾向は多少ある)。変異率や淘汰圧(情報系の専門用語でなんというかは知らん)の設定でもぜんぜん変わる。でもメタゲームの遷移という現象をイメージすることはできる。
「3」が負け確定なんてぜんぜんウソだったじゃんということもわかる(ぉ
けっきょく、最終局面は固定するけど序盤と敗北決定のときの選択は固定できないのだ。理屈で考えればほとんど負け確定の「3」でさえも、メタゲーム次第ではむしろ有利になってしまう。
都会の害虫もかくやというようなものすごい淘汰圧をかけているので、勝ち残れる個体はたいていオラクルであるといっていいのだが。
あー、前の表書きなおす?
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
勝利の可能性があるかないかだけ(笑)。メタゲーム次第だから評価のしようがない。もはや無意味だな……。
ただし、くりかえし遊ばない一発勝負の場合は「選ばないほうがいいかもしれない手」(「3」とか)はある。でも相手次第では、それを選ぶことが唯一の勝ち筋かもしれないのだ。
というわけで「オリンポスのマルチゲーム」のシミュレーションでした。なにかどーしようもない結論だけど、自己満足はした。