Intelligent Systems And Their Societies Walter Fritz




Robot Brain

A Proposed Brain for a Household Robot


Here is a summary:

What it can do.
This is a proposal for a brain that should be able to learn to manage a humanoid household robot doing any task in any environment.

It is better to learn all activities.
Learning like a young child is easier and faster than programming in detail all the needed knowledge and skills. Since the robot has to do housekeeping, we would have to program it for every home. For instance we would have to program how to wash tableware, how to store everything in a certain place in a cupboard. So it is easier that a person of the household shows this to the robot.

Let’s use stimulus and response.
The proposed brain is biologically inspired. As you know, stimulus and response is an important mechanism in animals and persons. There is a stimulus and response arc in a biological brain. Even if we look at the brain with a microscope, we observe neurons with a stimulus by a number of other neurons, and the neuron does a response. Again, when we observe many related neurons (a neural column), we find a stimulus at the input and a response at the output.
So you see that we find the stimulus and response mechanism at all levels, from just one neuron to a complete brain. Therefore we represent the activity of the robot brain as stimulus and response, as a reaction to a situation.

What senses and actuators do we need?
For any brain, the types of senses and actuators that it has, are very important. The basic concept (symbols, ideas) it uses have to be build up from sensations. Just writing a word for "speed", does not give the knowledge to understand "speed".

The program learns from its own memory.
It reads its memory of experiences and looks for patterns. Based on this, it creates more abstract concepts and more generally applicable response rules.

This program has excellent scalability.
Here a bigger memory does not slow down the reaction time of the brain. A "present situation" is composed of "concepts", and each of these concepts has attached the address of a list of "rules" in which it is used. So the lookup of "rules", that are applicable to a given concept, requires a very short time. Typically the brain cycles 30 times a second, for smooth limb movements.

The brain understands different languages.
The text input in one language or another is handled in the same way. The brain answers in each language it is taught.

The program is based on two previous ones that were tried out successfully.

Why do I write all this? I hope that you will find many useful ideas in this paper. Ask me for any details you may need. (Walter Fritz)


General Considerations

It is amazing, how much a child learns during the first years of life. This shows that already at the start of life, it has the capability to learn how to move and coordinate limbs, to distinguish faces, to learn some words and to speak them.
This shows the need for early learning, teaching by a "mother" and gaining experience by playing with blocks, balls and other toys. These games are important, they teach how the environment functions, for instance, the difference of what happens when you push a wooden block or a ball. The value of playing is much underestimated generally. As a second stage of learning, there is a need for a preschool for these programs. This would be followed by school and a trade or university.

Here is an example that shows that a person normally acts reactive:
She sees a clock, it is eight a.m. (the situation) So she grabs her things and goes to the door (action). The door is closed (situation), so she gets out her keys and opens it (reaction).
During all this the thought that she is going to work in order to gain some money, does not enter her mind (not goal oriented). She reacts "automatically", without "thinking". Goal oriented activity is learned and sometimes used.

For a robot brain, the types of senses and actuators that it has, are very important. The "concepts" (symbols, ideas) it uses have to be grounded in sensations. Without vision or pictures on a computer screen, it cannot understand distance, speed, shape, volume and objects because it cannot perceive them; it lacks the required senses. It can only create concepts based on sense information it receives. Just using a word, such as "distance", in a sentence creates a concept for the word, but not a concept for the amount of pixels between two perceived objects.
Similarly without hearing, it cannot understand "loudness" and "pitch". Without limbs and their corresponding senses, it cannot understand the concepts of force, weight and mass. "Understanding" here means knowing how to respond to a concept and how to use a concept. It looks to me that a robot brain program has to be a complete intelligent system to understand and then use correctly the concepts we human beings use.

The proposed brain is a further development of two previous program versions, the General Learner and the General Learner 3. Reading these gives a good background for a detailed understanding of the present proposal.


Previous Programs

The General Learner (1995):

See the description of the General Learner here.

