Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.