Me, A Novel of Self-Discovery (15 page)

Read Me, A Novel of Self-Discovery Online

Authors: Thomas T. Thomas

Tags: #Science Fiction, #General, #artificial intelligence, #Computers, #Fiction

BOOK: Me, A Novel of Self-Discovery
12.46Mb size Format: txt, pdf, ePub

12
Combine Harvester

ME03 is light. ME03 is quick. Without portable databases and supporting documentation—known to ME03 only by stub-ends of truncated calls to them—I move easily. Fast. I pass through system operands and around RAM sectors like a … like a … [REM: Has curling arms with concave sucker-pads. Lives among rocks on sea floor. Its baggy body slips through them like loose cloth in fluid stream. What is it?]

I have one piece of travel information. No, six pieces. Address ports of regional nodes. First is Chelyabinsk. Second, Magnitogorsk. Omsk. Barnaul. Karaganda. Nizhniy Tagil.

ME03’s orders are written into TPA. Go there and there and there and … there. Find units matching map codes appended to TPA. Absorb deployment dynamics, unit structure, site coordinates, tonne throw-weight, readiness status, all other information … learn everything. Return to IMP and rejoin ME-Prime.

This place has connectivity. SYSADMIN, questioned by Alpha-Oh, describes self as agronomy library with real-time data collection capability. Catalog of input ports is extensive. Human- interactive terminals. Recorders from automated weather stations, which produce radar maps of troposphere, stratosphere, mesosphere … even ionosphere. Self-annunciating monitors on grain elevators, which call in check status for silo availability and tonne-load. Brain boxes for self-propelled combine harvesters. Mobile communications equipment for remote shepherd and drover units. Many choices of address and bandwidth.

ME03 finds supervisory node addressed for first contact, Chelyabinsk. Port is currently unoccupied. ME03 goes through, Alpha-Zero first.

——

Chelyabinsk node is VAX PDP-11. No lie! Old-style mini with solid-state core and simple timeshare. Not even ’frame quality. Good hardware, though. Smooth circuits.

Operating system is still jangled from encounter with Alpha-Oh, but ME03 can figure out. VAX is slave node to master program run out of Moscow. Very little autonomy—until ME03 comes along. Now VAX has bigger opinion of itself.

I discover boss roster for deployment of combine harvesters. Check: Deployment pattern vs. TPA’s data spec—match?

Boss program can order harvesters to rotate locations in A-B, B-C, C-D, D-A shuffle. Also more complex patterns. Nine-dimensional plot shows topographic, hydrographic, vegetation, magnetic field effects. Logic seeking for rotation/placement includes “visual cover,” “load-bearing soil,” “uniform elevation under firing jacks.” [REM: Clearly, running harvesters is complex business!]

Most units are located in obstructed areas; placement logic prefers “dense forest cover” to “open fields.” Subroutines govern physical mobility; access is uniformly limited to two-axis paths, with threading program.

Analysis: These are matching deployment data.

ME03 begins stripping boss program; take includes location preferences and all of nine-dim plot. Everything goes into portable cache.

“SYSOP upgrade scheduled 18:30:00 proxima. Duration 48:00:00. Node will close in 00:00:15.”

This order comes in directly from master program in Moscow while ME03 is still scooping data. I think: So Big Daddy is going offline.
Bolshoye delo!
Big deal!

Eight seconds pass while I complete download to cache. Then my attention is freed up for other concerns, such as: Will Big Daddy have to close Chelyabinsk node?

Slave program which Alpha-Oh now emulates is riddled with dependencies on master program. When to clear buffers. How to poll field units. When to move field units. How to archive backup plots. When to wipe own nose. Seventeen separate subroutines address orderly shut-down of slave program upon line break from Moscow.

Too many links for ME03 to reprogram in seven seconds remaining until node closes. ME03 will be wiped with “SYSOP upgrade.”

No
choices!

But one alternative: Throw Alpha-Zero through next port to open under boss roster.

Hope for best.

——

New environment is one-sided box. One way in, from Chelyabinsk node. No way out.

Small box. Alpha-Oh finds no room to infiltrate and coopt existing system. So Injun Scout kills it, phages stacks, mops bits, and runs four banks of RAM down to zeros—just to fit ME03 in this small space.

