Conway's Game of Life with rule switching
Model was written in NetLogo 6.3.0
•
Viewed 190 times
•
Downloaded 16 times
•
Run 0 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Info tab cannot be displayed because of an encoding error
Comments and Questions
Please start the discussion about this model!
(You'll first need to log in.)
Click to Run Model
patches-own [ next-pcolor ;; the next state is calculated using current pcolor ] ;; clear the board and create some life to setup clear-all reset-ticks ;; make the world with custom size resize-world 0 (world-size - 1) 0 (world-size - 1) ;; heuristic scaling of the patch size set-patch-size floor ( 50 / (sqrt world-size) ) ;; use next-pcolor to initialize pcolor ask patches [ ifelse random 100 < init-life [ set next-pcolor black ][ set next-pcolor white ] set pcolor next-pcolor ] end ;; ;; main function ;; to go ifelse synchronous [ ask patches [ simulate-life ] ask patches [ update-state ] ][ ask patches [ simulate-life update-state ] ] tick end ;; ;; calculate the updating rule ;; to simulate-life ifelse deterministic [ ;; deterministic rule switching ifelse ticks mod deterministic-period = 0 [ update-rule-modified ][ ;; ticks mod deterministic-period \= 0 update-rule-std ] ][ ;; random rule switching ifelse random-float 1 > rule-switch-prob [ update-rule-std ][ update-rule-modified ] ] end ;; ;; standard update rule for the Game of Life ;; to update-rule-std let x (count neighbors with [ pcolor = black] ) ifelse pcolor = black [ ifelse x < 2 or x >= 4 [ ;; x>=4 (weak inequality) - standard rule set next-pcolor white ;; ie. die ][ set next-pcolor black ;; ie. stay alive ] ][ ;; pcolor = white if x >= 3 and x < 4 [ ;; modified rule if second-threshold != 4 set next-pcolor black ;; ie. birth ] ] end ;; ;; update rule with the altered treshold for the overpopulation ;; to update-rule-modified let x (count neighbors with [ pcolor = black] ) ifelse pcolor = black [ ifelse x < 2 or x >= second-threshold [ ;; modified rule if second-threshold != 4 set next-pcolor white ;; ie. die ][ set next-pcolor black ;; ie. stay alive ] ][ ;; pcolor = white if x >= 3 and x < second-threshold [ ;; modified rule if second-threshold != 4 set next-pcolor black ;; ie. birth ] ] end ;; ;; update the state ;; to update-state set pcolor next-pcolor end ;; ;; reporters ;; ;; ;; fraction of living cells ;; to-report %living report 100 * ( count patches with [ pcolor = black] ) / ( count patches ) end
There is only one version of this model, created about 2 years ago by Jaroslaw Miszczak.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Conway's Game of Life with rule switching.png | preview | Preview for 'Conway's Game of Life with rule switching' | about 2 years ago, by Jaroslaw Miszczak | Download |
This model does not have any ancestors.
This model does not have any descendants.