Stage 17 (#14): raise robot early-move band [1,5] -> [3,10] min (slower openings)
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 11s
CI / ui (pull_request) Successful in 27s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m1s
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 11s
CI / ui (pull_request) Successful in 27s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m1s
This commit is contained in:
@@ -31,8 +31,8 @@ const (
|
|||||||
// delays near the band's floor — an active player). The result is clamped to
|
// delays near the band's floor — an active player). The result is clamped to
|
||||||
// [delayHardMinMinutes, delayHardMaxMinutes]. The numbers are deliberate estimates,
|
// [delayHardMinMinutes, delayHardMaxMinutes]. The numbers are deliberate estimates,
|
||||||
// to be retuned once real play statistics arrive (docs/ARCHITECTURE.md §7).
|
// to be retuned once real play statistics arrive (docs/ARCHITECTURE.md §7).
|
||||||
delayEarlyLoMinutes = 1.0
|
delayEarlyLoMinutes = 3.0
|
||||||
delayEarlyHiMinutes = 5.0
|
delayEarlyHiMinutes = 10.0
|
||||||
delayLateLoMinutes = 10.0
|
delayLateLoMinutes = 10.0
|
||||||
delayLateHiMinutes = 90.0
|
delayLateHiMinutes = 90.0
|
||||||
delaySkew = 4.0
|
delaySkew = 4.0
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ func TestMoveDelayGrowsWithMoveCount(t *testing.T) {
|
|||||||
return xs[n/2]
|
return xs[n/2]
|
||||||
}
|
}
|
||||||
for s := int64(1); s <= 500; s++ {
|
for s := int64(1); s <= 500; s++ {
|
||||||
if d := moveDelay(s, 0).Minutes(); d < 1 || d > 5 {
|
if d := moveDelay(s, 0).Minutes(); d < 3 || d > 10 {
|
||||||
t.Fatalf("first-move delay %.2f out of [1,5] for seed %d", d, s)
|
t.Fatalf("first-move delay %.2f out of [3,10] for seed %d", d, s)
|
||||||
}
|
}
|
||||||
if d := moveDelay(s, 40).Minutes(); d < 10 || d > 90 {
|
if d := moveDelay(s, 40).Minutes(); d < 10 || d > 90 {
|
||||||
t.Fatalf("late-move delay %.2f out of [10,90] for seed %d", d, s)
|
t.Fatalf("late-move delay %.2f out of [10,90] for seed %d", d, s)
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ English game the Latin pool.
|
|||||||
refill it, else passes.
|
refill it, else passes.
|
||||||
- **Timing**: the per-move delay is **move-number-aware** — a right-skewed sample
|
- **Timing**: the per-move delay is **move-number-aware** — a right-skewed sample
|
||||||
(exponent k=4, short delays frequent) from a band that interpolates from
|
(exponent k=4, short delays frequent) from a band that interpolates from
|
||||||
**[1, 5] min** at the first move to **[10, 90] min** by ~28 moves, so openings are
|
**[3, 10] min** at the first move to **[10, 90] min** by ~28 moves, so openings are
|
||||||
quick and the endgame can run long, clamped to **[1, 90] minutes**; it
|
quick and the endgame can run long, clamped to **[1, 90] minutes**; it
|
||||||
**sleeps 00:00–07:00** anchored to the **opponent's** profile timezone with a
|
**sleeps 00:00–07:00** anchored to the **opponent's** profile timezone with a
|
||||||
per-game drift of **±3 h** (fallback UTC), so its night overlaps the human's
|
per-game drift of **±3 h** (fallback UTC), so its night overlaps the human's
|
||||||
|
|||||||
Reference in New Issue
Block a user