The Last Program
“….the ability to learn is a powerful tool. It is no surprise that many programmers want to create a
program that can use this tool in the same way that people do. A program that could do this would
be in theory the last program ever written because it could learn to perform various tasks on its own
simply by being taught.”
- Herbert Schildt, in Artificial Intelligence…. Using C
In Artificial Intelligence…. Using C, published by Osborne McGraw Hill in 1987, Herbert
Schildt tells us about problem solving, expert systems, natural language processing, vision and
pattern recognition, robots, machine learning, logic and uncertainty; all terms that are familiar to most
of us who have been interested in aspects of this vague and all-encompassing area that has been
called artificial intelligence.
Three decades or so ago, a few of us embarked in careers in AI and are still at it. The majority of us,
however, dreamed the dream, then went about the business of our lives, often having this unfulfilled feeling in
our gut. Some things take longer to come together than we expect. We see bits and pieces of
something happening, then patterns emerge in our mind and a vision takes shape and we can
almost see the event occurring. But it doesn’t occur.
George Dyson, in Darwin Among the Machines, tells us about patterns that connect and
developments that
have occurred in the AI field and of many others that are
underway. Reading Dyson, you clearly see how one development
builds on another and another, etc., until the breakthroughs you dream
about, or recognize when they happen, become just about inevitable.
Similarly, when he wrote his book on AI, Herbert Schildt thought that artificial intelligence would be well on its
way to displacing white collar workers and middle management by now. Schildts’s book is brilliant
in its simplicity and crispness, focusing on the practical side of writing simple AI related programs, to
feed our interests and prod our efforts forward. He may not have been wrong in his projections as to
where AI may lead us, but he may well have underestimated the amount of concerted energy, and
the concurrences of events, it takes to reach lift-off capacity for any new leap in paradigms. For
years and years nothing seems to happen, while the energies build and the technologies evolve and
the know-how diffuses into the population. Then…. bang! And we wonder where it all came from all
of a sudden.
At such times, we also often find ourselves thinking, “Such a simple thing. It was right there in front of
us all the time. Why didn’t I see that before?”.
Putting it all together
The pieces and the threads that Schildt made more accessible to us, and a
number of other ingredients, if assembled
using current day technologies and in a certain structure and context, may be all that we need to
cross over into the realm of
true self-learning robots. I say robots, rather than programs, because one of the missing pieces in
the puzzle, I believe, is the continuous experiential sensing of the world that is an essential part of
bringing life and direction and motivation and energy and context to
self learning software. Senses and sensing are very common to we
human beings --- and so it will be with our robots, in spades.
We will address sensors and sensing in robots a good deal more as the
project progresses.
Thinking about and developing learning programs in the context of robots puts self-learning into ever
so much a more interesting and challenging light. Moreover, autonomous robots can’t really be very
autonomous without lots and lots of learning programming. Hence, the Fiver
Project; a project
intended to evolve a set of practical learning tools for what will become a very entertaining, then very
capable and finally, very intuitive robot, evolved and taught by all of us…. over the web.
Today, the task of building Fiver --- in hardware and software --- begins.
A few of the early ingredients we will work with are….
- databases
- learning routines
- teaching routines
- interfacing
- uncertainty
Visit the Fiver Project and be a witness to, and, if you like,
a participant in, the development of "live" mechanical beings (autonomous
robots).
Joe Bosworth
robotchannel@aol.com
March 22, 2000