Weight persistence and global fallback strategy #79

Closed
opened 2026-08-25 15:07:25 +02:00 by SirStone · 1 comment
Owner

Question

How are weights persisted (per-opponent vs global)? How do persisted weights participate in GA population seeding? What are the global fallback weights and how are they maintained?

Parent map: #74

## Question How are weights persisted (per-opponent vs global)? How do persisted weights participate in GA population seeding? What are the global fallback weights and how are they maintained? Parent map: https://git.fossellini.top/SirStone/SirRoboGarage/issues/74
SirStone added the wayfinder:grilling label 2026-08-25 15:07:25 +02:00
Author
Owner

Resolution

Per-opponent weights + global fallback. Hybrid population seeding. No persisted accuracy.

Persistence:

  • Save per-opponent champion weights after each match, keyed by enemy bot name (free identification from game API)
  • Global fallback: copy latest match champion (always overwrite). Not a generalist — just "better than random"
  • Load order: per-opponent → global fallback → random init
  • Storage: ~6KB per opponent (745 floats)

GA population seeding from persisted weights:

  • ~25% of population: mutated clones of loaded champion (exploitation — refine what worked)
  • ~75% of population: random init (exploration — find new strategies if opponent adapted)
  • Persisted weights never used as fitness; fitness is always fresh from current match replay tape

Deferred: offline generalist GA for global fallback (train against sparring roster). Trigger: when bot beats all sample bots.

## Resolution **Per-opponent weights + global fallback. Hybrid population seeding. No persisted accuracy.** Persistence: - Save per-opponent champion weights after each match, keyed by enemy bot name (free identification from game API) - Global fallback: copy latest match champion (always overwrite). Not a generalist — just "better than random" - Load order: per-opponent → global fallback → random init - Storage: ~6KB per opponent (745 floats) GA population seeding from persisted weights: - ~25% of population: mutated clones of loaded champion (exploitation — refine what worked) - ~75% of population: random init (exploration — find new strategies if opponent adapted) - Persisted weights never used as fitness; fitness is always fresh from current match replay tape Deferred: offline generalist GA for global fallback (train against sparring roster). Trigger: when bot beats all sample bots.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#79