GMM-based GA warm-starting from battle history #125
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
Store historical enemy movement patterns across battles and use them to initialize the GA population, so that the GA converges faster and reaches higher peak fitness.
Currently initPopulationSeeded uses 75% random vectors on every battle start, wasting generations rediscovering patterns the bot has already seen.
Acceptance criteria
Blocked by
None - can start immediately
Parent
Closes part of #118
Implemented in commit a730a9e
Summary: Added GMM-based GA warm-starting from battle history. initPopulationSeeded now seeds PopSize/4 individuals from historical enemy movement patterns (centroid + covariance-based perturbations). Remaining seeds are random. Cold start (no history) behaves identically to prior implementation.
Files:
vapourbot_garage/src/vapourbot/ga.nim- initPopulationSeeded(), history persistence logic