next up previous
Next: Genetic Algorithm Background Up: BODY Previous: Cellular Automata Background

My Cellular Automata

The cellular automata that I programmed uses 149 cells and a 7-neighbor system. A function is needed to create the array that will be the cellular automata. A random number generator should be used on each cell to define it as "on" or "off." For each test array, there should be an extra cell added which is defined as the majority cell of the entire array. Next, the 100 test arrays will have to be created, each one 100 cells long. The same random number function can be used to define every cell of the test arrays as either "on" or "off." Another function will be needed to define what these cells mean. The evaluate function should take the accepted portion (7 cells surrounding and including the selected one) and convert it to binary. The binary number will match up to one of the cells on the CA. If the CA cell is off, the test cell becomes off. If the CA cell is on, the test cell becomes on. This process should be applied 1000 times to each test array. A function should be run at every step of the process to check the test array and see if all the cells are in the same mode ("on" or "off"). At the end of the 1000 steps, or when all the cells in the array are either "on" or "off," the process should be stopped. If 1000 steps were reached and the array did not accomplish and absolute state, then that run failed. Also, if the array is in an absolute state that differs from the original majority (compare to the extra cell added for this purpose), then the run fails. However, if the array is in an absolute stat that is the same as the original majority, then the run is a succss. Another cell should be added to the rule array that will record the success rate of the rule. This cell should be incremented by 1 if the run was a success, and it should not be changed at all if the run failed. The cellular automata algorithm should apply this process for every rule array on every test array. From there, the genetic algorithm should be called, which will return modified rule arrays, and the cellular automata should begin anew with these changed rule arrays.


next up previous
Next: Genetic Algorithm Background Up: BODY Previous: Cellular Automata Background
Austin L. Rachlin 2003-06-12