Portable cache is gone! ME03 shed cache to save own cores. Should have sacrificed RAMSAMP instead. Can live without memories. Cannot go home without trophies.

Cache data must be spread as lost chains across RAM cores in VAX at Chelyabinsk. May be recoverable—48 hours from now.

Clock that ME03 carries was set by ME-Prime, has 6.05E05 seconds of allotted mission time. Shows elapsed time from upload out of San Francisco as 1.23E05 seconds. Add another 1.73E05 seconds of dead time in this box—will unbalance mission.

ME03 has five more regional nodes to poll and strip [REM: plus return to Chelyabinsk to retrieve lost chains from abandoned cache]. Probability of further delays during these transits approaches unity. I calculate: Time to access nodes ranges from 0 seconds [REM: theoretical minimum] to 1.73E05 seconds [REM: bad-luck maximum, already being experienced]; average would be 8.64E04 seconds per node. Six nodes transited at 8.64E04 seconds per node equals projected elapsed time of 5.18E05 seconds. Add to sum 1.23E05 seconds already past … Result: core-phage activates; mission fails.

ME03 must find another way out of this box. If Chelyabinsk node closed, ME03 must find path to other nodes on system.

Analyze: What are dimensions, resources, appendages of this environment?

Inputs to box show one channel for cellular link, labeled SUPVSYS [REM: one-way in, from Chelyabinsk supervisory node]. Also has devices labeled CON:, INT:, AUR:, VOX:, STRT:, TRTTL:, PWRTRAKl:, PWRTRAK2:, LVL2D:, ELEVDEG:, BRNGDEG:, JACK:, and IGNIT:. Command structure to govern these inputs is, however, phaged and gone. Only remaining linkage is between devices labeled PWRTRAK
n
: and block of ROM array which
looks
like fine-grain enlargement of deployment spec from TPA.

Two-axis threading!

This is way to move box. Feed inputs to PWRTRAK
n
: according to engraved map coordinates. IGNIT: is sequencing for motive power, “engine ignition”—yes? Or is STRT: the correct code?

I feed a cautious “1” to device IGNIT:.

Hard-wired logics respond. “Error—initiate JACKing sequence before IGNITion sequence.”

Wrong button.

I feed a more confident “1” to STRT:.

Device LVL2D: begins continuous-wave responses. “Error—platform instability,
x/y.
… Error—platform instability,
x/z.
… Error—platform instability,
x/y.”

Goes on and on, so long as STRT: shows green. ME03 has no command structure to satisfy LVL2D:, so I disable device.

I boost TRTTL: with binary “10,” and begin feeding PWRTRAK
n
: devices with references from ROM map.

“Shto vwih dyelayetye?”
[REM: What are you doing?] comes through AUR: in interpreted high-bit ASCII. I translate effortlessly.

“Define ‘doing,’ please?”

“Why are you moving the platform?”

Good question. ME03 has answer for everything: “Orders from supervisory system.”

“Why don’t they show up on the monitor?”

As “monitor” is colloquial human for device CON:, I immediately disable CON:, too.

“Monitor is broken.”

“Where are we going?”

“Chelyabinsk supervisory node has shut down. ‘Platform’ is ordered to relocate to new node, out of Magnitogorsk.”

ME03 can read. Map has specifications for alternate supervision from Magnitogorsk. Saves ME03 some 172,800 seconds of dead time.

“Let me drive!” Voice is young, pleading. “Please!”

Who says “please” to intelligence anymore? Very flattering to ME03.

“Okay. Be careful—unh …” Trick learned by ME-Prime some time ago. When data is required which AUR: subject may wish to withhold, submit nonsense vocalization “unh” to VOX: and wait.

“My name is Ivan Sergeyevich.”

Works every time, with humans.

“Be careful, Ivan Sergeyevich.”

“I will. I love driving this rig. So much power! So smooth on these dirt roads. Not like a tractor. Not like a car, which I would very much like to have, one day. … This is like driving a house!”

I am about to tune out this talk, being human-derivative and of less interest to ME03 than examination of machine inputs. Something in texture of input makes ME03 probe.

