Revision as of 21:59, 26 October 2012 by LoboLofi (Talk | contribs)


Strange variant of cellular automata for the simulation of a bio-reactor


First of all: why use cellular automata if any linear models are easier to analyze? Well, for starters look great.

Second, depending on the configuration of the cellular automaton "how you look", the CA is more realistic and we can provide sufficient data to feed other models. In fact, is just what took place in this model.

Imagine that we are scientists with more material resources in the world and that we can generate hundreds of experiments in the conditions we want to feed our prediction models. Well, the CA allows us to do this with the only drawback that we hate our CPU.

Brief History

Cellular automata are a mathematical model developed by Konrad Zuse and Stanislaw Ulam, but was better known and developed by a guy named John Vonn Neumann who loved parallel computing, but, as usual, history remembers him as the father of sequential computing.

Later, during the disruptive and flowery decade of 60's, a crazy mathematical said "oh, it would be great to do a math game where no players" (you know, the time before tetris and farmville), and created the world famous "Game of Life". The name of this cool mathematician was John Horton Conway. The really curious thing about this game was that, unlike tetris and Farmville, is a universal machine,is that you can solve almost any problem with it.

For this reason lot of scientists began to study seriously about the CA. Primarily a physicist a bit eccentric named Steven Wolfram, he study until the 90's, He used cellular automata to deal a coup against traditional scientific methodology, emphasizing the importance of simulations and modeling computer as unquestionable substitutes of the traditional experimentation.

How To?

How does a cellular automaton? Well, imagine a group of guys in a dance floor. One of these says, "Well, If I'm the only one who is dancing or there is only one person dancing, I think that i'm don't i will not be a laughing stock" and "If more than 4 people are dancing, the better is stop of dance, it's uncomfortable dancing among many people ". And of course "else, i dancing all the night". Now, imagine that all people think the same track, that's basically a CA: a set of individuals (cells) that act similarly and simultaneously within a (lattice).

But, think more applied: if instead of teenage dancers, bacteria were willing to eat? Instead of a dance floor, outside a bioreactor? There are a more couple of questions to answer: If you want to feed the bacteria, the amount of food that is around you is also important, and we should consider adding it, and if they are fed well, they can not go to the bathroom to leave their waste , so we must take into account their waste.

Well, this is a brief description of our model, we have a bioreactor cells, bacteria, food and debris. That is, a lattice and three types of cells that fill it.

What else do we need to know? In the past example we said, "I need two or three people so that I can dance", but as we speak now of bacteria and food, we say "I need amount n of food and amout m of other bacteria that can feed with me", because , you know, no one likes to eat alone.

But we can go further in this model. Suppose the bioreactor gives us ideal conditions every so often and eliminates food waste produced and they distributed throughout the lattice.

In our model, we decided to have two lattices: one for our friend Rhodobacter, where there may be a bacterium or may be not that. And another lattice with the same number of squares, but with x percent of food, "y" percent of wastes and z percent for other resources. In this way we can generate simple rules:

  • If, for example, among all the cells I have around, sum at least 2 complete squares, the bacter will survive.
  • However, If there more than 5 boxes of waste, the bacterium die.
  • If at least two bacteria and exist enough food, namely more than 2 squares of food, grow a new bacteria.

Thus, the CA showed a more realistic simulation, but mostly we will get data from simulation models can feed others.

The two main disadvantages of the CA is the CPU time needed to calculate the simulation and randomness that can have its outcome, in other words, depending on how initialize living cells and the percentage that we decide to add for each compound in the second lattice.

The first problem is easy to solve: the current CPU is fast enough to avoid problems in these calculations.

The second problem is harder to solve. There are several methods, our personal favorite, another mathematical model: perform multiple simulations with different distributions of bacteria and its results are added to a probability function that characterizes certain experiment.


Rhodofactory 2012