Episode 19: Audition

“Do you think I’m allowed to take books?” Melinda flipped through her carefully organised collection of microchips. “Or would that be considered cheating?”

“I’m sure they’ll tell you.” Bryony sat cross-legged on her bed, painting her nails lime green. “If you’re not supposed to have them, you can just bring them back or put them away or whatever. It’s an audition, not a final exam.”

“Yeah, I suppose so.” Melinda sighed. “I don’t like this state of not knowing how things are going to work. I’ll be much happier once I can actually do something.”

Bryony shrugged. “You could work on your modelling project if that makes you happier.”

“I wouldn’t be able to concentrate! Not on the morning of my first ever audition for a robo-duelling team! It starts pretty soon, so I guess I’ll go see if anyone else is waiting in the lab.”

“You make it sound so dramatic, Melinda. Don’t forget to have fun.”

“Don’t worry, I won’t!” Melinda grinned. “Have a good day. I’ll see you later.”

As Melinda had anticipated, there were already a few students scattered about the laboratory, waiting for the auditions to start. Buhle was the only one Melinda recognised, so she made her way over to her classmate. “All ready?”

“I guess so. I’m not really expecting to get into an A-league team anyway, so this is more of a learning experience than anything. But I couldn’t concentrate on my project, so I thought I’d see what was going on here.”

“I hear you.” Melinda flicked through her book collection, using up nervous energy as she spoke. “I don’t think there’s a chance I’ll be on an A-league team, but I still kinda feel like I need to prove myself. Like, I’m not imagining I’ll make it into a team, but it would be nice to make people think I could get there someday.”

“Well, it’s certainly allowed before things start and some less obsessive conversation might not be a bad thing.”

“Humph.” Melinda took the mech out of her pocket and toggled the power. “Buhle prefers your company to mine, Poly.”

Poly’s gears whirred. “Today is the day of the robo-duelling auditions.”

Buhle groaned.

“I appreciate the compliment, Buhle,” said Poly.

“Now you’re all out of order,” Melinda said. “That sounded more like a groan than a compliment to me.”

“Commencing system scan and error diagnosis.” Poly sat and whirred.

“What happened?” Buhle asked.

“I must have set of the self-consistency checking algorithm, but I’m not sure how. It’s usually fine to say that Poly’s muddled.” Melinda watched the mech for a few moments. “It’ll probably work itself out.”

“All systems go,” Poly reported. “Nothing detected as out of order, Melinda. Would you like to check manually?”

“Ohhhh. No that isn’t what I meant, Poly, but I guess that was a correct response.”

Buhle looked from Poly to Melinda. “What happened?”

“I said Poly was out of order, meaning that the replies weren’t keeping up with the conversation, but ‘out of order’ is a special key phrase which starts a scan.”

“Ladies and gentlemen, your attention, please.” The laboratory had filled up and Mike le Roux was speaking from the lecturer’s platform. “Welcome to robo-duelling auditions! As you know, there are a very limited number of A-league places available, but our goal is to make this a useful and educational experience for everyone, regardless of where you eventually find a team. To that end we have persuaded Preveshin Moodley, whom most of you should know from the library, to let us assemble his new mechs.

“Let me emphasise right from the start that these mechs belong to the library and you are not allowed to make irreversible changes to them. That said, standard assembly of these mechs is non-trivial and we don’t expect most of you to be able to do it without some assistance. Even if you’re sure about what you need to do, please check with one of us before doing anything significant.” Mike indicated a group of older students standing near the doorway. “As your prospective captains, we want to be involved in how you’re solving the problem, not just comparing your solutions.

“You have a bit more leeway when it comes to the software side of things, as we will overwrite all the mechs with the standard software after the event anyway. We still want you to be talking to us about what you’re doing, though, so please talk to us about your algorithms and especially your testing. We don’t want any accidental berserker robots.”

Melinda giggled along with the rest of the group, even though she knew he was perfectly serious. Testing software properly was hard. Finding out that you hadn’t tested properly could easily end badly.

“Now, specifics of your task. The mechs are supposed to take instructions for archiving purposes and they’re summoned by a radio frequency signal that we’ll give you with your equipment. At the end of the afternoon — we’ll decide on the exact time as things go — we’re going to take all the mechs to the library and set off the signal somewhere in the main library hall. Your mech needs to arrive at the signaller as quickly as possible. You can think of it as a race, but there’s a lot more to today than winning that race.” He paused and looked around the audience.

Melinda’s mind was already teeming with ideas on how to direct a mech along a previously unknown route. It was a pretty standard problem, but she’d never worked through it for herself.

“You can find your team allocations and locations on the noticeboard outside. You may not work with anyone outside of your team, but otherwise make use of whatever resources you have available. To minimise disruption to the library, we’re giving you all the pertinent measurements with your building sets. If you need anything more, it’s probably in the Academy records. Remember to ask before you start putting anything together! Alright, that’s it. Ask when you think of more questions.”

Melinda joined the general rush to the noticeboards. A few minutes later she was back in the lab, at one of the corner tables. Two of her groupmates were happily exploring the mass of parts that were supposed to eventually form a mech. The third had agreed that she should look for pathfinding algorithms while he spoke to the organisers about firmware specs. Melinda wasn’t quite sure what the issue was there, but having been assured that having a pathfinding algorithm to plug in would probably be useful, she was looking at that.

The first thing she found in her big book of algorithms was called Dijkstra’s algorithm. It took a while to decode the mathematical structure of the algorithm into something that related to the real world. Melinda covered several pages of her notebook.

All the space that mattered in the problem was divided up into zones. Each zone connected to all adjacent zones and the connections were given values related to the physical distance between the zones. Dijkstra’s algorithm was a set of rules for finding the shortest path between two zones, given the values of all the connections between them. Melinda wasn’t sure she’d found the perfect way of using it, but she was quite proud of herself for coming up with something that might be useful at all. As she was checking that she could follow the algorithm through on her picture, one of the A-league captains arrived to peer over her shoulder.

“So you’ve found Dijkstra. That’s good. If you‘ve got time to get fancier, have a look at the ay-star algorithm. It’ll help with bookshelves.” She grinned and walked on.

“Uh, thanks.” Melinda wasn’t sure if that was a good sign or not.

“Don’t worry, Amillah’s like that,” one of the tinkerers at the end of the lab bench said. “She can always find a way to improve things, but if she was actually worried about you she would’ve stuck around much longer.”

“Okay, that’s a relief. So do I have time to look at the more complicated one?”

“There’s definitely still time to look. You can’t go too far into implementational details until I figure out how we’re going to interface with the system anyway. I’m hoping we can just load up some library and interact with that based on understanding the algorithm. We can worry about speed ups if we get there. Frankly, just getting the thing running will be an achievement this year. But if Amillah thinks that ay-star algorithm will help, have a look at it.”

“Awesome. I’ll just make sure I’ve got this one sorted and do that.” Melinda went back to tracing out the steps of her algorithm.