Intelligent Systems And Their Societies Walter Fritz



General Learner 3

The latest running and tested program of the General Learner series (the GL3)

The brain for a humanoid robot should have a general intelligence.
Also it should learn how to react to its environment, rather than have its reactions programmed. It should learn, step by step, like a human child does. To start in this direction, a simple program, the General Learner 3, has been built. This program learns and works with "concepts" and "rules". Concepts represent sensations and actions. Rules indicate what to do when the program receives a certain set of sensations. This is somewhat similar to what in biology is called stimulus and response. The General Learner 3 works in two modes, interacting with a person or searching for patterns in its memory.


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.


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:

These are the actuators: All inputs from the senses are coded as concepts, named by a number. The set of concepts that enter together, at a given time, represent the present situation that exists outside the black box. At first, the black box cannot know what these concepts represent. But it can learn what output concepts are adequate in a given situation. These it sends out.
The senses create the input "concepts". At first, the concept contains only data from the senses, for instance the letters of a word, and the shape, color, size and position of something seen. Later more data is added to the concept, such as connections to other concepts and rules. Also the output is one or several concepts. As text output an input concept is used. A movement concept contains the number of a limb angle encoder, the objective angle and the desired speed.
The connection between input concepts and output concepts are the "rules". Rules are sometimes called "productions" or "procedures" by other researchers. They contain the input concepts and the corresponding output concepts. The black box learns these rules. Eventually, when the present situation corresponds to a learned rule, the black box sends out the output concepts. These concepts define a situation. It is the situation that is wanted, the objective. There is an interior rule that takes these concepts and performs the required action. An interior rule is an instinctive rule, that reacts to situations within the brain.
The reason for working with concepts and rules is that they are data, not program functions, and therefore the program can create and change them while it runs.

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.


Once written, we have tested the program. See the Tests


Noteworthy Features


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 Robot 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 here
Jump to the Book Contents /  Robby, A Household Robot
Robot Brain /   top of this document 

Last Edited 12 November 2014 / Walter Fritz
Copyright © New Horizons Press