User Tools

Site Tools


proj

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
proj [2014/06/23 20:40] marekproj [2014/06/25 15:03] marek
Line 1: Line 1:
 **Cellular Automata**  **Cellular Automata** 
-Cellular Automata (CA) ([[http://en.wikipedia.org/wiki/Cellular_automaton]]) represent a discrete model, primarily of computation itself - but also applicable to physics, complexity science, and biology among others. CA were discovered in the 1940s by Stanislaw Ulam and John von Neumann while working on the Manhattan project to develop the first nuclear weapons.+ 
 +Cellular Automata (CA) ([[http://en.wikipedia.org/wiki/Cellular_automaton]]) represent a discrete model, primarily of computation itself - but also applicable to physics, complexity science, and biology among others. CA were discovered in the 1940s by Stanislaw Ulam and John von Neumann while they were both working on the Manhattan project to develop the first nuclear weapons.
  
 CA are characterized by a regular grid or lattice of cells, each in a finite number of states (ex. {on,off} or {1,0}). The grid should be theoretically infinite, but due to the CA are characterized by a regular grid or lattice of cells, each in a finite number of states (ex. {on,off} or {1,0}). The grid should be theoretically infinite, but due to the
Line 23: Line 24:
 **Conway's Game of Life** **Conway's Game of Life**
  
-Possibly the most famous CA is Conway's Game of Life (sometimes just called "Life" by aficionados) invented by John Conway in 1970. It is a "game" in the sense that the player assigns the initial state of the game, and can observe its evolution. This game is very well known in computing and mathematics circles, to the point where a propagating Life configuration called a "Glider" (http://www.argentum.freeserve.co.uk/lex_g.htm#glider) has been unofficially adopted as the symbol or mascot for "hackers" in the classic sense (i.e. computing enthusiasts see: http://tools.ietf.org/html/rfc1392). +Possibly the most famous CA is Conway's Game of Life (sometimes just called "Life" by aficionados) which was invented by John Conway in 1970. It is a "game" in the sense that the player assigns the initial state of the game, and can observe its evolution. This game is very well known in computing and mathematics circles, to the point where a propagating Life configuration called a "Glider" (http://www.argentum.freeserve.co.uk/lex_g.htm#glider) has been unofficially adopted as the symbol or mascot for "hackers" in the classic sense i.e. computing enthusiasts (see: http://tools.ietf.org/html/rfc1983 & ctrl+f search "hacker"). 
  
-Specifically, Life consists of a two-dimensional lattice. Considering a cell's 8-neighbourhood a cell's next state is computed as+{{:game_of_life_animated_glider.gif|}} 
 + 
 +Figure 1. A Glider in Life (source: WikiMedia Commons) 
 + 
 +Specifically, Life consists of a two-dimensional lattice of cells that have two possible states: {alive, dead}. Considering a cell's 8-neighbourhood a cell's next state is computed as
 follows: follows:
  
Line 35: Line 40:
 [[http://en.wikipedia.org/wiki/Conway's_Game_of_Life]] [[http://en.wikipedia.org/wiki/Conway's_Game_of_Life]]
  
 +{{:ca-moore.png|}}
 +
 +Figure 2. The red cells are the 8-neighbourhood (or Moore Neighbourhood) of the blue cell in the center. (source: WikiMedia Commons)
  
 Interestingly, it has been demonstrated that the game of life can simulate Interestingly, it has been demonstrated that the game of life can simulate
Line 44: Line 52:
 **Course Project** **Course Project**
  
-Your project will be to create a Cellular Automata Laboratory with GUI using the Java(tm) programming language. Initially, the application will implement Conway's Game of Life, but will be extensible or reusable to implement other rule-sets. Have a look at http://www.julianpulgarin.com/canvaslife/+Your project will be to create a Cellular Automata Laboratory with GUI using the Java(tm) programming language. Initially, the application will implement Conway's Game of Life, but will be extensible or reusable to implement other rule-sets for general Cellular Automata. Have a look at http://www.julianpulgarin.com/canvaslife/
 for an idea of potential features, although that example is implemented in for an idea of potential features, although that example is implemented in
 Javascript. You may also consider the file format demonstrated at Javascript. You may also consider the file format demonstrated at
proj.txt · Last modified: 2015/03/05 22:54 by bil