Computers and machines have a marked deficiency: They live inside of an engineering world that’s been constructed for them. This world consists of bits and bytes, instructions and programs; but it is generally impossible for them to reach outside of this world and examine themselves in detail, or to carry out repairs. While we human beings have similar problems with actually understanding how we work and how to repair ourselves, thanks to medical science we can usually get at the problem and examine it in detail, and in an increasing number of cases also help fix it.
Machines have no such luxury. They break down without knowing it; the oil runs old and they continue to operate just as cheerfully until the inevitable day comes when they grind to a halt, and cannot understand what is wrong. Human beings need to continually check these machines, and carry out maintenance or repairs.
For fully autonomous systems to exist, I believe they must first of all be able to reach outside of their digital worlds. The first step is providing sensors (Hello Barb!) that allow them to monitor themselves, like our nervous networks, and sense where there are injuries or developing malfunctions. The next step is to be able to carry out repairs as needed, i.e. reporting to a repairing facitility and get work done. As more and more functions are delegated to microprocessors which need little or no maintenance, the need for repairs might be limited, but there will always be elements like joints and motors which experience friction and degeneration over time.
By modeling a computer/machine system on the biological blueprints with fine-grained nervous sensors, we might take the first step to building fully autonomous systems. And in a wider sense it may even improve the functionality of prosthetic devices, allowing replacement limbs to become sensing and more fully integrated with the human body, providing feedback through the normal pain channels and indicating its state.
This is, of course, mere speculations.
—
Speaking of sensors, I’ve always myself (with my technological expertise) lived inside of the computer, managing bits and bytes by the millions or billions. The level of interfacing with the external world has usually taken place through monitors and keyboards (interestingly enough named Human Interface Devices in the USB context) and, optionally, a printer or so. It has always been an interesting prospect of mine, from the early days of computing in school, to actually interface with reality and monitor it.
The dream scenario of mine is to maintain a network of sensors for, say, traffic control systems for railways or freeways. It would be an interesting challenge to write the systems that continually monitor all of this real-time data and provide responses to it.
In a way, it’s like writing the first, simplistic models of the electronical version of the biological brain. In essence, what our brains do is monitor a series of nervous impulses, and provide appropriate responses to them. Although there might be qualitatively different orders between sensing traffic loads on the I-494 freeway, and sensing being touched by a beautiful woman, in the end it’s just a matter of different programming. Without getting naughty, it might be interesting to program a computer to “enjoy” a stable and efficient traffic flow just as much as our biological programs do to other “external stimuli”, and program it so seek (in a reasonably autonomous manner) such traffic flows as efficiently as possible.
Still a long ways off, I suppose. But as massively parallell systems and paradigm changes loom on the horizon, and Moore’s law still churning out ever increasing technology, it might just be closer than we think.