The blog
Discussing all things around software engineering.
Notes from building things: 29 posts across 2 series, on Go, algorithms and evolving neural networks.
Latest
Snake with NEAT: benchmarking changes to an evolutionary algorithm
Run-to-run noise, a board small enough to measure on, and three ways I fooled myself
Read the postSnake with NEAT: a hunger input to break stalemates
A good network does not die any more. It gets stuck - and the fix is one number that has nothing to do with the board
Snake with NEAT: training runs and checkpoints
Population, generations, checkpoints, and why the fittest genome is not the one you keep
Snake with NEAT: designing the fitness function
Three terms, in descending order of how much they are allowed to matter, and the trap in each of them
Snake with NEAT: designing the network's inputs
Eighteen numbers, why each one is there, and the reading bug that was worth more than any of them
Snake in Go: evolving a neural network with NEAT
Nobody tells this one how to play. It is a neural network that was evolved rather than written
Snake in Go: building a Hamiltonian cycle with search
Growing a route into a Hamiltonian cycle, and the two small decisions that took it from 65 to winning every game
Series
Longer runs of posts that build on each other. Start at part one.
Snake AI in Go: eleven ways to play
One game, eleven players, and what each of them is worth. From a snake moving at random, through the searches and the tours that never lose, to a neural network that was evolved rather than …
Latest: Snake with NEAT: benchmarking changes to an evolutionary algorithm 12 partsNEAT in Go: neuroevolution from scratch
Building neatgo a piece at a time: the network, the genome, historical markings, mutation, crossover, speciation, selection and reproduction, and the run that ties them together.
Latest: NEAT in Go: the evolution loop and reproducible runsWho writes this
I'm Jim, a software engineer. I write here to solidify my understanding of a topic, and to keep track of what I've been working on.