Adaptivity is the ability to adjust oneself to the environment. The course gives it a precise operational reading:
By adaptation we mean that some property is maintained or a performance is improved in changing environmental conditions, via the modification of some elements of the system.
Two examples are given, one for each half of the definition:
Notice the third clause, which is what makes the definition testable: the change must happen by modifying some element of the system. A robot that keeps working in a new environment because the new environment happens to suit it is not adaptive — it is lucky. Adaptivity requires that something inside changed.
The definition is explicitly related to homeostasis: the essential variables remain within given limits, and within those limits the organism can function and stay alive.
Following ethologists and biologists, the course distinguishes four kinds. Learn them as a list with their time scales, because the time scale is what decides which one you can use in a given robotic design.
| # | Type | What it concerns | Example from the lectures |
|---|---|---|---|
| 1 | Evolutionary adaptation | The ways in which species adjust genetically to changes in environmental conditions in the very long term | The peppered moth (Biston betularia) |
| 2 | Physiological adaptation | The physiological processes involved in the adjustment by the individual to environmental changes such as climate, food quality | Adaptation to temperature changes, e.g. by sweating |
| 3 | Sensory adaptation | Sense organs adjust to changes in the strength of the particular stimulation they are designed to detect | Adaptation of the diameter of the pupil depending on the light in the environment |
| 4 | Adaptation by learning | The process by which animals adjust to a wide variety of different types of environmental change; a very general form of adaptation | Learning how to use tools, what kind of food is good |
All four can be used in robotics, and this course uses at least three of them explicitly: evolutionary adaptation becomes evolutionary robotics (Chapter 10), adaptation by learning becomes robot learning (Chapter 12), and sensory adaptation appears every time a perceptual schema normalises or thresholds a reading (Chapter 7).
Pick a disturbance and see which of the four types can absorb it in time. The answer is decided by matching time scales, not by preference.
Adaptive behaviour is not a new concept: it is one of the main subjects of cybernetics. The reference is R. Ashby, Design for a Brain, 1960.
Ashby characterises learned behaviour as follows: "It is not inborn, it is not genetically determined in detail, [...] and it is modified markedly by the organism's individual experiences."
And he gives the criterion for adaptivity that the whole course leans on:
"A form of behaviour is adaptive if it maintains the essential variables within physiological limits."
The course then generalises it. Generalised homeostasis is not just keeping vital functions in a range, but acting to be in safer conditions — for example by modifying the environment — and possibly improving some utility criterion. Read against Chapter 1: the fungus eater that merely survives satisfies plain homeostasis; the one that also collects uranium satisfies generalised homeostasis.
Ashby model of an adaptive system has two feedback loops, not one, and the difference between them is the whole point.
Four observations close the treatment of adaptivity. They are short and each is examinable:
Point 4 is the cleanest way to explain, at the oral, why evolutionary robotics is normally an off-line design method (Chapter 11): the structural changes happen in new individuals, so you need a population and many generations, which a single deployed robot does not have. Every attempt at on-line evolution — the Symbrion project of Chapter 9, the nanowire networks of Chapter 16 — is an attempt to work around exactly this constraint.
Animals require a particular kind of environment for survival, one suited to satisfy their needs. Such an environment is called an ecological niche.
Ecological niche: the range of each environmental variable (temperature, humidity, food items, and so on) within which a species can exist and reproduce.
The same concept applies to the environment in which a robot operates, and it yields two consequences — one negative, one constructive:
This is a licence to specialise, and it should be read next to the definition of a mission in automatic design (Chapter 11), where the mission is explicitly sampled from a class: the class is the niche, written down.
The niche concept also explains a recurring student frustration in the lab. "My phototaxis controller works in arena A and fails in arena B" is not necessarily a bug: it may be a controller whose niche is arena A. The scientific move is not to patch until it survives everything, but to state the niche and then test inside it — which is exactly the experimental protocol of Chapter 15.
This is the single most important methodological idea in the first part of the course. The issue concerns the perspectives to adopt when observing or designing agents. We must be very clear about what we are observing and how we interpret it. The slogan version:
Intelligence is not so much a property of an agent: it rather resides in the eye of who observes the agent.
The problem has three aspects, and they are distinct — do not merge them at the oral exam.
The perspective of the designer (or modeller) looking at an agent is different from the perspective of the agent itself.
Consequently: descriptions of behaviour from an observer perspective must not be taken as the internal mechanisms underlying the described behaviour.
Practical translation: when you write in a report "the robot decides to go to the light", ask yourself whether there is a decision anywhere in the code. Usually there is not — there is a weighted sum. "Decides" is your word, from your chair.
The behaviour of an agent is always the result of a system–environment interaction. It cannot be explained on the basis of internal mechanisms only.
Practical translation: two identical controllers in two arenas are two different behaviours. Reporting the controller without reporting the environment reports nothing. This is why every lab assignment in this course specifies the arena as carefully as the task.
The complexity we observe in a particular behaviour does not always indicate accurately the complexity of the underlying mechanism.
Practical translation, and the reason Chapter 5 exists: a Braitenberg vehicle with two wires produces behaviour an observer will describe with words like fear, aggression and love. Complexity of description is not evidence of complexity of implementation — and, uncomfortably, the converse also holds.
The classical illustration of aspect (c) comes from Simon H. A., The Sciences of the Artificial, The MIT Press, 1969. An ant walks along a beach; its path, traced on paper, is intricate and irregular. The temptation is to infer an intricate and irregular mind. But the ant follows a very simple rule; the complexity of the trajectory is the complexity of the beach.
The rule inside the ant never changes: go roughly east, and step aside when a pebble blocks the way. Only the beach changes. Watch how much of the "behavioural complexity" you are willing to attribute to the ant.
The second illustration is experimental: Maris, M. and te Boekhorst, R., Exploiting physical constraints: Heap formation through behavioral error in a group of robots, in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 1996.
A group of small robots is placed in an arena scattered with cubes. Each robot runs an obstacle-avoidance controller — and nothing else. There is no "pick up", no "carry", no "cluster", no communication. After some time the cubes are gathered into neat heaps.
The trick is in the sensor geometry. The proximity sensors are mounted so that a cube approached head on is not detected, while a cube approached at an angle is. A robot therefore pushes cubes it meets frontally and turns away from cubes it meets laterally; cubes accumulate wherever two cubes already sit side by side, because that configuration is detected and avoided. The heaps are a behavioural error that the physics turns into a structure.
The Swiss robot is the cleanest possible refutation of "the behaviour is in the program". Nothing in the program mentions heaps. The heap is produced by controller plus body geometry plus environment — the three-term interplay of Chapter 1, section 10. An observer who read only the code would predict "obstacle avoidance"; an observer who watched only the arena would report "clustering". Both are right about their own frame of reference, and both are incomplete.
Run the arena. The controller is one rule: if a cube is detected at an angle, turn away; otherwise keep going, pushing anything straight ahead. Toggle the blind spot off and the clustering disappears — the body was doing the work.
The lectures state them numbered, and they are worth reproducing exactly:
1. We have to make a clear distinction between the perspective of the designer or observer and the perspective of the agent.
2. The behaviour cannot be reduced to internal mechanisms alone: it is the result of the interaction of the agent with the world (its neural systems, its body, the environment). Therefore, the behaviour of a robot cannot be reduced to the control program.
Every later chapter is, in some sense, a consequence of conclusion 2. If behaviour is not reducible to the program, then:
By adaptation we mean that some property is maintained or a performance is improved in changing environmental conditions, via the modification of some elements of the system. Property maintained: the capability of moving is preserved in spite of a damaged wheel. Performance improved: target destinations are reached faster because of an improved navigation strategy.
Evolutionary — species adjust genetically in the very long term (peppered moth, Biston betularia). Physiological — physiological processes by which the individual adjusts to environmental changes such as climate or food quality (sweating in response to temperature). Sensory — sense organs adjust to changes in the strength of the stimulation they detect (pupil diameter versus ambient light). By learning — the very general process by which animals adjust to a wide variety of environmental changes (learning to use tools, learning what food is good).
Physiological adaptation, sensory adaptation and learning involve structural changes in the individual. Evolutionary adaptation involves populations, and the structural changes take place in new individuals. This is why evolutionary robotics is naturally an off-line, population-based design method rather than something a single deployed robot can do to itself.
Ashby: "a form of behaviour is adaptive if it maintains the essential variables within physiological limits". Generalised homeostasis extends this: not just keeping vital functions within a range, but acting to be in safer conditions — for example by modifying the environment — and possibly improving some utility criterion.
The first loop is the fast sensorimotor loop between the environment and the reacting part: it corrects the action at every control step, and it is ordinary feedback control. The second loop runs through the essential variables: when one of them leaves its limits it triggers a change in the reacting part itself. The first loop controls; only the second one adapts.
An ecological niche is the range of each environmental variable (temperature, humidity, food items, and so on) within which a species can exist and reproduce. Consequences: (1) there can be no universal robot that works for any environmental condition; (2) defining the characteristics of the niche helps designing and building the robot — for example a robot working at night is better equipped with infrared than with vision sensors.
(a) Perspective issue: the perspective of the designer or modeller differs from that of the agent; descriptions of behaviour from an observer perspective must not be taken as the internal mechanisms underlying that behaviour. (b) Behaviour vs. mechanism: behaviour is always the result of a system–environment interaction and cannot be explained on the basis of internal mechanisms only. (c) Complexity issue: the complexity we observe in a behaviour does not always accurately indicate the complexity of the underlying mechanism.
Aspect (c) of the frame-of-reference problem: the ant path along a beach looks intricate, but the intricacy belongs to the beach, not to the ant, whose rule is simple. Observed behavioural complexity is not a measurement of mechanism complexity. (Simon H. A., The Sciences of the Artificial, MIT Press, 1969.)
Robots running only an obstacle-avoidance controller, in an arena scattered with cubes, end up gathering the cubes into heaps — heap formation through behavioural error (Maris and te Boekhorst, IROS 1996). Nothing in the controller mentions heaps: the result comes from the interaction of the controller with the sensor geometry of the body and with the physics of the arena. It proves conclusion 2: the behaviour of a robot cannot be reduced to the control program.
1. We must make a clear distinction between the perspective of the designer or observer and the perspective of the agent. 2. Behaviour cannot be reduced to internal mechanisms alone — it is the result of the interaction of the agent with the world (its neural systems, its body, the environment) — and therefore the behaviour of a robot cannot be reduced to the control program.