ポケモンWordleの愚直な探索

ポケモンWordle（やど氏版）のエンドレスモードを遊んでいて「■■ッ■■（真ん中が小さいッ）」を特定してから 6 連続で外した[^1]ので全探索しようと考えました。 Pythonスクリプトは [GitHub Gist](https://gist.github.com/CookieBox26/474f64ffa514222675e1a43d855ac1b1) にあります。お気付きの点がありましたらご指摘いただけますと幸いです。
<font color="red">先に同名の記事を公開していましたが、内容が本末転倒であった[^2]のでそちらの記事を削除しました。大変失礼しました。</font>

[^1]: 1手目「アシレーヌ → 黒黒黒黒黒」の後、2手目「ドテッコツ → 黒黒緑黒黒」で3文字目を特定してからの「カメックス → 黒黒緑黒黒」「ミミッキュ → 黒黒緑黒黒」「ペロッパフ → 黒黒緑黒黒」「ウデッポウ → 黒黒緑黒黒」「バケッチャ → 黒黒緑黒黒」「イエッサン → 黒黒緑黒黒」（正解は「タルップル」）。

[^2]: 旧記事では「入力ポケモン、結果画面、現在の候補ポケモンのリスト」が与えられたときに「絞り込み後の候補ポケモンのリスト」を返すロジックの一例を説明していました。このロジックは（効率的かどうかはさておき）これはこれでいいのですが、全ケースの期待値や確率の計算を目的とするときはこのロジックは全く不要です。結果画面から正解候補を絞り込まなくとも、全ケースの結果画面を出しているのでその結果画面の元になった正解ポケモンを知っているからです。なお、ご紹介していた「候補数の期待値」「候補数が1になる確率」が誤っていたわけではありません（本記事のスクリプトでも結果は同じです）。

## 参考文献

- [ポケモンWordle（https://wordle.mega-yadoran.jp/）](https://wordle.mega-yadoran.jp/)
  - ポケモン版 Wordle はいくつかありますが本記事ではこちら（やど氏版）を想定しています。
  - ヘルプを押下すると「ココロモリ」「キノココ」の例で説明されているように、正解側で文字が複数利用されている場合の色塗りルールが特殊になっています。
  - 「今日のお題」モードの出題範囲はダイヤモンド・パールまでですが、私はギルガルドが好きなのでこの記事では <font color="red">「ソード・シールド」までを選択した場合を想定しています。</font>
- [全国ポケモン図鑑順のポケモン一覧 - Wikipedia](https://ja.wikipedia.org/wiki/%E5%85%A8%E5%9B%BD%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3%E5%9B%B3%E9%91%91%E9%A0%86%E3%81%AE%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3%E4%B8%80%E8%A6%A7)
  - ポケモン名がきれいに列挙されているページだったのでこのページをコピーして整形してポケモン名一覧を作成しました。
- [Pythonを用いてPOKEMON WORDLEを解く - Qiita](https://qiita.com/insei_99/items/bd5230441c9873e45dea)
  - ポケモン Wordle についての先行記事です。「出現頻度の高い文字が多いポケモンを入力する」という戦法が紹介されており、最適とされているポケモンがこの記事の「1手目終了後に残る候補数の期待値最小のポケモン」と一致しています。

## ポケモンWordle（やど氏版）のルール（私の理解に基づく）
ポケモンWordle（やど氏版）のルールは以下のようになっていると思います。

- 10回以内にお題のポケモン（正解ポケモン）を当てるゲームである。
- 1回分の入力欄は5文字分になっており、カタカナ5文字以下（記号を含まない）のポケモンが入力可能であるが、正解になりうるのはカタカナ5文字ちょうどのポケモンのみである。
- 1回目の入力時点では何もお題のポケモンに関する情報がないが、各回の入力後に入力した文字に色が塗られる（後述）ことで情報が手に入っていくので、2回目以降の入力ではその情報を活用していくことになる。

### 色塗りルール

ゲームは以下のように入力した文字のそれぞれに色を塗ってきます。⭐ のルールがやや特殊になっています[^3]。

- その文字を入力側で n 文字、正解側で m 文字使用しており（0 ≦ m）、そのうちの n' 文字が位置まで合致しているとする ( 0 ≦ n' ≦ min(n, m) ）。このとき、
  - 位置まで合致している n' 文字は緑に塗る。
  - 位置は合致していない n - n' 文字については、
      - n' < m ならば、左から m - n' 個まで黄に塗る。⭐
      - n' = m ならば、色を塗らない。

[^3]: よくある（？）Wordle のルールでは ⭐ の箇所が「左から1個まで」になっているために、緑や黄に塗られた文字が正解ポケモンに「1文字以上は使われている」という事実までしか確定しません。しかし、ポケモンWordle（やど氏版）では ⭐ のルールがあるために、「2文字以上使われている」「n 文字ちょうど使われている」が確定しうるケースがあります。といっても大概のケースで違いは生じないと思いますが、違いが生じる例がヘルプで紹介されている「キノココ」→「黒黒黄黄」で、このとき正解が「ココロモリ」に確定します。

## ランキングいろいろ

色塗りルールとポケモン一覧がわかっているので、「どのポケモンを入力すると残る候補の期待値が最小になるか」などを計算できます。Pythonスクリプトは [GitHub Gist](https://gist.github.com/CookieBox26/474f64ffa514222675e1a43d855ac1b1) にあります。

ここでは出題範囲を剣盾までのポケモンとしました。ポケモン名一覧は参考文献の Wikipedia から取得しました。入力可能ポケモン（カタカナ5文字以下）と正解候補ポケモン（カタカナ5文字ちょうど）の数は以下でした。

```
入力可能ポケモン 847 ['フシギダネ', 'フシギソウ', 'フシギバナ'] ... ['レジドラゴ', 'ブリザポス', 'レイスポス']
正解候補ポケモン 511 ['フシギダネ', 'フシギソウ', 'フシギバナ'] ... ['レジドラゴ', 'ブリザポス', 'レイスポス']
```

予めすべての入力可能ポケモンと正解候補ポケモンの組に対して返却画面を求め、入力可能ポケモンごとに返却画面をキーとした辞書にまとめておくと以下のようになります。

```
フシギダネ を入力したとき
   緑緑緑緑緑 ( 0.20%)  候補数   1 ['フシギダネ']
   緑緑緑黒黒 ( 0.39%)  候補数   2 ['フシギソウ', 'フシギバナ']
   黒黒黒黒黒 (75.15%)  候補数 384 ['クサイハナ', 'ジジーロン', 'ボスゴドラ', 'コジョンド', 'カラサリス']
   黄黒黒黒黒 ( 2.74%)  候補数  14 ['リーフィア', 'モルフォン', 'エルフーン', 'ペロッパフ', 'ニンフィア']
   黄黄黒黒黒 ( 0.39%)  候補数   2 ['コフキムシ', 'ラフレシア']
   ...
フシギソウ を入力したとき
   緑緑緑黒黒 ( 0.39%)  候補数   2 ['フシギバナ', 'フシギダネ']
   緑緑緑緑緑 ( 0.20%)  候補数   1 ['フシギソウ']
   黒黒黒黒黒 (74.36%)  候補数 380 ['クサイハナ', 'ジジーロン', 'ボスゴドラ', 'コジョンド', 'カラサリス']
   黄黒黒黒黒 ( 2.74%)  候補数  14 ['リーフィア', 'モルフォン', 'エルフーン', 'ペロッパフ', 'ニンフィア']
   黒黒黒黒緑 ( 1.76%)  候補数   9 ['ミニリュウ', 'ウデッポウ', 'ピカチュウ', 'ケンホロウ', 'デンリュウ']
   ...
フシギバナ を入力したとき
   緑緑緑黒黒 ( 0.39%)  候補数   2 ['フシギソウ', 'フシギダネ']
   緑緑緑緑緑 ( 0.20%)  候補数   1 ['フシギバナ']
   黒黒黒黒黒 (72.41%)  候補数 370 ['ジジーロン', 'ボスゴドラ', 'コジョンド', 'カラサリス', 'ゴーリキー']
   黄黒黒黄黒 ( 0.59%)  候補数   3 ['バッフロン', 'バタフリー', 'バクフーン']
   黒黒黒黒緑 ( 0.59%)  候補数   3 ['クサイハナ', 'ニドリーナ', 'キレイハナ']
   ...
...
```

### 1手目終了後の候補数の期待値ランキング

まずは1手目終了後に残る候補数の期待値のランキングを出します[^4]。ジーランスが期待値を最小にすることがわかります。ワースト1位はピィであることもわかります。

[^4]: もし1手目で正解を当てた場合は1手目終了後にゲームが続かないので残る候補数を 1 とはせず 0 としています。以降の指標も同様です。

```
◆ 1手目終了後の候補数の期待値
  1位 ジーランス  1手目終了後の候補数の期待値: 58.90215264187866
  2位 レントラー  1手目終了後の候補数の期待値: 59.21526418786691
  3位 ルナトーン  1手目終了後の候補数の期待値: 61.610567514677115
  4位 ネンドール  1手目終了後の候補数の期待値: 63.61839530332679
  5位 ランクルス  1手目終了後の候補数の期待値: 65.03522504892366
  6位 デスカーン  1手目終了後の候補数の期待値: 68.30724070450094
  7位 デスバーン  1手目終了後の候補数の期待値: 71.105675146771
  8位 エルフーン  1手目終了後の候補数の期待値: 71.14481409001954
  9位 グラードン  1手目終了後の候補数の期待値: 71.90802348336592
 10位 ハンテール  1手目終了後の候補数の期待値: 72.64774951076318
838位 エネコ　　  1手目終了後の候補数の期待値: 389.3639921722114
839位 パウワウ　  1手目終了後の候補数の期待値: 390.7221135029356
840位 ゴニョニョ  1手目終了後の候補数の期待値: 404.32681017612543
841位 ベベノム　  1手目終了後の候補数の期待値: 404.5733855185911
842位 ブビィ　　  1手目終了後の候補数の期待値: 408.0841487279845
843位 モノズ　　  1手目終了後の候補数の期待値: 414.9726027397261
844位 モココ　　  1手目終了後の候補数の期待値: 420.54990215264195
845位 ミネズミ　  1手目終了後の候補数の期待値: 423.857142857143
846位 ツボツボ　  1手目終了後の候補数の期待値: 453.23874755381615
847位 ピィ　　　  1手目終了後の候補数の期待値: 470.28767123287673
```

### 1手目終了後に正解を特定する確率ランキング

1手目終了後に正解を特定する（残る候補数が1になる）確率が高いポケモンも気になると思います。この指標ではランドロスが1位になります（なお、以下の確率には1手目で正解を引いてゲームを終了するケースは含めていません）。

```
◆ 1手目終了後に正解を特定する確率
  1位 ランドロス  1手目終了後に正解を特定する確率: 0.050880626223091974
  2位 ヒードラン  1手目終了後に正解を特定する確率: 0.046966731898238745
  3位 バクフーン  1手目終了後に正解を特定する確率: 0.043052837573385516
  4位 オンバット  1手目終了後に正解を特定する確率: 0.043052837573385516
  5位 ナックラー  1手目終了後に正解を特定する確率: 0.0410958904109589
  6位 ジーランス  1手目終了後に正解を特定する確率: 0.0410958904109589
  7位 グラードン  1手目終了後に正解を特定する確率: 0.0410958904109589
  8位 ドンカラス  1手目終了後に正解を特定する確率: 0.0410958904109589
  9位 レアコイル  1手目終了後に正解を特定する確率: 0.03913894324853229
 10位 キングラー  1手目終了後に正解を特定する確率: 0.03913894324853229
838位 ナゲキ　　  1手目終了後に正解を特定する確率: 0.0019569471624266144
839位 モノズ　　  1手目終了後に正解を特定する確率: 0.0019569471624266144
840位 シシコ　　  1手目終了後に正解を特定する確率: 0.0019569471624266144
841位 デデンネ　  1手目終了後に正解を特定する確率: 0.0019569471624266144
842位 ヌメラ　　  1手目終了後に正解を特定する確率: 0.0019569471624266144
843位 ツツケラ　  1手目終了後に正解を特定する確率: 0.0019569471624266144
844位 ヨワシ　　  1手目終了後に正解を特定する確率: 0.0019569471624266144
845位 ウッウ　　  1手目終了後に正解を特定する確率: 0.0019569471624266144
846位 スバメ　　  1手目終了後に正解を特定する確率: 0.0
847位 ギモー　　  1手目終了後に正解を特定する確率: 0.0
```

1位のランドロスは以下の26パターンのいずれかを引けば2手目で確定終了することになります。

```
ランドロス を入力したとき
   黒黒緑黒緑 ( 0.20%)  候補数   1 ['マタドガス']
   黄黒黒黒黄 ( 0.20%)  候補数   1 ['ストライク']
   黒緑黒緑緑 ( 0.20%)  候補数   1 ['ケンタロス']
   黄黒黄黒緑 ( 0.20%)  候補数   1 ['ギャラドス']
   黒黄黒黒緑 ( 0.20%)  候補数   1 ['ソーナンス']
   黄黒黒緑緑 ( 0.20%)  候補数   1 ['ヘラクロス']
   黄緑黄黒黒 ( 0.20%)  候補数   1 ['キングドラ']
   黒緑黄黒黒 ( 0.20%)  候補数   1 ['ドンファン']
   黄緑黒黒緑 ( 0.20%)  候補数   1 ['バンギラス']
   黄黒黄黒黄 ( 0.20%)  候補数   1 ['ボスゴドラ']
   黒黒黒黄緑 ( 0.20%)  候補数   1 ['トロピウス']
   黄黄黒黒緑 ( 0.20%)  候補数   1 ['ジーランス']
   緑黒黄黒黒 ( 0.20%)  候補数   1 ['ラムパルド']
   黄緑黄黒緑 ( 0.20%)  候補数   1 ['ドンカラス']
   黄黄緑黒黒 ( 0.20%)  候補数   1 ['ヒードラン']
   黒緑黒緑黒 ( 0.20%)  候補数   1 ['ケンホロウ']
   黄緑緑黒黒 ( 0.20%)  候補数   1 ['ペンドラー']
   緑緑黒黒緑 ( 0.20%)  候補数   1 ['ランクルス']
   黄黒黒黄黒 ( 0.20%)  候補数   1 ['カラマネロ']
   黄黒黄黄黒 ( 0.20%)  候補数   1 ['ドラミドロ']
   黒黒黒緑黄 ( 0.20%)  候補数   1 ['フクスロー']
   黒黄黄黄黒 ( 0.20%)  候補数   1 ['ドロバンコ']
   黒緑黄黄黒 ( 0.20%)  候補数   1 ['バンバドロ']
   緑黄黒黒緑 ( 0.20%)  候補数   1 ['ラランテス']
   黒黄緑黒黒 ( 0.20%)  候補数   1 ['ズガドーン']
   黄黒緑黒黒 ( 0.20%)  候補数   1 ['レジドラゴ']
```

他方、スバメとギモーは最も候補数が絞れる返却結果を引いた場合でも2ポケモンが残り、正解がどちらか特定できません。

```
スバメ を入力したとき
   黄黄黄黒黒 ( 0.39%)  候補数   2 ['バクガメス', 'オオスバメ']
ギモー を入力したとき
   黄黒黄黒黒 ( 0.39%)  候補数   2 ['ヨーギラス', 'アギルダー']
```

### 1手目終了後に候補数が5以下になる確率ランキング

1手目終了後の候補が5ポケモン以内になる確率を最大にしたいということもあると思います。この指標ではドンカラスが1位になります。

```
◆ 1手目終了後に候補数が5以下になる確率
  1位 ドンカラス  1手目終了後に候補数が5以下になる確率: 0.1761252446183953
  2位 アーマルド  1手目終了後に候補数が5以下になる確率: 0.16046966731898238
  3位 グラードン  1手目終了後に候補数が5以下になる確率: 0.15459882583170254
  4位 ランドロス  1手目終了後に候補数が5以下になる確率: 0.15459882583170254
  5位 シンボラー  1手目終了後に候補数が5以下になる確率: 0.14285714285714285
  6位 ムーランド  1手目終了後に候補数が5以下になる確率: 0.1350293542074364
  7位 サンダース  1手目終了後に候補数が5以下になる確率: 0.13111545988258316
  8位 キングドラ  1手目終了後に候補数が5以下になる確率: 0.13111545988258316
  9位 キングラー  1手目終了後に候補数が5以下になる確率: 0.12915851272015655
 10位 ネンドール  1手目終了後に候補数が5以下になる確率: 0.12720156555772993
838位 プリン　　  1手目終了後に候補数が5以下になる確率: 0.011741682974559686
839位 ダゲキ　　  1手目終了後に候補数が5以下になる確率: 0.011741682974559686
840位 クスネ　　  1手目終了後に候補数が5以下になる確率: 0.011741682974559686
841位 オタチ　　  1手目終了後に候補数が5以下になる確率: 0.009784735812133072
842位 モノズ　　  1手目終了後に候補数が5以下になる確率: 0.009784735812133072
843位 ギモー　　  1手目終了後に候補数が5以下になる確率: 0.009784735812133072
844位 エネコ　　  1手目終了後に候補数が5以下になる確率: 0.005870841487279843
845位 メテノ　　  1手目終了後に候補数が5以下になる確率: 0.005870841487279843
846位 ゾロア　　  1手目終了後に候補数が5以下になる確率: 0.003913894324853229
847位 ヤクデ　　  1手目終了後に候補数が5以下になる確率: 0.003913894324853229
```

### 2手目終了後の候補数の期待値ランキング (2手目は2手目終了後の候補数の期待値が最小になる手を選択)

1手目終了後に残る候補数の期待値はジーランスが1位でしたが、1手目終了後の候補数の期待値が大きくても、2手目終了後の期待値まで見据えたときはジーランスよりよいポケモンがいるかもしれません。ので、2手目終了後に残る期待値を出してみます。ただし、これはもはや2手目に何を入力するかに依存するので、「2手目は1手目の結果を知った下で2手目終了後の候補数の期待値が最小になる手を選択する」ことにします。

この指標のベスト20は以下です。ベスト20に入り得ないポケモンを足切りしているためにワースト側はありません。これをみるとランクルスがわずかにジーランスに勝りますが、ジーランスは依然として2位にいることがわかります。

```
◆ 2手目終了後の候補数の期待値 (2手目は2手目終了後の候補数の期待値が最小になる手を選択)
  1位 ランクルス  2手目終了後の候補数の期待値: 7.8238747553816035
  2位 ジーランス  2手目終了後の候補数の期待値: 8.1839530332681
  3位 レントラー  2手目終了後の候補数の期待値: 8.571428571428566
  4位 カイリキー  2手目終了後の候補数の期待値: 8.628180039138945
  5位 ドッコラー  2手目終了後の候補数の期待値: 9.65949119373777
  6位 カイリュー  2手目終了後の候補数の期待値: 9.904109589041097
  7位 オーロット  2手目終了後の候補数の期待値: 9.94911937377691
  8位 テッシード  2手目終了後の候補数の期待値: 9.968688845401168
  9位 ネンドール  2手目終了後の候補数の期待値: 10.02348336594912
 10位 ルナトーン  2手目終了後の候補数の期待値: 10.273972602739729
 11位 ランドロス  2手目終了後の候補数の期待値: 10.36594911937378
 12位 バオッキー  2手目終了後の候補数の期待値: 10.551859099804306
 13位 マルマイン  2手目終了後の候補数の期待値: 10.628180039138927
 14位 リーシャン  2手目終了後の候補数の期待値: 10.651663405088058
 15位 マルノーム  2手目終了後の候補数の期待値: 10.772994129158503
 16位 ブラッキー  2手目終了後の候補数の期待値: 10.863013698630125
 17位 エルフーン  2手目終了後の候補数の期待値: 10.9041095890411
 18位 ウーラオス  2手目終了後の候補数の期待値: 10.90606653620352
 19位 デスバーン  2手目終了後の候補数の期待値: 10.915851272015647
 20位 ナックラー  2手目終了後の候補数の期待値: 10.960861056751476
```

ここで、4位となったカイリキーは1手目終了後の候補数の期待値は 96.46 で 55 位であったので大躍進（？）しています。カイリキーは1手目終了後に候補数が最も残るケースの候補数が 196 と不利になっていますが、そのとき2手目としてランクルスを選択すると残り候補数の期待値が小さくなることがわかります。

```
ジーランス を入力したとき
   黒黒黒黒黒 (26.61%)  候補数 136  -->  2手目 ダルマッカ で期待値 16.73
   黒黄黒黒黒 (13.89%)  候補数  71  -->  2手目 オニドリル で期待値 12.10
   黒黒黒黄黒 (10.76%)  候補数  55  -->  2手目 オニドリル で期待値  8.75
   黒黒黒黒緑 ( 7.05%)  候補数  36  -->  2手目 トドゼルガ で期待値  5.83
   黒黒黄黒黒 ( 4.70%)  候補数  24  -->  2手目 カラナクシ で期待値  3.29
カイリキー を入力したとき
   黒黒黒黒黒 (38.36%)  候補数 196  -->  2手目 ランクルス で期待値 15.66
   黒黒黒黒黄 (15.85%)  候補数  81  -->  2手目 ネンドール で期待値  9.19
   黒黒黒黒緑 ( 6.85%)  候補数  35  -->  2手目 ランクルス で期待値  5.00
   黒黄黒黒黒 ( 6.65%)  候補数  34  -->  2手目 エルレイド で期待値  3.68
   黒黒黄黒黒 ( 4.70%)  候補数  24  -->  2手目 アリアドス で期待値  4.29
```

### 【2/10 追加】 2手目終了後までに正解を特定する確率ランキング（2手目は2手目で正解するか正解を特定する確率が最大の手を選択）

2手目終了後までに正解を特定する確率も出したいと思います。

各入力可能ポケモンを1手目にしたときの以下の 1.〜4. の確率の和を指標にします（※ この記事の2番目のランキングは以下の 2. のみのランキングですが、今回は 1. も加えます）。

1. 1手目で正解を引いてゲームを終える。
2. 1手目で正解しなかったが正解を特定する（2手目でそれを入力してゲームを終える）。
3. 1手目で正解せず正解の特定もできなかったが2手目で正解を引いてゲームを終える。
4. 1手目で正解せず正解の特定もできず2手目も正解しなかったが2手目で正解を特定する。

ただこの 3., 4. はやはり2手目に何を選ぶかに依存するので、1手目の結果を知った下で 3., 4. の確率の和が最大となる手を選ぶことにします。

ランキングは以下になります。トップ20に入り得ないポケモンを足切りしているのでワースト側はありません。1手目で正解を特定する確率ではランドロスがトップでしたが、2手目までとするとジーランスがトップになることがわかります。

```
◆ 2手目終了後までに正解を特定する確率
  1位 ジーランス  2手目終了後までに正解を特定する確率: 0.3659491193737769
  2位 ドンカラス  2手目終了後までに正解を特定する確率: 0.3542074363992172
  3位 グラードン  2手目終了後までに正解を特定する確率: 0.34833659491193736
  4位 レントラー  2手目終了後までに正解を特定する確率: 0.34442270058708413
  5位 エルフーン  2手目終了後までに正解を特定する確率: 0.3424657534246575
  6位 ドータクン  2手目終了後までに正解を特定する確率: 0.33855185909980423
  7位 ランドロス  2手目終了後までに正解を特定する確率: 0.33659491193737767
  8位 キングラー  2手目終了後までに正解を特定する確率: 0.33463796477495106
  9位 ルナトーン  2手目終了後までに正解を特定する確率: 0.32289628180039137
 10位 ネンドール  2手目終了後までに正解を特定する確率: 0.32093933463796476
 11位 ヒードラン  2手目終了後までに正解を特定する確率: 0.32093933463796476
 12位 ランクルス  2手目終了後までに正解を特定する確率: 0.3189823874755381
 13位 シンボラー  2手目終了後までに正解を特定する確率: 0.3150684931506849
 14位 アーマルド  2手目終了後までに正解を特定する確率: 0.3150684931506849
 15位 オーロット  2手目終了後までに正解を特定する確率: 0.30919765166340507
 16位 ペンドラー  2手目終了後までに正解を特定する確率: 0.30724070450097846
 17位 トドグラー  2手目終了後までに正解を特定する確率: 0.30332681017612523
 18位 デスバーン  2手目終了後までに正解を特定する確率: 0.299412915851272
 19位 ムーランド  2手目終了後までに正解を特定する確率: 0.299412915851272
 20位 グライオン  2手目終了後までに正解を特定する確率: 0.299412915851272
```

### 【2/10 追加】 3手目終了後の候補数の期待値ランキング (2, 3手目は終了後の候補数の期待値が最小になる手を選択)

3手目終了後の期待値も出しました（[Gist](https://gist.github.com/CookieBox26/377e36d2bfa26223075d85698ff95e59)）。時間がかかるのでベスト5のみにしました。予め1手目終了後の最大候補数の昇順にソートして計算を開始してベスト5に入り得ないポケモンを切り捨てていっています。が、残り候補数が同じときの最善手の使い回しなどはしていないです。

ベスト4は2手目終了後のときと変わりませんがリーシャンが5位になりました。

```
◆ 3手目終了後の候補数の期待値 (2, 3手目は終了後の候補数の期待値が最小になる手を選択)
  1位 ランクルス  3手目終了後に残る候補数の期待値: 1.1780821917808217
  2位 レントラー  3手目終了後に残る候補数の期待値: 1.246575342465753
  3位 ジーランス  3手目終了後に残る候補数の期待値: 1.2778864970645785
  4位 カイリキー  3手目終了後に残る候補数の期待値: 1.305283757338552
  5位 リーシャン  3手目終了後に残る候補数の期待値: 1.326810176125244
```

なお、先にも書いたように、1, 2, 3手目でゲームが終了したときはその枝の残り候補数を 1 ではなく 0 としているので、上の数値は3手目終了後時点でゲームが継続している条件下での平均的な残り候補数よりは小さい値になっていると思われることに留意ください。