Notes from CS6660 Intelligent Agents
12 September 2001
taken by Othmar Lehmann
Goal of today: Introduce memory into agent designs.
There are 2 major approaches to the introduction of memory:
1.) Feature vector based memory
2.) Models/data structures based memory à Iconic models/analogical representation
Example 1.) Wall-following robot

A feature vector of the wall-following robot would be the vector (S1,…,S8), which represents the sensor values (wall/no wall).
The robot could use previous perceptions to make predictions. For example, he could predict that a wall he noticed before will continue in the same direction.
Example 2) The rear mirror
If you are driving a car and try to take over, then you look into the rear view mirror to see what is going on behind you. When you look ahead again, you make a prediction. You predict, that the car you remember to have seen in the rear view mirror will in fact stay there and will not simply vanish.
In that case, memory makes up for your limited perceptual abilities (you have no eyes on the back of your head). If you extended your perceptual abilities enough (perfect vision of everything that is going on around your car), then you would not need memory for driving a car.
This is the approach taken in ubiquitous computing, where sensors are favored over memory.
Before we used memory, the architecture was:
[Sensing/input] à [feature-vector] à [action/output]
With memory, the architecture is:
[sensing/input] à [perceptual processing] à [feature vector] à [action/output]
feedback
Memory is a way of using time-delayed information.

This network is a standard 3-layer fully interconnected neural network with 4 input units, 8 hidden units and 4 output units.

We then add 8 additional input units which are an duplicate of the 8 hidden units (there is an 1 to 1 mapping, these additional input units have the exactly same activation values as the hidden units). But they act as standard input units, so they are also fully connected to all the hidden units.
The key idea is, that the activation of the hidden units at time t1 is fed back into the network as a regular input at time t2. So the activation at t1 is partz of the context of t2.
This raises the question: How much “memory” is good? Is it useful to still use the activation at t1 at time t9?
This depends on the environment and the task.
In general: Memory is not useful, when the agent has a good perception and the obstacles are without a pattern.
For the following example the assumption holds: The Robot already has a model of the world (e.g. a map).
The goal is for the robot to find a way from his starting point to the goal while avoiding obstacle.
Latombe introduced the notion of potential fields. The Goal attracts the robot, while obstacles repulse it.
X is the distance to the object.
The force of attraction to the goal is Fa = x^2 (the farer away, the stronger the attraction)
The force of repulsion from the obstacles is Fr=1/x^2 (the nearer, the stronger)
The force F that guides the robot is F=Fa+Fr.
The attraction to the goal creates a kind of energy “valley” towards the goal, whereas the repulsion from the obstacles creates “mountains” of energy near the obstacles.
This creates an energy landscape, in which the robot can navigate (travel “downhill”). The problem is, that the robot still can get stuck in local minima.
To use this technique, you have to know where your goal is and where the obstacles are, that means you have to have a map before you start. But even when everything is known, it is still not trivial to find a way to the goal, so this method is still valuable.
This method is more suitable for artificial environments, where all the information is known, than for natural environments.
The force-map is a explicit, internal datastructure we can reuse and represents the memory.
Question: Why don’t we build this model of the world on the fly?
Because then we have to deal with learning, which is a very hard task. Furthermore, we also would have to sense all the world on the fly to create our model.
Computer VisionInput: Visual Input (Pixels) in 2D Output: 3D-Object
(This definition has no nition of motion, activity or meaning) |
Language understandingInput: sentence, text Output: “meaning” |
Medical DiagnosisInput: Symptoms, test results Output: illness |
The general pattern for all this tasks is abduction.
This is one of the central dilemmas of artificial intelligence
All computation is deductive (so every program is deductive), but almost every kind of intelligence is abductive.
If P then Q
P
----------------
Q
The premisis (axioms) are true. By application of rules of inference (in this case: modus ponens), it is possible to deduce the truth of new sentences.
Example:
P: it is a dog
Q: it barks
If P then Q [If it is a dog, then it barks]
P [It is a dog]
-----------------
Q [It barks]
Logic does not guarantee the results to be meaningful. If the assumptions are incorrect or meaningless, the result also will be.
Deduction is truth-preserving.
Abduction was introduced by the philosopher Peirce in 1890.
If P then Q
Q
------------------
P??????
Is P true? Not necessarily. Example: If something barks, it doesn’t have to be a dog. There are other things that can also bark.
This is a common problem in artificial intelligence. You are given the effect, and you have to infer the cause.
For example, if Mario says “Hello”, this is the effect. Why does he say hello? What is his intention he tried to convey with this sound (i.e. the meaning of hello)?
Normal computation goes from cause to effect. Intelligence goes from effect to cause.
So how can you abduct?
One method is abduction through deduction.
Example:
It is barking, what is it?
I know 3 things that can bark.
1.) a man
2.) a cat talking in a foreign language
3.) a dog
So I test every one of this possibilities.
Is it a man? No, Is it a cat? No. Is it a dog? Yes.
The problem is: This is exhaustive search, which is not feasible.
So how comes intelligence into play? We will see that next time.
[Short repetition: Induction=Generalizing from examples. The sun rises in the east on mo,tue,wed,thu à it rises in the east every day. Induction can be wrong.]