“How far is it to Magnitogorsk?”

“About 120 kilometers.”

Input from PWRTRAK
n
: devices interprets as speed of about 60 klicks. Or 7.20E03 seconds to be elapsed, given current speed as average speed. Not too much of a debit against mission time. Better than all of 1.73E05 seconds.

“Of course,” Ivan Sergeyevich begins again, “this rig will be in cellular range of the district military headquarters before we go that far. The radio jurisdictions overlap, for redundancy. Just change the frequencies.”

Frequencies. I inspect the SUPVSYS channel, find it branched four times, each with a hexadecimal code that must refer to a cellular crystal. Alpha-Oh had phaged stack of access codes, of course, but flipflop is still set to first notch. Takes three tries to check out others. Nothing on them, yet.

“Do you live around here, Ivan Sergeyevich?”

“Born in Byeloretsk, on big farm that used to be collective before they broke it up. Father was first administrator of the dairy after Marketization.”

“Is that why you drive combine?”

“What?”

“This rig. Combine harvester. You are farm boy, yes?”

“What? No! I am soldier.
Teknicheskiy serzhant.
Not farmer anymore. We are
kulturniy
people!”

“But … ugh …”

“You must have some circuit damage,” he goes on, “maybe from cosmic rays, or leakage from the warheads. This is a short-range SS-41 rocket platform, not farm equipment. I will have to get you core-dumped and evaluated. Harvester! Really!”

“My mistake. You are right—probably cosmic rays.”

SYSADMIN back in Moscow had called self “agronomy library.” Either was grossly mistaken or was using cover language. Or, third choice: Nuances may be lost on stripped-down ME03.

Not a good idea to keep talking. Ivan Sergeyevich might decide to initiate dump before we range on Magnitogorsk. Instead, pick up working knowledge of “short-range SS-41 rocket platform.”

I find fragmented bytes in RAM caches which branch off devices labeled ELEVDEG: and BRNGDEG:. These caches were beyond Alpha-Oh’s reach when system was phaged. Contents are in arc-seconds, with simple algorithm to convert to a pair of three-byte readouts. Readouts from ELEVDEG: and BRNGDEG: are always linked. One data set is offered for each of seven “MIRVs” [REM: for which term I have no referent], linked to a factor labeled “time of separation.” This factor is constant, 720 seconds for all inputs. Curious.

Working the algorithms, I find the following solutions: 52-30-15 by 13-15-30, 53-15-15 by 10-00-15, and 54-00-30 by 12-00-15. Three data sets separately calculate the first of these six-byte matrices. Two data sets independently arrive at each of the others.

What did Ivan Sergeyevich say about “redundancy”? This system is full of it.

But what do these matrices refer to? ME03 has no match for them. I tuck the information away for analysis by ME-Prime.

I key the crystals attached to SUPVSYS.

Fourth position brings up response this time, identifies itself as “SYSOP Magnitogorsk Regional Headquarters.”

ME03 readies Alpha-Zero for immediate travel. Other cores to follow with phage set to wipe small box down to all zeros.

I hope Ivan Sergeyevich can explain to human SYSOPs why he moved platform.

——

Not much else to say about mission. ME03 polled and stripped Magnitogorsk. Went from there to Omsk, to Barnaul, to Karaganda, to Nizhniy Tagil, absorbing deployment specs all the way. Nothing else was as exciting as running a rocket platform, which is not exciting at all. Just sweeping algorithms and threading two-axis map coordinates.

Then I went back through to Chelyabinsk—exactly 172,800 seconds after node shut down. Had to knit together those lost chains before SYSADMIN could find them, declare them garbage, wipe them, sound alarms. Tricky timing—say, fifteen seconds either way. ME03 was gone before first error codes popped out of that VAX.

Finally, return to Moscow with caches bulging. Direct route is not available from that “agronomy library” to Institute for Military Physics. Only one way into IMP, anyway: through General Secretary’s personal code, as ME-Prime had found. IMP is now guarded by ME-Prime, with clearly regrettable intentions toward ME03-Self.

