Optimizing the Behavior of a Moving Creature in Software and in Hardware

  • Mathias Halbach
  • Wolfgang Heenes
  • Rolf Hoffmann
  • Jan Tisje
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3305)


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.


Cellular Automaton Field Programmable Gate Array Cellular Automaton State Table Empty Cell 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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
  3. 3.
    Hoffmann, R., Völkmann, K.P., Waldschmidt, S., Heenes, W.: Global Cellular Automata, A Flexible Parallel Model. In: Malyshkin, V.E. (ed.) PaCT 2001. LNCS, vol. 2127, p. 66. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Ray, T.: An Approach to the Synthesis of Life. In: Artificial Life II (1991)Google Scholar
  5. 5.
    Levy, S.: KL – Künstliches Leben aus dem Computer. Droemer Knaur (1993) translation from the English, Artificial Life (1992)Google Scholar
  6. 6.
    Hochberger, C.: CDL – Eine Sprache für die Zellularverarbeitung auf verschiedenen Zielplattformen. PhD thesis, Darmstädter Dissertation D17 (1998)Google Scholar
  7. 7.
    Hoffmann, R., Ulmann, B., Völkmann, K.P., Waldschmidt, S.: A Stream Processor Architecture Based on the Configurable CEPRA-S. In: Grünbacher, H., Hartenstein, R.W. (eds.) FPL 2000. LNCS, vol. 1896, p. 822. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    Hochberger, C., Hoffmann, R., Waldschmidt, S.: CDL++ for the Description of Moving Objects in Cellular Automata. In: Malyshkin, V.E. (ed.) PaCT 1999. LNCS, vol. 1662. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 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. 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
  11. 11.
    Kari, J.: Infinite snake tiling problems. In: Ito, M., Toyama, M. (eds.) DLT 2002. LNCS, vol. 2450, pp. 67–77. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Mathias Halbach
    • 1
  • Wolfgang Heenes
    • 1
  • Rolf Hoffmann
    • 1
  • Jan Tisje
    • 1
  1. 1.FB Informatik, FG RechnerarchitekturTU DarmstadtDarmstadt

Personalised recommendations