Theory of Computation Finite State Machines in Mobile Robots Vladimir Kulyukin
Dec 13, 2014
Theory of Computation
Finite State Machines in
Mobile Robots
Vladimir Kulyukin
Outline
Biological Foundations of Behavior Innate Release Mechanisms
Motivational Videos
http://www.youtube.com/watch?v=TMvio63yoJs
http://www.youtube.com/watch?v=Dblw3CJTE8M
http://www.youtube.com/watch?v=-0FnGY-E3D4
http://www.youtube.com/watch?v=9LKhAarNWng
Biological Foundations of Behavior
Biological Foundations Of Behavior
• Animal Behavior
• Behavior Coordination & Control
• Computational Theory Of Agency
• Schema Theory
Why Study Animal Behavior?
• Animals provide existence proofs of various aspects of intelligence
• Many animals exhibit intelligent behaviors with virtually no brain assistance
Animal Behavior
• A Behavior is a mapping of sensory inputs to a pattern of motor actions which are used to achieve a task (Murphy 2000)
• Three categories of behavior:
• Reflexive behavior
• Reactive behavior
• Conscious behavior
Reflexive Behavior
• Reflexive behavior is a stimulus-response pair
• Reflexive behavior is hardwired
• Reflexive behavior produces the fastest response time
Reactive Behavior
• Reactive behavior is acquired (learned)
• Reactive behavior is executed without conscious thought
• Examples of reactive behavior: • Riding a bike
• Swimming
• Skiing
Conscious Behavior
• Conscious behavior involves deliberation
• Conscious behavior tends to show up when the agent has to evaluate longer term consequences of its actions
• Conscious behavior is characterized by slower response time
Reflexive Behavior
• Reflexes – response is present as long as stimulus is present
• Taxes – response to move in a specific direction to a stimulus
• Baby turtles go to brightest light
• Ants follow pheromones
• Fixed-Action Pattern – response continues longer than stimulus
Innate Release Mechanisms (IRMs)
Innate Releasing Mechanisms (IRMs)
• An IRM presupposes that there is a specific stimulus (internal or external) which releases or triggers the stereotypical pattern of action
• A releaser is a latch or a boolean variable that has to be set
• The releaser acts as a control signal to activate a behavior
Behavior Coordination & Control
• Innate Releasing Mechanisms (IRM)
• A IRM = A Stimulus (Internal or External) + A Triggered Pattern Of Action
BEHAVIORSensory Input
Releaser
Pattern Of Action+/-
IRM: Simple Release
enum Releaser = {Present, Absent};
Releaser predator;
while ( true ) {
predator = sensePredator();
if ( predator == Present ) runAway();
}
IRM: Compound Release
• A Releaser can consist of multiple releasers
• Releasers can be either external or internal
• Any logical combination of releasers is possible
IRM: Compound Release enum Releaser = {Present, Absent};
Releaser food, hunger;
while ( true ) {
food = senseFood();
hunger = checkHunger();
if ( food == Present && hunger == Present )
feed();
}
IRM: Implicit Chaining
• Releasers can be arranged to chain behaviors
• An initial releaser triggers the first behavior
• Behavior is executed until Its releaser is gone
• Control goes on to the next behavior
Implicit Chaining
• In the previous example, if the agent wakes up and is not hungry, what will it do?
• Let us add a behavior to flee from predators to the previous code
IRM: Implicit Chainingenum Releaser = {Present, Absent};
Releaser food, hunger, child, nursed;
while ( true ) {
food = senseFood();
hunger = checkHunger();
child = checkChild();
nursed = checkNursing();
if ( hunger == Present ) seekFood();
if ( hunger == Present && food == Present) feed();
if ( hunger == Absent && child == Present) nurse();
if ( nursed == Present ) sleep();
}
Inhibiting Behaviors
• The addition of the if-else loop prevents other, less important behaviors from executing
• What if the predator is not seen (say it is behind the agent) for a while?
IRM: Behavior Inhibition
• What happens of there is a Predator?
• The fleeing behavior must be triggered
• The feeding & nursing behaviors must be suspended
• The fleeing behavior inhibits the feeding & nursing behaviors
Behavior Inhibition & Fixed-Pattern Action Effect#define T LONG_TIME
while(true)
{
predator = sensePredator();
if (predator == PRESENT)
for (time = T; time > 0; time--)
flee();
else
{
food = senseFood();
...
}
}
Concurrent Behaviors
• Behaviors can and do exist concurrently and independently
• What happens when two or more behaviors (that are usually not executed concurrently) get released at the same time?
• Equilibrium• Dominance• Cancellation
Equilibrium
• Behaviors seem to balance each other out
• Consider feeding vs. fleeing in a baby squirrel when the food is close enough to a person
• The squirrel is visibly undecided as to whether to go for the food or stay away
Dominance
• One behavior dominates over the other and only the dominant behavior gets executed
• You are hungry and sleepy - you either eat or sleep, not both
Cancellation
• The behaviors cancel each other out
• Male sticklebacks (fish), when their territories overlap, get caught between the need to defend their nest and attach the other fish
• Both stimuli cancel out leaving only the stimuli associated with nest building – so they build another nest
References
Murphy, R. Introduction to AI Robotics. MIT Press.