DAY 6 6:18 P.M.
I woke up in my bed in the residential module. The air handlers were roaring so loudly the room sounded like an airport. Bleary-eyed, I staggered over to the door. The door was locked. I pounded on it for a while but nobody answered, even when I yelled. I went to the little workstation on the desk and clicked it on. A menu came up and I searched for some kind of intercom. I didn’t see anything like that, although I poked around the interface for a while. I must have set something off, because a window opened and Ricky appeared, smiling at me. He said, “So, you’re awake. How do you feel?”
“Unlock the goddamn door.”
“Is your door locked?”
“Unlock it, damn it.”
“It was only for your own protection.”
“Ricky,” I said, “open the damn door.”
“I already did. It’s open, Jack.”
I walked to the door. He was right, it opened immediately. I looked at the latch. There was an extra bolt, some kind of remote locking mechanism. I’d have to remember to tape over that. On the monitor, Ricky said, “You might want to take a shower.”
“Yeah, I would. Why is the air so loud?”
“We turned on full venting in your room,” Ricky said. “In case there were any extra particles.”
I rummaged in my bag for clothes. “Where’s the shower?”
“Do you want some help?”
“No, I do not want some help. Just tell me where the goddamn shower is.”
“You sound angry.”
“Fuck you, Ricky.”
The shower helped. I stood under it for about twenty minutes, letting the steaming hot water run over my aching body. I seemed to have a lot of bruises—on my chest, my thigh—but I couldn’t remember how I had gotten them.
When I came out, I found Ricky there, sitting on a bench. “Jack, I’m very concerned.”
“How’s Charley?”
“He seems to be okay. He’s sleeping.”
“Did you lock his room, too?”
“Jack. I know you’ve been through an ordeal, and I want you to know we’re all very grateful for what you’ve done—I mean, the company is grateful, and—”
“Fuck the company.”
“Jack, I understand how you might be angry.”
“Cut the crap, Ricky. I got no goddamn help at all. Not from you, and not from anybody else in this place.”
“I’m sure it must feel that way ...”
“It is that way, Ricky. No help is no help.”
“Jack, Jack. Please. I’m trying to tell you that I’m sorry for everything that happened. I feel terrible about it. I really do. If there were any way to go back and change it, believe me, I would.”
I looked at him. “I don’t believe you, Ricky.”
He gave a winning little smile. “I hope in time that will change.”
“It won’t.”
“You know that I always valued our friendship, Jack. It was always the most important thing to me.”
I just stared at him. Ricky wasn’t listening at all. He just had that silly smile-and-everything-will-be-fine look on his face. I thought, Is he on drugs? He was certainly acting bizarrely.
“Well, anyway.” He took a breath, changed the subject. “Julia’s coming out, that’s good news. She should be here sometime this evening.”
“Uh-huh. Why is she coming out?”
“Well, I’m sure because she’s worried about these runaway swarms.”
“How worried is she?” I said. “Because these swarms could have been killed off weeks ago, when the evolutionary patterns first appeared. But that didn’t happen.”
“Yes. Well. The thing is, back then nobody really understood—”
“I think they did.”
“Well, no.” He managed to appear unjustly accused, and slightly offended. But I was getting tired of his game.
“Ricky,” I said, “I came out here on the helicopter with a bunch of PR guys. Who notified them there’s a PR problem here?”
“I don’t know about any PR guys.”
“They’d been told not to get out of the helicopter. That it was dangerous here.”
He shook his head. “I have no idea ... I don’t know what you’re talking about.”
I threw up my hands, and walked out of the bathroom.
“I don’t!” Ricky called after me, protesting. “I swear, I don’t know a thing about it!” Half an hour later, as a kind of peace offering, Ricky brought me the missing code I had been asking for. It was brief, just a sheet of paper.
“Sorry about that,” he said. “Took me a while to find it. Rosie took a whole subdirectory offline a few days ago to work on one section. I guess she forgot to put it back. That’s why it wasn’t in the main directory.”
“Uh-huh.” I scanned the sheet. “What was she working on?”
Ricky shrugged. “Beats me. One of the other files.”
/*Mod Compstat_do*/
Exec (move{? ij (Cx1, Cy1, Cz1)} )/*init */
{ ij (x1, y1, z1)} /*state*/
{ ikl (x1,y1,z1) (x2,y2,z2) } /*track*/
Push {z(i)} /*store*/
React <advan> /*ref state*/
?1 {(dx(i, j, k)} {(place(Cj,Hj)}
?2 {(fx,(a,q)}
Place {z(q)} /*store*/
Intent <advan> /*ref intent*/
?ijk {(dx(i, j, k)} {(place(Cj,Hj)}
?x {(fx,(a,q)}
Load {z(i)} /*store*/
Exec (move{? ij (Cx1, Cy1, Cz1)} )
Exec (pre{? ij (Hx1, Hy1, Hz1)} )
Exec (post{? ij (Hx1, Hy1, Hz1)} )
Push { ij (x1, y1, z1)}
{ ikl (x1,y1,z1) move (x2,y2,z2) } /*track*/ {0,1,0,01)
“Ricky,” I said, “this code looks almost the same as the original.”
“Yeah, I think so. The changes are all minor. I don’t know why it’s such an issue.” He shrugged. “I mean, as soon as we lost control of the swarm, the precise code seemed a little beside the point to me. You couldn’t change it, anyway.”
“And how did you lose control? There’s no evolutionary algorithm in this code here.” He spread his hands. “Jack,” he said, “if we knew that, we’d know everything. We wouldn’t be in this mess.”
“But I was asked to come here and check problems with the code my team had written, Ricky. I was told the agents were losing track of their goals ...”
“I’d say breaking free of radio control is losing track of goals.”
“But the code’s not changed.”
“Yeah well, nobody really cared about the code itself, Jack. It’s the implications of the code. It’s the behavior that emerges from the code. That’s what we wanted you to help us with. Because I mean, it is your code, right?”
“Yeah, and it’s your swarm.”
“True enough, Jack.”
He shrugged in his self-deprecating way, and left the room. I stared at the paper for a while, and then wondered why he’d printed it out for me. It meant I couldn’t check the electronic document. Maybe Ricky was glossing over yet another problem. Maybe the code really had been changed, but he wasn’t showing me. Or maybe—
The hell with it, I thought. I crumpled up the sheet of paper, and tossed it in the wastebasket. However this problem got solved, it wasn’t going to be with computer code. That much was clear.
Mae was in the biology lab, peering at her monitor, hand cupped under her chin. I said, “You feel okay?”
“Yes.” She smiled. “How about you?”
“Just tired. And my headache’s back.”
“I have one, too. But I think mine’s from this phage.” She pointed to the monitor screen. There was a scanning electron microscope image of a virus in black and white. The phage looked like a mortar shell—bulbous pointed head, attached to a narrower tail. I said, “That’s the new mutant you were talking about before?”
“Yes. I’ve already taken one fermentation tank offline. Production is now at only sixty percent capacity. Not that it matters, I suppose.”
“And what’re you doing with that offline tank?”
“I’m testing anti-viral reagents,” she said. “I have a limited number of them here. We’re not really set up to analyze contaminants. Protocol is just to go offline and scrub any tank that goes bad.”
“Why haven’t you done that?”
“I probably will, eventually. But since this is a new mutant, I thought I better try and find a counteragent. Because they’ll need it for future production. I mean, the virus will be back.”
“You mean it will reappear again? Re-evolve?”
“Yes. Perhaps more or less virulent, but essentially the same.” I nodded. I knew about this from work with genetic algorithms—programs that were specifically designed to mimic evolution. Most people imagined evolution to be a one-time-only process, a confluence of chance events. If plants hadn’t started making oxygen, animal life would never have evolved. If an asteroid hadn’t wiped out the dinosaurs, mammals would never have taken over. If some fish hadn’t come onto land, we’d all still be in the water. And so on. All that was true enough, but there was another side of evolution, too. Certain forms, and certain ways of life, kept appearing again and again. For example, parasitism—one animal living off another—had evolved independently many times in the course of evolution. Parasitism was a reliable way for life-forms to interact; and it kept reemerging. A similar phenomenon occurred with genetic programs. They tended to move toward certain tried-and-true solutions. The programmers talked about it in terms of peaks on a fitness landscape; they could model it as three-dimensional false-color mountain range. But the fact was that evolution had its stable side, too.
And one thing you could count on was that any big, hot broth of bacteria was likely to get contaminated by a virus, and if that virus couldn’t infect the bacteria, it would mutate to a form that could. You could count on that the way you could count on finding ants in your sugar bowl if you left it out on the counter too long.
Considering that evolution has been studied for a hundred and fifty years, it was surprising how little we knew about it. The old ideas about survival of the fittest had gone out of fashion long ago. Those views were too simpleminded. Nineteenth-century thinkers saw evolution as “nature red in tooth and claw,” envisioning a world where strong animals killed weaker ones. They didn’t take into account that the weaker ones would inevitably get stronger, or fight back in some other way. Which of course they always do.
The new ideas emphasized interactions among continuously evolving forms. Some people talked of evolution as an arms race, by which they meant an ever-escalating interaction. A plant attacked by a pest evolves a pesticide in its leaves. The pest evolves to tolerate the pesticide, so the plant evolves a stronger pesti............