Message Boards Message Boards

boundary conditions in the CellularAutomaton function

Posted 9 years ago

the CellularAutomaton function is incredibly fast (i have compared the speed of the Game of Life program written using CellularAutomaton with the speed of 3 different GoL programs that i created (see my note set on WL Fundamentals in the Library Archves) and my fastest version ran 400 times slower than the CellularAutomaton GoL program. but in modelng natural phenomena with a CA, the boundary conditions are of fundamental importance. and i do not understand the b.c. being used in CellularAutomaton by default or how they might be changed when appropriate.

for example, for the two-dimensional forest fire CA ((http://forum.wolframscience.com/archive/topic/720-1.html)

ForestFireRule[pGrowth_ /; 0 <= pGrowth <= 1, pBurn_ /; 0 <= pBurn <= 1] := Function[Switch[#[[2, 2]], 0, If[Random[] <= pGrowth, 1, 0], 1, Which[Count[#, 2, {2}] > 0, 2, Random[] <= pBurn, 2, True, 1], 2, 0]]

CellularAutomaton[{ForestFireRule[0.02, 0.001], {}, {1, 1}}, Table[If[Random[Integer, 5] == 0, 1, 0], {100}, {100}], 100];

my question is; what are the b.c. here?

when considering some systems, such as snowflake creation or forest fire spread, we do not want to use wrap-around b.c. (creating a toroid) because what happens on one side of system should not affect what happens on the opposing side.

in physical terms, latent heat effects on the right side of a growing snowflake cannot affect snowflake growth on the left side. and a spreading forest fire on upper side doesn't affect the spread of the fire on the lower side.

similarly, for a model of animals wandering around a territory 'marking' locations that have not already been 'marked' by other animals. wrap-around b.c, are inappropriate - in fact, there should no boundaries in the model; the space should be infinite (with great difficulty, i'll avoid going into a rant about the luring of Cecil out of his protected territory in Zimbabwe)

note: i say wrap-around rather than periodic becuase there is some confusion in my mind between what absorbing, reflecting, periodic, mixed and wrap-around b.c. represent or are appropriate - e.g. in my previous research field of theoretical polymer physics, the behavior of a polymer chain in the vicinity of a surface was modeled for many years using a reflecting b.c. (in order to represent the physical fact that that when a polymer chain moving around by making configurational changes, encounters an impenetrable surface it bounces off the surface) until it was pointed out that the use of a reflecting b.c. gives unequal probabilities to the the possible configurations of the polymer chain, in violation of the statistical mechanics requirement that every microstate in a microcanonical ensemble has to have an equal probability and therefore an absorbing b.c. should be used.

so to restate, in the Forest fire CA that uses CellularAutomaton, what b.c. are being used? and in general, how does one incorporate the various possible boundary conditions in CellularAutomaton?

POSTED BY: Richard Gaylord
2 Replies
POSTED BY: Todd Rowland
POSTED BY: Todd Rowland
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract