boundary conditions on CellularAutomaton function
- To: mathgroup at smc.vnet.net
- Subject: [mg115102] boundary conditions on CellularAutomaton function
- From: naivetheorist <rjgaylord at gmail.com>
- Date: Thu, 30 Dec 2010 19:06:34 -0500 (EST)
i have two questions: (1) In the CellulafrAutomaton function, how does one specify the boundary conidtions? A friend has run the Game of Life using the function GameOfLife = {224, {2, {{2, 2, 2}, {2, 1, 2}, {2, 2, 2}}}, {1, 1}}; ArrayPlot[Mean[CellularAutomaton[GameOfLife, RandomInteger[1, {100, 100}],100]]] (these lines are taken from the Function Navigator in Mathematica) and compared the execution speed with 3 Game of Life programs that i had written in Mathematica (they are in various of my simulation books) books - i was especially prod of the version which first generates all 256 rules, one for each possible neighborhood configuration, and then applies the rule set directly by pattern- matching without performing any arithmetic computation; it was very fast as i expected since Mathematica is a ruled-based term rewriting system; needless to say i was shocked (and crestfallen) to find that using the built-in CellularAutomaton function runs the Game of Life 40 (forty) times faster than my fastest home-brewed version - perhaps because it's not written in the Mathematica language? but i digress. the question is this: the expressions above and my programs gave identical results and i know that my programs use wrap-around boundary condition (sometimes called periodic boundary condition) but i can't figure out what arguments in the CellularAutomaton function specify the boundary conditions and what values of these arguments give what b.c. - or does the function always use wrap-around b.c.? this is crucially important in the use of the function to model various physical phenomena. Eg., a CA model of crystal growth or forest fire spreading or even a random should use an infinite grid with no b.c. while other physical or chemical or biological systems should use a reflecting b.c., or an absorbing b.c. or even a mixed b.c. in their CA models. this is already a long post so i'll state mt second question in a separate post.