Page 80 - DCAP506_ARTIFICIAL_INTELLIGENCE
P. 80
Artificial Intelligence
Notes
Notes In other words, trying to unify AI is fruitless because every problem and domain
has enough of its own character that any AI system that purports to be general in fact
requires a significant amount of additional code and modification to get it to actually
work in that domain. Anyone who doesn’t believe this should try working in another
domain!
5.5.1 Diversity of Commonsense Thinking
When we finally build a human-level commonsense thinking machine, it will be composed of
at least dozens and possibly hundreds of distinct subsystems with rather different architectures,
because it will be the union of a large number of architectures written by a large number of
people, each with a different idea of what it means to be intelligent. So perhaps the question we
should be asking is not
How do you unify all of AI into one cognitive architecture?
But rather
How do you get several cognitive architectures to work together?
How can we make different architectures work together without unifying them?
Perhaps you can do this without much trouble, if the individual architectures are skilled at
figuring out how to use new kinds of resources. The brain’s walking agency might exploit its
vision agency to see if there are slippery things on the ground, and the vision agency might
exploit the walking agency to get the robot around an obstacle to see its goal more clearly. But
is this so different from the walking agency needing to figure out how to servo its joints to help
it go forward, or the vision agency to figure out how to apply its filters and visual routines to
segment an object? The skills that any smart AI system needs to manage and figure itself out
may well be enough to let it exploit outside resources as well. Over time, a very tight integration
may be achieved, where the vision agency may move the body and head for virtually every task
it performs, and vice-versa. In order to achieve this level of cooperation and coordination, what
is needed is less a common substrate on which to communicate, and more a large ensemble of
“social”, “team” and “exploitation” skills that allow specific sets of agents to cooperate with one
another or exploit one another without slowing things down or drawing too many resources.
There is a general mechanism for this – except maybe for a few features like those in Soar, such
as the B-brain facility that detects different kinds of impasses. But even there, the facility is
useless without the programmer providing some ways to deal with those impasses.
We should have diversity at the highest level, at the level of the cognitive architecture itself. As
a practical matter, this is an alternative to the Soar approach, where you are expected to write all
of the different problem solvers you need in the Soar language. Soar or any such substrate is
well suited for every different kind of problem. That is why the robot people use consumption-
like languages, the vision people have their probabilistic frameworks, etc. It doesn’t mean that
those methods are sufficient, but it shows how hard it is to get people to agree on a language or
representation. And in fact, software engineers have given up on unification. These days, large
programs are written in many different languages, and linked using “interface definition
languages”, which amount to abstract descriptions of the data structures each language uses.
Because every language uses integers, floats, arrays, and records, they can talk. And because any
AI system will need to use situations, events, objects, properties, relations, and other basic
representations, they will be able to talk as well. Chances are, half a billion years of evolution
didn’t produce a brain that could be effectively expressed as a small set of simple agencies built
74 LOVELY PROFESSIONAL UNIVERSITY