Chapter 34
systems/evolution
github.com/openfluke/welvet/systems/evolution✅
Why it exists
Topology search and weight crossover need first-class splice + NEAT on CPU-resident grids.
What it is
SpliceDNA, NEATMutate, NewNEATPopulation, CloneGrid — dtype/quant preserved via SetFromF32.
Go example
Run:
cd welvet/examples/34-evolution && source ../env.sh && go run .package main
import (
"fmt"
"github.com/openfluke/welvet/architecture"
"github.com/openfluke/welvet/systems/evolution"
)
func main() {
a, b := architecture.NewGrid(1, 1, 1, 1), architecture.NewGrid(1, 1, 1, 1)
child, err := evolution.SpliceDNA(a, b, evolution.DefaultSpliceConfig())
if err != nil {
fmt.Println(err)
return
}
_, err = evolution.NEATMutate(child, evolution.DefaultNEATConfig(16))
fmt.Println(err)
}
Output
<nil>