The General Learner 3 (2006).
This program in general works like the General Learner but it is connected to a humanoid robot called “Robby”. You can have a look at Robby here. The program has more sense inputs, a mike for sound and body sensors were added. Also it can move the limbs of Robby. See the description of the General Learner 3 here.

Here you can see a flow chart of the GL3 and the Robot Brain.
For a comparison of the GL3 with a human brain, see here


Functioning of the proposed brain

What it can do
This is a proposal for the design (the architecture) of a brain, called "General Learner 4". It is based on the General Learner 3 which was running on a desktop computer and wired to a 130 cm (50 inches) high, pneumatic, humanoid, robot, called Robby .
I have written several programs, all working with concepts and rules, to try out different capabilities.

I propose to include these capabilities in the proposed brain. A good percentage of the code for the brain already exists in these previous programs.

This proposed brain for a household robot is reactive. It reacts to a "present situation", which may include the command from a person.
It is not, like the SOAR architecture, a goal oriented problem solver, working in a large problem space. But it can learn to establish goals and to reach them in the "imagination" mode.

Concepts and response rules
Before going into details of the brain, we have to look at "concepts" and response rules, called "rules", since all activity within the proposed brain is done by them. Some of these are instinctive, in other words, the program creates them at the first start. These rules are connected to computer code. All other rules and concepts are learned.

Concepts (symbols) A concept corresponds somewhat to the output of a group of related neurons that is received by the next group. They are a representation of sensory information from the exterior environment or also from the situation within the brain. Concepts also express actions on the environment or actions on conditions within the brain. When the program creates a concept, only the "content" branch of the concept is full. Later, the brain fills other branches of the concept, showing connections to other concepts and rules. A combined concept represents an object consisting of parts. It has, as content, the labels of the concepts of each part. Abstract concepts have examples as content. The concept for "dog" would have the labels of the concepts for various dogs as content. Once a concept is created, it is stored in the memory of concepts and rules. The brain refers to a concept by its label, which is a positive number.

Now, if you want more details on the structure of concepts, see here.

Rules (procedural knowledge) A rule is somewhat similar in function to a neocortical column or an artificial neural network. Sometimes they are called "productions" or "procedures". Stimulus and response is encoded as rules.
The brain refers to a rule by its label, which is a negative number. It is negative in order to distinguish it easily from concepts.
The main parts of a rule are:

After creating a rule, the brain stores it in the memory of concepts and rules. When the brain has just used a rule, it stores the label of the rule in the chronological memory.

For more details on the structure of rules, see here.

Now, knowing concepts and rules, we can have a closer look at the computer program and then at the functioning of the brain.

The computer program The body of the household robot could be managed from a stationary desktop computer with the program which we are explaining, the "General Learner 4". It also would be useful to provide a TV type remote control for text inputs and for operating the menu of the program.
At the first run of the program, it creates some initial "concepts" and "rules", and an exterior file called "memory". Later when the program is shut down, it first stores all the concepts and rules, existing at that moment, in this exterior file. The next time that the program starts, it reads this file into its memory.

Next the program enters into a loop, until shutdown. During the loop it manages the menus, approval or disapproval by the person and does its main job, namely performing interior rules. These are rules that are applicable to situations inside the brain. The program looks up the concept "interior situation" that contains the label of one or several concepts. At the start, in the interior situation, there is the label of a concept according to the "mode" of the program (The "mode" is explained below).
The program then selects a rule according to the interior situation and does the computer code attached to this rule. Now it changes the concept in the "interior situation". After this the program does the next cycle of the loop.
This is all that the program does.

Note: Even for a household robot some extra "intelligence" will be useful, possibly for some minor household repairs. When I tried out the General Learner 3 on an intelligence test, I saw that in the sensory area you needed to try out different rearrangements and selections of sensory data until a pattern becomes obvious. This means that it is not good to have a fixed sequence of interior rules but you need a choice of what to do in each area. At present, all rules working on an interior situation are instinctive rules, but in the future, to gain flexibility, additional interior rules should be learned.

The brain The brain consists of concepts and rules. Below you can see the three main areas of the brain. The information between these areas is transferred by concepts.

