| Intelligent Systems And Their Societies | Walter Fritz |
An artificial Brain for a Humanoid Robot
The latest running and tested program of the General Learner series, the GL3
Introduction
To build a humanoid robot brain, it looks to me, that two
strategies are important:
Here, a possible first step is explained, the General Learner 3. The basic idea of this program is that it should have the capacity to learn anything, like a very young child.
If you are interested in how the program developed from previous versions, have a look at the History of the Program
The Program
The General Learner 3 is more biologically
inspired than by narrow artificial intelligence. To explain it, letīs use the famous black box:
There are sense inputs into the black box and actor
outputs.
This program has the following senses:
The General Learner 3 is a 56 K computer program,
written in the C language. It runs on a Macintosh with a Mac OS 9 System. The version for a PC with Windows XP is still incomplete. This code supports the concepts and rules. These in
turn, perform all the learning and activity. There are
several different types of concepts, such as "text",
"vision", "abstract", "combined" and "action". But all
concepts have the same C language structure. A concept
has a structure member (a branch) for type, for contents,
for related concrete or abstract concepts, for related part
or combined concepts, and in which rule it is used.
A rule has a structure, with members for its type, the
concepts of the situation (Sit1) to which it is applicable,
the value of each of these concepts, an intermediate
situation if it is a combined rule (or an elemental action, if
it is an elemental rule) and the resulting situation (FutSit).
All existing concepts and rules are stored in memory.
Also there is a chronological memory that stores the
sequence in which exterior rules are used.
There are "external" and "internal" concepts, situations
and rules. We call them "external" when they relate to the
external environment. We call them "internal" when they
relate to situations (conditions) inside the brain.
We use internal rules because we expect that, in a future
version, also internal rules will be learned by building
them up from elementary rules. These elementary rules
then would activate C language functions.
All concepts representing objects of the environment are
learned. Also all rules working with these concepts are
learned. At present internal rules and concepts are created
during the initialization of the program, they are not
learned.
The program has two modes of operation: The "awake"
mode, when it interacts with a person and the "asleep"
mode, when it is externally inactive but internally active.
We use this asleep mode, because it is very annoying to
the person operating the computer, if the computer
continually stops responding, because it is learning
something. The person usually wants an immediate
response. So now the person can indicate by the menu,
when it is time to sleep and later, when it is time to wake
up again.
In the "asleep" mode the program reviews its memory of
rules, created by experience, and, based on them, creates
new rules. These new rules are more general and therefore
applicable to many similar situations. In the sleep mode, the brain is active without exterior stimuli.
At the start, the program reads the stored memory (or creates a new one) and creates interior rules and interior concepts. Then it falls into the "awake" mode.
See the details of the Awake Mode
Here see details of the Asleep Mode
FONT SIZE=+2 COLOR="CC00AA">Tests
Once written, we have tested the program
See the Tests
Noteworthy Features
Conclusion
Here we have shown a first step on the way to eventually get to a human level
robot brain program. What we need is a program
that can learn everything.
This program should be as simple as possible, preferably
as simple as the many interconnected neurons in the
human brain. We have chosen rules that have an input and
an output. Both input and output are represented by
concepts. But there is a difference; a rule does the work of
many neurons. These differences are to be expected. Birds flap
their wings, but airplanes have fixed wings and jet
engines. The best artificial way is not always identical
with the best biological way.
The General Learner 3 shows some capabilities that are
needed in a final human level robot brain program. It can learn
from experience, it can abstract and generalize. It can get
the meaning of a word, what it represents. For instance it
can learn the quantity involved; and in a previous version
of the program, working with drawings on a computer
screen, it leaned what vertical and horizontal means, and
used this meaning to rotate a geometrical figure. When we
use a language in teaching the General Learner 3, it learns
in this language. Any language that we can enter using
the keyboard, can be learned. At present its understanding
of language is quite rudimentary. In an input sentence it
cannot understand indirection, negation and conditions.
The General Learner 3 program shows that learning from
sense input to limb output is possible. A person learns
many "mental" activities, such as higher mathematics first
with pencil and paper (physical) and only later can they do them in
the mind only (mental).
In short the General Learner 3 is a start. On the other hand
much is still to be done. Beside the known
inabilities, there must be many more, at present unknown.
At each moment of its development, only tests can show
what capability is missing and what changes in the
program are therefore required. Only while building and
testing the program can we improve its capabilities and
also its architecture.
For the next step of development, see
Proposed Brain
If you liked this page, please do me a favor: Tell your friends about it.
The author appreciates comments and suggestions.
For continuous reading, like a book - continue
Jump to the
E-Book Contents /
Robby, A Household Robot
A.I. The authors AI Programs /
top of this document /
Copyright © New Horizons Press