[MUSIC] Hello, welcome back to our course on simulation and modeling of natural processes. So now we'll continue with the second module of the chapter on cellular automaton modeling, and I would like to discuss some historical background. So we can say that the origin of CA's is due to John von Neumann and Stanislaw Ulam. We'll really mention their name in the case of the Monte Carlo simulation, so that's the same person. And at that time, Von Neumann was interested to define architecture of computers. And of course he was thinking of the brain, the human brain as a model. And what was interesting about the human brain is that it's a capacity of a self repair or self correction, and he was wondering how we could include that in a electronic circuit. So it was a very ambitious question, and actually it turned out to be a bit too complicated. And I decided to capture something else which is typical of the living system which is the possibility for the cell to produce itself. So what do I mean by self reproduction here? I think it's important to explain that better. So, if I take this piece of paper here, and I want to copy it, what do you do? You just go to the copy machine and you make a copy. But to do so you need an object, which is the copy machine, which is more complex than this piece of paper. So to do a reproduction of this document, you need something which is more complex than the document. And if, for some reason, you would like to have a copy of your copy machine, well you have to go the manufacturer to ask for a second copy of your machine, which has probably been built by a machine even more complex than your copy machine. So, in traditional engineering, there's nothing like self-reproducing. You can copy things or reproduce things, but you need a higher complexity to do that. But life is not like that. Life has the own recipe to capiz, so it's like if this piece of paper would know how to copy itself, okay, I could just tell it, okay make a copy of yourself and I would have two pieces of paper. That could be convenient, but we are far from this. But anyway, von Neumann was interested to know in making the cal point of view, alter point of view. What would be the ingredient to go into this direction? It's interesting also to know that Federman has this question before we discovered DNA. So before we discovered how cells actually do it by transcription and translation mechanism. But von Neumann end up to actually discover that these two things are more or less necessary also in an algorithmic point of view. So at the time, cell automata didn't exist. This grid system were not so common and of course von Neumann tried to solve this problem in more mathematical formalism, using continuous time and space, and he found that very difficult, and so Ulam suggest that maybe he could turn to a discreet universe and try to formulate this question into system of discrete cells with a limited number of states that they've all in discrete time. So, basically suggest to formulate the questions in the cell or automaton. So then, von Neumann followed that line and he could formalize the cell for producing mechanism in a fully discrete world with an automaton with 29 possible states per cells, so it's much more than the zero and one we saw so far, and he built a structure out of these cells containing about, I mean a few thousand of those cells. And then he could show that this object had the recipe to self-reproduce. It was also a universal computer, I will come back to this a little bit later. But it's interesting to contrast with another self-reproducing CA, which is due to Langton in the 1980's, so it's much later. It's actually a simplified version, but we can understand it much better than the original model. That's why I'm presenting that here, but it's a much also simplified version which is not a universal computer. So it means that you can only do what this model does and not another calculation, as we'll discuss later on. But anyway, what Langton propose is some structure of cells which have their own recipe to duplicate, and basically, it's also based on this idea of reading and transformation, or interpretation mechanism. So let me show you the picture of the original article by Chris Langton. So, the initial structure of the self-reproducing object is this one. So you see it's embedded in a space where all the external cells are zeroes. But the object is limited by a membrane, and membrane means that the cell states is two. So, you see that you have internal and external membrane. So, you separate the system from the outside totally. And inside here, you have a loop made of numbers going from zero to seven, and this actually the genetic code. So, the recipe to build the object is encoded in this set of numbers, and during the rule, these numbers keep rotating. And when they reach this arm, they just replicate. So that's the reading mechanism and the application mechanism. So here you're producing your new DNA, which when it reach the end of the this arm, we'll start building a new object of similar type. Okay? And, of course, also integrating in this new object the recipe of its fabrication. So we can not go into much detail, but I would just like to show your some time evolution of the system, so initially, well not initially, after a few steps you get an elongated arms and it starts to go up this way. It actually does. Then it comes back here and it forms second loops, which is an intermediate state of evolution. And if you run the model until the end, you get actually two copies of the original image. And so from this initial cell you get two cells. And if you keep going, you get a third cell. And so on, and so on, and so on. And the cells in the middle, when they are surrounded by other cell, it cannot evolve any more. But anyway, this mechanism starts populating all the space with copies of the initial system. So I think it's a very interesting achievement with a simple rules with only values between zero and seven, and a smart spatial configuration to do that. Anyway, you should remind that it's not a biological model, it's just an algorithmic abstraction. And still, it's very nice to see that we can translate or express the production of an algorithm. Of course, what is hidden in the model is that you always have the material to be the new cell, so you have also the energy, so you assume that your system will provide or the external world would provide energy and matter to build new object. But as I mentioned before, there's no need for hierarchical structure to build an object of the same complexity. You know yourself to copy yourself. And this idea has been used recently to build what we call evolving hardware. So it means if you want to send hardware in some remote place, like another planet, and you would like have your system be protected against failure. You can probably use these types of ideas to have a big circuit where you only use on part, but when this part is damaged, automatically you can repopulate your circuit with an identical one which still works. So this idea has been tested and rather successful. So with this I'm finishing the historical background, and next module will be about expanding this idea of mathematical abstraction of reality. So thank you for your attention. [MUSIC]