 Well, thank you Tim. Let me start out by, since I'm the last speaker, to thank Tim for this wonderful workshop in Luca. I'd like to give them a big round of applause. I certainly very much enjoyed this workshop and learned many things. So today I want to tell you this last thing. What a natural algorithm. So I have an answer. It's an algorithm from nature that I would take questions now. I hear there's a reception. We can go. Okay, so I know you like some more. So classical algorithms would be like page rank and then natural algorithm would be like bird flocking. So what's the difference? Page rank, about 100 designers, 10 years, more or less. And these would be a thousand trillion designers, 100 million years. So it's a different kind of algorithm. In particular, these algorithms are really buck-free, which is a concept we humans don't really understand. So this natural selection is really the ultimate software optimizer. I mean, here you've got more than one algorithm actually at work. This is a famous picture. Termite, thin, longs. This is bird flocking. Get to this. Now, when you look at this and you see people who've worked on this, they come mostly from two groups of applied mathematics and physics. One is Dynamics Poincaré from Dynamical Systems Theory, a work starting from the end-body problem. And Boltzmann, father of statistical physics mechanics, two different approaches. So this is really the textbook example of a dynamical system. Just one equation. You just iterate. And you've got the famous bifurcation diagram, which is a very, very complex system. And this would be also the simplest maybe icing model of statistical physics. All these, those techniques, not just these two examples, but the entire fields that claim are insufficient to understand, say, bird flocking or natural algorithms in general. So my call to arms is that we have to add algorithms to this picture if we want to make further progress. Now, let me, before I get into examples, tell you what are the differences? Natural algorithms are just dynamical systems, after all. So why are they really different from the others? And what can you use old techniques to do that? Well, there's a number of reasons. First of all, there's no sort of agency. These algorithms tend to have lots of different agents and the autonomous that decide to do their own thing when they want, they are different kind of agents. They communicate a lot. Communication is absolutely crucial. And the medium of communication is crucial. They have diversity of goals. They don't all want to do the same thing. Whereas in the gas particles, pretty much all want to do the same thing. But most important is, for lack of a better word, what I call expressive complexity, that their algorithms can be expressively complex. So there's a different meaning of the word complexity here, which is, to me, the main reason why. It's a really question of language. These algorithms are just too long to explain, and there's just too many things happening in bizarre order. And so they don't have these nice symmetries that mathematics is so good at. Now, another thing is natural algorithms are not just standard algorithms. They're different in some subtle ways. Well, first of all, they don't come written down, because we don't get to write them down. Birds do not have the little algorithm written on their DNA, although maybe they do. We don't know. Also, they run forever, which analytically is very important, because I mean, I got to appreciate that when an algorithm runs forever, not because it's a bug caught in the loop, because that's the nature of the thing, to understand it is a very different ball game. Otherwise, they have lots of similarity. This is a very classical algorithm for signal processing. That's something who cares. The point is that this is almost the same algorithm, except this is for p53, the famous protein that keeps us from getting cancer. So biologists and so on, they just try to write these circuits. They don't call them algorithms, but that's really what they are. So from my work, I'll take three examples. Bird flocking, sync, and opinion dynamics. Let me start with the last one, which I think carries probably, to me, the most important message of what I want to say. Opinion dynamics is a neat problem framework which came outside of computer science, came from economics and philosophy and control theory. There's this famous model which goes like this. Here's a simplified version in one dimension. You could do this in higher dimensions. On the political spectrum, it can be on the left, it can be on the right, and there's a number that tells you how far you are. And now there's the basic philosophy that we are influenced by like-minded people. We're not influenced by people who are way, way out of our range of comfort, but we're very influenced by our friends. If I talk to them, I'll be influenced by what he has to say because I trust his judgment. So if we defer, I might come a little bit toward him or something. So the model says that everybody's going to have some interval of influence, of confidence, and simply will move to the mass center of your neighbors. And these neighbors are defined by this little... So there's a rule. Everybody has a rule. And the rule does not need to be the same. We don't have to have the same rule. So everybody does that. That's one step. So these are discrete. So it's continuous motion, you know, the positions, but the time is discrete. It's exactly the opposite of quantum mechanics. You have this little diagram, this bifurcation diagram that actually tells you usually there are clusters, and here you end up having two opinions. So we are left of center and right of center. And this is... So there are lots of conjectures about why you get this picture. Time is going up here. I'm sorry? That's time. Yeah, yeah, sorry. Time is going up here, yes. So the results I want to talk about is... The first one is not mine. This was known before that each agent has the same rule. The system always converges. I give some bounds. I build this in a little framework which allows you to actually give bounds. And what I showed also is... What does converging mean? Yeah, I'll get to that. I will... If each agent has different rules, this is really the interesting part, then the system is almost surely asymptotically periodic, but it can be chaotic. So perturbations are required. Okay? You have to perturb the system a little bit, otherwise you're in trouble. And the period can be exponential. And I want to tell my friends in sociology the exponential thing. They're fascinated because... So then in the philosophers, it tells them the following thing that, you know, you fright your life, you talk to people, and your political opinion changes. You think you are evolving. You're just becoming more mature and you just listen to people and you change your opinion. But in fact this results show this is not true at all. You're caught on a wheel. You're in this periodic thing and age it, but it's exponential. You don't even know that. You don't even realize it because by the time you're back to where you were, you've forgotten about it. And so this is the sort of like negation of free will if you will. It's very scary. Chaotic is surprising if you're for a technical standpoint. This system should not be chaotic. For one thing, all your... you got to put enough exponents. You know what these are. Are non-positive, which right there, really tells you this is very unlikely to be chaotic. But they are. They can be chaotic. So one has to be very careful about this. Chaotic, there are several definitions of chaotic. Chaotic in the strongest sense of the word. In other words, it can be as bad as you can imagine. So anyway, this is what will happen. Things will just go, go, go, and then they will continue forever. Everybody goes into... Now this is asymptotically periodic. Nobody will lock into perfectly a period. There's a finite number of orbits and every other orbit is attracted to one of them and get closer and closer, exponentially closer to one of them. But some of them will not move. So they have a period one. This has to happen. Otherwise they all converge. They will have to have some people who eventually never change their mind. And the others will have to... have to have a orbit within the convex hull of some stable things. This is just a fact of life. What? What's the rule there? The rule? I just show... So this is a two-dimensional version of the same rule that I showed that you take some neighborhood and then we can argue about the actual shape of the circle or square and these are just technical things. But roughly that's what's happening. Now analytically, if you want to think of this, it's very important to understand the difference with the traditional analysis of algorithms. You have to think as things acting in phase space. And this really is something people in the dynamical system are very, very familiar with, but we don't do that. So let me explain what I mean by this. So let's go back to the one-dimensional model. So I have n agents, so n points. So think of this as a point in n dimension. This is a point in n dimensions. And all these different rules, what they end up doing is partitioning space through a bunch of cells within which you have the same stochastic matrix that kicks in. As long as you are in this thing, you have the same averaging rule that kicks in. And so you have these continuities and that's what makes it interesting. And now when the system acts on the initial position, what happens is that this guy will move somewhere. And now it moves and then it moves somewhere else. And then it moves. And every time it moves, it applies this matrix to go to the next. And this goes on forever. And the question is, we know what happens to it. So to follow the trajectory of the orbit of one point, that's the way we think in algorithms. But this will get you nowhere. You can stare at this for six months, for six years. You cannot prove it's periodic by just looking at this picture or looking at this framework. You have to think holistically. And before I get to this, let me just say at least some intuition between chaotic and periodic. There's a huge range. But there's some basic intuition that I think helps people who work in this field, which is the following. So I'm not going to give you a theorem here. It's a rule of thumb that if you take the pre-images of this discontinuity, so the discontinuity is between these stochastic matrices, take the pre-images of this. Okay, work can come from. I just try drawing this and see what it looks like. But if it looks like this, and eventually it becomes dense, chances are it's going to be chaotic. This is not a theorem, okay? But chances are it's going to be chaotic. On the other hand, if those guys, this is an infinite set of lines here, but if they tend to cluster around a smaller number of spaghetti that tend to have just some directions, then chances are it will be periodic. In this particular case, that's what happens with measure one. It's stronger than measure one. I mean, it's where it does not happen is a counter set. So it's not just measure zero. It's much less than that. Rationals are measure zero, but they're much bigger than a counter set. So that's what they form. So it's a very rare event. But still, analytically, that rare event is what drives the entire work. You cannot say, I'll just ignore it, but the actual proof really has to focus on that, because that is where the nightmare can happen. Okay, so you're taking parameters depending on your using discrete time. Yes. So if you used continuous time, you wouldn't have it. Can I conversely assume with continuous time you won't get... No, you would still have the issue of what you do when somebody falls straight on the thing. So yeah, you will have a flow that will bifurcate gently. Yes, whereas here it's kind of... So there are continuous versions of all of these things, and they always end up more or less with the same results. So I guess I'm rushing things a little bit because I want to cover maybe too many things, and so I apologize if you think I'm just rushing through this. But I think so far things are pretty simple. So an interesting notion is what's called a coding. You know, you do what's called symbolic dynamics where you try to get something discrete out of this continuum. And so, in particular, these regions are labeled so you can form a language. It's the language of possible orbits with the words. So you get these words, but simply following where you get. So you get A, D, then you get C, then you get E, then you get D, then you get something like F. You see, I'm just writing this word by just following the trajectory of this guy, and this goes on forever. And maybe it'll become periodic at some point. I don't know. Maybe not. Who knows? Maybe I'll get Macbeth. I don't know. And so I can encode this in a tree. This is the coding tree, and it's an infinite tree, and it defines a language. Fine. So this tree must be useful because this tree's not telling me really lots of things that happen. But this tree is only part of the story. You cannot just do symbolic dynamics. You actually have to respect the geometry. And now, this tree really has a geometric incarnation. Think about it. So this is the tree, and I have retraced the path which corresponded to this word. Here. So why is this a geometric entity? Well, think of this as time here, and think of slices. So these are discrete times. So you would have slices. And if you take a slice for a fixed time, you get all of face space, and there will be subdivisions. And these will be these tubes. As they cut across, they take a tree and just slice it, and every slice will tell you what happens. Now, this tree, you understand, these trees as a geometric object contains everything. I mean, it's like the partition function. It has everything. There's not a single fact about the dynamical system that's not encoded in this tree. If you understand this geometric object, the geometry matters, you understand everything about it. So we almost never do this in computer science. Like we almost never think of some sad solver and just think of the geometry of all possibilities on all possible and where it goes. Maybe it's for low bounds sometimes. Actually, we have to think like this. But this is not something that we do routinely, and this is for upper bounds here. But here you have to do it. So let me not get into why you have to do it. But anyway, this is a very complex object. This itself will be a cantor set, by the way, it'll be like a fractal. It'll go into... But there's certain things you have to know about it if you want to prove that it's chaotic or it's periodic. So there's certain parameters. Some, I think, obviously are important. For example, why is the branching? How fast does it branch out? So that's what's called the word entropy that will measure that. It's roughly the entropy of that language that we have. So it's a discrete quantity. But the other one is geometric. It's the thinning rate. These tubes will thin out. They will get thinner and thinner as they go down. Just like trees outside on the campus here. Things get thinner. And you want to know how quickly that happens. This is a convergence rate. Now, why the thinned down? There's another basic principle that you have to think of this system as a sort of dissipative thing where all the eigenvalues are less than one. And so are at most one. Actually, they can be one, unfortunately. But it's helpful, or at least I find it very helpful, to have a physical analogy with the springs. This thing has springs and it oscillates. And these springs are one way. So it's hard to think of this because this could be a directed graph. So you have to think of a spring that acts only on one side, like a violet's Newton and so on. But at least I think in your mind you can think of this. And that's the reason why things are thinned down. The branching is pretty obvious. I mean, think of this not as a point but take a little ball and just follow it. And if you're not lucky, this is going to hit in the middle. So this will split. And then this will split and you kind of hope this is not going to happen too often. Anyway, so you have the entropy that you'd like to get a hold on and then you've got this thinning thing that you want to get a hold on. So you need tools to do that. These are really complicated objects. So this is the part where I think algorithms play a big role. So here's the way I'm going to do it. I'm going to write an arithmetic expression that generates this tree. Entirely. With the whole geometry. And this arithmetic expression will bring in a special language. I will describe briefly just now. So I will invent some kind of language with primitives and there will be arithmetic expressions. The variables will be simple coding trees. There are some special cases that I can do directly. For example, if you have two agents, one agent is even easier. But there are some other cases that actually are easy. That you can simply do directly. So this will be your primitive and then you will build arithmetic expressions which are constructions like Lego toys that you just built on top of that. Now these operations, I won't go into this, but there are two major kinds. There are sort of tensor product kinds. There's direct sum and direct product. And then there are renormalization group types. So in statistical mechanics, renormalization is one of the biggest success stories of the second half of the 20th century. And that's really sort of scaling technique that's extremely powerful. So this is really the inspiration for this which is basically how you can recursively cut down this into sub-problems and find a way of plugging in sub-problems together. So you have all these five operations and then for example this is possibly an expression and this will generate some kind of tree. Now there are two questions with this. One is how do we find this expression? And number two is why are we doing this? Let me answer the last question first. Why we're doing this, well there's a good reason for doing this is because once I have the arithmetic expression I can look at it, I can just scan it and just like parse it, you know, and then I can make inferences because I have a dictionary and the dictionary tells me for each operation it's effect on the word entropy and on the thinning rate. So if you're combining, you know, think of these operations as combining trees together in various ways. And it tells me that if I know everything about Dan's tree, I know everything about Yuri's tree and you guys get combined in some tensor product, I will know something about the results. So that's why this arithmetic expression is very useful, is extremely important. But the most interesting part is this. How do we find this arithmetic expression? So see, this is not a question where you just sit down, look at the system, just write down what you think is right. No, you cannot do this. You need a compiler to do that. You see, this is not something that it's compiled by a flow algorithm and here's what I mean. Now let's go back to the original scenario. So we talk to each other and we exchange information and then this information influences us. Now let's distinguish two different things with information. One is symmetric and the other is syntactical. Syntactical is like Google, is who gets to be influenced by me if I talk to Dan and then talk to Yuri. So we can kind of monitor the spreading of the syntactical spreading of information. The second part is symmetric, is what do you do with it? What do you add it? Do you average it? I don't know what to actually do with it. So the flow algorithm is only syntactical. It's like Google, if you will. So let me give you a quick summary of the way it would work. I would take a random agent like me and then I would see what happens to me. So if I talk to Dan, here's what will have the convention just as an image. I have wet hands and everybody has dry hands. So when I talk to Dan, I shake his hand. This is just part of the protocol. We belong to some secret society. So I shake his hand and now his hand is wet. When he talks to Yuri, now Yuri's hand becomes wet. So wetness spreads out. And now I can ask the question, suppose at some point everybody gets wet. Well, if that happens, maybe it won't happen, but if that happens, let me stop that right there and dry everybody's hand. And then let's start again. Or it could be that at some point only this group gets wet and this other group will never get wet. Well, you can wait infinity. They will never, because there's a cut. And the cut is over time. It's not just a cut in the graph. It's over time. In which case I can recursively break things into separate things. Even though one has to be careful, communication, it means that they don't get wet. It means communication does not go from here to here. But communication could be from there to there. So if they become wet, they could spread their wetness to us, but not the unaware one. So this water has to have a different color. Maybe my color is going to be red and Uri's color is going to be green and Uri's color is going to be yellow so that we know who is spreading what. So that algorithm is a flow algorithm. It monitors these magic times. All these times when everybody at some point gets to be informed by me, what is the first time that happens? And all these times are used, are compiled into the arithmetic expression. So this is the case where really the entire analysis relies on an actual, it's not a max flow algorithm, but it's an algorithm of that kind where you just have things go around, monitor how information goes. So it's a proof that's really algorithmic, which is, I guess, the point of my talk. To some extent. Let me check the time because yeah, so that was opinion dynamics, yeah. So how can I change the spirit of this workshop's smooth analysis if each operation happens with some noise? Yes, so I see, so there's worst case and then we go beyond worst case. So that would be average where you take some kind of averaging and you still get a number. Then there's smoothness. Where you pick anybody, even adversarily and then you just go around, okay. In here, you need to go beyond that because you need to make topological statement about the entire, this geometric body that is built by the action of the system over the entire phase space. That thing, you have to make topological statement about it. And so if you simply do some smooth thing on a given, so basically you have a thickened orbit, that alone will not tell you anything to prove the theorem. It has to be entirely holistic. And I know we're not used to this because in fact, automata periodicity is going to trigger. It's a pumping lemma thing. It describes at some point you hit yourself again and that's it, you're periodic. But here it's continuous so things are very subtle. You could get closer and closer and closer and at some point you guys happen to fork out because you're unlucky. So that's why you need a completely global view of things or at least that's the way I convinced myself, okay, maybe you can find it differently. Okay, sync, so this work is in reverse chronological order but sync is, so if you're a physics 101 or something, maybe you've seen this experiment. I have two cans of Coke, although I think it works with Pepsi too, but so you have two metronomes and they start in random phases. The phases are not the same, they're not synchronized, but if you wait long enough, not very long, then they will become perfectly synchronized. Now, it's important this would be wood and this would be, if you hold it with your hands, this is not going to work. They will not synchronize. So they have to be on some kind of like a musical instrument, you know, like this. It's boring because they talk to each other and they have to be able to talk to each other. Now, this is ancient. I mean, this was discovered and understood hundreds of years ago. There's no mystery here. But the point is, so these are three couple oscillators and they talk through a network. And the network is a complete graph, but there are weights. I mean, obviously there's more communication between these two guys than between these things. So there's a little graph, which never changes and anyway, that's what happens. Now this composer, this late composer, Hungarian composer Ligeti, you can check this on YouTube. It's a concerto for metronomes. He has a hundred of them. And then he goes, and sees they synchronize because of this theory. Then the music, well, I thought music is noise, but the noise would be kind of interesting. You should check it out. Anyway, so there the communication network is more complicated, but it's fixed. Now I'm interested in networks that change all the time, but change over time. And so, now this is a good example. This is ancient, so this is a firefly and there's this amazing story, Sir Francis Drake. Now this guy lived a long time ago, like 16th century, just went around the world and he went to, this was near Thailand and he reported in his diary and in his letters something totally amazing. He said, I was standing there on the hill and then I saw this thing. There's a river and I saw over two or three miles it was covered with fireflies and they start flashing and very quickly they all flashed in unison. Over miles, how do they know it? It seems inconceivable. How can they possibly know that two miles apart they flashed exactly in unison? How do they do it? It was so amazing that nobody believed they thought he was drunk, which was not an absurd inference to make because he was always drunk. But you can be drunk and tell the truth. That's the thing. So there's a very nice model by several people but Mohl I think is the most general nicest model to capture this sort of situation. Now this is a very simple model but every time I've explained it I've always failed. I've always had the most amazing question like for example, when you say arbitrary what do you mean? So let me try it again here and let's see. Let's see if this audience measures up. So you have an arbitrary sequence of n-graph, nodes, it's infinite. These are undirected. And there's an arbitrary embedding of the first one. So the first graph is embedded in some metric space. It's arbitrary. Now here's what I do. In parallel I take each node like this one so I take one but I take all of them in parallel but I will explain to you what I do on one and then you can picture what I do. I take the neighbors and then I take the convex hull of the neighbors and I shrink it a tiny bit by a factor of one minus rho. I think of rho as very small, like one percent but rho is very important, it cannot be zero and you shrink it just a tiny bit and then this guy moves anywhere and I mean anywhere, that's also a word that people have trouble with. Anywhere, anywhere, arbitrary, anywhere and you repeat for each node in parallel. That's step one. And then you do step two so that's what happens. Who is...Sesh, are you blown away by this? Okay, good. So now you take your second graph. Remember you have an infinite sequence of graphs. Take your second graph. It's arbitrary graph. The graphs don't have to be given ahead of time. They could come up. No, they're arbitrary. Yeah, same number of nodes. Labeled nodes. Same nodes. Same nodes. The nodes are labeled and they're the same. So they're like those people in this room. Okay, there are an identity that's... And you do the same thing and you repeat. And you repeat forever. Again. And on and on and on and on forever. Forever also means like, you know, these universal quantifiers are very difficult. It moves for all time. So let's make sure we understand it. It's highly non-deterministic. It's for any graph sequence, any initial embedding, and any moves. Okay. And now what happens? It doesn't matter. This always converges. So I'll answer your question. It always converges. And the rate can be bounded optimally. Okay, and so convergence means what? Actually things might never stop moving. I mean here they stop moving because my PowerPoint skills don't allow me to have them move forever. But what really happens is they get closer and closer. So convergence means that for any epsilon, you can wait some time, T of epsilon, and then they'll all be within some ball of radius epsilon, and they will never move away from that, ever. Okay? So that's convergence. You're happy with that. So if you think dual, yes. No, no, no, no, no, no. That would be consensus. It might happen or not. But it does not have to be the case. It could be this. Like there are three clusters. Yeah, yeah, yeah. And Dan has papers actually given all sorts of necessary sufficient conditions to get consensus. And I highly recommend these papers. But here I don't insist on consensus. I don't care. Convergence will always happen anyway. Okay? And if you think dualy, and I'll explain later what I mean by that. But if you think dualy, this is a random walk over graphs that change all the time. So think of a standard random walk, but not just imagining that every step somebody changes the graph. And put some edges and just continues like this. And this goes on infinitely. Can you make statements about it? This is exactly the dual. But it really means it is the same thing. Okay? So in particular, any theory that handles what I'm talking about will have to subsume all of Markov chain theory as a sub-case. It just has to because you can simply map any problem this. So, okay, so just so you keep this in mind. In particular, you should be able to rediscover six theorems of Markov chain out of this if you're gonna go anywhere. So the total s energy will do that. So let me define a function, a generating function that I think is very useful for networks. People in networks maybe should try to see whether they can use this thing. So at any step you have this graph, and this graph is embedded in space. Okay? It lives in some space. So there's a distance. So you can look at the distance between xi and xj. So what you do? Take the L2 distance between the length of the edges. So take the length of the edge, raise it to the power s. So s is a parameter. And just sum that up over all time. It's as dumb as it gets. You just take the edge, take the length, and you take the power s, and then you just add it up and see what happens. Okay? Forever. Now, this is not a very promising function. After all, when e of zero, when you think about it, e of zero is the total number of edges, which is going to be most likely infinite. I mean, it does not have to be infinite, but let's face it, most likely it's going to be infinite. Yeah. It's just the sum of all. The Laplacian, I mean, the quadratic form of the Laplacian would be the particular case s equals 2. And there would be no t here. There would be no sum here. Yeah? So we're taking the Laplacian with different powers and summing over all times. Summing over all times sounds dangerous because why should this thing converge? Now, this follows a parallel that's easy to see, so you can always assume that it lives in a unique cube forever. This is a convex process. It will never expand. And I showed this that for s equals 1, this is the bound, and for s between 0 and 1, now these are the only interesting cases. Level 0, 1 is really the interesting case. Outside of this, it's stupid. Now, this is optimal, but this is, I don't know, but I don't think it is. I suspect that this should not be n squared. It should be better. It should be n. So that's an open question, I think, whether you can improve this. I think, well, I can't, but you should work on it and do it. Now, from this, from this, you can have convergence bounds. For the same reason, these are like turn-off bounds when you think about it. It's just a generating function, and it just gives you a concentration of bounds, and so it's not a surprise that you could get convergence bounds, like pretty strong convergence bounds from such something like that. And then you can apply then to all these applications. The firefly thing falls within a family of systems called Kuramoto sync systems, and so on. Now, to pursue the Markov chain analogy, it's not such a thing as a reversible agreement system. Reversible Markov chains are very important and very relevant in practice. And there's an easy answer. I won't define what it is, but you can define one, and sure enough, it's much smaller, and that's optimal. So in particular, the reversible systems have much lower s energy. So this is the s energy, it's polynomial, and the other is exponential. And from this, you can retrieve the standard mixing rates of pretty much any graph you want. So you can retrieve all the things about, for example, what the mixing rate is polynomial for. Erotic, random process, things like that. I mean, as you should, because there's no miracle, it should have this. Now, if you look at the total s energy as an analytical object, then you can ask some interesting questions. First of all, you can see it's not going to be easy, because, for example, take the graph with two nodes. The same graph, graph never changes. It couldn't be simpler than that. But let's say the length is whatever k. Then you get Riemann-Zetter function right there. So this is not going to be the easiest thing. However you can show, because this is what's called a Dirichlet series, generalized Dirichlet series, it has an inverse formula, and in fact, it is a generating function. For me, a generating function is an object that allows you to invert. It does not lose information, and this does not lose information. This actually encodes all the lengths of all the edges over all time. You can retrieve all that. Pretty remarkable. Just from this EOS. So it is a lossless encoding, and now you can pair one with a... Now, there are some reasons why you might want to look over the complex plane what happens. I mean, I was talking with Nati Linio who suggested there's probably a functional equation hiding somewhere there. So I briefly said something that would be very quick. In general, this function does not have annulity continuation over the whole plane. There's no way. It's much too arbitrary. However, that conjecture is that if you look at the worst cases, remember, the graph sequence is arbitrary. So there's a worst possible sequence. That work because it's all compact. So that worst sequence I conjecture has annulity continuation, and then probably has a functional equation. So I prove this for N equals 2. Okay, so by induction it has to be true. So why is the total s energy useful? I'm going to use some intuition why this is actually a useful thing. And it's easy to have simple intuition, I think, for what this is doing. So there's a whole body of literature in their books written on products of stochastic matrices. Standard random walk on a graph is a product of one. You take powers of a fixed matrix. But what if you change these matrices? They're stochastic matrices, but you just... So what can you say about those animals? When do they converge? When you multiply from the left or from the right? Is it the same? Is it different? So there's a whole thing that you can say. It's a very rich body of literature, but in my... and maybe Dan will contradict me, but at least my experience is that virtually all the techniques have a similar thread. They have a common thread. Even though some of them are very, very different. It's a very rich body of literature. There are many ways you can attack these animals. But they all have one common thread, which is the following. So that's how I generalize what's going on here. Take one such matrix. It's n by n. It's a stochastic matrix. Look at a row and think of this as a point in four space. A point in R4. There it is. You can do the same thing with the second row and the third row. So you get four points. In four space. You can take the convex hull of that. Take the convex hull of that. Some points might be inside. So you get a convex polytope that's associated with the matrix. Let's p1. It's very simple to see. It's completely elementary to see that when you multiply p2 there's a third polytope. There's a polytope corresponding to p2p1. Polytope fits inside this one. It always does. That's just a fact of life. That convexity always fits inside. The question is, does it fit snugly or does it fit tightly, liberally? It seems to me that virtually every approach multiplies those things and so those things are getting smaller because they're Russian dolls. They have to fit. When you take the next product, it has to fit inside the previous one. You may have to rotate it, though, to fit it. So these are Russian dolls. We want to show this. Russian dolls converge very quickly. How do we do this? There are many ways. We can measure the volume. Maybe we can measure the diameter and argue that these things shrink. Maybe we can measure all sorts of things. We can make a closing box. Some average of these quantities I just mentioned, some weighted things. So you have all these different quantities. Some are algebraic, expectable, gas, but others are more geometric and so on. And these are all these sort of yet no functions like animals. We just try to capture how this shrinks. But notice these are all local operations. They simply tell you from here to here this is the progress you're going to make. These are local statements. So what happens is for a long time there's no progress at all. And then there's a lot of progress. You see, this is for every step the following has to happen. It's a very strong, very strong statement. Think when you prove convergence of mixing things from Markov chains. Think about it. Your statement is always from t to t plus 1, here's what must happen. Deconversion is always monotone as a function of the eigenvalues. So this is too strong. When you fix s, this is a statement about the entire trajectory. This entire shrinking process, this entire function integrates something of that by taking some moment. And you fix s. So s is like a temperature. I mean, you can actually draw the equivalent of the temperature. It's like a partition function if you know a bit about statistical physics. And then you can set the temperature and basically get this kind of moment that will tell you. So what you will do is really pick the right s. Just when you look, turn off bounds at some point, there's a parameter there, lambda. And at some point, you fix the lambda. Well, that's the temperature that you fix to be, that's s here to be what you think it should be. Okay, so the proof actually is an algorithm. The proof is very much like those, you know, Tartan Slater potential credit democratization. I mean, that's why physics is crazy. I mean, I know about Tartan and say, oh, yeah, this all comes from physics. But you should know how much they hate those things. Actually, this is a joke. Let's get out of your proof. If you have a bag and piggy bags. I mean, you call this a proof. I mean, these are physicists, physicists who invented the concept of a physics proof where physics proof is polite English for no proof. And so anyway, the third, bird flocking, which is where I got started into this and I'm totally fascinated by bird flocking. It's just one of those amazing algorithms I've ever seen. So I was sitting in this, and personally there's this guy, Ian Cousin, who is like the real expert on that. And he was giving a talk. I was just there by accident. And I knew there would be nice pictures like this. And he gave this entire talk for an hour and I thought this is unbelievable. He just gave an algorithm's talk. He never mentioned the word algorithm. But everything on this slide is an algorithm's after algorithms. And so this is just, wait a minute, there's something wrong here. I should be talking to this guy. And so bird flocking, so look at this picture. I mean, this video. This is in England. There are a few places in the world with these hospitals, but not too many. And so what you have here, it's near Oxford and you have starlings. I don't know the birds, starlings. They have about half a million of them. They have something. They start this ballet, this dance. And nobody really knows for sure what's going on. Why? I think maybe it's like kids before they go to bed. They have to run around and then just cuck out. And so after this, they will sleep in the trees. And now you notice something where you would not notice. But people who have observed this have never noticed a collision. This is the birthday paradox unproved. It's probably a refutation of the birthday paradox. I mean, you believe in the birthday paradox, but the paradox is false. And on the other hand, just imagine if these were airplanes and you were actually in one of them, I think you would believe in the birthday paradox. I think you would there. So now you can see this is like, depending on what hat you're wearing, you're going to interpret this very differently. If you're a physicist, you might look at mechanics, fluid mechanics, you might look at gas, you might look at water. But my point is we should look at this as agents. Everybody here is a little agent with certain rules and it's a distributed algorithm. And that's it. You understand what's going on. So what's also remarkable about Bert's flocking is that there are three rules that Reynolds gave way, way back. It's a virtual reality. And when you look at the Pixar movies and so on, and you see birds flocking, these are all artificial things like that. And they've passed the Turing test. They passed the Turing test a long time ago. In the following sense, humans cannot tell the difference. I mean, they will tell you, they will show you real birds flocking and the fake ones. And it's 50%. You cannot tell the difference. That's not true in graphics of almost anything else. The food. You can still tell that it's fake. So nobody really knows why that's true. The only three rules why this is so visually so accurate for humans. Maybe it's because we humans don't know anything about birds and maybe birds would laugh their heads off. If there's such a... Wait, you think this is us? Are you completely nuts? But maybe we're just blind. So this model takes only one rule out of three. It's important of the three. So it's even simplified. So what it does roughly is just take every bird and looks within a certain ball of certain radius and just decides to build this graph like this. So there's this temporal communication network which will change over time. And what happens is that a bird has a velocity and the vector will be averaged. So now you average the vector and then you move. It does not fit the previous framework because the network is not a function it's a function of time but the state variable is the velocity and the network is not a function of the velocity. The network is a function of the integral of the velocity which really means it's really not Markovian in a strong sense. Sometimes this is more difficult actually but what makes it easier is when you assume that the graph is not undirected. I show that flocking always converges and in the past it was proved that it converged under assumptions. Assumptions that were, in my view, totally unreasonable. The assumptions pretty much assume that if you assume it converges but the assumption was unverifiable. The assumption would be let's assume that this graph will be connected infinitely often but how do you know that? That really is the whole point. You cannot assume that. Here's what happens. They fly, they fly, they fly, they fly and at some point they merge into flux and then they all go into the merry ways and they diverge and each flux the graph now is constant would not change. This always happens like that. The timeline, this is the worst case timeline this is not beyond worst case it takes a very long time for those things to happen in the worst case but this is optimal. We're computer scientists and I think we should not of course birds don't take that time but that's not the argument. I think it's silly to have to address that problem. Of course it's not true but I think the point is this that the approach is to look at these birds as a computer. These velocities are numbers and they're just compute numbers and you want to know what can they compute the function of that computer. This is the biggest number it can compute and it cannot compute anything bigger than that. This is not a very common function. Towers of two is but height of log n, uh-uh, no. And I spend enough time with Ackerman to know that the life in that family and this is not common. So there are a lot of techniques that go actually into proving this thing that I think are really very intriguing like the spectral shift but I don't have time to talk about this because I know I can see I'm running out of time. I'll just mention one quick thing and some intuition about five minutes about the geometry and so just something about the geometry that I think is kind of neat that I can describe in a few minutes. Now here's what happens. Any bird it'd be very nice to say that any given bird or maybe there's some bird that flies kind of straight all the time and the other might be spiraling around but one maybe will go, but that's not true. That's just not true. However, here's what is true. Now suppose that there's a baton. You see birds now carry a baton. There's only one of them. There's just one baton and the bird carry the baton in a beak or something like that and he can pass the baton to anybody that's within its ranch. So if I'm flying within the same ranch as that I can pass the baton to Dan and then maybe he can pass it on to this is also non-deterministic. You can pass it on to anybody you want. So I'm not defining an algorithm. I'm defining a language in which you can decide what algorithm you want and the question is to know that so it can do that or it can do that and it can do this or it can do that. All right. Now here's the problem. Here's the question. Well, actually this is not a question. This is a statement, but so the statement is this. There exists a baton passing protocol that keeps the baton almost straight. So this is really weird. We have all these birds that just go around like crazy. If they hold this baton the birds, if they're smart they could coordinate in such a way that they pass the baton in a very clever way that ensures that the baton goes almost straight. Not quite straight but almost straight means there's a baton on the curvature. So the curvature of where the baton can go is very, very low. So now this is just geometry and this is crucial to proving and the most disappointing thing about all the literature on bird flogging and this is huge. I mean this is really gigantic. There's virtually no geometry and I find this just appalling that all these physicists and so they don't believe in geometry. I mean so birds are just algebraic objects trading eigenvalues when they go or they have phase transitions and they have all these bizarro things but they never actually live in space you know and then I don't know I just find that very frightening but so anyway so some parting words which is this so the first century I think most people would agree with the science of the triumph of the sciences of the equation you can write on one notebook a set of equations that will describe 9% of what's going on around which is just astonishing and Wigner said well this was mentioned earlier the Wigner thing by several people actually but not directly but they were a variant of that the unreasonable effectiveness of mathematics in the physical sciences so he didn't say that actually he should have said that but he did not he actually said something else he said the unreasonable effectiveness of mathematics in the natural sciences and I disagree with that that's just not true I think in fact that if you look at the modern sciences which concern most of what we're talking about here the neuroscience or networks interactions between agents all these messy things require expressive languages to be able to there's not going to be any equation that simply solve this equation and pretty much you'll know how this social network is going to evolve or how the brain is going to work I don't think we need to find the equation and then we'll be safe we'll use that and so maybe it's now the sciences what's happening now is the sciences of the computer so there will be mathematics and there will be lab experiments and there will be the computer that does the computation the numerics and the simulation I don't believe that either I actually think it will be the sciences of the algorithm because the new equations and algorithms are more expressive equations it's just a different language and I think that's the kind of language that we need to understand but we need tools and that's really what I've been talking about so again I want to thank Tim and Luca for this wonderful workshop thanks guys gone Ben so I'm thinking you need something else in your model for this workshop so I'm imagining birds watching I'm thinking my god whose humans move in their cars in straight lines and they all suddenly take these right turns how do they figure out when to do that maybe the birds don't know we're following roads so conversely look for roads the birds are following no no no I mean so I think if I understand what you're saying we're asking how do you model the data but here I'm asking how do you model the algorithm I mean so the reason for words flocking is because visually it looks good but some other areas even visually it does not look good and so the question I think if I understand what Ben is saying is how do we actually find the algorithm that the birds are and that to me is one of the key questions well I don't know about the powers of two in convergence but maybe if they're following you know for all I know the wind corresponds to roads or something but the again I mean the power of two I mean one thing this word sketch approach I mean some of you have mentioned it but that's very true when you solve a problem first you have to solve the easiest question first you don't start with the hardest question worst case often is the easiest question and the reason you have to answer it is because it builds an understanding and then you can go in with the more complex things so this silly power of two and so on of each song is useless but then maybe not yet more tools and we can build and build more the question of getting the algorithm right I think is really fundamental and but I think some of the ideas that we heard from Kevin and others about how we can maybe use machine learning to actually come up with the right algorithm that's not as simplistic as that and might be something useful and I mean I'm very lucky that I'm Princeton the people who work in biology on birds and they're actually physicists are not honest like that but it's very pleasant but sometimes there are cultural difficulties and I'm sure that there are some cultural difficulties where many people speak the same language and interests are different with people across the world but I think yes it's pretty worth is there anything beyond this fix our test so I mean one very nice thing about this model you said humans really can't tell even this very simple model without roads in the air is there any like further experimental justification yes so there are yes so so in the spirit of worst case and we had this conversation about dinner or something like this but somebody set up like biologists who work on these things what is the metric and the metric is entirely driven by evolution and then since evolution after all is a very complex thing it's itself a meta principle there's no metric embedded in evolution per se and you have to say specifically specifically they say energy so in particular here's what they will do they will say that they will measure the energy by like they don't this for fireflies I mean for a fruit fly sorry so there's a theorem these biologists have a theorem and the theorem is that the fruit fly has evolved optimally as long as the shape of the wing is not going to change many the shape is better shape of the wing but let's say the shape of the wing condition on having that shape of the wing it flies perfectly and so in that sense they analyze all possible either of them they could fly but literally every possible algorithm that they could use to fly and then they measure the energy the criteria is the energy and firefly I mean fruit flies spend the least amount of energy now some people criticize that and say well I think survival which is evolution has to do with energy it has many other criteria that have nothing to do with energy you know what makes fire produce more energy is important but there are other factors as well and so there are two it's not entirely sure that they've got that approach completely right but at least I think in that sense they can approve low amounts over all algorithms this is the optimal way they have figured out and that is the entire metric they classify birds according to on the evolutionary scales this bird in a million years will be much better in a million years it will be the same and that's pretty much how it is completely it's like us I mean I think the PNP they really have this hierarchy in that sense so I see you know this argument of the strengthening of politics leading to convergence and your picture shows you come into the bird somehow didn't hit each other are there any mechanism and theory you can just prove that of evolution not only they didn't destabilize but also so the people who I mean I personally there's a whole department basically that works on this stage and so I asked them I said could you build there's an aerospace engineering department and could you build models that could do that and they just laughed and they said there's no way we could build a motor technology with materials to do anything without crashing but actually this is what they get money from the Air Force in fact to study this and something else I've even mentioned which is also heavily studied are these organic theoretic things so I think this is really directly relevant to learning which is these evade pursuit games so these are two different species of birds one is trying to eat the other and they're just flying and just you can imagine two Jets flying and just flying and now there's learning going on because the one being evading, being chased has to make predictions as to where the other one is going to go and vice versa so they actually want to understand the game theory going on between these two guys and so again they accomplish things which from the engineering point of view are irreproducible and we have no clue how we could actually build things so again if you have a million years to evolve with a trillion agents you have a leg up on the competition but even with these like simple the one rule the simulations have we just average the velocities what are the collisions like in that what are the collisions no yes yes so that's why for the Pixar people so one of these three rules is a potential that goes to infinity if I get too close to that this potential will simply drive someone will have these because otherwise they don't have collisions but again to go back to the algorithmic aspect of it so the question is normally how do we find these these algorithms but also where are they in the bird in birds don't go to find school they just know how to do this thing so it must be somewhere the atoms it's over in there so where so there's been interesting research on migration birds migrating and now they know for a fact that's part of the migration planning so say you have birds that fly from northern Germany to Africa and they fly to the same force in fact they land on the same tree in Africa and what can happen so they go as a family but here's what could happen is that you take one chick, one baby bird away from the family and then you clone it with some other bird of a different species and then you take a bird chick and that chick will go to Africa so clearly clearly something about a map from journey to Africa is in the DNA at some somewhere something and how much is encoded, how is it encoded but there you have the evidence that how the other birds will never go to so there's a control of course you try the non the random bird and you say to him go to Africa and he goes you know what I'm saying so random walk so that to me is even more fascinating because well they encode a map of the coastline and pass around to the show just like this but this can be from an algorithmic sample this is fascinating because just imagine for a second you can find the encoding of the map the whole GIS geographical navigation the brain is very small the spreader of the brain is really tiny so quantity maybe is not quite strong enough