The goal of this project is to find a genetic algorithm that will successfully evolve a useful cache scheduling algorithm. In doing so I hope to show that a genetic algorithm can do a good job of designing a part of an operating system or, more generally, that a machine can design part of another machine or even modify its own design.
In this paper, I will describe three experiments with genetic algorithms that attempt to do just that. I will also describe the results and show that these results suggest a possible viable scheme for computer evolution. This paper represents one step toward the ultimate goal of hands-off computer design.