Co-evolving parallel random number generators

  • Moshe Sipper
  • Marco Tomassini
Applications of Evolutionary Computation Evolutionary Computation in Computer Science and Operations Research
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1141)


Random numbers are needed in a variety of applications, yet finding good random number generators is a difficult task. In the last decade cellular automata (CA) have been used to generate random numbers. In this paper non-uniform CAs are studied, where each cell may contain a different rule, in contrast to the original, uniform model. We present the cellular programming algorithm for co-evolving non-uniform CAs to perform computations, and apply it to the evolution of random number generators. Our results suggest that good generators can be evolved; these exhibit behavior at least as good as that of previously described CAs, with notable advantages arising from the existence of a “tunable” algorithm for obtaining random number generators.


non-uniform cellular automata random number generators cellular programming evolution co-evolution parallel computation artificial life complex systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R. Das, J. P. Crutchfield, M. Mitchell, and J. E. Hanson. Evolving globally synchronized cellular automata. In L. J. Eshelman, editor, Proceedings of the Sixth International Conference on Genetic Algorithms, pages 336–343, San Francisco, CA, 1995. Morgan Kaufmann.Google Scholar
  2. 2.
    R. Das, M. Mitchell, and J. P. Crutchfield. A genetic algorithm discovers particlebased computation in cellular automata. In Y. Davidor, H.-P. Schwefel, and R. Männer, editors, Parallel Problem Solving from Nature-PPSN III, volume 866 of Lecture Notes in Computer Science, pages 344–353, Berlin, 1994. Springer-Verlag.Google Scholar
  3. 3.
    P. D. Hortensius, R. D. McLeod, and H. C. Card. Parallel random number generation for VLSI systems using cellular automata. IEEE Transactions on Computers, 38(10):1466–1473, October 1989.CrossRefGoogle Scholar
  4. 4.
    P. D. Hortensius, R. D. McLeod, W. Pries, D. M. Miller, and H. C. Card. Cellular automata-based pseudorandom number generators for built-in self-test. IEEE Transactions on Computer-Aided Design, 8(8):842–859, August 1989.CrossRefGoogle Scholar
  5. 5.
    D. E. Knuth. The Art of Computer Programming: Volume 2, Seminumerical Algorithms. Addison-Wesley, Reading, MA, second edition, 1981.Google Scholar
  6. 6.
    J. R. Koza. Genetic Programming. The MIT Press, Cambridge, Massachusetts, 1992.Google Scholar
  7. 7.
    M. Mitchell, J. P. Crutchfield, and P. T. Hraber. Dynamics, computation, and the “edge of chaos”: A re-examination. In G. Cowan, D. Pines, and D. Melzner, editors, Complexity: Metaphors, Models and Reality, pages 491–513. Addison-Wesley, Reading, MA, 1994.Google Scholar
  8. 8.
    M. Mitchell, J. P. Crutchfield, and P. T. Hraber. Evolving cellular automata to perform computations: Mechanisms and impediments. Physica D, 75:361–391, 1994.CrossRefGoogle Scholar
  9. 9.
    M. Mitchell, P. T. Hraber, and J. P. Crutchfield. Revisiting the edge of chaos: Evolving cellular automata to perform computations. Complex Systems, 7:89–130, 1993.Google Scholar
  10. 10.
    N. H. Packard. Adaptation toward the edge of chaos. In J. A. S. Kelso, A. J. Mandell, and M. F. Shlesinger, editors, Dynamic Patterns in Complex Systems, pages 293–301. World Scientific, Singapore, 1988.Google Scholar
  11. 11.
    S. K. Park and K. W. Miller. Random number generators: Good ones are hard to find. Communications of the ACM, 31(10):1192–1201, October 1988.CrossRefGoogle Scholar
  12. 12.
    M. Sipper. Non-uniform cellular automata: Evolution in rule space and formation of complex structures. In R. A. Brooks and P. Maes, editors, Artificial Life IV, pages 394–399, Cambridge, Massachusetts, 1994. The MIT Press.Google Scholar
  13. 13.
    M. Sipper. An introduction to artificial life. Explorations in Artificial Life (special issue of AI Expert), pages 4–8, September 1995. Miller Freeman, San Francisco, CA.Google Scholar
  14. 14.
    M. Sipper. Quasi-uniform computation-universal cellular automata. In F. Morán, A. Moreno, J. J. Merelo, and P. Chacón, editors, ECAL'95: Third European Conference on Artificial Life, volume 929 of Lecture Notes in Computer Science, pages 544–554, Berlin, 1995. Springer-Verlag.Google Scholar
  15. 15.
    M. Sipper. Studying artificial life using a simple, general cellular model. Artificial Life Journal, 2(1):1–35, 1995. The MIT Press, Cambridge, MA.Google Scholar
  16. 16.
    M. Sipper. Co-evolving non-uniform cellular automata to perform computations. Physica D, 92:193–208, 1996.CrossRefGoogle Scholar
  17. 17.
    M. Sipper. Complex computation in non-uniform cellular automata, 1996. (submitted).Google Scholar
  18. 18.
    M. Sipper and M. Tomassini. Generating parallel random number generators by cellular programming. International Journal of Modern Physics C, 1996. (to appear).Google Scholar
  19. 19.
    M. Tomassini. A survey of genetic algorithms. In D. Stauffer, editor, Annual Reviews of Computational Physics, volume III, pages 87–118. World Scientific, 1995. Also available as: Technical Report 95/137, Department of Computer Science, Swiss Federal Institute of Technology, Lausanne, Switzerland, July, 1995.Google Scholar
  20. 20.
    S. Wolfram. Statistical mechanics of cellular automata. Reviews of Modern Physics, 55(3):601–644, July 1983.CrossRefGoogle Scholar
  21. 21.
    S. Wolfram. Random sequence generation by cellular automata. Advances in Applied Mathematics, 7:123–169, June 1986.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Moshe Sipper
    • 1
  • Marco Tomassini
    • 1
    • 2
  1. 1.Logic Systems LaboratorySwiss Federal Institute of Technology, IN-EcublensLausanneSwitzerland
  2. 2.Swiss Scientific Computing CenterManno

Personalised recommendations