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
   75   76   77   78   79   80   81   82   83   84   85