不完全情報ゲームに関する講演を聴きにサークルの先輩2人(麻雀はそんな詳しくない)と電通大行ってきました。それぞれ動機が「リアルとつげき東北を拝む」「ソクラテスに対して最も大きな影響を与えた人物のうちの一人とはどんな奴か見に行く。ちょうど暇だし」「オセロの研究をやってて不完全情報ゲームにも興味がある」とまっとうなものが1つしかない気がしますが随分楽しめました(ちなみに僕に大きな影響を与えた人物もう一人はMOV)。
さてまずは凸の公演の方。最初の方はトークというか確率に関して人間が陥りやすい錯誤について話して「だからコンピューター使おう」みたいな一見さん向けの簡単な話。で、研究内容の本題が「リーチが字牌待ちかどうかを読む」手法について。結果として割とヒューリスティックな分類の仕方で字牌待ちを当てる「精度(「字牌待ち」と読んだ時に実際に字牌待ちである確率)」を上昇させることができました、みたいな話。
で、感想(先輩の受け売り含む)なんですが、「人間と『読み』そのものに関して勝負させる」ということに拘りすぎかなあと思います。勝負の方法については凸のHP上で「他家がリーチしてる局面を見てどんくらい字牌待ちっぽいかの確率を指定させる」というものを行っているんですが、結局はふつう人間の場合は細かい放縦率(ひいては収支期待値)の計算などせず大体の経験と定石から危険度を推測しているわけで、それを突然「確率で指定しろ」と要求して勝負させるのでは所詮「クイズ」の域を出ないのではと思いました。むしろ無理に人間と勝負などせず「コンピュータを使って期待値を計算するときに『字牌待ちっぽい』『字牌待ちっぽくない』と状況を分離することでより精密に切る牌の収支期待値が計算できますよ」ということを話した方がコンピューターでゲームを研究してる一般の人に対しては分かりやすかったと思いました。従って凸が行った「字牌待ちと読んだ時の精度を最大化する」という最適化はあんまりよろしくなく(ごく稀に起こる「これはさすがに字牌待ちだろ」というのだけ正確に当てても大局的にはほとんど期待値計算に寄与していない)、むしろ「場合分けしなかった時とした時に算出する放銃率の差(の絶対値)の期待値(生起確率で重み付けしたもの)」を最大化するのがが重要なんじゃないかと。まあ実際には「誤って算出した期待値の差」と「期待値を誤って算出することによる損失」は線型には関係しない(上の最適化すべき式は線型に関係することを前提としてる)ですが、少なくとも再現性を絞って精度を上げるよりはよっぽど(自動打ちアルゴリズムの構築に)有意義なんじゃないかなあと思います。
もう1つはコントラクトブリッジに関する話。コントラクトブリッジとは僕も始めて知ったんですが、要は4人ノートラ有りでやるナポレオンにかなり似てるゲームで、特殊札が切り札のみでセイム2や役札といったものがないバージョンみたいな。で、競うのが絵札の枚数じゃなくて取ったターン数という。で、このゲームの最も大きな特徴が「副官」みたいなのがなく対面のプレイヤーが常に自分のパートナーだということ。従って、切り札を決める競り(「ビッド」と言うらしい。ノートラ>素肌クラブの順)では事前に決めておいた前約束で「ハートの3は俺超強いって意味ね」などと「自分が取れそうな枚数」という以上の情報を持たせることができ、この競りの段階で如何に自分達の戦力を正確に把握するかというのが重要なファクターの1つになっているようです。
で、主な内容としては「パートナーの情報を正確に得ると共に如何にパートナーに自分の強さの情報を正確に把握してもらうか」みたいな話。最後のオチが「まあ結局俺らの書いたプログラムはそこまで強くなかったし自分自身もそこまで強いわけじゃないからよく分からないけどね!」みたいな悲しいものだったんですが、紹介していた手法自体はこのゲームだけに限らない一般性のあるものでかなり参考になる部分もいくつかありました。
それと両方合わせて持った感想に近いですが、「非完全情報ゲーム」といったら普通「グリコでいくかパイナツプルでいくかチヨコレイトでいくか」みたいな読み合いが重要な要素になってくると思うじゃないですか。思いますよね?一方で麻雀の場合は明示的に与えられてる情報(自分の手牌だとか他家リーチの有無とか)の重要度が高すぎて「読み(「あいつはヒッカケ待ちが多い」とか)」、ひいては「読み合い」の要素がほとんどないわけです。で、ブリッジの場合はたぶん読み合いが発生するだろうからどう解決するんだろう(マトモに利得行列解くと線型計画法解かなきゃいけないわけで計算量がエライことになる)と興味津々だったんですが、どうやらブリッジの場合でも「読み合い」の要素を極力減らすようルールの方をいじってあり、戦術の決定の段階でもそういった要素は「なかったことにして」計算させているようでした。
まずルールの方ですが、コンピュータブリッジの大会ではビッドの内容と手札の関係(「この手札だったらスペードの4で立つ」みたいな)を試合前に完全に公開しないといけないらしく、「相手がどういう戦略でビッドを行っているか(あんまり相手方のビッドだけで手札状況が分かってしまうようなら自分らで細かいビッドを行って情報をバラす必要はない)」みたいな読み合いは不要になっているようです。従って相手のビッド戦略をそもそも推測・読み合いを行う必要がある対人戦からはいくぶん簡略化されたゲームになっているというわけです。
また、競りが終わったあとのゲームにおいても読み合い的なのを(少なくとも講演を行ったグループでは)放棄しているようでした。具体的には、説明中で「AとBという選択肢があり、一般的にはAが有利なことが多いけど今回の状況に限ってBが有利(どっちが有利かは自分からは分からない)」みたいな状況でコンピューターがBを選んでしまう問題があり、それを頑張ってAを選ばせることが出来るようになりました、という話があったんですね。が、ゲーム理論的に考えて、Bが有利になるような状況が少なくとも1つでも存在するのであれば、最適戦略においてはBを選ぶ確率は0でないわけです。このように、自分から見えてる情報から可能性としてありうる全体の状況を列挙したときに、それらの状況にどのような重み付けをするかがいわゆる「読み合い」に対応するわけで、この重み付けに関しては随分適当(というか、たぶん発表者は一様でやってた)なようでした。というわけで読み合いをコンピューターにさせるのは随分難しいんだなあ、と。しかしこのへんは人間の方がもっと出来ない分野なので頑張ればコンピューターが優位に立てる部分だと思うんですが。
公演後は3人で新宿で飲み的なものを。なにやら昔深夜番組で人狼ゲームの簡易バージョン的なもの「クイズ!スパイ2/7」という番組があったそうです。こっちは随分ルールとしては単純ですが、人狼BBSと違ってロールプレイによって互いの疑心暗鬼をオブラートに包むことがないので随分とドス黒いやり取りが楽しめたそうです。是非見てみたかった・・・。