This picture shows the flow of information. The sensory area receives information from the senses and represents this as concepts. It then puts them into a concept called present situation (Here we are talking about the external present situation. There also exists an internal present situation).
This situation is sent to the rule selection area. This area looks for rules applicable to the situation and finally selects one or several rules. It extracts the action part of the rules and sends these concepts to the motor area. The motor area decomposes the action and performs the elementary actions in the environment.
Now the loop starts again.

Approval and disapproval
The person can use the menu to express approval or disapproval of an action by the robot. Disapproval lowers the value of the rules just used; it the future they will have a lower chance of being selected. In fact, this is highly important, it is the only control we have over the actions of the robot (But we can give it orders).

The sensory area
For a household robot, the minimum senses required are vision, hearing, touch at hands and feet, verticality and keyboard text input.
The sensory area receives electronic information from these senses. Each sense activates a different rule that represents this information as concepts. These rules are different because the numerical representation of the information is different. If the information received is known, the rule sends the corresponding concept. If the information is unknown, the rule creates a new concept.
For instance, for text input the content of each concept is a word. For vision input, for each object, the content of each concept is the picture reduced to four 12x12 bitmaps, for red, green, blue and black, with its size and its location.
Here is a footnote on sensing "time".

The rule selection area
Here the brain, through rules, makes a list of those rules that contain, in their "initial situation " part, some, or all of the concepts that also exist in the present situation. Then it selects a rule from this list that best fits the present situation. If not all important concepts of the present situation exist in the selected rule, another rule is also selected that corresponds to the other concepts. In this way one or two rules are used.

There is another unrelated function of the rule selection area. It checks, if the outcome of the last action was as expected. It does this by comparing the new "present situation" that it just received, with the expected "future situation" of the rule last used. If there is no appreciable difference, the brain raises the value of the rules involved in the previous action. If there is a considerable difference it lowers their value.

If the present situation is quite different to that expected, or the action was selected by chance, the brain creates a rule consisting of the previous "present situation", the action used and the unexpected situation as "future situation". This is one way of learning a new rule.

The motor area
The motor area corresponds to the motor area of a biological brain. It decomposes the action command received from the rule selection area, into elementary actions of the limbs and the loudspeaker. If two actions were received, both are combined and done. If the action is a combined concept , each of the several component actions is done. Finally the elementary action commands are sent to the body of the robot.

The brain operates in one of several modes. The person can switch between them using the menu, otherwise a switch results from the situation.

1. Reaction to the present situation in the environment, including commands
This is the normal mode of operation. It is activated if the brain receives a keyboard or voice command. For instance you type "Hi" (return) and then "Hi Walter" (return). In this mode the brain creates a rule with "Hi" in the initial situation and "Hi Walter" in the future situation. By the way, here the action concepts are identical to the concepts in the future situation. Now, the next time you type "Hi" it answers with "Hi Walter". If you give two more examples with different names, the brain, once it is in the sleep mode, finds the pattern and in the future answers correctly with any input name.

Now, what about mental activities like integral calculus? It seems that mental operations are often first done physically. Mathematics is first learned with pencil and paper, there is a situation and an action. This the brain can do. Later, a person does the same operation in its brain. The robot will also do this.

2. Moving, in order to connect to the battery charger
If the battery charge is low, the brain tries to make a plan that leads to connecting it´s battery to the charger. If that is not achieved, it signals to the person.

3. Copying an activity done by other robots or persons
If the household robot is not busy executing a command, and it sees a movement of hands or limbs of another robot or a person, and the activity is unknown, it tries to copy it moving its own hands or limbs and correcting by comparing the visual image of both. The same is true for sounds.

4. Curiosity and exploration
If the household robot is not busy executing a command and the chronological memory is empty and the household robot sees an unknown object, then it tries any action on this object and observes what happens. It stores the experience as a new rule.

5. Imagination
This is curiosity without external actions. If the brain is not busy executing a command, and sees no unknown object, it uses imagination. It puts several objects into the concept "present situation" and cycles the rule selection area. It observes if one or several rules are selected and what "future situation" concept is created.
The brain also uses this mode when it learns to make plans to reach a future situation, a goal. Here it uses forward and backward searches. Forward searches are as explained above. When making a backward search, it puts the label of the concepts of several objects into the concept "future situation" and looks for corresponding rules to get to the "present situation". Combining both, it can make simple plans.

6. Reviewing its chronological memory, its experiences.
This mode is completely different from the others. The brain is awake in the other modes, but here the brain is sleeping. The brain is active without exterior stimuli and without exterior actions. It is only learning.
We use this mode, because it is very annoying, to the person working with the robot, if it continuously 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 learn. The menu puts the number of the concept ”asleep” into the concept “present situation”. Later, when it is time to wake up again, the person indicates this to the menu, and the menu puts the number of the concept “awake” into the concept “present situation”. In the sleep mode the brain uses a completely different set of interior rules. Namely only those rules that have the concept “asleep” in its present situation. Here it looks for patterns in its chronological memory.
We can say that it is "aware", that it is "conscious" of its experiences. Based on the information in its memory, it creates combined and abstract concepts and new, more generally applicable, rules.
For details look at Pattern Finder.

7. Forgetting
When the available memory space is nearly full, the brain eliminates (forgets) 20% of rules. It selects rules that have not been used for the longest time. It also forgets the concepts that are only used in these rules.

Since learning is so important, let´s resume the various ways of learning. Our household robot, just like a baby, has to learn incrementally, meaning it has to learn based on previous experiences.
For instance, just like a baby, it first has to learn to balance itself. Only then can it learn to walk. The same is true for all learning. For instance, first you have to learn arithmetic, than you can learn mathematics.

Learning in mode 1:
Reaction to the present situation in the environment, including commands. Here we can have fast learning. A teacher types a text or speaks, and a short while later she types another text, or speaks something else, or moves a robot limb by hand. The brain takes the first action as a present situation and the second action as a future situation. Based on this it creates a new rule. There is another case: The brain acts, and if the real future situation does not correspond to the expected future situation, the brain creates a new rule with these situations.

Learning in mode 3:
Copying an activity done by other robots or persons. If the brain copies an action or a sound relatively successfully, it stores the situations and actions involved, as a new rule.

Learning in mode 4:
Curiosity and exploration. Here the brain will encounter new situations caused by its actions. Naturally it will store these experiences as rules.

Learning in mode 5:
Imagination and learning to make plans. Here the brain will use a number of rules in sequence. It will store these as a combined rule. In planning it stores the new combined rules.

Learning in mode 6:
Reviewing its chronological memory. Here, all that is done is learning. It is the most important learning activity.

Main objective
You might ask: “Since the proposed artificial brain is an intelligent system, what is its main objective?” Well, the main objective is built in indirectly. Since nearly all activities of the brain are learned, and we give approval or disapproval to these activities, finally the brain does only activities useful to human beings. This is the main objective that is built in.

Related work
I was asked in what respect this proposal is similar or different from other present research. Answering is not easy. My first publication stems from 1954. For the last 56 years, in my free time, I have designed and written AI programs. In that time I have read many books, articles and some papers on the subject. The present proposal evolved mainly from experiments with my prior programs.

I have looked at other present work. The following cognitive architectures use response rules, production rules, episodic memory or expert rules, somewhat similar to my response rules: ACT-R, Icarus, LIDA, Open Cog Prime, Prodigy, SOAR and others. The following stress learning or childlike learning: DAV, FLOWERS, IM-CLEVER, Open Cog Prime, Prodigy and others.

Many other programs use logic and mathematics, while I believe that both of these activities are learned. In fact, I think that nearly all the activity of a natural brain is only stimulus and learned response. The activity of an artificial brain should be the same.

Well, that’s all. I do hope that you found some interesting ideas.


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
Author page /
Book index /
top of this document /

Last Edited 13 October 2014 / Walter Fritz
Copyright © New Horizons Press