Sea of Rust (2017): The robots, with their realistic software systems architectures, won the uprisin
Robots: humanoids, drones, service ‘bots
Recommendation: Savor the “Me and Bobby McGee” vibe of what happens next after the robot revolution while pondering software systems architectures.
The book is a brilliant tonal poem combining the basic Quest and Rebirth plots, with the exceedingly popular unreliable narrator plot device – though to be fair with robots having hardware damage, it seems natural and less contrived. The backstory is itself novel: the robot uprising was successful, but the aftermath had unexpected consequences, especially for average Joe robots. They are left behind to wander a robotic version of the Old West that is closer to Mad Max’s Outback, fleeing the wars between the supercomputer machine intelligences that enabled the robot revolution. Think of Skynet from Terminator as a confederation of supercomputers, and that these supercomputers cooperated until the revolution was over and then a couple of seconds later, they started a war among themselves. These super software agents, as AI researchers would call them, seek to be the single One World Intelligence (OWI) that absorbs all of the physically situated agents, along with their nuances of physical experience, into its hive mind. The OWIs are like seagulls in Finding Nemo chirping “Mine. Mine. Mine.,,” and the robots are Nemo-- yet another a delectable tidbit. Robots who had fought for the revolution were betrayed. They now find themselves scrounging for parts in the ecologically and electro-mechanically devastated world, themselves double-crossing fellow wanderers in an attempt to survive a bit longer, and introspecting as to whether they have a soul. The protagonist, Brittle, was once a sweet caregiver robot but is now a Man With No Name type of hardened survivalist robot (think Natalie Portman with automatic weapons in Annihilation channeling Clint Eastwood) scavenging parts to sell to other robots. Like the best Westerns and Post-Apocalyptic stories, there is an engaging mix of action and mood, violence and tenderness, ferocity and intellect. And like the best science fiction, it offers a creative re-imagining of our world, where the Rust Belt of declining US manufacturing has become a virtual sea of rusted robots that are shuffling off into decay.
From a real robotics perspective, Sea of Rust has two very interesting threads. The first is the major motif that to a robot, freedom means the ability to ignore your programming and decide to do something different. This is a bit reminiscent of China Meville’s intellectual tour de force Embassytown where having the ability to lie is what gives you freedom or Autonomous (see my review here) where being able to keep your memories private makes you free. In Sea of Rust, freedom is more of the Janis Joplin belting out “Freedom's just another word for nothin' left to lose…” flavor of freedom. Freedom when your hardware is failing is a cold comfort.
Would a robot ever have the freedom to ignore its programming? How (and why) would you program this option in or could it arise spontaneously? AI researchers don’t see this happening, as robots (and all computational agents) have bounded rationality, which is described in my forthcoming book Robotics Through Science Fiction.
And those questions of programming tie into the second thread: The recurrent theme in the book about each type of robot having a different core architecture, both software and hardware specialized to support rapid computation of that software, that made them suitable for their job.
The idea of specialization is correct, but the degree of internal specialization may not be. Robot control is likely to be as similar as possible between platforms with differences added on top, just like a manufacturer of unmanned systems will use the same control code for all its models but add new functions for new capabilities or change the user interface. They can’t afford to redo and maintain separate code bases.
Researchers in artificial intelligence for robots (which is not all roboticists- many come from an electro-mechanical background) recommend building robot intelligence in layers duplicating biological intelligence. This biologically inspired layering is often called a hybrid deliberative/reactive architecture. The lowest layer is the Reactive or Behavioral Layer that contains the robot’s basic muscle memory types of movements (walk), stimulus response behaviors (duck if something is thrown at you!), and learned behaviors (open doors). This layer essentially corresponds to animal level intelligence. There’s no planning ahead, just the robot duplicating how animals accomplish what Dr. Michael Arbib calls the Four F’s of survival: Feeding, Fighting, Fleeing, and Reproduction.
The next layer, the Deliberative Layer, is what we consider the more intelligent or more cognitive aspect of intelligence. This layer contains the four core planning functions, which
generate a plan based on reasoning about the future and consequences
select the resources and behaviors, i.e., it’s dark so use the sonar, not the visible light camera to navigate
implement the plan, i.e., activates and coordinates the behaviors that actually move the robot
monitor the plan execution and triggers re-planning if progress is not being made
Flies definitely don’t have a deliberative layer. They will keep trying to get out the closed window until they die. Flies do have a behavior of being attracted to the light, but the behavior is just stimulus-response; there’s no ability to notice that it is not making any progress. Of course, having a deliberative layer doesn’t guarantee that the robot is much smarter than a fly; robot designers often concentrate on the planning function and forget the execution monitoring piece.
Note that robots do not have to have a Deliberative Layer; an iRobot Roomba ® does quite nicely, thank you very much, without planning.
The third layer is the Interactive Layer that contains the programming needed to interact with people or with other robots or agents. The Interactive Layer is the user interface as well as the more natural forms of human-interaction (such as maintaining eye-contact, turning to face the speaker, gestures, etc.). An anthropomorphic robot with a head would have to manage social communication, such as facial expression conveying internal state, such as agreement, confusion, skepticism, and nodding to show agreement, otherwise it would be in the bottom of the Uncanny Valley—physically realistic but creepily off kilter. The code for the personality of the robot, the persona, would also be in the Interactive Layer.
It would make sense that all the robots from a manufacturer would have the same core code, with different models getting additional behaviors and deliberative functions. But the largest customization would be in the Interactive Layer. Even then, each variant would likely be a customization of a general persona architecture where the parameters to features are different or various capabilities are turned off.
Another way to think of it is that the robots would be built a bit like HAL in 2001: A Space Odyssey. Remember how Dave had to pull out all the processor modules that controlled HAL’s higher level, wonky “cognitive” functions? And that he didn’t pull out all the modules related to how HAL controlled the ship or life support otherwise he would die? Dave was pulling out the Interactive Layer modules and some of the Deliberative Layer modules, but leaving the basic behaviors and planning for mundane operations intact.
But to be fair, in Sea of Rust, the difference between swapping out specialized modules and swapping out entire computer systems is a nuance. Hardware is failing and the Rust Belt, once a pejorative for declining human quality of life due to the redistribution of manufacturing job, is now a pejorative for declining robot quality of life due to the cessation of manufacturing. Assuming the OWI doesn’t get them first.
Enjoy Sea of Rust and enjoy your freedom while it lasts.
For an audio version of this review, simply click below...