Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agent Communications BDI Definitions

Similar presentations


Presentation on theme: "Agent Communications BDI Definitions"— Presentation transcript:

1 Agent Communications BDI Definitions
CPSC /CPSC Rob Kremer Department of Computer Science University of Calgary Based on: Michael Wooldridge. Reasoning about Rational Agents. MIT Press, Cambridge, Mass Chapter 2. 09/11/2018

2 CPSC 609.68/599.68: Agent Communications
Plan Plan Preconditions: P Predicate Postconditions: P Predicate Actions: Seq Action hd: Plan  Action // returns head(Plan.Action) tail: Plan  Plan // returns {Pre,Post,tail(Actions)} 09/11/2018 CPSC /599.68: Agent Communications

3 CPSC 609.68/599.68: Agent Communications
BDI Agent BDIagent B: P Bel D: P Des I: P Int getNextPercept:   Percept brf: P Bel  Percept  P Bel options: P Bel  P Int  P Des filter: P Bel  P Des  P Int  P Int plan: P Bel  P Int  Plan execute: Plan 09/11/2018 CPSC /599.68: Agent Communications

4 CPSC 609.68/599.68: Agent Communications
A simple BDI agent B := B0; I := I0; /* B0 are initial beliefs; I0 are initial intentions */ while true do { p := getNextPercept(); B := brf(B,p); D := options(B,I); I := filter(B,D,I);  := plan(B,I); execute() } Stuck to a plan: If the plan fails (becomes unsound) then the agent really should change the plan. 09/11/2018 CPSC /599.68: Agent Communications

5 BDI Agent that reacts if plan is unsound
B := B0; I := I0; /* B0 are initial beliefs; I0 are initial intentions */ while true do { p := getNextPercept(); B := brf(B,p); D := options(B,I); I := filter(B,D,I);  := plan(B,I); while not empty() do { a := hd(); execute(a);  := tail(); if not sound(,I,B) then } Deals with unsound plans, but won’t drop intentions: What if we have unexpected early success or conditions arise that make our intentions useless or unobtainable? We might want to change our intentions. 09/11/2018 CPSC /599.68: Agent Communications

6 BDI Agent that may drop intentions
B := B0; I := I0; /* B0 are initial beliefs; I0 are initial intentions */ while true do { p := getNextPercept(); B := brf(B,p); D := options(B,I); I := filter(B,D,I);  := plan(B,I); while not (empty() or suceeded(I,B) or impossible(I,B)) do { a := hd(); execute(a);  := tail(); if not sound(,I,B) then } But if the environment changes, we may need to reconsider intensions. 09/11/2018 CPSC /599.68: Agent Communications

7 Cautious Agent that reconsiders after each action
B := B0; I := I0; /* B0 are initial beliefs; I0 are initial intentions */ while true do { p := getNextIntention(); B := brf(B,p); D := options(B,I); I := filter(B,D,I);  := plan(B,I); while not (empty() or suceeded(I,B) or impossible(I,B)) do { a := hd(); execute(a);  := tail(); p := getNextPercept(); if not sound(,I,B) then } But this agent might spend almost all of it’s time considering intensions and no time actually doing useful stuff. 09/11/2018 CPSC /599.68: Agent Communications

8 BDI Agent that attempts to strike a balance
B := B0; I := I0; /* B0 are initial beliefs; I0 are initial intentions */ while true do { p := getNextPercept(); B := brf(B,p); D := options(B,I); I := filter(B,D,I);  := plan(B,I); while not (empty() or suceeded(I,B) or impossible(I,B)) do { a := hd(); execute(a);  := tail(); if reconsider(I,B) then { I := filter(B,D,I); } if not sound(,I,B) then } This is only useful if reconsider() is a lot cheaper than options() and filter(). 09/11/2018 CPSC /599.68: Agent Communications


Download ppt "Agent Communications BDI Definitions"

Similar presentations


Ads by Google