Subscribed unsubscribe Subscribe Subscribe

12A猫で学んだこと-Memoir-

...What are you learning now?

人狼ゲームのモデル化(ドラフト版)

人狼ゲームのモデル化(ドラフト版)

人狼ゲームで行われることは以下の2つであるとモデル化できます.

A. ゲームの状況の把握・発言/投票/死体/CO状況による主観確率の更新/相手の戦略予想確率の更新

B. 主観確率に基づき、勝率を最大にするために最適な投票先/吊り先/占い/噛み先/護衛先/護衛指示等の決定

シンプルに言うと、

Aは, 「COの結果を確認したり、狼っぽいと思う人に誘導したり、狩人っぽい人が誰かを推理したり、 真っぽい占い師が誰かということを推理したり、他の人間が戦略をとってくるかを推理する」ということです。

Bは 「全視点確定狼を吊る。護衛指示をして詰み進行を行う。」 など論理的に考察できる部分です。

Aに関しては、個人差があります。 どんな占い師を真と思うか? どんな人を狼と思うか? 狼がどんな戦略をとってくるか? 人によって違うでしょう。参加している場の雰囲気によって 主流となる意見は異なるでしょうね。

Bに関しては, Aの主観確率と狼の戦略が定まれば 最適な進行は数学的な計算によって確実に求まります。

一番、単純な例は、 「占い候補のStudentSを狼を決め打つ。」

(A:StudentSが狼であるという主観確率を100%とみる。)」

「指定:StudentS」 (B:狼のStudentSを吊るのが一番村勝利が高まる進行だからStudentS吊りをする。) みたいな感じですね。 実際の村では、100%狼を決め打てる占い候補なんて、ほとんどいないはずなので、

「占い候補のStudentSを偽濃厚、狼 > 狂でみる。」

(A:StudentSが狼であるという主観確率を狼80%、狂10%, 真10%とみる。)」

「指定:StudentS」 (B:確率にもどついた計算を行った結果、吊りをStudentSにするのが最も勝率が高まる という判断をする。) ですね。

 

もちろん、StudentSが真でも狼でも 確率計算をすると自分が吊られると負け濃厚なので足掻く訳ですね。 村の方々の主観確率を更新させて(Aの部分へのコミットですね。) 指示役や村人達の進行を変えさせようとする訳です。

Bに関しては仮定の下で確実に答えがあるので、ここのミスに関しては論理的なミスとして 議論を行うことが可能です。 Aに関して、 「ゲームのルール的にあり得る状況設定の確率設定だった」 という状況の下では、 その確率設定が、正しい/間違っているという議論ができません。 把握ミス、発言ミス、態度、行動・・・公開情報から何を考え、 そして狼が誰であるかを予想するのは人それぞれです。 しっかり発言する人を狼と予想する人もいれば、 無口な人を、狼だと予想する人もいるでしょう。 その予想の手法が正しいかの検証はできません。

時々、進行に関して感想戦で村が荒れることがありますが、 このようにステップを切り分けることによって、

*主観確率の設定がシステムとincoherentだった。(ゲームのルール上あり得ない内訳想定をしていた) ・・・ Type1

*主観確率の設定/相手の戦略予想が不適当であった。・・・Type2

*主観確率から求められる最善手を実行できていなかった。・・・Type3 と問題の切り分けができます。

Type1とType3のミス議論に関しては、論理的に議論が可能です。 従って正当だったか、非正当だったかの判断ができます。

Type2の話に関しては、「ミス」とは指摘できません。 「適当」/「不適当」なんて検証できないからです。

このフレームワークを使って、進行に関する議論を解析してみましょう。

以下の例を考えます。

例: 5人残り、残っている村人の内訳は 占い候補2(内訳真狂で確定), 確定村1,猫又候補2(内訳真狼で確定)

なお、今まで真と狂人は同じ結果を提示している。 進行役の確定村が猫又吊りを選択し、真猫を吊り、道連れが狂人に飛び村が負けた。

