I was contemplating genetic algorithms, whence, in a flash of insight, it came to me how to implement them in Scratch. So I did. A genetic algorithm uses the principles of evolution, natural selection and mutation, to optimize a problem. The population of dots starts with random genomes (binary lists that represent color). A predator hunts them that is blind to green. This means that the green dots will survive, and will be more likely to reproduce, while the redder dots will die. In this simulation, the dot with the highest fitness is cloned through asexual reproduction. This clone has a .1% chance of mutation in a gene. The new organism is brought into the population, and replaces a random dot. The population continues on in this manner. After every cloning, the generation number increases. The average number of generations before each dot is green is usually around 25. Enjoy.