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 Mathematics & Software · Entry J1419

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: California Science & Engineering Fair public projects

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google