感想戦で、村の参加者から「占い吊りの場面が進行的に正しい、 これは進行役の進行ミスであり、非意図的な利敵行為である」という主張があった。 この主張は妥当か?

 

(以下長文が続きますが、自分の端的な答えは以下です。) 妥当ではない。 Type3エラーを引き起こしていたとは断定できない。 (ただし、主観確率の設定においては、Type3エラーを引き起こしていなかったとも断定できない。) また、Type2の点に関しては、議論の余地があるがそれはミスと判断すべき事柄ではない。 というのが答えです。

5人残り時、占い真狂主張の通り確かにシンプルな仮定

(自分が真と狂の決め打ちに成功する確率1/2)

(自分が占い候補の真と狼の決め打ちに成功する確率1/2)

(狼が真と狂の決め打ちに成功する確率1/2)

(狂人が真と狼の決め打ちに成功する確率1/2)とおくと、5日目最適な吊り先(の1つ)は、 猫又候補者には手をかけず、占い候補者吊りを行うのが正解です。

これで、最終日3/4の確率で村勝ちになります。 5人で猫又吊りの場合は5/8です。

以上の論理から、5日目猫ルーを選択した進行があった場合、「論理的な進行ミスだという」ことを主張される方がいます。 しかし、このシンプルな仮定が実際に村で成り立つのか? という反論に対しては非常に弱いです。 「『投票、発言』この要素を無視して、シンプルな仮定1/2は妥当でないだろう」 と考えるプレイヤーはいます。

多くの確率論進行批判は、仮定の妥当性を疑問視しています。

より正確に確率論を用いて議論をするなら、主観確率の考え方を使うべきでしょう。

人狼は不完全情報ゲームです。従って、完全情報ゲームの将棋などのように、原理的に必勝の手順なんて存在しません。だからこそ、自分自身の予想に基づいて何が最善手かを計算していいく必要があると考えます。

誰が人狼の可能性が高いか、誰が真の可能性が高いかという信念を確率で表現しましょう。 専門用語で主観確率と言われる者です。

そして、人狼というゲームでの最善手を論理的に選択するにはこの主観確率の確率計算で一番勝率が高くなる手を選ぶのが論理的に正しい進行になるでしょう。

主観確率の計算には、(自分ではない)相手の戦略を予想する必要があります。 当然、ゲーム中、相手がどんな行動をとるかは予想できないです。

村人が狼がどんな行動をとるかは分かりません。

例をあげます。

進行役が占い狂人濃厚と考える占い候補Sを吊ったとき、実際に狂人釣れる(主観)確率をa

占い候補Sを吊った場合、狼が残った占い候補Tを噛む予想確率をX

自分が狼と猫又の判別できる(主観)確率をA

狂人が狼と猫又の判別できる(主観)確率をB とします。

 

このような主観確率を用いた時に、 もし、最初の日に猫又吊りをした場合、指示役の(主観)村勝率は、 A + (1 - A) * 1/4 = 1/4 + 3/4A ・・・式[0]

になります。

占い候補者吊りを行った時の村確率を求めましょう. 計算の準備をします。

最終日の勝率です。

<指示役(村人)猫候補2残りの時の勝率> A + 1/2 * (1 - A) ・・・式[1]

<狂猫候補2残りの時の勝率> (1-B) + 1/2 * (B)・・・式[2]

<占猫候補2残りの時の勝率> 1

<5人の時狂人を吊った場合> with probability a

村の勝率は, X * 式[1] + (1 - X) * 1 ・・・式[3]

<5人の時占いを吊った場合> with probability 1 - a

村の勝率は, X * 式[1] + (1 - X) * 式[2] ・・・式[4]

 

従ってまとめると、

a * 式[3] + (1 - a) * 式[4] ・・・ 式[5] となります.

式[0]と式[5]を計算して比較し,

式[0]が大きいのであれば、式[0]の方(猫吊り)

式[5]が大きいのであれば、式[5]の方(占い吊り)を選ぶというのが良い進行だと、(主観確率と狼の戦略予想が正しいという仮定で)言えます。

