id: 8e0feb03557d451ca3114acda5511f41
parent_id: c950ef4b064544ff9ff6f188ee3ce783
item_type: 1
item_id: 47031623e2c6451fb36730ffe93380ea
item_updated_time: 1781461586638
title_diff: "[]"
body_diff: "[{\"diffs\":[[0,\"dmap\"],[-1,\"\\\nID: 47031623e2c6451fb36730ffe93380ea\\\nNotebook ID: 2c8da247905946c3aa19eb4936e16323\"],[0,\"\\\n\\\n--\"]],\"start1\":29,\"start2\":29,\"length1\":91,\"length2\":8},{\"diffs\":[[0,\"ition, 1\"],[-1,\"4\"],[1,\"5\"],[0,\" registe\"]],\"start1\":200,\"start2\":200,\"length1\":17,\"length2\":17},{\"diffs\":[[0,\"aw call)\"],[1,\" + F7 (raise safety)\"],[0,\"\\\n- ✅ Con\"]],\"start1\":422,\"start2\":422,\"length1\":16,\"length2\":36},{\"diffs\":[[0,\"s — \"],[-1,\"79\"],[1,\"80\"],[0,\" Pos\"]],\"start1\":477,\"start2\":477,\"length1\":10,\"length2\":10},{\"diffs\":[[0,\"romoted \"],[-1,\"2\"],[1,\"3\"],[0,\" to prod\"]],\"start1\":583,\"start2\":583,\"length1\":17,\"length2\":17},{\"diffs\":[[0,\"ted\\\n- ✅ \"],[-1,\"**\"],[0,\"Experime\"]],\"start1\":694,\"start2\":694,\"length1\":18,\"length2\":16},{\"diffs\":[[0,\"ment GUI\"],[-1,\"**\"],[0,\" (`holde\"]],\"start1\":708,\"start2\":708,\"length1\":18,\"length2\":16},{\"diffs\":[[0,\"tool\"],[-1,\" with:\\\n  - Bot config editor (load/edit/save TOML)\\\n  - Experiment builder (parameter selection, range input, table composition)\\\n  - Two sweep modes: VsBaseline and RoundRobin\\\n  - Live progress tracking, results table with Chart.js visualization\\\n  - REST API on 127.0.0.1:3000, spawns simulations as subprocesses\\\n\\\n---\\\n\\\n## Phase 2: Optimization & Tuning 🔄\\\n\\\n**Current focus: refining V3 thresholds using the experiment GUI**\\\n\\\n- [ ] Apply top 5 parameter sweep findings (nut_draw_ppot_thresh, call_turn_small_bet, rope_a_dope_otb, raise_default, call_otb_turn_small_bet)\\\n- [ ] Validate combined V3.1 config across all 4 scenarios (field, flock, HU, 5v5)\\\n- [ ] Explore wider ranges (±5% steps) for the mo\"],[1,\"\\\n\\\n---\\\n\\\n## Phase 2: Gen 3 Development 🔄\\\n\\\n**Current focus: Gen 3 range-aware postflop strategy tuning**\\\n\\\n### Gen 3: Opponent Modelling ✅ (implemented, tuning in progress)\\\n\\\n**Completed:**\\\n- ✅ Range-aware equity — `HandRange::init_opponent_range` (strong made hands ∪ strong draws)\\\n- ✅ Monte Carlo multi-way equity engine — `compute_vs_range_multiway_shared`\\\n- ✅ Weighted decision scoring — OR-chain refactored to dynamic threshold adjustments\\\n- ✅ 29 Gen3Config parameters (6 new weighted-decision weights + sweep_mode flag)\\\n- ✅ Deterministic RNG (`decision_rng`) with `sweep_mode` toggle for live vs sweep\\\n- ✅ Performance optimizations — sparse MC sampling, `select_nth_unstable_by`, fixed-array `is_oesd`\\\n- ✅ 340 te\"],[0,\"st\"],[1,\"s\"],[0,\" p\"],[-1,\"romising parameters\\\n- [ ] Multi-\"],[1,\"ass\\\n\\\n**In Progress:**\\\n- 🔄 Round 2 \"],[0,\"para\"]],\"start1\":760,\"start2\":760,\"length1\":744,\"length2\":762},{\"diffs\":[[0,\"weep\"],[-1,\"s\"],[0,\" (\"],[-1,\"combinatorial exploration of correlated thresholds)\\\n- [ ] SNG-specific parameter tuning (buy_in, blind levels, prize structures)\\\n\\\n---\\\n\\\n## Bot Framework\\\n**Goal:** All bot types with playability enhancement\\\n\\\n**Bot core implementations** (partially complete)\\\n- Logging of decision-making process\\\n\\\n**Advanced bots**\\\n- Modular Strategy assembly via configuration files ✅\\\n- Nash equilibrium calculator for SNG endgame ✅ (g2_nash_icm)\\\n- Statistical tracking bot – port from Java\\\n- GPU acceleration\"],[1,\"16 params × 3 values × 4 seeds = 192 runs, 10K hands each)\\\n  - Sweeping: weighted-decision weights + previously-dead params + top performers from round 1\\\n  - Early results: `call_w_pot_odds` shows most sensitivity (0.75 value swings Gen3 positive)\\\n  - Most new weighted-decision parameters show small but non-zero sensitivity (working as intended)\\\n  - Key observation: Gen3 currently underperforms Gen2 in 5v5 10-seat\"],[0,\" for\"],[-1,\" \"],[0,\"ma\"],[-1,\"ss rollouts\\\n- Hand-reading opponent modeling (Gen 3)\\\n- Flop playability precomputation & score integration\\\n- Basic reinforcement learning skeleton (Gen 4)\\\n- Hybrid bot combining multiple approaches\\\n- Genetic algorithm for bot evolution (via configuration files)\\\n\\\n---\\\n\\\n### Gen 3: Opponent Modelling (Future)\\\n\\\n**Goal:** Weighted range estimation\"],[1,\"t (negative delta)\\\n\\\n**Pending:**\\\n- [ ] Analyze round 2 results, identify optimal parameter values\\\n- [ ] Address Gen3 underperformance vs Gen2 in large-field format\\\n- [ ] RangePredictor — per-opponent range tracking\"],[0,\" fro\"]],\"start1\":1529,\"start2\":1529,\"length1\":851,\"length2\":647},{\"diffs\":[[0,\"ons\\\n\"],[-1,\"\\\n\"],[0,\"- \"],[-1,\"Opponent action history\"],[1,\"[ ] Port missing Java\"],[0,\" t\"],[-1,\"r\"],[0,\"ac\"],[-1,\"king\\\n- Range narrowing based on bet sizing patterns\\\n- Position-aware opponent modeling\\\n- Adaptive threshold adjustment based on opponent types\\\n- Integration with existing rollout-based EHS framework\"],[1,\"tics (backAlleyMug, luringBet, scareCardHit)\\\n- [ ] Board texture awareness (connected/monotone/paired detection)\\\n\\\n### Gen 2 Optimization (deferred)\\\n- [ ] Gen 2 could use MC multi-way (replacing exhaustive enumeration) for 10-50× speedup in multi-way pots\\\n- [ ] SNG-specific parameter tuning\\\n\\\n---\"],[0,\"\\\n\\\n\"],[-1,\"#\"],[0,\"## \"],[-1,\"Gen 4\"],[1,\"Phase 3\"],[0,\": Re\"]],\"start1\":2191,\"start2\":2191,\"length1\":248,\"length2\":342},{\"diffs\":[[0,\"\\\n---\\\n\\\n##\"],[-1,\"#\"],[1,\" Phase 4:\"],[0,\" Live Se\"]],\"start1\":2858,\"start2\":2858,\"length1\":17,\"length2\":25},{\"diffs\":[[0,\"tructure\"],[1,\" (Future)\\\n\"],[0,\"\\\n**Goal:\"]],\"start1\":2894,\"start2\":2894,\"length1\":16,\"length2\":26},{\"diffs\":[[0,\"nt\\\n\\\n\"],[-1,\"**Server core**\\\n\"],[0,\"- Ne\"]],\"start1\":2945,\"start2\":2945,\"length1\":24,\"length2\":8},{\"diffs\":[[0,\"c.)\\\n\"],[-1,\"- Actions (incl. early fold and table selection), events (incl. table switches and available tables)\\\n\"],[0,\"- Cl\"]],\"start1\":3004,\"start2\":3004,\"length1\":109,\"length2\":8},{\"diffs\":[[0,\"ysis\"],[-1,\" of problems\\\n\\\n**\"],[1,\"\\\n- \"],[0,\"Clie\"]],\"start1\":3123,\"start2\":3123,\"length1\":24,\"length2\":11},{\"diffs\":[[0,\"stem\"],[-1,\"**\\\n- Client factory for different poker environments\\\n- S\"],[1,\" (s\"],[0,\"creen\"],[-1,\" / \"],[1,\"/\"],[0,\"prot\"]],\"start1\":3147,\"start2\":3147,\"length1\":72,\"length2\":17},{\"diffs\":[[0,\"ping\"],[-1,\" adapters\"],[1,\")\"],[0,\"\\\n- T\"]],\"start1\":3173,\"start2\":3173,\"length1\":17,\"length2\":9},{\"diffs\":[[0,\"\\\n\\\n##\"],[-1,\"# Integra\"],[1,\" Phase 5: Produc\"],[0,\"tion\"],[-1,\" &\"],[0,\" Polish\"],[1,\" (Future)\\\n\"],[0,\"\\\n**G\"]],\"start1\":3245,\"start2\":3245,\"length1\":30,\"length2\":45},{\"diffs\":[[0,\"em\\\n\\\n\"],[-1,\"**Advanced features**\\\n\"],[0,\"- Re\"]],\"start1\":3318,\"start2\":3318,\"length1\":30,\"length2\":8},{\"diffs\":[[0,\"ults\"],[-1,\"\\\n\\\n**Optimization and deployment**\"],[0,\"\\\n- P\"]],\"start1\":3433,\"start2\":3433,\"length1\":41,\"length2\":8},{\"diffs\":[[0,\"and \"],[-1,\"examples\\\n- D\"],[1,\"d\"],[0,\"eplo\"]],\"start1\":3525,\"start2\":3525,\"length1\":20,\"length2\":9},{\"diffs\":[[0,\"ipts\"],[-1,\" and configuration\"],[1,\"\\\n\\\n---\\\n\\\n## Key Metrics (2026-06-14)\\\n\\\n| Metric | Value |\\\n|--------|-------|\\\n| Registered strategies | 15 |\\\n| Total tests | 340 |\\\n| Gen3Config parameters | 29 |\\\n| Gen 2 V3 PostflopThresholds | 80 |\\\n| Benchmark: Gen3 vs Gen2 vs Gen1 (6-max) | +2.53 / +1.02 / -3.55 BB/hand |\"]],\"start1\":3543,\"start2\":3543,\"length1\":22,\"length2\":274}]"
metadata_diff: {"new":{},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-06-14T18:26:51.122Z
created_time: 2026-06-14T18:26:51.122Z
type_: 13