University of South Carolina
Department of Computer Science and Engineering

ABOUT TRILIFE CELLULAR AUTOMATA

Version 1.3

Description:

Triangular Cellular Automata

KEYWORDS:

A semitotalistic CA rule is a rule for a cellular automaton (CA) where: 
we tally the living neighbors to a cell without regard to their orientation with respect to that cell. 
the rule applied to a cell may depend on its current status. 
A lifelike rule (LFR) is a semitotalistic rule where: 
cells have exactly two states (alive or dead). 
the rule giving the state of a cell for the next generation depends exactly upon: 
its state this generation. 
the total count of the number of live neighbor cells. 
when tallying neighbors of a cell, we consider exactly those neighboring cells
 that touch the cell in question. 
A game of life rule (GL) is an LFR rule that meets two conditions: 
At least one glider (translating oscillator) can be discovered, with 100% probability,
 by beginning with discrete random configurations. 
There is zero probability that the discrete random configuration leads to unbounded growth. 

GAME RULES :

Lifelike rules are shown as ElEhFlFh. The environment rule (ElEh)determines the lower and
 upper bounds for the number of living neighbors required for a live cell to remain alive.
 Similarly, the fertility rule (FlFh) gives the lower and upper bounds for the number of 
living neighbors required to bring a dead cell to life. In the triangular tessellation, 
each cell has exactly 12 neighbors touching its edges or corners. For this incarnation, 
the environment rule may be as small as (0 0) or as large as (12 12); there are 91 possible 
values plus the "no cell remains alive" rule, which may be shown (-1 -1). When combined
 with the fertility rule, the four attributes result in 8464 combinations. 
Two theorems govern the game: 

Theorem 1 :

Any LFR rule where Fl <= 2 leads to unbounded growth. 

Proof :

Once two cells are placed next to each other, the shape will grow without regard to the 
environment rule. 

Theorem 2 :

Any LFR rule where Fl >= 6 cannot grow without bounds. 

Proof :

Following the outside of any straight or convex border, no dead cell may reach more than 5 other cells. 
-----------------------------------------------------------------------------------------------------------------------------

	   Source: "Cellular Automata in the Triangular Tessellation" (Complex Systems, 1994) by Carter Bays, 
						Department of Computer Science, 
					   University of South Carolina, Columbia, SC. 

-----------------------------------------------------------------------------------------------------------------------------
Design Implementation: 

- NON-Experiment Mode:
	+ Musheer Ahmed
	+ Srilatha Punna

- Experiment Mode:
	+ Soufyane El-Allali
	+ George Clinton
NOTE:
Code Implementation is in JAVA AWT. 
For a source code contact Dr. Carter Bays at bays@cse.sc.edu

Read Me

CONTROL COMPONENTS: NOTE: Use the Experiment/End-Exp button to switch from NON-EXPERIMENT MODE to EXPERIMENT MODE and vice versa. End-Exp also stops the experiment. + NON-EXPERIMENT MODE: - Start/Stop : It starts the game and after that the start label changes to stop wherein it is used to stop the game. - Next : It increments the life cycle by one generation. - Random : It fills the grid cells randomly which helps in getting various random patterns. - Size choice: This is used to change the grid sizes,sizes used : 50X50,40X40,30X30,20X20,15X15,10X10 - Rules : When rules button is clicked a new window pops up which has pre-defined rules in choice list and a text field. The text field can be used to enter user-defined rules. The rule should be entered in the form-a,b,c,d/x,y,z. a,b,c,d are the number of neighbours for a live cell to remain alive in the next generation -called Environment rule.x,y,z are the number of neighbours for a dead cell to become alive in the next generation - called Fertility rule. - Clear : This clears the canvas and sets the generations to zero. - Shape : Upon clicking of this button a new window opens up. This contains a list of known shapes and a text field. The Display co-ordinates button displays the co-ordinates of the canvas at a particular instance in the text field.The co-ordinates are displayed in the form of x1,y1,x2,y2... where x,y are the co-ordinates of a live cell. If you get any interesting pattern,the co-ordinates of that pattern can be displayed which can be copied into a seperate file along with the rule.The rule is displayed at the bottom of the applet. These co-ordinates can be pasted into the text field to get the pattern. The rule has to be pasted in the text field of rules window. - Speed Bar : This is used to vary the speed of the game. - Gen : Display the number of Generations. - Rule : Display the rule being used. + EXPERIMENT MODE: - Pause on : Select to find either gliders or oscilators. - Graphics : Select ON for graphics to be shown or OFF for graphics NOT to be shown. - MAX-GEN : Select the maximum number of generations that the experiment has to produce. - GSIZE : Select the small experiment grid size. - EXP-RULE : Select the rule that the experiment has to use. - Start/Stop : Start the experiment and generate randomly. And stop the experiment. - Clear : Clears the entire grid of living cells and sets all varialbles to ZERO. - Trial : Counts the number of new generations. - Avg. Trial : Counts the average number of generations (TotalNumberOfGenerations/NumberOfTrials).