具体的に, A = B = 99%, a =1/2, X = 1%のような状況を考えると, 式[0]の方が値が大きくなります。

(猫又の狼っぽい方は、確実に狼だと決め打てた、 だけど自分は占い候補に関してはどっちが真か分からなかった。だから猫吊りを行った という状況に対応しています。)

 

当然式[0]と式[5]を比べた時に、 式[0]が大きくなるためには、かなり特殊な状況・・・主観確率において、相当な偏っている状況です。しかし、進行役の主観確率の設定によっては、猫吊りが論理的正着手です。

安易に論理的な進行ミスであると主張するのは、 シンプルな仮定に基づいた単純な結果しか考えられていないからなのであり、 主観確率に基づくと、むしろ進行は正当であった。という反論が可能な(場合)があります。

このように、

A. ゲームの状況の把握・発言/投票/死体/CO状況による主観確率の更新/相手の戦略予測/ B. 主観確率に基づき、勝率を最大にするために最適な投票先/吊り先/占い/噛み先/護衛先/護衛指示等の決定

という2つのことが人狼ゲームで行われているというようにモデル化し、

*主観確率の設定がシステムとincoherentだった。(ゲームのルール上あり得ない内訳想定をしていた) ・・・ Type1

*主観確率の設定/相手の戦略予測が不適当であった。・・・Type2

*主観確率から求められる最善手を実行できていなかった。・・・Type3

進行ミス等があったと思われる時に、 上記のように原因を分けることによって、 状況の解析が行える。という話でした。

以下、考えることを箇条書きに。

<Type2に関する議論> Type2についてですが、主観確率は、所詮「主観」なので、

その善し悪しについて本来議論はできないという立場です。(同じプレイヤー達が同じようなゲームを永久的に繰り替えすという状況であれば、その観測結果から、"正しい"確率が求まり、その確率との比較で主観確率の妥当性を検証できますが、実際の村では無理でしょう。行われているゲーム数が少なすぎます。)

「発言ミスをした占いは100%偽!」みたいな主観確率の設定が 妥当でないことは、過去の村のログをみれば明らかです。 2人の占い師候補がいたとき、一方を真でみる確率は「50%以下である」ことが基本でしょう。 投票/行動/発言からその確率を更新していく訳ですが、 それを(特に発言等だけから)「70%」とか「80%」とかでみるのは妥当ではないでしょう。 それを確かめる為には、 貴方が最終日決め打ちの判断役になった時、どの程度その決め打ちを成功させることが できているかを考えてくださいです。100%成功させている人なんていないでしょう。 60%, 70%? 人によって違うと思いますが、最終日の一番情報がでそろっている時に 決め打ちを100%成功させることができないプレイヤーが (猫又2択で、こっちが狼の主観確率100%!)というような仮定に基づいて行動するのは、 自分の判断力を過信していると言われても仕方がない面もあると思います。

ただ、それは「価値観の相違ですね」というレベルの話であり、とても利敵行為等には思えません。 むしろ、この価値観の相違がゲームを面白くしている要素でもあるでしょう。 ただ、気をつけてください。人間、決めつけが激しいものです。70%真かな?とか80%真かな? というような状況を許容しておく為には、結構感情的な不安に耐えるとか、ワーキングメモリーを働かせるだとか 苦しいことが必要になりますからね。

また、「ある占い候補が真である信念」「真と信じたい信念」は本来明確に区別をしなくてはいけないのですが、 村を見ると、それを混同している方が多いように思えます。

 

他のプレイヤーの戦略予測については、 そもそも原理的に不確定な要素が多すぎる(= 正確な戦略予測はほぼ無理)という問題を抱えています。

主観確率と同じく他のプレイヤー戦略予測も原理的には評価は可能です。 主観確率の場合と同様の議論になりますが。同じプレイヤー達が人狼のゲームを恒久的に繰り返すことを考えましょう。 (実際には無理ですが、SFのパラレルワールドとかの世界を想像してください。) それを観測することによって、経験的に状況ごとの狼の戦略を測れます。(暗黙的に色々な仮定をしておりますが)

 

