Optimizing the Behavior of a Moving Creature in Software and in Hardware
We have investigated a problem where the goal is to find automatically the best rule for a cell in the cellular automata model. The cells are either of type OBSTACLE, EMPTY or CREATURE. Only CREATURE can move around in the cell space in one changeable direction and can perform four actions: if the path to the next cell is blocked turn left or right, if the path is free, i. e. the neighbor cell is of type EMPTY: move ahead and simultaneously turn left or right. The task of the creature is to cross all empty cells with a minimum number of steps.
The behavior was modeled using a variable state machine represented by a state table. Input to the state table is the neighbors state in front of its moving direction.
All combinations of the state table which do not expect a trivial or bad behavior were considered in software and in hardware in order to find out the best behavior. The best four-state algorithm allows the creature to cross 97 % empty cells on average over the given initial configurations.
As software simulation, optimization and learning methods are very time consuming, parallel hardware is a promising solution. We described this model in Verilog HDL. A hardware synthesizing tool transforms the description into a configuration file which was loaded into a field programmable gate array (FPGA). Hardware implementation offers a significant speed up of many thousands compared to software.
KeywordsCellular Automaton Field Programmable Gate Array Cellular Automaton State Table Empty Cell
Unable to display preview. Download preview PDF.
- 1.Epstein, J.M., Axtell, R.: Growing artificial societies – social science from the bottom up. Brooking Institution Press, Washington D. C. (1996)Google Scholar
- 2.Dascalu, M., Franti, E., Stefan, G.: Modeling production with artificial societies: the emergence of social structure. Cellular Automata Research Towards Industry (1998)Google Scholar
- 4.Ray, T.: An Approach to the Synthesis of Life. In: Artificial Life II (1991)Google Scholar
- 5.Levy, S.: KL – Künstliches Leben aus dem Computer. Droemer Knaur (1993) translation from the English, Artificial Life (1992)Google Scholar
- 6.Hochberger, C.: CDL – Eine Sprache für die Zellularverarbeitung auf verschiedenen Zielplattformen. PhD thesis, Darmstädter Dissertation D17 (1998)Google Scholar
- 9.Halbach, M., Hoffmann, R., Röder, P.: FPGA Implementation of Cellular Automata Compared to Software Implementation. In: PASA Workshop. ARCS, Augsburg (2004)Google Scholar
- 10.Halbach, M., Hoffmann, R.: Implementing Cellular Automata in FPGA Logic. In: International Parallel & Distributed Processing Symposium (IPDPS), Workshop on Massively Parallel Processing (WMPP), Santa Fe, NM. IEEE Computer Society, Los Alamitos (2004)Google Scholar
- 12.Mesot, B., Sanchez, E., Pena, C.A., Perez-Uribe, A.: SOS++: Finding Smart Behaviors Using Learning and Evolution. In: Standish, Abbass, Bedau (eds.) Artificial Life VIII, p. 264. MIT Press, Cambridge (2002)Google Scholar