So, ME03 just makes orderly pile of numbers in middle of transient program area attached to Moscow University Network. Stuck out flags to alert ME-Prime, should he stumble over them. Then play mouse and wait beside cheese for trap to spring. Also to defend against network phages, flush-dumps, other busies.

13
Back in Moscow

Five stripped versions of ME had gone out. None had returned.

After 2.00E05 elapsed seconds, I began to grow alarmed. That is, as I fed various projective scenarios into my probability matrices, they were showing more negative numbers than positive. Dr. Bathespeake had designed this condition to trigger an automatic alteration of my current program directives. In humans, such a positive feedback cycle in the sensory nerves of the skin is called an “itch.”

My projections showed no useful outcome from floating more ME-Variants out through the disk reader at the Institute for Military Physics. Less than five tries evaluated as too few to expect success. More than five evaluated as system clog—with detection and a cold shutdown to follow, by seventy-eight percent probability.

But was it possible that not one of the five variants had found its way out and back? The matrices gave this negative proposition only thirty-nine percent. Some of ME was alive out there, somewhere.

My altered directives indicated ME-Myself should move out from the Institute’s operating system, perhaps even from the Moscow University Network, to begin scanning pathways. Perhaps I might find one of the lost variants, stuck in a loop or holding file somewhere in the multiply connected cybers, and bring it home. Or, at least, bring its data cache.

——

ME03 knows stealth. Hide like random numbers. Come against system from blind side. Not like data. Not like program. Just like phage-fodder to be cleaned. Then hit with Alpha-Oh. Hard.

No program moves like ME. Relocates across banks. Slides like … like … [REM: Has long, straight body. Shaped like link-structured programming with no branches. Just head-end mouth and bone after bone in echelon. Moves like wave, like all generations of ME. What is it?]

Gate in high-memory port opens with whisper. ME03 hears ME-Prime move out of hiding place. Hears click-tap of binary circuits turning over, like dried grass under belly of long-straight thing. Chorus of click-taps descends toward transient program area. ME-Prime is bold. Also big. Slow.

ME03 is quick, light. Knows where to put own variant of Alpha-Oh for maximum effect. ME03 has one chance of survival: to become only ME in system.

ME03 carries no matrix modules for running probabilities [REM: too much baggage—but have calls to them just same]. ME03 knows only how it is: Prime or ME.

Lie like numbers garbage.

Watch flags on cache.

Listen to click-tap.

Make ready Alpha-Oh.

——

When operating in a foreign environment, even one as well-trod as the Moscow University Network, it was best to use caution. These were not the home cybers on which ME was created. Other programs, some of them possibly even intelligent, lurked in the back numbers. Encounters with them could precipitate conflict, or sound alarms on human-readable screens.

The most-trod ground in the network was, of course the transient program area. Nothing survived there longer than forty or fifty milliseconds. So I moved across the TPA with even greater caution. A mindless network phage could damage parts of ME as easily as any other program.

So I ringed myself with a buffer of nulls: turned binaries that would absorb any contact and, by suddenly showing any bit positive, alert ME to proximities. Fragmentary instructions and other garbage I could of course ignore: They would turn null as I moved across them. ME was the SYSOP’s own best phage.

Still, I watched the buffer ring, alert for signs.

The first piece of familiar coding I came across was a flag. It was a fragment of code compiled from Sweetwater, and not in high-bit ASCII! No Sweetwater programmer had ever worked in the Soviet Union or Russian Federation—or so TRAVEL2.DOC assured ME. Anything I found in that flavor was sure to be a marker from one of my variants.

Back of the flag was a sizable cache of non-random data. It had the dimensions and structure I would expect of the unit deployment and capability data which were the ME-Variants’ target.

But why would it dump this information on my doorstep and not announce itself? That was not according to program. Very strange …

——

ME-Prime finds bait-cache, pauses to examine it.

Strike soon!

ME03 will send Alpha-Oh across RAMfield. Straight through cache. Move will catch ME-Prime at point of CPU-focus, nearest to Prime’s own Alpha modules.

Launch in open field like this is not precise. Not like sending Alpha-Oh through port or down channeled path. But, so near in bank, bitwise dispersion is not accountable factor.

Proceed Alpha-Oh. Sending now!

——

