proj
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
proj [2014/06/25 14:14] – marek | proj [2017/02/08 20:46] (current) – bil | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | **Cellular Automata** | + | **EECS 2311 Project** |
- | 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 | + | This term's project is to develop software for a hardware device used to help kids read Braille. |
- | 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 | + | |
- | "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, | + | The hardware device will have a number |
- | 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 | + | |
- | mathematical rule or function to each cell, typically a function | + | |
- | cell's current state and the states of nearby | + | |
- | 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 | + | |
- | social phenomena. | + | |
- | **Conway' | + | The system presents Braille characters/ |
- | Possibly the most famous CA is Conway' | + | You can get a sample usage scenario |
- | {{: | + | The hardware will be under development this term as well, so our first task will be to develop a simulator for the hardware. We will then create a Player app that plays stories for the users, and finally we will develop an Authoring app that will allow educators to create such stories. |
- | Figure 1. A Glider in Life (source: WikiMedia Commons) | + | Click on the links under Project to see info on each phase. |
- | Specifically, | ||
- | follows: | ||
- | * Any live cell with fewer than two live neighbours dies, as if caused by under-population. | ||
- | * 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:// | ||
- | |||
- | {{: | ||
- | |||
- | Figure 2. The red cells are the 8-connected (or Moore Neighbourhood) of the blue cell in the center. (source: WikiMedia Commons) | ||
- | |||
- | Interestingly, | ||
- | a Universal Turing Machine ( | ||
- | http:// | ||
- | capable of computing any computable value, as with a " | ||
- | possible: http:// | ||
- | |||
- | **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' | ||
- | for an idea of potential features, although that example is implemented in | ||
- | Javascript. You may also consider the file format demonstrated at | ||
- | http:// | ||
- | Other possible features include drag and drop, and copy and paste for Life | ||
- | configurations. |
proj.1403705695.txt.gz · Last modified: 2014/06/25 14:14 by marek