不確定要素の考慮            2018/04/07 はまっちゃった人 ※当文書では、ニンテンドウカップ2000を想定する。 ※技名及び持ち物名については、必要に応じ漢字表記・アルファベット表記とする。 ※当文書は筆者以外の者が読むことを想定していない。理解が困難な箇所があるかと思うがご容赦願いたい。 1.はじめに  van氏の新理論研究の準備として、流しコストの概念とゲーム理論の概念をベースに理論の再構築を行うこととした。  今回は、不確定要素の考慮として、運と読みについて理論化する。  なお、不確定要素以外の立ち回りについても既存の文書では記述が不足しているため、当文書で補うこととする。 2.確定要素としての立ち回り  (1)1対1の対戦    相手を倒す上で潰しコストが発生する。    自分のポケモンの潰しコストが最小となるように、または相手のポケモンの潰しコストが最大となるように技を使う。    (2)サイクル    相手の場にいるポケモンに対して有利なポケモンを交代で出すことを基本戦術とする。    交代で出す際には受けコストが発生し、その後相手のポケモンを倒すと仮定した場合には潰しコストが発生する。    受けコストと潰しコストを足したものを流しコストと呼び、流しコストを払いきれなくなった段階でサイクルが崩壊する。    流しコストを払うことができる回数を流しの回数と呼び、流しの回数が最も少ないポケモンがいるプレイヤーが不利である。    ただし、例外的に、流しの回数は他のポケモンのサポートにより増加する可能性がある。    (3)死に出し    場にいるポケモンが倒されることで、控えのポケモンは受けコストを払うことなく交代することができる。    これを「死に出し」と呼び、控えのポケモンに対するサポートの一種であると解釈できる。    自分のポケモンを1匹失うが、その損失よりも死に出しのサポートによる効果が高くなることがある。    (効果的な技を打てないポケモンがいる場合や、受けコストが大きい場合に効果が高くなる) 3.運の考慮  潰しコストや受けコストは、運によって左右される。  例えば相手の技が外れれば受けコストは0であるし、乱数運が良ければ必要な攻撃回数が減り潰しコストを低下させることができる。  本来であれば乱数がとり得る値全てを分岐として考慮する必要があるが、この場合は組合せ爆発が起き計算しきれなくなる。  無理に計算しようとして先のターンが読めなくなっても逆効果であるため、8(1)で後述したように計算量を軽減する策を取る。 4.完全情報ゲームとしての読みの考慮  お互いにお互いの控えのポケモンやポケモンの型を把握している、かつ攻撃技のみを考慮した場合は、下記の読みが発生する。  なお、ここでは選択肢を選んだ結果得られる利得について以下の5段階で記述する。   ・利益大 …大きなアドバンテージを得られる。1回の読み勝ちで勝利が決定することが多い。   ・利益小 …小さなアドバンテージを得られる。拮抗している状況や何度も読み勝つ状況で勝敗が逆転することが多い。   ・イーブン…読みを使わずにサイクルを回した場合と同等の利得を得られる。   ・損失小 …小さなディスアドバンテージとなる。拮抗している状況や何度も読み負ける状況で勝敗が逆転することが多い。   ・損失大 …大きなディスアドバンテージとなる。1回の読み負けで敗北が決定することが多い。  (1)交代読み交代    自分の各々のポケモンの流しの回数の差を平準化し、流しの回数の概念上で優位に立つための読みである。    交代読み交代は1回1回の利益が少ない割にリスクが高いが、サブ技を持たずに形勢逆転の可能性を持たせることができる。    また、相手の交代読み交代読み技を誘発することができれば、有利なはずの相手にリスクの高い立ち回りをさせることができる。     ・自分:交代読み交代   相手:サイクルに従い交代…利益小     ・自分:交代読み交代   相手:交代読み交代読み技…損失大     ・自分:サイクルに従い技 相手:サイクルに従い交代…イーブン     ・自分:サイクルに従い技 相手:交代読み交代読み技…利益大    (2)交代読みサブ技    交代先のポケモンに有効なサブ技を打つことにより、積極的にサポートを行い、控えのポケモンの負担を軽減させる読みである。    交代読み交代と比較し、相手の場にいるポケモンに対して不利なポケモンに交代しなくて良い分、リスクは少ない。    また、サブ技によっては、交代読み交代よりも高い効果が得られる。    (55サンダーへの50カイリキー岩雪崩は交代読み交代と大差ないが、ナッシーへのガラガラめざめるパワー虫は効果が大きい)    ただし、サブ技に命中不安や効果の小ささがある場合は、交代読み交代の方が有効な場合もある。     ・自分:交代読みサブ技  相手:サイクルに従い交代 …利益小〜利益大     ・自分:交代読みサブ技  相手:交代読みサブ技読み技…損失小     ・自分:サイクルに従い技 相手:サイクルに従い交代 …イーブン     ・自分:サイクルに従い技 相手:交代読みサブ技読み技…利益大   5.不完全情報ゲームとしての読みの考慮  お互いにお互いの控えのポケモンやポケモンの型を把握しているとは限らないため、それを推測するための読みが発生する。  (1)隠された情報と情報の蓄積    対戦が始まる前は、相手のパーティや相手のポケモンの型、相手の選出について不明である。    対戦が進行するにつれて、これらの情報が明らかになる。    これらの情報が明らかになる前に正しく推測することができれば、対戦を有利に進めることができる。    (2)読みの場面    @パーティ選択     ・隠された情報      所持しているパーティ(6匹のポケモンの型の組み合わせ)     ・蓄積される情報      (無し)     ・選択肢      所持しているパーティ(6匹のポケモンの型の組み合わせ)    Aポケモン選択     ・隠された情報      ポケモンの型(種族、持ち物の有無以外)     ・蓄積される情報      ポケモンの型(種族、持ち物の有無のみ)     ・選択肢      3匹のポケモンの組み合わせ(先発のポケモン1匹+控えのポケモン2匹)    B対戦中     ・隠された情報      選出したポケモン      ポケモンの型(種族、持ち物の有無以外)      ポケモンバトルの経過と共に、隠された情報は徐々に減る     ・蓄積される情報      選出したポケモン      ポケモンの型(種族、持ち物の有無のみ)      ポケモンバトルの経過と共に、蓄積される情報は徐々に増える     ・選択肢      技の使用、控えのポケモンへの交代  (3)主観的な利得表    ポケモン対戦のような同時進行ゲームでは、利得表を用いて状況判断を行う。    不完全情報ゲームでは、お互いに持っている情報が異なる。    そのため、お互いに異なる利得表を用いて状況判断していると捉えることができる。    なお、不完全情報ゲームとは関係がないが、7(2)や7(3)で後述する要素によっても利得表に差異が生じる。  (4)流行の考慮    パーティの傾向やポケモンの型については、流行により使用率に違いがある。    流行を把握することで、隠された情報の推測の精度を上げることができる。    流行を把握するためには、以下の要素を考慮する。     @流行の合理性      前の流行に対して強い、新たな戦術として期待が持たれる等、何かしらの合理性なしに流行が発生することはない。     A出元となるデータ      大会での勝率の最大化を目的とする場合、以下のことが言える。      どの出元にも一長一短があるため、特徴を把握した上で組み合わせて判断することが重要である。      ・過去の大会での使用率       大会のデータという意味では信憑性は高いが、情報の新鮮さに欠ける。      ・野試合での使用率       最新の情報を反映しているという意味では信憑性は高いが、カジュアルパーティやテスト用パーティ等を加味してしまう。      ・サイトやブログ等の記事の考察       多くの場合は最新の情報を反映しているが、理論的には情報操作を行われる可能性がある(実際には気にしなくて良い)。       統計的な情報として処理しにくいという難点はあるが、統計的な情報を解釈するヒントを得ることができる。     Bコミュニティ毎の特徴      ポケモン対戦では複数人の集団が考察を行うことが多く、この場合は集団毎で流行に特徴が出る可能性がある。    (5)ナッシュ均衡と奇襲    @ナッシュ均衡の概念     各選択肢をある一定の確率で選択することで、相手がどのような選択肢の選び方をしても平均利得を一定にすることができる。     この選択確率のことを「ナッシュ均衡」と呼ぶ。     感覚的には、ローリスクローリターンの選択肢を高確率、ハイリスクハイリターンの選択肢を低確率で選ぶとナッシュ均衡になる。     具体的な計算は下記参照。     http://o-s.sub.jp/pokemon_riron/index.php?%C1%AA%C2%F2%A4%CE%A5%E9%A5%F3%A5%C0%A5%E0%B2%BD    A選択確率の偏り     相手の選択肢の選択確率を推測することでより高い利得を得ようとする時、選択確率はナッシュ均衡から外れ、偏りが出る。     偏りが出た場合、相手の選択肢の選択確率を正しく推測できればナッシュ均衡で得られる平均利得よりも高い利得を得られる。     しかし、推測が正しくなければ、ナッシュ均衡で得られる平均利得よりも利得は低くなる。    B奇襲の概念     Aで述べた選択確率の偏りを意図的に発生させ、優位に立とうとする戦術を「奇襲」と呼ぶ。     「流行のパーティに似せたパーティを作成し、ポケモンの型は流行と反した型とする」     「ある技を持っていないかのように立ち回る」     といった方法で奇襲を行うことができる。     6.読みの精度を支える心理学の知見  心理学の知見を用いることで、ポケモン対戦の読みの精度を高め、相手の選択肢の選択確率をより正しく推測できると思われる。  心理学から得られた知見は多岐に渡るが、むやみに多くの知見を用いても本質的な考察から外れやすくなり逆効果である。  ポケモン対戦を念頭に置いた場合、筆者は以下の知見に絞って考慮することをお勧めする。  (1)プロスペクト理論    人間の感覚には、以下の非合理的な特徴がある。     @利得認知の歪み      人間の場合、参照点を超える損失は参照点を超える利得の2倍感じやすい→損失局面ではリスクの高い行動を取りやすくなる。      参照点とは目的とする利得量のことであり、ポケモン対戦の場合は互角の場面(勝率50%の場面)と考えて良いだろう。      なお、実機対戦の場合、相手の表情やしぐさを見ることで相手が利得局面か損失局面かを推測することができる。     A確率認識の歪み      人間は、0.0 < p < 0.4 の確率は過大評価し、 0.4 < p < 1.0 の確率は過小評価する。  (2)ヒューリスティック    人間の勘による判断には、下記の非合理的な特徴がある。     @確証ヒューリスティック      自分にとって都合の良い情報を集めようとする。      具体的には、以下のような思考に現れる。      ・自分が知っていることは相手も知っていると思い込む      ・予想に反するものではなく予測を確証する情報を探す      ・初めに得た情報に固執し、新しく新鮮な情報を無視しがちになる(アンカリング)     A利用可能性ヒューリスティック      記憶に残りやすい情報について、頻度や確率を高く見積もる。      具体的には、特異な情報、習慣化した情報等。     B代表性ヒューリスティック      ある本質を代表するに過ぎない情報を用いて、頻度や確率を高く見積もる。      具体的には、統計的に少ない標本から得られた情報等。 7.利得量の計測  最適な選択肢を選ぶためには、選択肢を選んだ結果得られる利得量を計測することが欠かせない。  ただし、無理に正確に計測しようとするよりは、精度はほどほどにして先のターンまで読もうとする方が合理的である。  (1)利得量計測の基本方針    ・勝率を利得量とするのが理想だが、後述の組合せ爆発の問題が出るため非現実的。    ・次善策として、流しの回数を利得量とする方法がある。     流しの回数で考慮できないのは「サポート」「運」「読み」の要素。     これらの要素を一部でも考慮できると精度は上がる。    ・実際は人間の勘で利得量を計測することになるだろう。     ただし、9でも述べるが、勘を鍛えるために考察や対戦を重ねる必要がある。    (2)相手の実力不足の考慮    立ち回りや発言から相手の実力不足が見て取れる場合は、相手の主観的な利得表を想像する時にそれを考慮すると精度が上がる。    相手は正しく利得量を計測できず、正しくない利得表を元に行動選択する可能性がある。    (3)目的の考慮    ポケモン対戦のルール上は勝率の最大化が目的となるが、それ以外の目的が混ざる場合がある。    具体的にはパーティ選択の場面で影響がある。    (パーティは勝利以外の価値観を表現する手段となるため。好きなポケモンを使う、接待用にあえて弱いパーティを使う、等。)    それ以外の目的が混ざることが見て取れる場合は、利得量の計算で考慮できると精度が上がる。 8.組合せ爆発への対処  全ての要素を考慮しようとすると、分岐が多すぎてとても考慮しきれなくなる。  無理に考慮しようとするよりは、適切に分岐を減らしてより先のターンまで読もうとする方が合理的である。  (1)運要素による組合せ爆発への対処    試合の優劣を決定付ける敷居値を設け、その敷居値を超える確率と超えない確率を計測する。    流しコストに密接な影響を与える要素に敷居値を与え、攻撃技の場合は必要な攻撃回数の変化が敷居値となる。    (技の命中の有無、乱数による攻撃回数の変化(「30%で2発、70%で3発」等))    それすら難しい場合は、生起確率が高いいくつかの事象のみを考慮し、それ以外の要素は切り捨てる。    (例えば、多くの試行回数を稼げる場合でもない限り、急所は無理してまで考慮する要素ではない)  (2)利得量に着目した組み合わせ爆発への対処    ゲーム理論で言う劣等戦略は除外する。    それだけだと不十分なため、経験上劣等戦略となることが多い選択肢も除外する。    (AIの場合、交互進行ゲームではアルファ・ベータ法等のロジックが適用できる。同時進行ゲームにもあるのだろうか。)    (3)選択確率に着目した組み合わせ爆発への対処    6で解説した心理学の知見に従い、選択確率が低い選択肢は除外する。    (AIの場合は機械学習させることになるだろう)  (4)選択肢集約に着目した組み合わせ爆発への対処    パーティやポケモンの型は、ある程度類型化して集約することで選択肢の数を減らすことができる。    (55バンギラスが入っているパーティは「バンギラスA」として集約する、等) 9.処理速度向上のための練習・技術  利得量の計算や分岐の考慮をより高速に行うことができれば、先読みの深さ・精度が向上し、それに伴い勝率も向上する。  処理速度向上のためには、下記の練習や技術が有効である。    (1)勘を鍛える    これまでに述べたことを意識しなくても実行できるようにする。    様々なケースを想定する上では、机上での考察を積み重ねると効率が良い。    しかし、机上の考察の誤りを見つけるために実戦も欠かすことができない。    (AIの場合は機械学習させることになる)    (2)制限時間が存在しない場面や、制限時間の余裕のある場面(ターン)に、先読みを行う    (3)冷静な心理状態を保つ    具体的な方法としては     ・知識・経験を積んであらゆる事象を想定内として把握する。     ・プライドを捨てる。     ・疲労を蓄積させない(疲労が蓄積している時は対戦しない)。     ・学業・仕事・プライベートのスケジュールに余裕を持たせる(余裕がない時は対戦しない)。     ・気分転換に飲食する。      …等  (4)認知資源の浪費を避ける    複雑な思考が必要になる場合、認知資源を消費することにより疲労が蓄積し、次第に処理速度が低下しやすくなる。    何回も連続で対戦する場合は、認知資源の消費が少ない単純な構造のパーティが望ましい。    (もちろんパーティのポテンシャルと相談。同程度のポテンシャルのパーティなら構造が単純な方が良い、という程度のもの。)  (5)AIと協働する    現在の技術力では非現実的だが、将来的には可能性がある。    対面での勝率計算・勝利時の残HP計算をAIにモンテカルロシミュレーションでやらせて、自分はそれ以外の思考に集中する、等。