Theory of Computation (Fall 2013): Finite State Machines in Mobile Robots
Post on 13-Dec-2014
1030 Views
Preview:
DESCRIPTION
Transcript
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.
top related