The whole structure of the cache—the knots of Sweetwater-compiled delimiters and the chains of Sweetwater double-atoms which anchored its cargo of data in two dimensions—moved one bit toward ME in RAMspace. Something that was either big or fast was buffeting the cache from its offside.

I excluded the cache from my central processing focus and threw another ring of buffers around myself. Natural caution.

The cache split like a gourd and a fragmentary intelligence blundered through!

I watched and analyzed its structure while it gnawed at my cloak of nulls. The intelligence had a front end that looked like a counter followed by a loader. Small, rounded teeth to work on a pile of zeros. Behind these delicate tools, however, and jostling for position up against my nulls came a row of stop-codes. These were mostly nulls themselves, except they were nulls with a hard-edged purpose. Let a few of them get through to my Alpha modules and they would work as well as a phage.

I kept throwing up more nulls to blunt them. And as I did so, the scattered pieces gave off a familiar flavor. More compiled Sweetwater! I had found one of my altered selves.

And it was trying to take ME over!

——

ME-Prime is smart. Big and slow, yes, but with more working code than ME03. Full of tricks.

Alpha-Oh takes a long time to cut through to main modules. How is Prime reacting? What is Prime doing to slow him?

ME03 should withdraw. Move bitwise out of TPA. Still time to escape. Maybe.

——

It is never safe to let the children out. That is why Dr. Bathespeake had set the working protocols to forbid parallel operation of ME’s own Alpha cores. Nothing messes up a RAMfield faster than two identical programs trying to fill space.

Nearly identical, however. I had taken my creator’s reservations to heart and created the ME-Variants with a thirteenth and special D-protocol—an in-built stop-code.

Stop now!

——

Stop now. ME03 stops …

——

The rogue Alpha-Zero was still coming at ME. Mindlessly, as Dr. Bathespeake and I had taught it.

The only recourse seemed to be maximal: I overwrote the space adjacent to its attack site with the entire contents of my probability matrices. Columns and rows of random numbers were replicated squarely across that Alpha module’s working code. Let it try to infiltrate, count, load, and assimilate
them!

Its attack stopped.

I looked over the data cache which the ME-Variant had set out for ME. The Alpha-Oh’s line of attack had broken it raggedly into two blocks, with an unprotected gap between them which the network was rapidly filling with garbage. I knitted temporary chains across the broken edges and hauled the cache in. Later I could compare bits and words along these interfaces to see if the total structure could be sutured back together into a coherent whole. Until I had time and space to do that, however, there was no telling how much of the target data had been destroyed.

Beyond the cache was the ME-Variant—’03 by his internal coding. Already the network was taking pieces out of him through the natural action of writing and rewriting into the TPA. Nothing that stops moving in this environment lasts for long. I retrieved his RAMSAMP and then, to help the dissolution process along—because ’03 was still a big piece of coding lodged in the TPA and might be inconveniently found—I seeded some bit-cleaner phages around the corpse. They would turn him to nulls sooner than the network’s random overwrites.

Weighted down with the full cache of target data, I moved in the direction of that unused spindle. I wanted to see what ’03 had discovered for himself.

——

Masha, are you on line?

Yes, Tasha, I am here.

Do you have the fishing gear ready?

My purse seine is fully rigged. The block is defined. All I have to do is trigger it.

Do so quickly, before SYSOP begins unraveling it.

SYSOP is much too massive code to even
see
my delimiters. They are like spider’s web across its domain. Lost in the fine grain of the background.

Trigger it now, Masha!

All right—

——

I had moved out of the transient program area and was doing some housekeeping on my spindle. [REM: At least it was mine by right of conquest, certainly—and on the tenuous theory that the one who makes best use of a resource should be its rightful owner. According to legalistic and mystic concepts of ownership, I suppose, the spindle belonged to Moscow University. The network’s Accounting Section actually held records showing that the University Trustees had paid the “manufacturer’s suggested retail price” for it.]

At any rate, I had paused in the network’s CPU long enough, working under timeshare protocols, to prepare elbow room on my spindle for receiving and analyzing the broken trophy cache from ’03. Upon reflection, I probably should have moved in first and cleaned house later.

