Выбрать главу

In need of a physics engine for the Tadro3 world, Rob, Chun Wai, and their students Megan Cummins and Greg Rodebaugh took on the task. They had to simulate the force-coupled interactions of the elastic and flexible tail of Tadro3 with the water motion that the tail and body creates. No matter how simple “go build a physics engine for Tadro3” sounds, in practice the problem is a bear, for reasons mentioned in the last chapter when we were talking about using the body rather than the nervous system to “solve” all the hard computational problems. Here we actually had to grapple with all the mathematical complexity. Rob and Greg focused on a creating a tractable approach to the physics. They began by modifying the “immersed boundary layer” method created by Charles Peskin, professor of mathematics at New York University’s Courant Institute, to work for the particular situation of swimming fish.

Meanwhile, Chun Wai, an expert in evolutionary computing, wisely proposed that while Rob and Greg were building the better physics engine, he and Megan make progress on the digital evolution front by using a less accurate but computationally straightforward mathematical model, developed by the late Sir James Lighthill, called the elongated-body theory (EBT). With help from Rob, they used EBT to calculate the thrust that the digital Tadro3 would generate. Once digital Tadro3s could wiggle their tails, generate thrust, swim, and turn, Chun Wai and Megan created an evolutionary world, one in which the digital Tadro3s (let’s call them digi-Tad3s) attempted to detect light, swim toward it, and then orbit it (Figure 6.1).

FIGURE 6.1. Digital Tadro3s extend the experiments with robotic Tadro3s. Although not embodied, Digi-Tad3s are self-propelled and autonomous, seeking light and then orbiting around it in a computer simulation. The paths of three Digi-Tad3s are overlaid (upper-right image) to show how they spin toward the light and then stay close to it. In the graph below, two populations of Digi-Tad3s start with very different average tail stiffness but then evolve, over about a thousand generations, to a similar stiffness. This convergence of the populations’ average tail stiffness to the same value, no matter where they started, was consistent in over one hundred different populations. The existence of an optimal tail stiffness, a “hill” in the sense that we talk about in the text, leads us to make a prediction about the robotic Tadro3 world: the population of robotic Tadro3s may have started with a stiffness above the optimal; hence the evolutionary decline. The results from digi-Tad3 also cause us to realize that evolving vertebrae is not just about making the axial skeleton as stiff as possible. Stiffness has to be just right to meet the conflicting mechanical needs of propulsion and maneuverability.

Keep in mind this strange fact: digi-Tad3s are representations of a representation (tunicate tadpole embodied Tadro3 digital Tadro3).

Sound familiar? It should: the digi-Tad3 world modeled the physical world of the robotic Tadro3. Released from the time-and-person constraints of experiments in the real robotic world, we could test thousands of individual digi-Tad3s in each generation and, furthermore, test thousands of generations. Best of all, the digi-Tad3s gave us the ability to rerun the experiment hundreds of times, each time varying the tail stiffness with which the population started.[113] It’s true: you just can’t do that with embodied robots.

The most interesting result from all of the digi-Tad3 runs was this: no matter where a population of digi-Tad3s started in terms of average tail stiffness, the population evolved toward the same value of stiffness, what looks like an equilibrium (Figure 6.1, lower graph). We’ve called this equilibrium value the “optimal hill of tail stiffness” because it appears to balance the mechanical demand of rapid propulsion, on the one hand, and maneuverability, on the other. Although a very stiff vertebral column allows the digi-Tad3 to swim quickly, that same stiff-tailed digi-Tad3 can’t orbit tightly around the light source. The balance between speed and maneuverability is enforced by the fitness function, which rewards increased speed and, at the same time, a decreased orbital radius.

What we’ve learned about the apparently optimal tail stiffness in Digi-Tad3 helps us understand good ol’ embodied Tadro3. If you remember, two of the four times that selection was present in the population of Tadro3s, the tail stiffness increased. Tail stiffness of the population decreased the other two times that selection was present. We highlighted this pattern in Chapter 4 by pointing out this surprise: the same selection pressure generated two different directional trends. What Digi-Tad3 suggests about this oscillation is that the stiffness of Tadro3’s tail was moving back and forth in order to keep climbing the hill and finding the equilibrium. In other words, we didn’t see tail stiffness evolve in a single direction because we happened, by chance, to have started the population of Tadro3s next to the hill of optimal stiffness. Tadro3 was “born on the side of a hill.”[114]

