Read Solid State Rhyme: A Novelette (Mandate) Online
Authors: J.S. Harbour
Daniel began modifying his artificial life program as soon as he got home. He spent a couple hours tweaking the old code, trying to add random elements to the data structures to allow the program to adapt. He then used his program as a template to mimic some of the programs other students had created. Each one was just an estimate, a best guess, emulating their most dangerous behaviors.
He set them all running in his own version of the simulated environment, with about a dozen copies of each creature. His creatures were behaving erratically, making it difficult for any other creature to get near them. That's what he wanted to see, a bit of chaos on display.
Having done that, he added a complicated series of functions to his program that would allow his creatures to mutate from one generation to the next. His program had the ability to modify itself at run-time—that is, to modify its own properties, affecting creature behavior. Daniel was pleased with the result. He had never tried to create a self-modifying program before, and this in itself was a curious exercise.
Daniel set the simulated ecosystem running again. Not only did his new code overcome the other programs, but his new life forms also mutated after each generation. Reproduction was a key behavior, but every student program in the class demonstration simply copied itself in order to multiply. No one else was modeling the biological modus operandi, as far as he knew.
Daniel sat back in his chair and let the simulation run its course to completion. Within minutes, the new creatures had conquered all of the competition and were filling the habitat with their kind. Then something strange started to happen. Some of them began to attack
each other
! Daniel watched, utterly amazed, eyes glued to the screen. He barely allowed his eyes to blink, lest he miss something. Each time a new creature emerged within a new generation with radically different traits, the old creatures would attack it as if it were an enemy. Daniel paused the simulation to work on the code some more.
Obviously, some fine-tuning will be needed here.
He spent an hour thinking about the problem, looking over the results, trying to decide what to do next. Upon closer examination, he found that some of mutated creatures
had
survived. Daniel was surprised at this latest development. Ideas flowed through his mind in a torrent.
Somehow, an ability to change basic behavior.
He looked at the source code on the left screen, at the paused simulation on the right, and an idea blossomed in his mind.
DNA?
Daniel made major changes to the program, completely losing track of time during the rest of the weekend. He slept in spurts, ate in his room, and tuned out his family and friends. He was in the
zone
—it felt like being in touch with the universe.
Daniel wrote the code for an emulation system around his lifeform program that would continue to obey the limits of the simulation while making its own rules inside. Functions were replaced with digital DNA. Behaviors such as
walk
were reduced to fundamental components.
Walk
might become
crawl
or
jump
or
fly
. In this realm, there was neither gravity nor air—nor feet or lungs. Just
movement
—direction, angle, vector, velocity. Mr. Robathan's simulation and example supplied the movement when a program wanted to move.
Each digital DNA base represented a simple attribute for a larger function. By assembling bases into different combinations, it was possible to breed a lifeform capable of doing almost anything in the simulation. Those that died quickly would not pass on their d-DNA. Those that survived the initial “eat-and-reproduce” stage would contribute to the next generation.
The fittest will survive. What determines a fit lifeform? Daniel thought about it for a while. Ah, yes, the first stage, of course. First, we must eat. Any advantage that increases the chances of finding food will be favored.
Daniel’s new program was elegant. The first generation had to start at the beginning with no survival traits.
He knew only a little about genetics beyond pop culture references, so he called his d-DNA bases A, B, C, and D. There was no limit to the number of functions in the base chain because he didn’t realize such limits were necessary.
Daniel hoped it would work because he had changed the program too much to go back now.
Daniel smiled, feeling like a scientist at the edge of his profession, doing cutting-edge genetics research for an unethical corporation or secretive government agency. His mind drifted, and he fell into a light sleep, dreaming of himself as an MI5 agent, stumbling upon a genetics lab that was cloning humans . . . .
*
Daniel blinked, aware that he had fallen asleep again. He looked at his clock. It was getting late! He thought about his new program. He couldn't think of an analogy that fit how it worked other than d-DNA, but it did need a name. The pool generator needed a separate name.
The Phaser? The Source? The Way? The Pool? The River?
“The river, the
river
,” he repeated aloud. “Yes, that's good. Only, I'll call it . . . the
Nile
.”
Daniel wrote another program. While the Nile continued to generate and combine and discard bits, this new program would search the d-DNA pool for the most viable quads, and mix their bit structures—their
chromosomes
—into new base functions.
***
Daniel decided to call the new program
Memphis
. Nile was responsible for generating a steady flow of quads while Memphis assembled base quad-functions into micro-programs and tested each one for viability. The number of micros produced by Memphis was extremely small early on: less than one per million. He continually improved Nile and Memphis, increasing precision and fixing bugs. The micros that failed were discarded. Those that succeeded in performing some logical task, however small, were saved. The micros were truly tiny, comprised of only a dozen or so instructions.
In the back of his mind, Daniel had an idea, but he was not quite sure if it would work. Obviously, this was a new type of a-life program, radically different from his previous one. But, did he really need to start from scratch and work at such a primitive scale? He had succeeded in giving his creatures the properties of mutation and adaptation, so why keep going? He guessed it was just the scientist in him. He wanted creatures capable of adapting to an environment, naturally. The old program was already good enough already, since it could defeat invisible creatures. But, he had
designed
it to search for them. He wanted more control over fundamental survival traits—mutation and adaptation.
After Nile and Memphis run for three hours, producing a huge pool of building blocks, Daniel added a third stage to the process. He wrote a new program to combine the most viable micros. Take two micros, examine the usefulness of their quad-functions, and combine the best of each into a new micro. Mutations would inevitably appear.
In theory, the micros should develop features most favorable to an environment without going through the enormously time-consuming process of waiting for purely random mutations to net positive results.
How much time would be needed? In a bio-lab, it would depend on the life span of each generation. But, Daniel was working with software. Time was variable. He would not have to wait for weeks or months to see the fruit of his efforts, he could run it as fast as he wanted.
Daniel knew he had to come up with a stable creature before the next class tomorrow morning. He gazed at his watch, which read: 5:07 A.M. He stared for a few seconds, sleepy-eyed. He was used to it, but it still bugged him when he lost track of time. He couldn't think straight when he was sleepy, and things seemed to take twice as long when he stayed up all night. That was the payoff. He would just have to take a nap later.
Oh, no!
Daniel looked at the clock again, feeling suddenly wide awake.
Three hours until first period!
His first thought was to skip the first two classes, but remembered a test during first period. And he was dead tired.
Wait a minute! This is only Sunday?
He checked his watch. Sure enough, it was Sunday.
Daniel rubbed his eyes, which burned from staring at the display for too many hours. Beyond tired, Daniel tossed the pizza box and fell asleep before his head even hit the pillow.
*
Daniel woke feeling groggy but well rested. A glance at his watch told him it was just past noon.
Okay, I've still got a whole day.
He jumped back into his desk chair to check on everything. He couldn't remember what he was working on, exactly, since he had been too tired to think clearly. Instead, he watched the simulation run. The status display showed the generation count and rate: “1,738,221 GPS.”
“Wow,” he said aloud, “that's about a hundred million per minute!”
Daniel was surprised by the figure. He checked the code for a tally error and found none. The system must be improving. As the micros become more complex, their group synergy should increase as well.
What if it ran for a week or a month?
But, he didn’t have that much time. Daniel decided to call the third program “Pharaoh.” He also decided to let all three run for a few more hours to see what would happen. He showered, brushed his teeth, and headed for the kitchen to scrounge up some much-needed food after skipping two meals.
*
Returning an hour later, Daniel checked on his work. It had now been twelve hours since starting Nile, and Memphis had been quad crunching for nearly as long. Daniel was excited about the fluctuations and patterns of the quad pool as he observed the status display. Pharaoh's production at the top of the quad pyramid was much lower than the output of Memphis, which was proportionally lower than Nile. Furthermore, Pharaoh divided the population in half every time two micros were mated to produce offspring.
The numbers fluctuated, but if Nile was producing six billion quads per hour, and Memphis utilized 99.9 percent of those to produce sixty million micros per hour, then—assuming zero error rate—the pool should have grown enormously during the past hour. But it had not grown. In fact, the population seems to have reached a steady state. Pharaoh was reducing the population on a massive scale, then, cutting the population in half every generation, while an influx of random new data kept entering the system.
That was a problem!
He paused the Nile and Memphis programs to cut off the influx of new genetic material, realizing he should have done so right after starting up Pharaoh. But, that was okay, the program would just have to run longer to make up for the chaos. He slowed Pharaoh and the simulation back down to real-time and opened up a window into the simulation.
So this was the result of millions of generations had transpired?
How many micros there were in each generation—a thousand, a million? Daniel couldn't even guess. Even as few as a dozen in each generation would have worked. After all, he only needed one for the competition.
“Daniel!” his mom called. “Did you stay up all night again?”
Daniel undocked his padd, stuffed it into his backpack. When the time came for the competition on Monday, how would he distinguish the newer ones from the older ones in order to submit the latest, most capable creature? Funny word, that—hardly seemed appropriate any more. He only hoped Mr. Robathan wouldn't notice.
Time to hit the mall, his usual hangout. He might even download a few new books. It had been a while since he had bought a new one; lately, he had been re-reading old favorites. Change was often hard. He was sure there were great stories yet to be found if only he could give up his current favorites long enough to give some new author a try. He gave his room a quick scan, then pulled the door shut as he headed for the front door.
“Bye, Mom. I’m headed for the mall!”
None of his friends were there, but that was okay as he wanted to catch up on some reading, give his mind a break from the weekend-long coding marathon.
“How was the test, Daniel?” Emma asked, as she passed him in the hall after first period. It was Monday morning, and he had just finished a rather easy history test.
“Not bad, I guess.”
“Hey, Daniel, you feeling okay?”
He perked up at the question, forcing his eyes to focus on her. “I'm a little tired, that's all.”
“How did
you
do?” he asked. Daniel took notice of Emma for the first time that morning. She was wearing jeans for a change, and her hair was bundled in a ponytail. She was smiling at him. “I
hate
history. I never can remember all those names. It all seems so pointless.”
Daniel realized he was staring at her and looked away, startled. She was so beautiful! And she was not self-absorbed like most girls. (
Was that a bad assumption?
). And, the best part was, she was interested in
him
. Daniel's mind wandered off again.
“See you next period?” she said, then turned and walked away.
Daniel nodded. “See ya.”
The bell rang, and Daniel realized he'd been standing there for over a minute, in the same spot she'd left him. “I think I'm in love.”
He stared, unfocused, straight ahead, as he headed down the middle of the hall to his second-hour class. He had forgotten to brief her on the project. She might be in for a surprise if Mr. Robathan decides to ask her any questions about their joint project.
Daniel's thoughts were foggy and distant all through Algebra class. The material had nothing to do with Emma or his programming project. He caught the word “exponential” amidst the teacher's lecture. Daniel sat up in his chair and tried to recall the last few words the teacher had said. Unable to remember, he raised a hand and asked, “Excuse me, could you repeat that?” He could usually recall a lecture in his mind—a sign that he was clearly distracted today.
His math teacher, interrupted in mid-sentence, frowned at Daniel, knowing the kid hadn't heard a word she'd said the whole period. “Daniel, glad to see you're finally with us.”
Daniel was suddenly self-conscious, but dared not look at the other students. “I'm sorry, I didn't get that last part . . . exponential something?”
Ms. Griffin replied, “Yes, Daniel. We covered exponents last week. The formula for graphing a function often involves an exponential value, and we know that the common geometric shapes are all related to . . . .”
Daniel's mind drifted, again . . . .
Exponential functions.
Geometric shapes.
Wandering particles.
Information.
Networks.
His thoughts often flowed like that, using open association to break through clouds of information and reach a conclusion. He was sleepy, and his eyelids were heavy. An important conclusion escaped his mind, vital to . . . .
He lost track as the teacher caught his attention once again. He retraced his thoughts, an attempt to discover the idea he had lost. He was getting annoyed with himself for being so tired. He decided he would have to force himself to go to bed earlier from now on, no matter what he was working on.
Thoughts can be frightened; they'll flee if cornered. Only by letting a skittish thought go will it come back.
Daniel relaxed his mind and let go of the missing thought. As a result, he fell asleep in class. He snapped awake at the bell.
Third period. Mr. Robathan's class!
He jumped from his seat, raced from the classroom, jogged across campus to the small computer science building, a recent addition to the campus. It was all brick and mortar, a sign that the school was receiving more funding than in previous years, evidenced by the three mobile trailer classrooms in the courtyard.
The new building was nice—six classrooms and a computer lab in the center of the building. The classrooms were networked with the lab, which featured a superserver and printers. Each student desk was a virtual desktop that synchronized with a student's padd. Mr. Robathan's class assembled after the bell, eager for the competition. There was plenty of boasting and smack talking. Several students were presenting their a-life projects for the first time.
Daniel was acutely aware of each person who entered the classroom, eagerly awaiting Emma. Emma strode through the door, following two other girls. Daniel noticed that they were not the two girls he had met at the mall last Friday. Emma smiled as she passed, giving him chills as he blushed. His returned smile was sincere, expressing the butterflies that flittered around inside him.
Daniel said “Hello,” praying that his voice wouldn't crack—and it didn't, to his relief.
Why can't I relax?
Daniel thought, accusing his body of treason.
“Hiya,” Emma said.
It was a typical Monday: difficult to motivate students. Attendance call went well, with no absentees. Mr. Robathan said, “I've decided to use the class period and lab time today for the competition. I assume each of you is ready?”
Nearly every student said “Yes!” in unison, while a few added a few whoops and whistles.
“Okay, quiet please!” Mr. Robathan said. “Good. Let us get started. As most of you know, Friday’s experiment went fairly well, but there were a few
pranksters
who found an exploit in the simulation.”
Daniel looked back at Wil, Billy, and Nate, who were busy doing something on their desktops.
Mr. Robathan paused for a few seconds, waiting for the simulation startup routine. “Today, things will be a little easier. I am sure you have rewritten or revised your programs. I was also busy over the weekend revising the simulation. The known exploits have been closed and the system now tracks your artificial lifeforms more carefully.”
“Rather than rely on manual inspection, the simulation can now track each lifeform from birth to death. This will give me the added ability to replay each of your programs later, in case I need to see them again individually.”
Mr. Robathan gave a cursory glance in the direction of Wil, Billy, and Nate as he said, “The exploits that allowed teaming up and going invisible have been eliminated. It's not a true test of an ecosystem when you introduce something that cannot be duplicated in nature.”
Will shrugged, giving Mr. Robathan a nonchalant expression. “What is this, biology or computer science?”
“Wil,” Mr. Robathan countered, “go ahead and buck the system outside of class. In here,” he pointed at the boy, “I'll have no more of this hacker nonsense. Got it?”
Wil raised his eyebrows and sat back in his chair, a little surprised by the accusation. He whispered something to Billy, but Daniel couldn't hear what he said.
“Okay,” Mr. Robathan said, “let's get started. Most of you know the routine from Friday. Those of you who weren't here, ask someone near you if you don't know what to do.”
Most of the students were ready with their projects. A few were still racing to get their projects ready. Daniel watched his latest generation on his desktop. He paused the simulation, selected a handful of late-generation micros, and dropped them into Mr. Robathan's folder. Daniel was surprised by their size, as he had not checked before sending them over.
“Daniel,” Mr. Robathan said sternly, “I asked for just one. Class, please don't send multiple copies. The simulation will duplicate your programs and scatter them throughout the ecosystem.”
Daniel gritted his teeth, hoping that Mr. Robathan wouldn't notice the size of his submission.
“Is everyone ready?” he asked the class, still perturbed.
“Wait! I'm almost done,” Emma said. “Okay, there, it's done”, she said, tapping a key on her desk.
Daniel couldn't get her attention, so he sent her desk a message, “Hey, what’s going on?”
She looked toward him, smiled, and then replied, “I'd prefer to call it nature, Daniel. I decided to work on the project on my own, instead of mooching off your work. :)”
Happy faces were definitely good, Daniel thought, smiling at her.
Mr. Robathan tapped the icon to start the ecosystem simulation running, then he quickly paused it. It had a multitude of random data mingling about, representing odd life forms to make the simulation more interesting. One by one, Mr. Robathan moved ten copies of each program into the ecosystem, randomly dispersed.
Mr. Robathan waited until last for Daniel's program. It was quite large, he noted with some concern. He chuckled, remembering himself at that age. Such high intelligence and creativity needed focus, or else it was wasted on frivolous goals. When it was ready, he said, “Okay, class, here goes!” and tapped the resume icon.
The simulation was full of creatures moving, eating, and occasionally, attacking each other. The classroom suddenly erupted into noise as students laughed with surprise. The growth rate within the ecosystem was phenomenal. Daniel's life forms seemed to be doing poorly, being killed quickly.
Mr. Robathan gave Daniel a curious glance. The boy had obviously spent a great deal of time on his project, and his creatures were now acting like prey.
Daniel didn't know what to expect. There were so many creatures in this simulation, it was difficult to see what was happening up close. He hadn't expected them to fail so miserably. He had counted on the ecosystem giving them time to adapt. He slumped in his chair, fearing the loss of them all. He sighed. At least they were still running at home. Perhaps they had just not had enough time to adapt in such a crowded place. They seemed to be rather dumb, in fact.
Thirty minutes passed, and the contest raged on. This was more exciting than anyone had anticipated. Even dull old Mr. Robathan seemed enthused. This had been the longest simulation of any class he had ever taught. He was openly praising students for a job well done. He didn't know
why
it had lasted so long, though.
Forty minutes into the simulation, the dominant life forms were becoming apparent. Surprisingly enough, Emma's latecomers had survived to this point. Of the original twenty-seven species introduced into the ecosystem, only five types remained. Daniel was surprised that his were among the survivors.
The class cheered as the last two contenders fought for domination. When Emma's last creature perished, Daniel texted, “Congratulations! You did well.”
Emma responded, “Thanks. But it looks like it's between you and Wil now.”
Daniel nodded in her direction with a smile. The class had huddled together between the last two contenders. Those rooting for Wil on one side of the class, and those rooting for Daniel on the other. Mr. Robathan remained at his desk, keeping track of how each student fared. He was not entirely interested in the winner. He was grading each student on participation and effort.
At last, it was all over, and the group surrounding Daniel cheered. Mr. Robathan stood in front and waited for the noise to settle down. “Great job, everyone. I'm very pleased with the work all of you put into this project. As you know, I will not be passing out grades based on how well your life forms ranked. Instead, your grades are based on effort. Congratulations, Daniel! You seem to have won through sheer numbers—no doubt a tactic the dinosaurs once used.”
The class once again roared with laughter. As this was going on, Daniel couldn't wait to get back to his own experiment. He pulled out his padd, opened the simulation, and tapped the resume icon, which would allow them to continue in real time. On a whim, he tapped the time dilation setting, turning it up to maximum.