Chapter 4 Practical Reasoning Agents CSE 431 Intelligent






- Slides: 6
Chapter 4 Practical Reasoning Agents CSE 431 – Intelligent Agents
A Blocks World Problem • initial state – { On(A, Table) , On(B, Table) , On(C, Table) , Clear(A) , Clear(B) , Clear(C) , Clear(Table) , Block(A) , Block(B) , Block(C) } • goal state – { On(C, Table) , On(B, C) , On(A, B) } • actions – Move(b, x, y) Pre: { On(b, x) , Clear(b) , Clear(y) , Block(y) } Del: { On(b, x) , Clear(y) } Add: { On(b, y) , Clear(x) } Move. To. Table(b, x) Pre: { On(b, x) , Clear(b) } Del: { On(b, x) } Add: { On(b, Table) , Clear(x) }
Key BDI Functions Percepts brf action B options D filter I
Practical Reasoning Agent B B 0 ; I I 0 ; while true do get next percept p through see() function; B brf(B, p) D options(B, I); I filter(B, D, I); plan(B, I, Ac); while not (empty( ) or succeeded(I, B) or impossible(I, B)) do hd( ); execute( ); tail( ); get next percept p through see() function; B brf(B, p); if reconsider(I, B) then D options(B, I); I filter(B, D, I); end-if if not sound( , I, B) then plan(B, I, Ac) end-if end-while From Fig. 4. 3, p. 75 end-while
Blocks World in Jam (1) GOALS: ACHIEVE blocks_stacked; FACTS: FACT ON “Block 5” “Block 4”; FACT ON “Block 4” “Block 3”; FACT ON “Block 1” “Block 2”; FACT ON “Block 2” “Table”; FACT ON “Block 3” “Table”; FACT CLEAR “Block 1”; FACT CLEAR “Block 5”; FACT CLEAR “Table”; Plan: { NAME: “Top-level plan” GOAL: ACHIEVE blocks_stacked; CONTEXT: BODY: ACHIEVE ON “Block 3” “Table”; ACHIEVE ON “Block 2” “Block 3”; ACHIEVE ON “Block 1” “Block 2”; }
Blocks World in Jam (2) Plan: { NAME: “Stack blocks that are already clear” GOAL: ACHIEVE ON $OBJ 1 $OBJ 2; CONTEXT: BODY: ACHIEVE CLEAR $OBJ 1; ACHIEVE CLEAR $OBJ 2; PERFORM move $OBJ 1 $OBJ 2; UTILITY: 10; FAILURE: EXECUTE print “nn. Stack blocks failed: nn”; } Plan: { NAME: “Clear a block” GOAL: ACHIEVE CLEAR $OBJ; CONTEXT: FACT ON $OBJ 2 $OBJ; BODY: ACHIEVE ON $OBJ 2 “Table”; EFFECTS: RETRACT ON $OBJ 2 $OBJ FAILURE: EXECUTE print “nn. Clearing blocks failed: nn”; }