 Okay, good morning everyone. I want to start by thanking the organizers for inviting me to speak here and for arranging such a stimulating meeting in such a beautiful place. And thanks to all of you for being here first thing in the morning. I'm going to tell you up front what I'm going to talk about in case you haven't had enough coffee to stay awake. This is using the take home points. I'm going to be talking about both scalable and flexible search strategies in immune systems and robot swarms. And so I'm going to draw from research areas that have actually been somewhat separate in my lab that we are actually trying to draw lessons from both systems and look at them simultaneously. And I'm actually going to focus on the ways that the immune system in particular, although it's a very complex interconnected system with all kinds of interest in communication, a lot of the collective effectiveness of the immune system actually comes from independent agents each behaving essentially on their own in a fairly intelligent way guided by the structures of the organism that's their host. And I'll talk a bit about communication in both of these systems as being critical for some parts of immune search, the kinds of search for pathogens that are looking for a needle in a haystack. Communication between cells is essential. But those cases are actually quite rare. There are a number of places where search in the immune system doesn't seem to need to be guided by communication, it seems not to be. And then I'll talk about some robot swarms that we have built with large robots in relatively small swarms of 6 to 12 agents. And we have them operate outside in the real world. And am I echoing a lot? Maybe it's okay. Everyone hear me okay? Okay. So I will talk about the way that communication can actually be quite costly in these swarms and a persistent problem that we have where recruitment actually causes all kinds of costly crowding where robots are recruited to places where there are lots of resources and spend all of their time fighting with each other to get around each other rather than collecting the resources. We'll talk about a process called site fidelity that allows exploitation of collections of resources, clusters of resources without communication. And some suggestion that maybe things in nature could be potentially driven by more deterministic algorithms but just in really noisy worlds that makes those algorithms look not so deterministic. I'll also talk about some of the engineering challenges we've had and a suggestion that structure and hierarchy could actually improve scalability. So this is a little cartoon of the immune system. And for those of you who are physicists, this is a book written by a physicist about immunology. I highly recommend it if you don't want to spend years and years understanding the names of hundreds and hundreds of different molecular pathways and things that sort of boils the immune system down into a manageable set. So this is a highly simplified view of what turned out to be dozens of cell types, many different sub-cell types of each of those cell types, all kinds of signaling molecules, state changes that mean that cells that have a particular function in one place may have a different function in another place, communication signals that actually matter differently depending on the context of where those signals are received. So it's an enormously complex system. I would actually argue that it might be the most complex system of this sort with no hierarchical control that's yet evolved for collective action. So unlike the brain, for example, which might also be a contender for most complex system, these agents are moving around in space and contacting each other in different scenarios. There's a huge number of positive and negative feedbacks. When you go to the immunology meetings, what you're struck by is that if they take this approach, this reductionist approach of studying these cells one at a time, you think in a several millennia they might get a handle on most of them, but probably still won't understand how the whole system works. On the other hand, there's intense evolutionary pressure for your immune system to work. This is the system that keeps you alive. You're all here, so your immune system is working at least to some extent. And so we're interested in kind of understanding how that works. So I'm particularly going to focus on scalability and flexibility in the immune system in the search by T cells in two different organs. So the first one is lymph nodes. So for the nonbiologists in the room, right, the lymph nodes are the things that swell up when you get sick. And they swell because lymph nodes are, some parrot calls them, dating bars of the immune system. So this is where T cells, whose job it is to identify pathogens, they go to lymph nodes. Other cells called dendritic cells have brought little bits, little protein signatures of pathogens to lymph nodes. And the T cells search through those dendritic cells in this small space where they can search more efficiently for signs of pathogens that that particular T cell may be able to recognize and kill. And so this process in the lymph node, we now can visualize the little red cells crawling around, excuse me, searching for the green cells. And so we have some sense of how T cells search there. And then there's a second search process that happens once the T cells find, match a pathogen, they simply amplify, they make more copies of themselves, and then they go off to a tissue like the lung where if you have the misfortune of getting the flu, you will have virus particles, virus infected cells. And the T cells will crawl around. So this is a little bit zoomed in and a little bit slower version of T cells crawling around on the surface of a mouse's lung. So most of these things that I will show you images of are essentially zombie tissues. So this poor mouse has its lymph nodes extracted and the tissue is kept alive while our collaborators look at it under the microscope. Or recently they're able to actually remove an entire mouse's lung and keep it alive for several hours and track T cells moving through this surface. So what's impressive about this system is that it's really big. So you have on the order of a trillion cells in your immune system, they're looking for pathogens in really different environments. I like to compare this to the way that colonies are in thousands of different ecological niches with different species adapted for those niches. But here you have the same set of cells that are essentially patrolling your liver, your lungs, your lymph nodes, and they have different search processes in each of these organs. It's been evolved, as we said, selected for cooperation among all these cell types without any kind of hierarchical control. And the movement patterns that we see differ slightly according to cues and signals and as we'll talk about structural components of the cells or of the organs. And the system is really nice. I won't talk too much about it, but we can manipulate the system and how it makes decisions reasonably easily by knocking out particular signaling pathways and seeing how it changes the behavior of the cells. So decisions here aren't made by brains, but by pretty simple signaling molecules. So what I had to draw through my attention to the immune system is its scalability. So again, we're talking about trillions of cells. And immune systems are unusual in that they seem to be equally effective in large and small animals. And this is unusual in biology. I will just talk about this in one slide, even though it's one of my favorite topics. And that is, in biology, almost always bigger means slower. So the graph there is showing heartbeats per minute in a mouse versus an elephant. And there's a very predictable linear on a log log plot, a predictable power law relationship between the rate at which things happen in organisms and their size. So mice are about 10,000 times smaller than humans. And everything in a mouse is about 10 times faster than it is in a human and about 40 times faster than it is in an elephant. And that is all kinds of physiological rates, gestation times, lifespan, all sorts of things. Mice live fast and die young. And this is explained by work, actually, by physicists and some work that we've done based on the centralized transport through the cardiovascular network. In contrast, immune response is about the same in mice and humans and elephants. So it's approximately scale and variant. There's one figure there that's showing just this scatterplot versus size that the immune system, which should be, if it were like everything else, about 10 times slower than a human, appears from all the data that's been gathered to be about the same in a human and a mouse. And so one of the questions that we're interested in is, what is it the immune system's doing to escape this constraint that seems to constrain dozens of other physiological rates? And so I'm going to talk primarily about just one piece of this, but I'll touch on three explanations. And all of these are driven really by what is sort of a decentralized or at least partially decentralized search system. So the immune system has to act locally. There's all of these local communicative events between cells. But it's really got to protect the whole system. And this is enabled by negative selection. So this is the idea that your T cells, for example, these are lymphocytes, again, that are killing infected cells, are trained in the thymus to recognize yourself cells. And then they're allowed to go off into the tissues and search for anything that is not you. And so they can do this without checking in with any central authority. They can act independently. And so a question that I'm interested in is, how do these nearly independent cells create an effective collective response? And so the first piece of this that we'll talk about is how the T cells actually search in lymph nodes. And so this, again, is this process. Essentially, T cells are labeled, in this case, red from a particular mouse, taken from that mouse, put it into another mouse where they are attracted to the lymph node. And then the lymph node is pulled out so we can make these movies and then track individual cells to see how they move. And our first question about this was that now we've got this group of T cells. So following this space, more or less, each T cell is looking for a unique signature. And so how should they search? And there are two hypotheses out in the literature. First, that they're searching by just simple Brownian motion. So the vast majority of immune system models assume that T cells are moving by Brownian motion, probably just based on the simplicity of the idea, not necessarily the intelligence of the search. So this would be like you lose your keys and you're looking for them in your house. And Brownian motion, you're going to be repeatedly searching the same place. Like you're going to look under the couch cushions like 25 times before you look on the dresser, right? So it's not a really efficient search movement strategy, but it's what the modelers had assumed for most of the sort of modeling history of immune modeling. People have proposed that they may be doing a levy walk. And there was some evidence of this T cells moving, using a levy walk with power law distributed step sizes in the brain. The advantage of a levy walk is that it's space-filling, but it's super diffusive. So you can search a much larger area in what we're calling an extensive search rather than an intensive, repeated, thorough search of Brownian motion. And so when we look at these tracks, the black line, this is just a fit of the CDF to step length. I think it's cut off a little bit. And purple is the levy walk. Orange is what we would expect from 3D Brownian motion. And black is the real data. And it turns out, looking at lots of different data, that the log normal step distribution is a really nice fit for this data. And we see this actually in a couple of different tissues that it seems to be log norm. The step sizes seem to be log normally distributed. And it's not really a random walk when we look at the auto correlation in the turning angle of cells. Over about a period of three minutes, cells will persist in a particular direction before changing direction and losing any correlation with their previous step lengths. And this is true whether or not there's bulk flow of a lot of cells moving in the same direction. It seems that individual cells have this kind of correlated random walk or persistent motion. And so we came up with a model that kind of fit the data of motion of these cells. This is showing a bunch of modeling work that we essentially did where we took real T cell tracks. And we took modeled T cell tracks. And we asked how well various models fit the frequency of contact of T cells with their targets that they're searching for. So again, they're searching for these dendritic cells. Most of the literature had talked about T cells searching for dendritic cells and making as many different contexts as possible. But it turns out that it's also really important for T cells to repeatedly sample. One, because dendritic cells have multiple antigens that they may be displaying. And two, because they have to integrate signals. They're sort of a repeated sampling that has to happen. And it turns out this sort of zero line is what real T cells do, the number of unique contacts that they have. And our model kind of recapitulates that T cells are balancing, getting as many unique contacts as possible while simultaneously resampling cells that they've already sampled. So we're looking at this as a way that T cells are balancing thyrinus on an extent of search in the way that they just individually move through lymph nodes. But we also found evidence in looking at these T cells that they aren't just behaving independently. There are particular locations in space that we call hotspots where T cells seem to be attracted. So they appear in these places more often than expected by a statistical null model. And they change the behavior when they get there. So they tend to slow down their movement and take more torturous turns, looking like they're searching more thoroughly in these hotspots. So to ask the question of what was driving T cells to these hotspots, our first hypothesis was that these hotspots are where dendritic cells are clustered. And so to look at this, we developed a measure that we call normalized mutual information that's looking at the spatial association, essentially, of T cells with their potential target cells. This has similar results to something like appears in spatial correlation. You get the same sorts of results that basically say, when you look at T cells in the lymph node without an infection, they have almost no association with the dendritic cells that they should be sampling. They have a fairly strong association with structural cell types. So these are networks that are essentially just the structure that's keeping the lymph node together. That's its hypothesized main point, these FRCs. And also blood vessels that go through the lymph node. T cells seem to be attracted to these structural places. And so one hypothesis is that there are just particular places in space where these are being guided. And whether there's any purpose to that is somewhat unclear. OK, so just to sum up a couple of points about this particular piece of the T cell search, they're searching for these antigen-bearing dendritic cells essentially independently without much guidance in these lymph nodes. And this is a really important part of the search. This is the thing that kicks off your adaptive immunity. This is the thing that determines how long it is that you have the flu before you actually initiate a response. The T cell movement, I didn't actually show this data, but they're super diffusive. So a levee walk should be the way that you can get super diffusive motion. They're not following a levee walk, but they're following this log-normal distribution of step sizes with persistence over time. And so at least on the scale that they're searching in, they seem to be traversing the lymph node much faster than any of the models would have predicted based on Brownian motion. And so they're balancing this thoroughness and extent of search. And they seem to be physically associated with structures and not actually recruited to the cells that they should be searching for. So I'm just going to say a couple of words about other kinds of search. So some of the things that I'm saying here is that communication is often not important in the immune system cells doing their job. One place that's super important is, for example, if you have inhaled a few influenza viruses, which evidently are enough to give you the flu. And so when you inhale an influenza virus, if it infects a single cell, you have this tiny, small focus of infection that grows and spreads over time. And in that case, communication is super important. So I don't recommend you do this at home, but if you were to take your lung and spread it out over a surface area, it would be the size of a tennis court. So it's an extremely large, folded surface. And your immune system has to find something that starts off. And in fact, the estimate is, if when you get to the size of about a 5 millimeter in radius infection, your immune system, adaptive immune system, must have detected and initiated a response. And essentially, the number of T cells that are able to do this are approximately invariant across species sizes. So if you compare a human and a mouse, the human T cells have to find the pathogen, essentially find a needle in a really large haystack. And so what is thought to speed up this process is that chemokines, so chemical signals, are released at the site of infection. That chemical spreads through the lung tissue, and it causes inflammation. So inflammation is often the thing you think of as the bad thing that gives you a heart attack. It's also the good thing that makes sure that your immune cells know where there's an infection and can exit the circulatory system and begin their search. And so that communication signal reduces our estimates of how long it would take to search for this needle in a haystack from 90 days, by which time this flu for sure will have killed you down to about eight hours for this first detection event to happen. So in this case, this particular kind of search, chemical communication is super important. We also, though, sort of intrigued by what we saw in the lymph node, wanted to see how T cells actually move when they get to the lung. And it turns out that they move very similarly to the way they move in the lymph node. Their walk is best described by a log-normal distribution with this sort of correlation over a period of a few minutes in the direction that the cells are moving. But there are also these really curious things that happen called either stop-and-go or confined motion punctuated by these long stretches. So this is a particular T cell undergoing this behavior where it just stuck in one place for minutes. This is over a period of about an hour. Then it goes in a really straight line for a period of time and it stops again and it stays in this one place. And it turns out, at least in the lung, the series of behaviors that you see cells undergoing, most cells will do all of these behaviors. So it's not that there's a population of cells that searches thoroughly and another that searches using this kind of ballistic motion, but they move back and forth between this. And again, it seems that this can be explained by the way that cells are following the structure in this case, the lung. So both along the vascular and potentially along the alveoli, cells are sort of squeezed in particular directions. And so again, the physical structure of where the cells are seems to be affecting their movement. And this was kind of confirmed by blocking both chemokine, which had very little effect on actually the pattern of motion. So this chemical signaling seemed not to be determining this pattern of motion, but blocking the receptor that allows the cells to crawl on structures actually really dramatically changed the kinds of motion that we saw. OK. The last point that I'll make about the immune system is the importance of the infrastructure. So we talked about the structure at these small scales within the lung and within the lymph node. But if you look across the entire organism, there's also really important spatial structure. And to contrast with what I mentioned up front, that there are centralized networks that are essentially delivering oxygen and energy to the body. In contrast, the immune system is a fairly decentralized network in that each one of these lymph nodes, you have lots of them distributed through your body, each has sort of a draining region, and cells stay within that region. And so it's almost that it's divided your body up into various regions to parallelize the search. And there's just a little bit of flow between these important flow of cells between these lymph nodes that enable kind of a global response to infection. So there's interesting sort of unusual scaling relationships here as well. The big one being it's very well known, right? Mice have 24 lymph nodes. And humans have approximately 500. And if you look at the number of lymph nodes, it doesn't quite track the volume. So we're 10,000 times bigger, but we only have something like 20 times more lymph nodes. And each of those lymph nodes are larger and serve sort of a larger region of tissue. So as organisms scale from mice up to elephants, the structure, the size of these structures actually changes along with it. And you get all kinds of dynamic structures. So lymph nodes that essentially appear wherever you get a lung infection. And those things seem to occur more in large versus small organisms. So the role of structure in determining sort of the behavior of these T cells is something that we're seeing again and again looking at this data. So just to review this, so we're looking at this, we think, fairly efficient movement of the individual independent T cells. They're structurally guided at local and kind of global scales. And I think it's really important in understanding how the immune system works to view it as a co-evolved system, where essentially the environment of these searchers has been co-evolved with the structure that it's searching. And so a lot of the behavior of the individual agents can actually be explained by the structure that's built around them. You don't actually have to look to the agents to understand how they'll respond to particular circumstances. But it factors external to the agents that are co-evolved with the agents. So I want to switch gears and talk about how some of these things might actually translate to systems that we can build. Let's see. Looks like this movie might not play. That's OK. That's a bunch of robots driving around in front of the library at our university. So we've done some work trying to understand different foraging strategies that we can actually implement in sort of large robots that are able to traverse outdoor environments. And our first work with this was something that we called the central place foraging algorithm. And so this is an algorithm that mimics the foraging behavior of harvester ants. You'll hear more about those in the next couple of days and have already. And this is based on the idea that agents do a random walk. They search through a space. And they have sort of three interesting behaviors. One is something called, well, one is pheromone recruitment. So when an agent finds a big pile of food, it lays a pheromone trail or a virtual pheromone trail and attracts others to it. When an agent finds a small pile of food or an individual piece of food, it retrieves that piece of food and then repeatedly goes back to that site to search for more. In our models that happens, we have a genetic algorithm that we used to tune parameters for this that says what's the probability that I go and I search on my own, and I just repeatedly go back to a location and search there versus I recruit others to help. And we vary the distribution of resources. So this is a power law distribution where there's some small number of big piles and lots of small piles. And so it's important for the agents to take note to sense the number of resources in their local environment to make the decision about whether or not it's worth it to recruit other agents there or whether the agent can on its own essentially collect things from that location. And we did some work showing that if you tune those parameters to different environmental contexts that you actually collect many more resources in this task. There's not a great alternative sort of set of benchmarks that one can look at. And so we developed something that we call the distributed deterministic spiral algorithm which is just an algorithm where instead of doing this behavior that we use a simple recurrence relation the agents organize themselves into a spiral and search this space. And the only thing that they sort of borrow from the other model is this idea of psych fidelity. So if an agent finds a target it takes it back to the nest and it goes back to that location where it last was. And what's interesting there is so there's no communication. But what you do see is that agents really coalesce around this particular location where there was a large pile because agents that find food there keep returning to that spot. And because the spiral essentially means that eventually another agent is likely to get to that place fairly quickly. If it didn't it's because it found another pile along the way. And so this actually turns out to be a really elegant way to balance the sort of exploration exploitation problem without any kind of communication. So these agents in this particular model don't have any kind of they're operating entirely independently. And we actually developed that as a strong man. We didn't want that model to work very well. But, and part of the reason we thought it wouldn't work well is because it doesn't have communication. But we ran a whole series of simulations where we took a model somewhat like those Argos models and we asked how many targets could be collected in an hour by a group of agents. And we distributed the targets in different ways. So on the left we have all the targets in a single pile and each tick mark is showing the resources distributed into smaller, I'm sorry, yes into many smaller piles all the way to a uniform random distribution. And maybe not surprisingly communication is super important just like we saw with the flu when things are all clustered in a single pile. So blue up there at the top is when you have some sort of pheromone recruitment. That's how many targets you can collect. About 50% more than if you just have that site fidelity where agents go back to where they last found food. And many times more than if you just have a random walk. But as you disperse the food more pretty quickly site fidelity kind of catches up with this communication showing that it's only in really extreme conditions that you need to actually have communication among the agents. So this is a little bit of analysis of this deterministic spiral algorithm. What we were expecting to see is that this algorithm might work well if we had a really nice clean system. But as noise was introduced into the system we expected it to degrade and this more stochastic central place foraging algorithm would do better. And that's not at all what we saw. So the top panel is showing a noise coefficient that is we have both noise and detection how likely you are to pick up a target if you're on top of it. And noise and localization which is kind of evident by the way in the first square you have these kind of wiggly lines in the square because the agents don't know exactly where they are and they can't travel in a straight line. And all the way to the case where you can't even really make out that this was supposed to be a spiral so it's degraded entirely and a similar situation for the central place foraging algorithm. And what you see is that the DDSA is the top line the fraction of targets collected as a function of the noise coefficient it's always better than the stochastic algorithm. So we were surprised to see this. We didn't expect that sort of this deterministic algorithm would work really well in a noisy environment. But of course in retrospect it's pretty clear that what's happening is when every agent's path is disturbed another agent with a disturbed path is likely to come along behind it and collect what it missed. So there's sort of a factor of robustness that comes in without sort of where you might normally think that would arise from. We were able to find a situation where the DDSA prefers performs not as well this deterministic spiral and that's at large swarm sizes where large is defined as the number of agents. So if you have a large number of agents this deterministic algorithm gets into collisions where agents have particular locations where they're trying to go. They're crowded particularly at the start when they're at the nest or if there are ever large piles near the nest then you get all kinds of collision and the performance of this algorithm declines relative to that of a more stochastic algorithm that doesn't get into these problems. So with these, so we wanted to get beyond these kind of modeling and simulation results and get our hands dirty. So we wanted to build a bunch of robots and so in the last few minutes I will just tell you about the robots that we built and a competition that we run where we've now had about a thousand undergrads who have participated in what we call the NASA Swarmathon and this is a swarm robotics programming challenge where swarm is loosely defined as six agents although we're moving up to 12 this year. And so these agents, these robots are put out in an arena and it's about a 500 square meter arena. Every round we change the things that they have to search for and the obstacles that are hiding those things and we put out usually six of these robots that have to collect little April cubes that we ordered like 10,000 of from China and we have these little robots that we designed and we ship out kits to schools to build these robots and test their algorithms at home before uploading them to Kennedy Space Center at NASA. And these are kind of cheap little robots that are meant to be a little mini Mars rover but they have really, really cheap Arduinos and limited camera view. They use ultrasound and GPS. I really wish they had LiDAR but they don't and they do have an onboard Linux box though because it's really important to NASA that all of their robots run ROS because all their other robots run ROS and so we have the really unfortunate situation of trying to run a swarm robotics competition with ROS which is definitely not designed for large numbers of communicating agents. But we do have a really fun application area so NASA wants to send robots to Mars and the reason they want to send robots to Mars is because they want to send people to Mars and they don't want to pay to send all the stuff that the people need to survive and so they have whole programs researching how will people live off the land and Mars. And so the idea is that robots would arrive on the Martian surface before humans do and go out and collect resources and bring them back so they're sitting there waiting for humans when they arrive. One of the things that they actually want to collect is little pockets of ice. So it's not absolutely certain that there will be large deposits of ice where the landing site is chosen and there are small pockets of ice hidden all beneath the Martian surface and ice is of course really important so that you can melt it for water and make oxygen and then hydrogen to fuel your rocket to come back home. So I think I won't show this whole video now maybe I'll show it at the end but this kind of gives you a sense of the competition. We have dozens of NASA volunteers who have helped run this thing and our students from the University of New Mexico go and sort of set up the infrastructure and then we have teams who cheer on their robots who are really frustrated because they're not allowed to change their code. This is like code that you've sent to Mars and you have to watch it work without changing it. It's a lot of fun. Okay, so I'll just show you some results from the final run from this. So this is kind of what our arenas look like. We have robots set up there and these Mars rocks that you can thankfully buy from Amazon and obstacles, so those are obstacles. We have a number of these that are kind of scattered of these cubes, they're collecting scattered and then other ones that are hidden behind rocks and we run this both in simulation and in this physical environment. So we have sort of two levels of competition and this is our distributed algorithm working in simulation. In simulation you can see, you can make out that, yes, this is a square spiral, you can see where the obstacles are and how the robots navigate around it. You can see the green box out there is a robot that got out to the end of the arena and doesn't realize it's the edge of the arena and just spends the entire time circling the edge of the arena, not realizing that it's not getting anywhere. This is our central place foraging algorithm and the traces of individual robots in that case. And oops, let's see. So this is just showing one that we didn't get the results that we expected, so these algorithms performed more or less when we look across a lot of experiments, more or less the same, although you can see that the interesting case is the middle one, when we have resources just in four large clusters, we expected the algorithm with lots of recruitment to work best and so that's the CPFA in red. It actually worked considerably, significantly worse than the DDSA in the case that we thought it was really sort of designed for, which is collecting from clusters. Looking at the data, it is probably again because it would recruit too many robots to a particular location and they would get involved in these kind of locks and spend all their time avoiding each other rather than collecting resources. I will play, this is one of the algorithms of there were two teams that really dominated and it looks like some of these movies are not gonna play. So I might skip this one. One of these teams used this kind of spoke and wheel. Here's a sped up version of their collection. They had a very clever, it looked very much, there's one of their piles of collected cubes. The big challenge in the early part of the competition was that robots would just plow right through these cubes that they had collected, so you'd collect 30 cubes and one robot would just come really enthusiastically carrying one cube and then just plow like 20 of the cubes out of the nest. So they spent a lot of time making sure that wouldn't happen. One way that they did this is they would lift the cubes extra high every time they dropped it. So that if there were other cubes beneath it, they could actually make this little tower of cubes which worked remarkably well except for this one time. Their one corner case they didn't consider was when the robot was exactly in the center of the nest, so you could see that robot spinning in circles, knocking cubes out. Worked out okay in the end. And so this is the last video of this. This is an overhead camera showing the winning algorithm and I think this was one of the, they are actually implementing our DDSA algorithm. I don't know that you can see that they are doing anything that looks remotely like a square spiral. But what you can see, I might play this during questions, is there's a robot kind of trapped in a little bug trap, trapped between the Mars rocks and the resources. And what was really interesting is when robots were back there by themselves, this is sped up quite a few times, they would spend about 10 minutes stuck in this location. But when other robots showed up, they would essentially push them out of the arena. And when there were crowds of robots, this actually happened faster. And so wherever a robot escaped, the other robots would then follow. And so you'd get everyone sort of escaping at the same time. We thought this was really clever behavior. We talked to the team that designed the code and we looked at it. They didn't design anything to do this, right? It was just a natural kind of response to what happened with crowding. So a couple of things that we learned from this activity is that it doesn't matter what search algorithm you use until you make the robots work right. So things like properly picking up a cube, properly dropping off a cube, reasonable obstacle avoidance, all of those things really dominated who won the competition. We were really interested in what we would call apparent cooperation. So what looked like cooperative recruitment was often almost always site fidelity where individuals were just repeatedly going back to a place and others would stumble upon it and not need to be recruited. That's crowding out of a corner and stacking cubes, all of these things kind of looked, if you just looked at that aerial view, like cooperation, but there was no cooperation actually encoded in the robots. I will, this is kind of related to the engineering question. We really were surprised at how finely tuned each of these algorithms needed to be in simulation or in the physical case. So our algorithm, we really tuned to work well in this virtual environment and so it would collect over this series of trials on average 95 of these cubes and 12 when we put them out in the real world. The team that won collected only four in the virtual environment and 38 out in this average over the physical environment. So it just re-emphasized what we all already know is that real environments and simulated environments are not the same and sort of the engineering challenges can be quite different. The one sort of maybe fail that we saw in the competition were the teams that actually tried to do error checking and really relied extensively on a network which would fail and their robots essentially would do nothing. So this is our answer. We're trying to grow, we have these hundred robots, we're trying to actually gather them together and do a much larger over something like 150 by 150 meter arenas with something like 24 robots. And what we're proposing is actually somewhat lymph node inspired. And so we want to gather resources at a central place but you can see those larger gray circles. The idea is those are depots, essentially dump trucks and we're trying to come up with a coordinated way for these dump trucks to essentially do a bucket brigade and these agents are collecting locally around these basins and moving between the basins stochastically and the graph there shows essentially that you can get almost scale and variant foraging using this approach. So I will end there thanking some of the really great undergrads in the Sornathon team, students in my lab and I will let this run if I have a moment for questions. Thanks.