Info
This post was imported from a personal note. It may contain inside jokes, streams of consciousness, errors, and other nonsense.
Mostly, I want to see the change in fitness of the entire species with each generation. How quickly did the boids improve their ability to consume food sources? There will be some noise because of random spawn locations of both boids and food. I could use standardized tests or maybe just several simulations for each generation to get a better comparison but that’ll be later.
What other metrics would be good to see?
- Range of values for each weight, average, standard deviation.
- How far each boid traveled. I’ll want to minimize this in the future.
Just using Google Sheets right now to visualize score vs. generation. Getting some pretty different results.
Right now it seems to depend a lot on initial conditions.
Next steps?
- Tweak the mutation amount and see how those charts compare. Increased mutation amount should get better scores despite poor initial conditions but won’t converge.
- I can change mutation amount over time.
- I can create a gene to decide the mutation amount. This will probably take a bigger population and more generations to produce meaningful results..? Would be neat to see how this value changes over time, too.
- I can change the mutation amount based on factors like how well the individual boid performed (less mutation for high performers) or maybe the first child mutates less and the second child mutates more.
- I bet there’s existing research on a lot of these ideas…
- Better way to generate the evolution log (right now I have to press fast-forward 30 times)
- Better way to generate the chart. Have to manually load scores into Google Sheets and copy and paste to combine them into one graph for comparison like above.
- More numbers. Weights and variations.
Better way to generate the evolution log #
Want: run a command, it generates random boids, puts them through thirty generations, then outputs the log file. Maybe even appends that run’s performance as a column in an existing log file..?
Oh, and I should auto-increment log file and even the boid listing file names. And put them in a folder I can gitignore.
What can I work on next? #
I keep saying that. And I probably lose a lot of those ideas. Should I try putting them in Todoist again or maybe Github issues?