proj
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
proj [2014/06/27 15:13] – marek | proj [2018/02/27 15:49] (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} ; {1,0} ; or {red, | + | To be posted. |
- | 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, | + | --></ |
- | 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' | + | Treasure Box Braille |
+ | TBB presents Braille characters/ | ||
+ | Educators can load different scenarios to teach different letters and keep the kids entertained. | ||
- | {{: | + | We will write a piece of software to help educators create these scenarios. We will call it the Authoring App. The Authoring app will provide facilities to |
+ | * Create the flow of the scenario (ask questions, receive answers) | ||
+ | * Record audio | ||
+ | * Save the scenario in the appropriate format | ||
+ | * Test the scenario using the provided software | ||
- | Figure 1. A Glider in Life (source: WikiMedia Commons) | + | **Important requirement**: The Authoring App must be usable by visually-impaired users |
- | 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 | + | Since there are not enough TBBs for each group (and also because they are expensive and hard to replace), we provide software |
- | follows: | + | This way, as an educator is preparing a scenario with your authoring app, they can try it out to see if it works. See the Week 1 slides (click on Course Outline) for instructions on how to get the starter software. |
- | * Any live cell with fewer than two live neighbours dies, as if caused by under-population. | + | The starter software contains example scenarios that you can run to get a feel for what this system does. |
- | * 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 | + | |
- | [[http:// | + | |
- | {{:ca-moore.png|}} | + | {{:startersoftwaredesign.pdf|Click here}} for a UML diagram of the starter software. |
- | Figure 2. The red cells are the 8-neighbourhood | + | {{: |
+ | |||
+ | **New requirement | ||
+ | |||
+ | Your system must log all actions the user takes and keep count of how many times each feature is accessed | ||
+ | |||
+ | Based on the log data, add keyboard shortcuts to the most frequently used features. Such features should be easy to access with a mouse as well | ||
- | 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.1403881992.txt.gz · Last modified: 2014/06/27 15:13 by marek