Episode 22: Optimisations

Melinda was idly flipping through The History of the Academy, which she’d found on the common room shelf. “Wow, that’s ridiculous.”
“What’s ridiculous?” Bryony enquired from behind the mass of papers spread across her desk.
“Apparently back on Old Earth, whether or not you could actually do the work was only a secondary requirement for getting into their equivalents of our Academy. It says as little as five percent of some populations would even be considered on the basis of ability.”
“That’s tiny! What were the primary requirements, then?” Bryony turned her chair to face Melinda.
Melinda ran her finger down the text. “Depends, I think. Money, apparently. I can kind of see that; they say you had to pay for everything on Old Earth. Some people think that was better, I think. Must’ve been horrid if you were the smartest kid around, but you couldn’t afford to keep learning. And it could depend on where you were born.”
“To be fair, we have that too. Everyone in our class was born on Mechatropolis.”
“I never really thought about that. But it’s not like other people aren’t allowed. And — this is beyond ridiculous — some of them only let you in if you had the right skin tone. Apparently it was quite common.”
“If you had what?” Bryony tilted her head so that her braids swung out beyond her chair.
Melinda shrugged. “The right skin tone. Don’t ask me. It says it had something to do with culture, whatever that means.”
Bryony flicked at her braids absentmindedly. “It makes you think. I wonder if we do things that seem perfectly normal, but would sound completely unfair to someone else. Probably you ought to think about that every once in a while.” She pulled out a bright pink pen and made an addition to her to do list. “Let me know if you have any ideas on it. But aren’t you supposed to be going to play with your robots now?”
Melinda looked at her watch. “I’d better run, thanks Bryony. See you!” She grabbed her bag and ran out into the corridor.

Because she’d run, she arrived at the lab out of breath, but just on time. It wasn’t quite how she’d planned to meet her new robo-duelling team, but it would have to do. She gulped down some air, tightened her ponytail, and tried to walk nonchalantly into the laboratory.
“Ah, and that’s all of us.” A heavyset young man ran his hand over the black stubble on his equally dark scalp. “I think we can start now, although we are technically thirty seconds ahead of time. My name is Mandla Buthelezi and I will be the captain of the team this year. I tend to be more interested in the hardware side of things, but of course I’ll be looking at a bit of everything this year as captain.
“Suppose each of you gives a short introduction too. We’ll start here.” He pointed to Verashni, the only person Melinda recognised in the group. Melinda didn’t hear much of Verashni’s introduction, but she imagined it involved her passion for taking things apart. By the time Melinda had found a lab stool and a place at the table, the fourth member of the team had just finished introducing himself.
“Last one.” Mandla gestured to Melinda.
“Uh, hi, I’m Melinda. I mostly do software stuff. Like Poly.” She gestured to the mech, which had found a perch on the edge of the lab bench.
“It drives me crazy,” Poly said. “Literally.”
Verashni giggled.
“Nice.” Melinda’s neighbour leaned over to inspect Poly. “Your build?”
“I just sorta spliced some stuff into the default software. There are some really cool algorithms in the public libraries.”
“Getting anything to talk halfway decently is a fine job.”
“I know how to stop talking too, which is more than can be said for some humans.”
“Poly! You’re not supposed to insult people.” Melinda turned to apologise, but the whole table was laughing.
“Sometime we have to sneak Poly into lectures,” Verashni said.
“I don’t think that would end well.” Melinda could all too easily imagine one of the Mathematicians confiscating Poly for being a disruption.
“In any case, we are here now to discuss robotics. Not just any robotics,” Mandla added, “but robo-duelling. We have a standard issue B-league robot, so if we don’t do anything we’ll get into the ring, but we won’t last long.
“The exact model that gets handed out changes each year, so we’ll have to get accustomed to what this one can do before we begin to make improvements. Here are the manuals.” He tipped the microchips onto the lab table. “And here’s the robot.” He pulled a controller out of his pocket and flipped a switch. From the far end of the lab, a mech about the size and shape of a large bucket came rolling down the aisle. It squeaked as it came, prompting somebody to produce an oil can almost immediately. When it reached the table it stopped for a few seconds, before rolling on to where Mandla was sitting.
“As you can see, it’s essentially functional, but we have some understanding and improving to do, beginning with that can of oil. For now, I’m just going to encourage you all to play around with it a bit. We’ll get into serious strategy later.”
Melinda wasn’t sure what to play around with — the possibilities for the robot seemed endless — so she figured she’d start with the manual. She grabbed one of the microchips and in a minute was the only one left at the table. Mandla seemed surprised, but once she’d assured him she was happy, she was left to read in peace.
She skimmed through the whole manual, although she didn’t even look beyond the headings of the hardware sections. She got drawn into the section on the pathfinding algorithms the bot used in different situations. There was plenty Melinda would have struggled to come up with, but plenty she could think of improving too. Somebody had done some careful design there, she thought. She looked up from the manual when she heard Verashni complaining.
“I have oiled that! I don’t know why it insists on turning so slowly, but I can’t make it any slicker.”
“But it’s not turning slowly for mechanical reasons,” Melinda said.
“Hmm?” Verashni turned to face her, hand on hip.
“It does about a bajillion checks before starting in a new direction. They can probably be trimmed down and optimised, but not with an oil can. I’m not sure which ones are important, though. Look here.” She flipped to the list of checks in the manual.
Verashni came and peered over her shoulder. “Dear stars, that’s a long list. I don’t know what half those things are. But you think you can speed it up?”
“Should be able to.” Melinda passed the manual around the group. “There’s a bunch of redundancy that doesn’t seem particularly helpful in most of the code.”
“Yeah, they usually do that. We have to rewrite a bunch of stuff every year. You can see which teams don’t in the ring.”
“I bet you can, if they’re moving this slowly,” Verashni said.
“Well, looks like you’ve found our first assignment,” Mandla said. “Get that code tidied up.”
Melinda pulled out her pen and opened her notebook to a blank page. “I’m on it!”