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

"Okay," Taj said. "Basically the problem is that this virus of the enemy’s glues spells together, with some transcription errors. Then those new spells compete against each other in what amounts to a Core Wars tournament where only the fittest survive. Eventually the winners get big and nasty."

He gestured to the code. "What this virus does is exactly the opposite. It breaks spells into pieces at certain specific points, sort of makes them come unglued."

"What’s going to prevent this thing from running wild and reducing every piece of code to rubble?"

Tajikawa smiled, looking more satanic than ever. "It won’t affect a piece of code smaller than a certain size."

"Wait a minute. How do you keep the anti-virus from mutating?"

Again the satanic smile. "You can’t. It has to mutate if it’s going to do its job because the sticky virus is going to mutate. But we can make sure it won’t attack anything smaller than the limit. Here, take a look."

Jerry scanned the indicated portion of the code.

Taj reached past him and pointed to several sections of the listing. You will note that there is not a test in there for code size. Nor is it localized to one part of the program. It’s more subtle than that."

Jerry nodded. "Clever."

"As far as we know there are no programs that big. None of yours anyway. It won’t prevent things from forming, but it will limit their size and that will probably limit their power."

"Probably?"

Taj shrugged. "Theoretically these things could become efficient enough to be pretty potent within that limit, but with the smaller code sizes the global minima tend to be in pretty steep wells on the state surface. Plus there are a lot of local minima to act as traps. A genetic algorithm might reach a minimum but it would be pretty much a random event. Like the monkeys at the typewriters trying to produce Shakespeare." He frowned. "Of course there is a question of how many monkeys and typewriters we’ve got here." He got a faraway look as he considered the problem.

"Will this thing leave us worse off?" asked Bal-Simba, who had understood perhaps a quarter of what Tajikawa had just said.

"No."

"Then we will do it." He paused. "How long will it take for this thing to work?"

"It starts as soon as we tell it to execute," Taj said. It will start here and then spread like the original virus did."

"Wait a minute," Jerry said, "how long will it take to affect what’s in the City of Night?"

"That’s a ways from here right?"

"And it’s protected by some kind of magic barrier."

"Oh, the barrier shouldn’t be a problem. Eventually it will diffuse through or be carried through by an infected spell."

"How long," Jerry asked slowly, "is eventually?"

"Fermi numbers, around ten years."

Bal-Simba looked at him. "What kind of numbers?"

"Fermi numbers. You know, within an order of magnitude."

"In other words," Jerry added, "it could happen in anywhere from one year to a century." He shook his head, "But even a year is way too long."

"Well, if you’re closer it would strike faster. If you’re right next to this thing when you invoke the program it would get it right away."

Jerry sighed. "Okay then. We’re going to have to get in there to make this work."

"That will not be easy," Bal-Simba told him.

"Wiz and the others did it."

"I am afraid that way is blocked now," Bal-Simba told him. "We cannot walk the Wizards Way and the city is ever-more-strongly guarded by the Enemy’s non-living servants."

There’s another problem," Taj pointed out. "This thing’s likely to react to your presence, right?"

"I would call that an understatement," rumbled Bal-Simba.

"Well, understand, its going to take the lysing virus a while to work on anything that’s fairly complicated. If this thing has developed something like an immune system to keep it from being taken over by the competition, it may take a few hours, or even days." He caught the others’ expressions. "Too long, huh?"

"For the main enemy, way too long. The first thing it will try to do is eat our lunch-and us with it. We can’t wait hours, we need to knock it down immediately."

"How inorganic," Taj sighed. "All right, let’s go back and take it from first principles again."

They took special care to find a secure resting place that evening. Malkin seemed abstracted all through the dinner meal, but she didn’t say anything until they were finished.

"I have been thinking about what you said, about the monsters getting more dangerous as we come closer to our goal," she said to Wiz as they cleaned the last of the dinner dishes.

"And?"

"Have the monsters been getting more dangerous?"

Wiz thought about it. "No, not really."

"And have we encountered greater numbers of them?"

An ugly little prickle of his neck hair told Wiz he wasn’t going to like where this was going. "No," he admitted.

"Then," Malkin asked, "are we sure we are getting closer to our goal?"

"Well, the seeker says we’re going in the right direction."

Malkin just looked at him.

"I’m really beginning to wonder about that seeker," Danny said. "I know this place is big but we should be at least a little closer to Moira than when we started."

"Maybe it’s been getting brighter so slowly we didn’t notice," Wiz suggested. Malkin reached out and tapped his shoulder. "The glow only extends out to this smudge on your right breast. That’s where it was yesterday and the day before."

"Are you sure?"

"Trust me. In my profession you notice these things. You always hold the crystal in the same place, straight out from your breastbone to the length of the cord around your neck."

Wiz thought about that. Then he looked down at the crystal. Then he thought about it some more. Not very pleasant thoughts.

"Let’s see something."

"Emac."

Instantly a two-foot-high demon with a big bald head, flapping ears, glasses and a green eyeshade appeared before him.

"?," said the little demon.