poker.yoga

答えの検証方法

このサイトの答えは、その問題を決着させられるいちばん安い道具で検証しています。テスト済みの計算、公開しているプリフロップ表、ICMエンジン、そしてCFRソルバー。以下がその全体像で、主張しないことも書いています。

検証のピラミッド

  1. 1計算 — テストで検証

    アウツ、エクイティ、pot odds、2と4の法則は、コミットのたびに走るコードから出しています。レッスンの数字がコードと食い違えば、あなたに届く前にビルドが落ちます。

  2. 2プリフロップ — 公開している表と照合

    オープンとディフェンスのレンジは、100bb 6-max用に宣言した1つの表から取っています。レッスンの文章は意見ではなくその表と突き合わせるので、「このハンドはオープン」がサイト全体で同じ意味になります。

  3. 3トーナメントのスポット — ICMエンジン

    プッシュ/フォールド、バブル、ファイナルテーブルのスポットはICM計算機を通します。コールレンジ自体もICM調整済みで、キャッシュゲームのチップEVの近似は使いません。

  4. 4議論の余地があるポストフロップ — CFRソルバー

    強いプレイヤー同士で意見が割れうる場面、ベットサイズがテーマのレッスン、そして頻度やEV差を数字で書く場合は、公開前にCFRソルバー(TexasSolver)で解きます。計算の記録がなければ、数字は書きません。

自分で再現する

上の3つのレベルは、実行できるコードとして公開されている。このサイトのpot odds、equity、ICMの数値はすべてそのリポジトリが計算したもので、コミット済みのデータと記録されたseedから出ている。クローンしてテストを走らせてほしい。ここの数字が間違っていれば、そこに現れる。

git clone https://github.com/poker-yoga/poker-math
cd poker-math && npm install
npm test

期待される出力

 Test Files  9 passed (9)
      Tests  105 passed (105)

equityの表は決定論的に再生成できる。npm run gen:vs-random はコミット済みの行列からスターティングハンドの表を書き直す。ハンドの組み合わせごとに100万ボード、seedは1で、何度実行してもバイト単位で同一のファイルになる。公開している数値との差は0.1パーセントポイント以内、つまりモンテカルロのノイズの範囲だ。それより大きな差はこちらのバグであり、大目に見てもらうよりissueを立ててもらいたい。

これが対象にしていないのは、レベル4のCFRソルバーだ。そのバイナリは再配布ではなくダウンロードして使う第三者のソフトウェアで、計算は1台のマシン上でオフラインに走る。代わりに公開しているのは、各runの設定と結果を、それが決着させたスポットの隣に置いたもの――下の詳細な実例がそれだ。

ソルバーの詳細

レベル4ではTexasSolverを使っている。AGPLで公開されているオープンソースのCFRソルバーだ。バージョン0.2.0をプロジェクト自身のリリースページから入手し、夜間バッチでローカルに走らせている。このライセンスがあるから出力を見せられるし、スポットをsolver-verifiedと呼べる。そして同じ理由でバイナリ自体はうちのリポジトリに入っていない。結果の公開は問題ないが、プログラムの再配布はできないからだ。

TexasSolver

すべてのrunが記録すべきこと

  • 両プレイヤーのレンジ。runのためにでっち上げるのではなく、公開している100bb 6-maxのチャートから取る。
  • レッスンが提示するベットサイズのメニュー全部。本文が薦めるサイズは、ソルバーが選べたサイズでなければならない。
  • ポット、エフェクティブスタック、ボードを、スポットの記述どおり正確に。
  • 相手のモデルを書き残すこと。ディフェンスレンジが狭すぎることは、自信をもって間違った答えに至る最短経路だ。実際それで、後に覆すことになる答えを2つ出してしまった。
  • 精度の目標をexploitabilityとして記録すること。その精度が支えられる以上に細かい頻度は決して書かない。

1つのrunを最初から最後まで

Outsとequityにあるガットショットのレッスン。big blindでT♥9♥、フロップはK♠Q♦6♣、レートは$1/$2、スタックは100bb。あなたがチェックし、buttonがポットサイズでベットしてくる。ソルバーに与えた入力はこれだ:

設定

set_pot 20
set_effective_stack 190
set_board Ks,Qd,6c
set_range_ip  AA,KK,QQ,JJ,TT,…,KJo,KTo,QJo,QTo,JTo
set_range_oop AA,KK,QQ,JJ,TT,…,KQo,KJo,QJo
set_bet_sizes ip,flop,bet,100
set_thread_num 8
set_accuracy 0.4
set_max_iteration 250

決定ノードでの戦略

FOLD            0.986
RAISE 2.8x      0.014
CALL            0.000

2026年7月11日に実行。8スレッドで15分、191イテレーション後にexploitability 0.38%で停止した。レッスンはフォールドを教えており、ソルバーも99%フォールドする。このスポットはコンテンツのソースにこのrunのidを持っている。後で解き直すとき、何と比べればよいかがそれで分かる。

信頼できる計算の条件

  • シミュレーションのレンジが、両プレイヤーとも公開している表と一致していること。でっち上げのレンジで回した計算は何も検証しません。
  • ベットサイズの選択肢に、レッスンが提示するサイズがすべて入っていること。⅓ポットの選択肢がないシミュレーションで「⅓ポットが最善」は検証できません。
  • 相手のモデルを書き残すこと。ディフェンスレンジが狭すぎるのは、自信たっぷりの間違いへの最短ルートです。実際それで、公開済みの答えを2つ後から覆しました。
  • 精度の目標値を記録すること。その精度が支えられる以上に細かい頻度は書きません。
  • 解いたスポットごとに記録を残すこと。計算の場所、日付、答えを決めた出力。記録がなければ「検証済み」とは名乗れません。

ソルバーが決めるのは「何を」、「なぜ」は人が書く

シミュレーションはアクション、サイズ、数字に拒否権を持ちますが、説明はできません。このサイトの「なぜ」はすべて人が書き、計算結果と突き合わせてレビューしています。ポーカーの解説でいちばん多い失敗は、答えは合っているのに理由が違うことだからです。ソルバーが本当に2つのアクションを混ぜる場面では、片方を絶対の正解として見せず、混ざることをそのまま書きます。

主張しないこと

  • プリフロップ表は100bb 6-max向けの意図的な単純化です。羅針盤であって聖典ではなく、ソルバーから導いたものでもありません。
  • すべてのスポットにソルバーが要るわけではありません。多くは計算か表で決着します。それをシミュレーション扱いで飾ることはしません。
  • 表や相手モデルが変われば、古い計算は古びます。該当するスポットは再計算待ちで、その間は「ソルバー検証済み」とは書きません。
  • ソルバーの出力を商品として売ることはしない。ソルバーが本当に2つのアクションを混ぜている場面では、片方を選んで答えと称するのではなく、混ざっていることをレッスンに書く。
  • トーナメントのポストフロップのスポットをICM検証済みとは呼ばない。エンジンが決着させるのはpush/fold、バブル、ファイナルテーブルであって、ICMの圧力下のポストフロップはそのモデルの外にあり、したがって主張の外にもある。
  • 「大半のプレイヤー」や「母集団」がどう打つかについての主張はしない。それにはハンドデータベースが要るが、うちにはない。
  • これは学習用の教材であって、ギャンブルの助言ではありません。どんな検証方法も、実際のテーブルでのあなたの結果を予測はしません。

間違えたとき

検証は、ときどきこちらを覆してこそ意味がある。公開後に変更した答えはすべて、日付と、以前の記述と、考えを変えた理由とともに記録してある。

ズレはビルドが捕まえる

コンテンツとコードは一緒に出荷されます。テストが、練習シナリオと教えているスポット(ボード、自分のハンド、そして答えそのもの)の一致を検証するので、文章が検証済みの答えから静かにズレると、あなたに届く前にビルドが落ちます。

運営しているのは誰か

poker.yogaは独立したエンジニアリングのプロジェクトだ。個人ブランドでもポーカースクールでもなく、どこかのルームの窓口でもない。著者の経歴は載せていない。名前は根拠にならないからだ。ここで答えを支えているのは、それを生んだコードと、それを守るテストと、間違えた回数の記録である。

質問、訂正、あるいはおかしいと思った数字は: support@poker.yoga

売らないもの

現時点でこのサイトは、ポーカールームやカジノとのアフィリエイト契約を持たず、広告も出さず、どこかへ遊びに行かせることもしない。チートシートも計算ツールも含め、すべて無料だ。これは今このプロジェクトがどう動いているかの説明であって、将来のあらゆるバージョンについての約束ではない。

よくある質問

poker.yogaの答えはすべてソルバー検証済みですか?

いいえ、意図的にそうしています。ソルバーはいちばん高価な道具なので、答えが変わりうる場面 — 議論の余地があるポストフロップ、サイズのレッスン、数字を書く箇所 — に限って使います。基礎や計算は、テストのほうが安く確実に決着します。

どのソルバーを使っていますか?

CFRソルバーのTexasSolverを、手元でまとめて回しています。ICMとプッシュ/フォールドは別のICMエンジンです。CFRソルバーはプリフロップやICMをモデル化できず、そこで使えば自信満々の出鱈目になります。

ソルバーが公開済みのレッスンと食い違ったら?

レッスンのほうを直します。2026年7月、より現実的で広いディフェンスレンジで解き直したところ、公開済みの答えが2つ(ベットサイズのスポットとCベットのスポット)覆り、どちらも書き直しました。同じ見直しでは、こちらに向けられた5つの指摘のうち3つが逆に否定されています。

この方針が効いている場所

最終確認:
2026-08-08
方法論のバージョン:
v2

ここで変わったこと

  • 2026-08-08v2 — 再現手順、ソルバーのバージョンとライセンス、最初から最後まで追った実例、訂正ログ、そしてこの変更履歴を追加。
  • 2026-07-31v1 — 初版: 検証のピラミッド、runが従うべき規則、そして限界。