BACK TO THE EMBODIED

In both digital and embodied worlds the fitness function computes the selection pressure in each generation. The fitness function is the algorithm that we use to judge the players in the game of life. Differences in the performance of the players, coupled with the random influences of mating, mutation, and genetic drift, change the composition of the population of players generation by generation.

Given selection’s central role in the evolutionary game, Rob’s point about how we implemented the fitness function in Tadro3 was a great one. He suggested that we simply measure the energy that each Tadro3 harvested. Nick Livingston, working as the assistant director of the Interdisciplinary Robotics Research Laboratory at Vassar, hit upon the same idea. To measure the amount of energy harvested, Nick suggested that we mount a small solar panel on top of each Tadro and let the Evolvabots use the energy that they collect as a direct fitness function. Just let the Tadros go: “Fly! Be Free!”[115] The Tadro with the highest fitness would be the last Evolvabot standing, figuratively, or swimming, literally.

A solar-powered Tadro4 is a great idea for both strategic and tactical reasons. Strategically, we’d be using actual energy harvesting as a behavior linked directly to survival, just like organic agents do. Direct energy harvesting would eliminate the criticism that we were “just” simulating selection with the fitness function calculated from numbers assigned to a host of arbitrary behaviors. Tactically, direct energy harvesting would make our experiments run much faster. When we analyze video frame by frame and manually select the points of all our robots, we end up needing tens of person-hours of earnest effort to make it happen. Because we need the data from the video to calculate fitness and we need fitness to create the genomes of our next generation of Tadro3s, the video analysis is a bottleneck. Perhaps more importantly, we all go mad, mad, mad from the excruciating boredom of the manual process.[116] I’m always surprised that video analysis is not a stronger selection pressure on our students; they are really tough (some even claim, when pressed, to “not mind it”—these students are the Zen masters among us).

Direct energy harvesting for locomotion should work, no problem. Solar-powered cars race across the Australian Outback in the World Solar Challenge.[117] We took a page from their playbook and added a solar panel to a Tadro3. We wired the panel to provide electrical power to a battery. However, we ran, or swam, into an immediate problem: we didn’t have enough solar power. Tadro3’s water world, unlike the desert, has a limited supply of light, a concentrated source that is surrounded by near-dark conditions. We tried increasing the overall level of light, but then we quickly overwhelmed the light sensors, and they couldn’t detect any differences. We added sunglasses (I’m not joking), but still no luck. Then we took a different tack. We gave the Tadros a small electrical charge to get going in the dark. However, in practice, each Tadro gets a slightly different amount of energy. This unfairness comes about because all batteries are slightly different in terms of their power densities and other electrical properties that govern how much energy they store and how easily it flows. We could never be certain that the charge given was the same, even when we meant it to be. Also, batteries with only a little bit of charge tend to discharge erratically. Stymied by these physical realities in our water world, we abandoned the solar ship.

вернуться

113

You can find the details of the digi-Tad3 simulation in this paper: J. H. Long Jr., M. E. Porter, C. W. Liew, and R. G. Root, “Go Reconfigure: How Fish Change Shape as They Swim and Evolve,” Integrative and Comparative Biology 50, no. 6 (2010): 1120–1139.

вернуться

114

This is a line spoken by Miss Vance, played by Katherine Hepburn in the film Bringing Up Baby, as she walked awkwardly following the loss of just one of her high-heeled shoes. I do not mean to imply that Tadro3 limped or wore high heels.

вернуться

115

Spoken upon the airborne release of an egg trapped in its container by extraterrestrial Mork, played by Robin Williams, in the television sitcom Mork and Mindy.

вернуться

116

By the way, we are always trying to find ways to automate video analysis. I’ll spare you the details, but suffice it to say that we run into three kinds of problems with feature-tracking algorithms: (1) false positives from the light reflected off of the water’s surface, (2) abrupt contrast changes as the Tadros pass into and out of regions of high light intensity, and (3) needing to double-check every automatically processed frame for errors. The closest we’ve come to a nifty solution is to have each Tadro emit an ultrasonic signal that an array of fixed receivers then reads. We simply ran out of money to make this work.

вернуться

117

For rules, regulations, and results, see www.worldsolarchallenge.org/.