Balancing Diversity and Fitness while Evolving Neural Networks
CSEF · 2014 Mathematics & Software Honorable_mention Award
Overview
Objectives/Goals BACKGROUND: Evolutionary algorithms (or EAs) are used by engineers to optimize and improve designs with many input variables. A population of simulated designs (called creatures) compete to survive in the computer. Better creature reproduce and worst creatures die, and over many generations better and better designs emerge. There have been many success stories, but also problems. It is difficult to set the many parameters involved, and the populations can become too uniform with too little diversity. OBJECTIVE: The objective was to test a new method for controlling diversity. The method is having all but the best fit creature spontaneously mutate every generation and controlling the "turnover rate" of the population; the "turnover rate" being the number of offspring from the best fit creature that replaces the same number of worst fit creatures every generation, divided by the population size. Lower turnover should lead to more diversity because the creatures have more time to mutate away from the current best fit creature. This should work better for bumpy fitness functions. Methods/Materials I used an open source package called PERC to evolve two neural network functions; (1) an analog exclusive OR gate with a bumpy fitness function and (2) a robot controller with a smoother fitness function. I tested population turnover rates between 0.39% and 100% for the analog exclusive OR gate, and between 1.56% and 100% for the robot controller. I did 50 trials for each turnover rate and recorded the best fitness for each trial. For each neural network I graphed the average evolved fitness as a function of turnover rate. Results The results support my hypothesis. The optimal turnover rate for the XOR gate with a bumpy fitness function was between 0.8% and 3.1% whereas the best turnover rate for the robot controller with a smoother fitness function was between 12.5% and 25%. Conclusions/Discussion Having all but the current best fit creature spontaneous mutate every generation and controlling the turnover rate of the population is a great way to control diversity while evolving neural networks.
Summary statement
I studied evolutionary algorithms and the problem of too little diversity in the population; then proposed and tested a method for controlling diversity while evolving neural networks.
Help received
Many open source packages are available to do EA. I wrote a simple one (see binder) but my father wrote the program (PERC) I used in my experiments. My science teacher Mrs.Miller, my father, and Dr. Edgar Reehuis helped me find good articles on EA. My father helped me layout the display board.
Awards (1)
- Honorable Mention
Competition history
- CSEF 2014
Resources
Related projects
CSEF · 2003
Evolution of Data: The Effect of Mutation Functions on the Growth of a Computer Generated Population
CSEF · 2011
Evolving Neural Networks to Play Mastermind
CSEF · 2017
Evolving Near Optimal Solutions to Computationally Hard Problems Using Natural Selection
CWSF · 2026
EvoNash: Accelerating Convergence to Nash Equilibrium
CSEF · 2006
Clockwork Evolution
ISEF · 2017
Maze Solving Optimization through Genetic Programming
CSEF · 2002
Bob's World
CSEF · 2005
The Digital Life: Evolution on a Computer
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects