Three types of generations. Robotics Game of Life Pro Preview

There are basically three type of generations in the robotics game of life.

  • # 270
  • 10 Mar 2016
  • 4:06

The generation could:

  • die - at a certain point there are no more cells alive
  • stable in a loop - the current generation is equal to a previous generation. This means that the generation will repeat itself again and again and will never die.
  • uncertain - we don't know if the generation will loop at a certain point or if it will die. Probably it will do one of this two things, but it is impossible to tell in advance. More importantly - there is no way to tell. There is no computer in the world that would tell us whether a certain generation will live or die and after how many generations will this happen. That is one of the most interesting things about the robotics game of live - it is a problem that is know as "undecidable".

Tasks description, submission and evaluation are available to subscribed users.

Subscribe now to acces the full capacity and get feedback.


Here is the challenge now. Let's say that we have the grid with different cell that are alive. This here is the grid. Can we think of a way to seed the different cells so that if this is the first generation the second generation will look exactly the same. How can we build? How can we seed the cells in a certain way so that the first generation is exactly equal to the second generation following the three rules?

Take your time. Think very carefully for this problem and try to seed the cells of the first generation is equal to the second one. And only after then watch the rest of the video. Now, if we have only this cell alive, it will die in the next generation. If we have these two cells alive, they'll both die. Why? Bacause we follow the rules. If we have two living neighbours, we will stay alive. If we have less than two, then the cell will die. And if we have this cell here alive, this means that this cell has two living neighbours - 1, 2, this cell has two - 1, 2 and this cell has two - 1, 2. And three of the cells will stay alive. And also the cell that's right here will be reborn bacause it has three living neighbours. And we'll have the situation like this.

And now if we have this as a cube with four cells as a square, this will be stable. And the next generation will actually be the same. So if we go to the third generation,

this one has three living neighbours, this one has three living neighbours, this one has three, this one has three. So, they are all again alive. And this will continue forever. So there are basically three types of generations. Generations that will die, geenerations that will loop, and one more that is very impostant for us - generations that we don't know what will do. Whether they will die ot whether they will live. It's very interesting because there are certain generations where we can't tell and there is no way to predict. There is no way to calculate it. There is no algorithm that for any grid of any size with any configuration of cells [just random] could tell us with 100% certainty whether this generation will live or die. And after how many generations it will live or die. We'll have to calculate this but it's impossible to tell in advance. There is no such way and these problems are known in the computer world as Undecidable. Undecidable problems which are very important problems in the computational theory. But for this later. Now let's go into the programming of the Game of Life.