In 2017 I created logic-evolver, one of my experiments for creating logic automatically or better said evolving logic automatically.
In some way, the computer create its own program that satisfies a set of tests defined by a human.
https://github.com/sha0coder/logic-evolver
This implementation in rust, contains a fast cpu emulator than can execute one million instructions in less than two seconds. And a simple genetic algorithm to do the evolution.
Here we create the genetic algorithm, and configure a population of 1000 individuals, and the top 5 to crossover. We run the genetic algorithm with 500 cycles maximum.
Note that in this case the population are programs initially random until take the correct shape.
The evaluation function receives a CPU object, to compute a test you need to set the initial parameters, run the program and set a scoring regarding the return value.