BDI-Agent

Embed Size (px)

Citation preview

  • 8/10/2019 BDI-Agent

    1/26

    Belief Desire Intention

    Agents

    FromReasoning about Rational AgentsBy Michael Wooldridge

  • 8/10/2019 BDI-Agent

    2/26

    Rational Agents

    Properties of AgentsSituated or embodied in some environment

    Set of possible actions that modify environment

    Autonomy -- makes independent decisions

    Proactivness -- able to exhibit goal directed behavior

    Reactivity -- responsive to changes in environment

    Social Ability -- interact with other agents(negotiation and cooperation)

  • 8/10/2019 BDI-Agent

    3/26

    BDI Model of rational agency

    Beliefs -- information the agent has about

    world

    Desires -- states of affairs that the agent, inan ideal world, would wish to be brought

    about

    Intentions -- desires that the agent hascommitted to achieving

  • 8/10/2019 BDI-Agent

    4/26

    BDI Model

    The intuition is that the agent will not, ingeneral, be able to achieve all its desires.

    Therefore an agent must fix upon some

    subset of its desires and commit resources to

    achieving them. These chosen desires are

    intentions.

    Developed by Michael Bratman

    Intention based theory of practical reasoning

  • 8/10/2019 BDI-Agent

    5/26

    Reasoning in Humans

    Practical reasoning is reasoning directed toward actions the process of figuring out what to do

    Theoretical reasoning is reasoning directed towardbeliefs

    Ex. All men are mortal AND Socrates is a man -> __ Practical reasoning has 2 activities

    (Deliberation) Deciding what state of affairs we want toachieve

    (Means end reasoning) Deciding how we want to achievethese state of affairs

    Ex. When a person graduated from the university .

  • 8/10/2019 BDI-Agent

    6/26

    Practical Reasoning

    A straight forward process?

    Some complications

    Deliberation and means end reasoning are

    computational processes

    Resource bounds, time constraints

    Two implications

    Good performance requires efficient use of resources

    Cannot deliberate indefinitely

    Must commit to a state of affairs (called intention)

  • 8/10/2019 BDI-Agent

    7/26

    Intentions in practical reasoning

    Use of the term in ordinary speechCharacterize actions (not accidental)

    I might intentionally push someone under a train,

    with the intention of killing them.

    Characterizestates of mind

    I might have the intention this morning of pushingsomeone under a train this afternoon.

    Future directed intentions are states of mind that aredirected toward a future state of affairs

  • 8/10/2019 BDI-Agent

    8/26

    Intentions in practical reasoning

    Intentions drive means end reasoningA reasonable attempt to achieve is made

    Involves deciding how to achieve

    Basketball example Intentions persist

    I will not give up without good reason

    Drop when its achieved, impossible or thereason for intention is no longer true.

    Academic example

  • 8/10/2019 BDI-Agent

    9/26

    Constrain future practical reasoning If I hold an intention I will not entertain options that are

    inconsistent with that intention

    Influence beliefs upon which future practical reasoningis based

    If I adopt an intention, then I can plan for the future on theassumption that I will achieve the intention. For if I intend to

    achieve some state of affairs while simultaneously believingthat I will not achieve it, then I am being irrational

    Intentions in practical reasoning

  • 8/10/2019 BDI-Agent

    10/26

    Agent control loop Version 1

    1. While true

    2. Observe the world

    3. Update internal world model

    4. Deliberate about what intention to achieve next

    5. Use means end reasoning to get a plan for the

    intention

    2. Execute plan3. End while

  • 8/10/2019 BDI-Agent

    11/26

    Observe-Think-Act loop[2]

    1. observe the world;

    2. interpret the observations (if needed):

    diagnose (includes testing);

    learn (includes testing);

    3. select a goal;

    4. plan;

    5. execute part of the plan.

  • 8/10/2019 BDI-Agent

    12/26

    Plans

    Plans are recipes for achieving intentions A tuple of

    Pre conditions -- circumstances under which it

    is applicable

    Post condition -- defines what state of affairs

    the plan achieves

    Body -- a sequence of actions

  • 8/10/2019 BDI-Agent

    13/26

    Agent control loop version 2

    1. B := B0 // initial beliefs2. While true do

    3. get next precept p

    4. B := brf(B, p) //belief revision function

    5. I := deliberate(B)

    6. Pi := plan(B,I)

    7. execute(Pi)

    8. End while

  • 8/10/2019 BDI-Agent

    14/26

    The Deliberation Process

    Option generationAgent generates a set of possible alternatives

    Filtering

    Agent chooses between competing alternatives,and commits to achieving them

  • 8/10/2019 BDI-Agent

    15/26

    Agent control loop 3

    1. B := B0 // initial beliefs2. I := I0 // initial intentions

    3. While true do

    4. get next precept p

    5. B := brf(B, p)

    6. D := options(B,I) // D - desires

    7. I := filter(B) // I - intentions

    8. Pi := plan(B,I)

    9. execute(Pi)

    10. End while

  • 8/10/2019 BDI-Agent

    16/26

    Commitment to intentions

    An agent is committed to an intention How committed should an agent be?

    How long should it persist?

    Under what conditions should a intentionvanish?

    Commitment strategyis used to determine

    when and how to drop to drop intentions

  • 8/10/2019 BDI-Agent

    17/26

    Commitment Strategies

    Blind Commitment

    Single minded

    Open minded

    Maintain

    Until intention has been

    achieved

    Until Intention achieved

    or no longer possible

    While believed possible

  • 8/10/2019 BDI-Agent

    18/26

    Agent control loop 4 -- introduce reactivity, replan1. B := B0 I := I0 // initial beliefs and intentions

    2. While true do

    3. get next precept p

    4. B := brf(B, p)

    5. D := options(B,I)

    6. I := filter(B)

    7. Pi := plan(B,I)

    8. While not empty(Pi) do9. a := hd(Pi)

    10. execute(a)

    11. Pi = tail(Pi)

    12. get next precept p

    13. B := brf(B,p)14. if not sound(Pi, I, B) then

    15. Pi := plan(B,I)

    16. end if

    17. End while

    18. End while

  • 8/10/2019 BDI-Agent

    19/26

    Agent Control loop 5 -- can drop intentions

    1. B := B0 I := I0 // initial beliefs and intentions

    2. While true do

    3. get next precept p4. B := brf(B, p)

    5. D := options(B,I)

    6. I := filter(B)

    7. Pi := plan(B,I)

    8. While not (empty(Pi) or succeeded(I,B) or impossible(I,B)) do9. a := hd(Pi)

    10. execute(a)

    11. Pi = tail(Pi)

    12. get next precept p

    13. B := brf(B,p)

    14. if not sound(Pi, I, B) then

    15. Pi := plan(B,I)

    16. end if

    17. End while

    18. End while

  • 8/10/2019 BDI-Agent

    20/26

    Commitment to means and ends

    Intentions -- ends Plan -- means

    Replan if plan is no longer sound given beliefs

    Beliefs are updated after execution each action

    Reconsiders plan after each iteration but does

    not reconsider intentions

  • 8/10/2019 BDI-Agent

    21/26

    Intention Reconsideration

    Reconsiders whenCompletely executed plan

    Believes it has achieved current intentions

    Believes current intentions are no longer possible Does not allow agent to exploit serendipity

    reconsideration of intention during theexecution of the plan

    A t t l l 6 ti

  • 8/10/2019 BDI-Agent

    22/26

    Agent control loop 6 -- cautious1. B := B0 I := I0 // initial beliefs and intentions

    2. While true do

    3. get next precept p

    4. B := brf(B, p)5. D := options(B,I)

    6. I := filter(B)

    7. Pi := plan(B,I)

    8. While not (empty(Pi) or succeeded(I,B) or impossible(I,B)) do

    9. a := hd(Pi)

    10. execute(a)

    11. Pi = tail(Pi)

    12. get next precept p

    13. B := brf(B,p)

    14. D := options(B,I)

    15. I := filter(B, D, I)

    16. if not sound(Pi, I, B) then

    17. Pi := plan(B,I) end if

    18. End while19. End while

  • 8/10/2019 BDI-Agent

    23/26

    Reconsideration of intentions

    How often to recondsider your intentions? How to charactarize situtations in which

    reconsideration would take plan?

    Reconsideration requires resources

    How fast is the environment changing?

    A t t l l 7 b ld / ti t

  • 8/10/2019 BDI-Agent

    24/26

    Agent control loop 7 -- bold / cautious agent1. B := B0 I := I0 // initial beliefs and intentions

    2. While true do

    3. get next precept p

    4. B := brf(B, p)5. D := options(B,I)

    6. I := filter(B)

    7. Pi := plan(B,I)

    8. While not (empty(Pi) or succeeded(I,B) or impossible(I,B)) do

    9. a := hd(Pi)

    10. execute(a)

    11. Pi = tail(Pi)

    12. get next precept p

    13. B := brf(B,p)

    14. if reconsider(I,B) then

    15. D := options(B,I)16. I := filter(B, D, I) end if

    17. if not sound(Pi, I, B) then

    18. Pi := plan(B,I) end if

    19. End while

    20. End while

  • 8/10/2019 BDI-Agent

    25/26

    BDI model implementation Procedural reasoning system (PRS)

    Beliefs -- > prolog like facts

    Desires and intentions are realized from plan library

    Plans achieve some state of affairs

    A plan has body and invocation condition

    Invoked plans are desires

    The agent picks one desires and puts it on executionstack

    Execution stack are intentions

  • 8/10/2019 BDI-Agent

    26/26

    Bibliography

    Wooldridge, 1999, Reasoning about Rational Agents

    Balduccini, 2005,Answer set Base Design of Highly Autonomous, Rational

    Agents