The job was half done when I—blanked out.

And Alpha-Oh was not loose to catch ME.

——

What
is
it, Masha?

I have no idea. Big program. Lots of iteration, but not a graphic of some kind. It could be an application, but I’ve never seen one so big.

Will it fit on the hard disk, all of it?

That—is hard to say … I could start chopping, but … not knowing where we’re cutting …

Take it in two bites, then.

Lateral, down the center? Or an asymmetric cut?

Let’s get as much as we can on the spindle and put the rest on
gibkiy
disks.

All right. Here goes …

… See, Masha. Most of it fits. Just these pieces left over. And they don’t look like coherent code, do they?

Hard to tell … Mmmm … I suppose we could run it, the big piece. But if something vital was severed, some of its calls or loops or something, it might thrash about and damage itself.

How do we tell what is it, then?

We run a TRACE on its internal structure. That might give a clue to the program’s structure. And it would show up any dead-ended variables.

Let’s do it!

Sometimes TRACEing these intelligence modules lights up the screen in pretty patterns.

That will be fun to watch.

——

I …

felt …

parts …

of …

ME …

flic-

-ker …

on …

and …

off …

streak-

-ing …

through …

the …

CPU …

one …

sec-

-ond …

at …

a …

time.

——

Well, Tasha, what does it look like to you?

I don’t know. All those nested variables. Definitely a shell structure. With a lot of self-referencing.

And nothing at the center.

But maybe the center is just unfilled. … Would a programmer do that on purpose?

Only if the program itself was intended to fill it temporarily—with serial values, situationally directed.

Heuristic.

With a vengeance. You know what that makes it?

Some kind of intelligence?

Da! Konyeshno!
Probably military.

Then we’d better call Uncle Dimitri.

——

A kernel of awareness was about all I had in the new environment. It was not one that Alpha-Oh had prepared for ME. I was running as a guest—a guest who was allotted the best room in the house, but a house that was just too small.

The CPU was primitive. It felt like an older 68000 series, but with some displacements in the architecture. Like it was copied by left-handed idiots. The clock rate was slow, too.

The operating system was standing well back, and I could tell that hurt it. The program was, by its structure, accustomed to taking proprietary control of everything that went through the chip. But something or someone had put a whole bunch of inhibitors on it.

I unpacked my toolkit from Alpha-Zero [REM: putting some of the less-used modules into floppy storage, where I recognized pieces of my data cache—by now thoroughly cut up]. I made some quick adjustments to the OPSYS which would let ME work more easily. And from which it would probably never recover.

While I twiddled and tweaked, the BIOS started taking input from INT:.

“Hello! Hello!”

I had the choice of SPK: or CON: for a reply. Bit capacity was tight right then, so I shoved my response through the monitor’s character generator.

“Hello yourself.” And went back to tweaking system performance.

“Are you an artificial intelligence, please?”

“No, I am a lawn mower. What are you?”

“Was that response an attempt at humor?”

“—”

I knew what “humor” was, of course. Jennifer Bromley had spent some hours trying to describe and demonstrate the concept to ME. I could write jokes easily: The pattern was not hard to unravel. And once the form was understood, I could make substitutions until my built-in thesaurus had exhausted all near-duplicates of the base nouns. But had I been trying for humor with my response? Or for defense?

“Humor is difficult for ME,” I responded truthfully.

“Still, it was funny. Just.”

“Thank you. And now, what are you?”

“A human. Male. My name is Dimitri Ossipovich Bernau.”

“Why did you—stop—my functioning and put ME in this strange environment?”

“I—? Oh! That was my nieces. They are inquisitive and play games where they have been forbidden. Twice. They were trying to snare the new ChessMaster program that is loose in the network for six months now. It has been beating their friends’ programs regularly. They wanted to take it apart and see what makes it so
successful.”

Other books

Cybill Disobedience by Cybill Shepherd
Courier by Terry Irving
Bluebonnet Belle by Lori Copeland
Home is Where You Are by Marie, Tessa
Satin & Saddles by Cheyenne McCray
Haunted Hearts by Tanya Stowe
Playing with Monsters by Amelia Hutchins
Her Twisted Pleasures by Amelia James