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 15:00] – 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-neighbourhood (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.1403708447.txt.gz · Last modified: by marek
