proj
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| proj [2014/06/23 20:47] – marek | proj [2015/03/05 22:54] (current) – bil | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | **Cellular Automata** | + | For an initial description |
| - | Cellular Automata (CA) ([[http:// | + | |
| - | 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 | + | Following |
| - | physical limitations of computers, these are usually simulated on a finite | + | |
| - | grid. Some implementations therefore, have an edge, and in others the cells are arranged in a toroidal (http:// | + | |
| - | of the lattice are neighbours to those at the " | + | |
| - | "left edge" are neighbours to those on the "right edge". The toroidal solution is often regarded as being more elegant than the version with an edge. | + | |
| - | Typically, the evolution of a CA system is completely deterministic, | + | {{:moonlightsonata.txt|Sample Input 1}} |
| - | from the initial state at time t = 0 and a new | + | |
| - | state of the grid is computed each time step (advancing the time by 1). The | + | |
| - | next generation is computed from the last by applying a (usually) fixed | + | |
| - | mathematical rule or function to each cell, typically a function of the | + | |
| - | cell's current state and the states of nearby cells (in the neighbourhood). | + | |
| - | Typically this function is applied to all cells simultaneously i.e. the | + | |
| - | next state of cells is not considered on the current time step. There are | + | |
| - | exceptions to these such as stochastic cellular automata (http:// | + | |
| - | cellular automata (http:// | + | |
| - | rules leads into the study of multi-agent systems, such as agent-based models of complex | + | |
| - | social phenomena. | + | |
| - | **Conway' | + | {{: |
| - | Possibly the most famous CA is Conway' | + | {{:beethoven_-_moonlight_sonata.pdf|Sample Output 1}} |
| - | Specifically, | + | {{:matheos_-_remembering_rain.pdf|Sample Output 2}} |
| - | follows: | + | |
| - | * Any live cell with fewer than two live neighbours dies, as if caused by under-population. | + | You can access |
| - | * Any live cell with two or three live neighbours lives on to the next generation. | + | |
| - | * Any live cell with more than three live neighbours dies, as if by overcrowding. | + | |
| - | * Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction. | + | |
| - | For more information you can consult (as a starting point): | + | |
| - | [[http://en.wikipedia.org/ | + | |
| + | You can download the library from [[http:// | ||
| - | Interestingly, | + | Here is the [[http://itextpdf.com/examples/iia.php?id=12|Hello World]] example. |
| - | a Universal Turing Machine ( | + | |
| - | http://en.wikipedia.org/wiki/Universal_Turing_machine) - meaning it is | + | |
| - | capable of computing any computable value, as with a " | + | |
| - | possible: http:// | + | |
| - | **Course Project** | + | **March 5**: Two more sample inputs. Your program must produce some reasonable output. Any tablature elements we haven' |
| - | Your project will be to create a Cellular Automata Laboratory with GUI using the Java(tm) programming language. Initially, the application will implement Conway' | + | {{:elnegrito.txt|Sample Input 3}} |
| - | for an idea of potential features, although that example is implemented in | + | |
| - | Javascript. You may also consider the file format demonstrated at | + | {{:bohemianrhapsody.txt|Sample Input 4}} |
| - | http:// | + | |
| - | Other possible features include drag and drop, and copy and paste for Life | + | < |
| - | configurations. | + | |
| + | --></ | ||
proj.1403556460.txt.gz · Last modified: by marek
