Author Archive for ky10

07
Apr

SUCCESS!!!

The code now runs perfectly again with no nasty java errors 🙂

03
Mar

Moar reading and stuff!

Doing a lot of reading  on different mutation and crossover operators.

Trying to figure out ways to make some of those operators autoconstructive.

I found out that the uniform crossover operator has been shown to help programs find solutions faster than programs with only mutation operators and programs with only one-point and two-point crossover operators.

Im currently grappling with the question o how to make a crossover operator autoconstructive.

17
Feb

Minor Updates

Still getting proficient at Clojure.

Considered how much of a human touch you can introduce into the system.

Tried setting up a git server n hero(Hero HD died).

10
Feb

A review of lee Spector’s Paper TOWARDS PRACTICAL AUTOCONSTRUCTIVE EVOLUTION: SELF-EVOLUTION OF PROBLEM- SOLVING GENETIC PROGRAMMING SYSTEMS

The first section of the paper summarizes and discusses the constraints of current evolutionary techniques used to evolve generations in current gp systems. It ends by introducing the Autoconstructive evolution technique that combines features from current evolutionary techniques in an effort to allow variation mechanisms to coevolve with the offspring to which they are applied to allowing the gp system to adapt itself to the problem space that is under consideration.

The second section introduces the Push programming language and the first autoconstructive evolution system built on Push called Pushpop. Pushpop varies from regular PushGP in that, tournaments are done comparing both parents and children to choose the bets individuals to further evolve. Pushpop also allows the system to access and execute code from other indidivduals which can result in the problem of having your solution depend on its entire population from the run in order to run.

The third section introduces AutoPush, a new autoconstructive gp system, a successor to Pushpop built on the latest iteration of the Push Programming language, Push 3. Autopush differs from Pushpop in that its aseual meaning solutions are not dependent on the entire run population. Autopush also introduces new constrants on birth and selection in an effort to make sure that children are always an improvement compared to their ancestors and that individuals constantly improving themselves have a higher chance of being selected to continue evolving.

The last sections of the paper present some results from problems solved using Autopush and concludes withe the belief that the best problem solving systems in the future will utilize autoconstructive techniques.

10
Feb

Demoing AutoPush

Downloaded and took a loook at AutoPush.

Eclipse keeps dying on any system anytime I try to install Counterclockwise, the Clojure plugin for eclipse.

Manually installed Clojure and Clojure-contrib on my system and got a repl. Yay!!

Checking out regression.clj

All input and generation are evaluated and their rate of improvement compared to their ancestors are evaluated. This is then used to calculate weights applied to all the individuals. The weights of the individuals decay according to a specified decay and individuals are selected for the next run depending upon the evaluation of their weights. Individuals constantly improving and having a higher weight have a better chance of evolving than other individuals with lesser weights. Each generation is culled by removing individuals whose improvement rate are stagnant and or falling and and have weights that fall below a defined threshold.