conway {simecol}R Documentation

The Classical Coway's Game of Life

Description

simecol example: This model simulates a deterministic cellular automaton.

Usage

data(conway)

Format

An S4 object according to the gridModel specification. The object contains the following slots:

main
functions with the state transition rules.
parms
A list with two vector elements:
srv
number of neighbours, necessary to survive,
gen
number of neighbours, necessary to generate a new cell.
times
number of time steps to be simulated,
init
matrix with the initial state of the cellular grid (default: random).

Details

To see all details, please have a look into the implementation below.

References

Gardner, Martin (1970) The Fantastic Combinations of John Conway's New Solitaire Game 'Life.' Scientific American, October 1970.

See Also

sim, parms, init, times.

Examples

##============================================
## Basic Usage:
##   explore the example
##============================================
data(conway)
plot(sim(conway))

## more interesting start conditions
m <- matrix(0, 40, 40)
m[5:35,19:21] <-1
init(conway) <- m
plot(sim(conway), col=c("white", "green"), axes=FALSE)

## change survival rules
parms(conway) <- list(srv=c(3,4), gen=c(3,4))
plot(sim(conway), col=c("white", "green"), axes=FALSE)
## Not run: 
init(conway) <- matrix(0, 10, 10)
fixInit(conway) # enter some "1"
sim(conway, animate=TRUE, delay=100)

##============================================
## Implementation:
##   The code of Conways Game of Life
##============================================
conway <- new("gridModel",
  main = function(time, init, parms) {
    x      <- init
    nb     <- eightneighbours(x)
    surviv <- (x >  0 & (nb 
    gener  <- (x == 0 & (nb 
    x      <- as.numeric((surviv + gener) > 0)
    dim(x) <- dim(init)
    return(x)
  },
  parms  = list(srv = c(2, 3), gen = 3),
  times  = 1:17,
  init   = matrix(round(runif(1000)), ncol=40),
  solver = "iteration"
)
## End(Not run)

[Package simecol version 0.6-6 Index]