Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of...

28
Theory of Computation Using Finite State Automata to Study Biological Foundations of Behavior Vladimir Kulyukin

description

 

Transcript of Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of...

Page 1: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

Theory of Computation

Using Finite State Automata to Study Biological Foundations of Behavior

Vladimir Kulyukin

Page 2: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

Outline

Biological Foundations of Behavior Innate Release Mechanisms

Page 3: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 4: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

Biological Foundations of Behavior

Page 5: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

Biological Foundations Of Behavior

• Animal Behavior

• Behavior Coordination & Control

• Computational Theory Of Agency

• Schema Theory

Page 6: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

Why Study Animal Behavior?

• Animals provide existence proofs of various aspects of intelligence

• Many animals exhibit intelligent behaviors with virtually no brain assistance

Page 7: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 8: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

Reflexive Behavior

• Reflexive behavior is a stimulus-response pair

• Reflexive behavior is hardwired

• Reflexive behavior produces the fastest response time

Page 9: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

Reactive Behavior

• Reactive behavior is acquired (learned)

• Reactive behavior is executed without conscious thought

• Examples of reactive behavior: • Riding a bike

• Swimming

• Skiing

Page 10: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 11: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 12: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

Innate Release Mechanisms (IRMs)

Page 13: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 14: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of 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+/-

Page 15: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

IRM: Simple Release

enum Releaser = {Present, Absent};

Releaser predator;

while ( true ) {

predator = sensePredator();

if ( predator == Present ) runAway();

}

Page 16: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

IRM: Compound Release

• A Releaser can consist of multiple releasers

• Releasers can be either external or internal

• Any logical combination of releasers is possible

Page 17: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

IRM: Compound Release enum Releaser = {Present, Absent};

Releaser food, hunger;

while ( true ) {

food = senseFood();

hunger = checkHunger();

if ( food == Present && hunger == Present )

feed();

}

Page 18: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 19: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of 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

Page 20: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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();

}

Page 21: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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?

Page 22: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 23: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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();

...

}

}

Page 24: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 25: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 26: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 27: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

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

Page 28: Theory of Computation (Fall 2014): Using Finite State Automata to Study Biological Foundations of Behavior

References

• Murphy, R. Introduction to AI Robotics. MIT Press.