Gen 4 Deep Sweep Results — 2026-06-27

# Gen 4 Deep Sweep Results — 2026-06-27

17 variants × 5 seeds × 50k hands, 6-max (2 flock + 2 chump + 1 test bot)

## Results (chips/hand, higher is better)

### Threshold Scaling Extension (key finding!)
| Variant | Profit/Hand | vs ts07 (145) |
|---------|------------|---------------|
| **ts10_narrow (ts=1.0)** | **153** | **+8** |
| ts09_narrow (ts=0.9) | 152 | +7 |
| ts08_narrow (ts=0.8) | 149 | +4 |
| ts07 (reference from ns) | 145 | — |

**ts=1.0 is best but plateauing** (152→153 = only +1). Diminishing returns.

### Narrowing Strength (at ts=0.7)
| Variant | Profit/Hand | Notes |
|---------|------------|-------|
| ns08_ts07 (0.8×) | 145 | |
| ns12_ts07 (1.2×) | 145 | |
| ns15_ts07 (1.5×) | 145 | Doesn't matter! |

**Narrowing strength has zero effect** — 0.8× = 1.0× = 1.2× = 1.5× all give 145.

### Center Offset (at ts=0.7)
| Variant | Profit/Hand | Notes |
|---------|------------|-------|
| ncp01_ts07 (+0.1) | 148 | **+3 over neutral** |
| ncm01_ts07 (−0.1) | 140 | **−5, hurts** |

**+0.1 center offset helps slightly** (shifts ranges wider, less aggressive narrowing).

### S-Curve Steepness (at ts=0.5)
| Variant | Profit/Hand |
|---------|------------|
| sc03_ts05 (0.3×) | 133 |
| sc07_ts05 (0.7×) | 136 |
| sc10_ts05 (1.0×) | 136 |
| sc15_ts05 (1.5×) | 135 |

S-curve at ts=0.5 (133-136) consistently worse than linear at ts=0.7+ (145+).

### S-Curve Floor (at ts=0.5)
| Variant | Profit/Hand |
|---------|------------|
| sf00_ts05 (floor=0.0) | 134 |
| sf05_ts05 (floor=0.05) | 135 |
| sf10_ts05 (floor=0.10) | 136 |

Floor has minimal effect.

### Best Combinations (scurve + narrow + high ts)
| Variant | Profit/Hand |
|---------|------------|
| sc05_ns12_ts07 | 144 |
| sc07_ns12_ts07 | 143 |

Still worse than pure linear (145 at ts=0.7).

## Summary

**Best config: ts=1.0, narrowing enabled, linear ranges, center_offset=+0.1**

Production recommendation:
```toml
narrow_enabled = true
narrow_strength_mult = 1.0  # doesn't matter
narrow_center_offset = 0.1  # slight improvement
narrow_floor = 0.02
range_use_scurve = false    # linear always wins
range_tightness_scale = 1.0  # maximum, but plateauing
```

**Key insight:** The threshold scaling parameter is the most impactful Gen 4 parameter. It compensates for the reduced win_prob values that result from narrowed opponent ranges. At ts=1.0, the threshold discount fully offsets the range narrowing effect.

**Next sweep direction:** ts=1.1 or 1.2 to see if it goes negative (over-compensation), confirming ts=1.0 is optimal.

id: a80f1949d707441683cc651ee38f25e0
parent_id: e13f1845de9b4b6392ad866354fbd562
created_time: 2026-06-27T04:19:08.774Z
updated_time: 2026-06-30T05:34:40.299Z
is_conflict: 0
latitude: 0.00000000
longitude: 0.00000000
altitude: 0.0000
author: 
source_url: 
is_todo: 0
todo_due: 0
todo_completed: 0
source: joplin-desktop
source_application: net.cozic.joplin-desktop
application_data: 
order: 1782533948774
user_created_time: 2026-06-27T04:19:08.774Z
user_updated_time: 2026-06-28T05:14:40.228Z
encryption_cipher_text: 
encryption_applied: 0
markup_language: 1
is_shared: 0
share_id: 
conflict_original_id: 
master_key_id: 
user_data: 
deleted_time: 1782797680299
type_: 1