<自分自身視点の厳密な視点把握は不可能だから、視点把握を責めないで> 感想戦で、視点把握ミス厳しく責めるかたがいらっしゃいます。

Type1のエラー指摘(自分視点確実に偽の占い候補を真かもしれないと考えている)等の指摘はかなりの場合妥当です。 しかし、 「初心者は自分自身の内訳把握すらできていない、そういう人は観戦から勉強するべきだ」というミスの指摘は自分はできません。自分は、自分自身の主観確率を明示できないです。 さきほど提示した例の5人の状況では数個のパラメータで主観確率を表現しました。本来その確率は、(12A猫なら)12人それぞれの役職割り当てが行われている確率です。 ある程度シンプルな仮定を置いたとしても、 ゲームの状態を表すには、 A-Lが参加者だとして、COの状況と投票とAの 「A-Lの役職の(Aの主観)同時確率分布関数」そして、Aが予想する「他の人がとる戦略」。

これがはっきりしていなければ、(主観確率という実際の確率の代替として使っているものを使ってすら)計算できません。しかし、

視点把握は厳しすぎます。 経験者の方がおっしゃる「自分自身の視点把握ミス」

というのは、 CO状況の把握と、それにともなう自分自身の(主観)同時確率分布関数がType1エラー を引き起こしていることを指していることが多いようですが、 自分自身の(主観)同時確率分布関数を明示できない地点で、 "厳密な意味での"自分視点の把握は

できていないと考えています。完全な意味での主観同時確率分布関数の設定は人間には無理でしょうね。しかし、 自分自身視点が、全ての内訳に対する確率予想を行っていないと、

"公開されている情報から、自分自身の予想を作成する/提示する" という視点把握ができているとは言えないでしょう。 人間のキャパシティを考えると数時間オーダーの時間でそれを行うのは無理です。

Type1エラーを引き起こさないことを指摘するのは非常に有意義なのだと思うのですが、 厳密な視点整理が不可能に近いということを理解したうえでの、寛大なアドバイスが欲しいなと思います。 とはいうものの、Type1エラーを発生させては、村の進行は面白いものになりにくいですね。 こういうエラーは、お互い減らしていきましょうね!

<戦略の予測について> 今回、5人の例では相手の戦略を確率で表しましたが、 本来はこの戦略は、相手も自分視点の主観確率に基づいて決定してくるはずですね。 戦略はその主観確率の分布関数を定義域とする関数によって(確率的に)決定されるものですが、 今回はその部分のややこしさを1つのパラメータにして、全て隠蔽しています。 相手の戦略の予測ができるという仮定でゲームをするのはちょっと無理がありますね。 「同じ戦略が何回も繰り返される」という状況においては、こういった議論も面白くなるのですが。 ネタはできたので、また試させていただきます・・・

 

<場を知るということ> 相手の主観確率のコントロールをするにはどうすれば、いいか? (Aのフェーズで自陣営有利な主観確率設定にするにはどうすればいいか、) ということに関しては、Universalな答えがありません。 その為の1つの手は、ゲームに参加する参加者のことを知るということですね。 シンプルに言うと、「るる鯖12A猫での勝率を上げたければ、るる鯖12A猫参加者のことを知った方がいいよ」ということです。 ただ、これは自分は興味のないことですね、勝率にこだわるかたはやればいいんじゃないでしょうか。 場に依存して、いい進行は何かを考えるより、Universalにいい進行は何かという方が自分は興味がありますねー

 

全部の文章がそうですが、これは特にリバイズできていないな。 かき散らかしただけというところがあります。

 

ただ、人狼というゲームがどういうゲームなのかを少し理解できました。 端的にまとめると、

*その時の状態での内訳の確率分布関数が(主観確率と真の確率分布関数と等しい)

*他者のプレイヤーの戦略が確率的に定まり、その決まり方は分かっている 上記2つの仮定の下で、 論理的な最適解は確率計算で求まる。 しかし、その仮定が満たされることは期待できない。 というところでしょうか。