Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Pertemuan 17 Planning Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1.

Similar presentations


Presentation on theme: "1 Pertemuan 17 Planning Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1."— Presentation transcript:

1 1 Pertemuan 17 Planning Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1

2 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : >

3 3 Outline Materi Materi 1 Materi 2 Materi 3 Materi 4 Materi 5

4 4 13.1. Overview Often the problem that must be solved is divided into smaller pieces and to solve those pieces separately. The word Planning refers to the process of the computing several steps of the problem-solving procedure before executing any of them. This methods focus on way of decomposing the original problem into appropriate subparts and on way of recording and handling interactions among the subparts as they are detected during the problem-solving process.

5 5 Overview Decomposability Predictability Plan failures Planning vs. doing

6 6 Components of a Planning System Choose the best rule to apply next based on the best available heuristic information. Apply the chosen rule to compute the new problem state that arises from its application. Detect when a solution has been found. Detect dead ends so that they can be abandoned and the system’s effort directed in more fruitful directions. Detect when an almost correct solution has been found and employ special techniques to make it totally correct.

7 7 13.2. An Example Domain The Blocks World Operators : UNSTACK(A,B)  Pick up block A from its current position on block B. The arm must be empty and block A must have no blocks on top of it. STACK(A,B)  Place block A on block B. The arm must already be holding A and the surface of B must be clear. PICKUP(A)  Pick Up block A from the table and hold it. The arm must be empty and there must be nothing on top of block A. PUTDOWN(A)  Put block A down on the table. The arm must have been holding block A.

8 8 The Blocks World Predicates : ON(A,B)  Block A is on block B. ONTABLE(A)  Block A is on the table. CLEAR(A)  There is nothing on top of block A. HOLDING(A)  The arm is holding block A. ARMEMPTY  The arm is holding nothing. Inference rules : -  x : HOLDING(x)   ARMEMPTY -  x : ONTABLE(x)   Y : y ON(x,y) -  x :  y : ON(y,x)  CLEAR(x)

9 9 The Blocks World A Simple Blocks World Description ON(A,B,S0)  ONTTABLE(B,S0)  CLEAR(A,S0)

10 10 The Blocks World STRIPS-Style Operators for the Blocks World STACK(x,y) P : CLEAR(y)  HOLDING(x) D : CLEAR(y)  HOLDING(x) A : ARMEMPTY  ON(x,y) UNSTACK(x,y) P : ON(x,y)  CLEAR(x)  ARMEMPTY D : ON(x,y)  ARMEMPTY A : HOLDING(x)  CLEAR(y) PICKUP(x) P : CLEAR(x)  ONTABLE(x)  ARMEMPTY D : ONTABLE(x)  ARMEMPTY A : HOLDING(x) PUTDOWN(x) P : HOLDING(x) D : HOLDING(x) A : ONTABLE(x)  ARMEMPTY

11 11 The Blocks World We start with the situation shown and we would describe it as: ON(A,B)  ONTABLE(B)  CLEAR(A) After applying the operator UNSTACK(A,B), our description of the world would be : ONTABLE(B)  CLEAR(A)  CLEAR(B)  HOLDING(A) A B

12 12 The Blocks World A Simple Search Tree ONTABLE(B)  CLEAR(A)  CLEAR(B)  ONTABLE(A)

13 13 13.4. Goal Stack Planning Goal stack planning is one of the earliest techniques to be developed for solving compound goal that may interact was the use of a goal stack. This was the approach used by STRIPS. The problem solver makes use of a single stack that contains both goals and operator that have been proposed to satisfy those goals.

14 14 Goal Stack Planning The goal-stack planning method attacks problem involving conjoined goal by solving the goal one at a time, in order. A plan generated by this method contains a sequence of operators of operator for attaining the first goal, followed by a complete sequence for the second goal, etc.

15 15 Goal Stack Planning A Very Simple Blocks World Problem Start : ON(B,A)  Goal : ON(C,A)  ONTABLE(A)  ON(B,D)  ONTABLE(C)  ONTABLE(A)  ONTABLE(D)  ONTABLE(D) ARMEMPTY

16 16 Goal Stack Planning Initial goal stack : ON(C,A)  ON(B,D)  ONTABLE(A)  ONTABLE(D) Choose to work on ON(C,A) before ON(B,D) : ON(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD Achieve ON(C,A) with STACK(C,A) : STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD

17 17 Goal Stack Planning Add STACK’s preconditions : CLEAR(A) HOLDING(C) CLEAR(A)  HOLDING(C) STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD

18 18 Goal Stack Planning Achieve CLEAR(A) with UNSTACK(B,A) : ON(B,A) CLEAR(B) ARMEMPTY ON(B,A)  CLEAR(B)  ARMEMPTY UNSTACK(B,A) HOLDING(C) CLEAR(A)  HOLDING(C) STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD

19 19 Goal Stack Planning Now the top element of the stack is the operator UNSTACK(B,A). Now guaranteed that its preconditions are satisfied, so it can be applied to produce a new world model from which the rest of the problem-solving process can continue. Meanwhile we record that UNSTACK(B,A) is the first operator of proposed solution sequence. At this point, the database corresponding to the world model is : ONTABLE(A)  ONTABLE(C)  ONTABLE(D)  HOLDING(B)  CLEAR(A )

20 20 Goal Stack Planning The goal stack now is : HOLDING(C) CLEAR(A)  HOLDING(C) STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD

21 21 Goal Stack Planning Achieve HOLDING(C) with PICKUP(C) ONTABLE(C) CLEAR(C) ARMEMPTY ONTABLE(C)  CLEAR(C)  ARMEMPTY PICKUP(C) CLEAR(A)  HOLDING(C) STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD

22 22 Goal Stack Planning Achieve HOLDING(C) with UNSTACK(C,x) ON(C,x) CLEAR(C) ARMEMPTY ON(C,x)  CLEAR(C)  ARMEMPTY UNSTACK(C,x) CLEAR(A)  HOLDING(C) STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD x = any block from which C could be unstack.

23 23 Goal Stack Planning Achieve ON(C,x) by STACK(C,x) : CLEAR(x) HOLDING(C) CLEAR(x)  HOLDING(C) STACK(C,x) CLEAR(C) ARMEMPTY ON(C,x)  CLEAR(C)  ARMEMPTY UNSTACK(C,x) CLEAR(A)  HOLDING(C) STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD

24 24 Goal Stack Planning Teminate path because HOLDING(C) is duplicated. Achieve HOLDING(C) with PICKUP, not UNSTACK : ONTABLE(C) CLEAR(C) ARMEMPTY ONTABLE(C)  CLEAR(C)  ARMEMPTY PICKUP(C) CLEAR(A)  HOLDING(C) STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD

25 25 Goal Stack Planning Pop ONTABLE(C) and CLEAR(C), and achieve ARMEMPTY by STACK(B,D) : CLEAR(D) HOLDING(B) CLEAR(D)  HOLDING(B) STACK(B,D) ONTABLE(C)  CLEAR(C)  ARMEMPTY PICKUP(C) CLEAR(A)  HOLDING(C) STACK(C,A) ON(B,D) ON(C,A)  ON(B,D)  OTAD

26 26 Goal Stack Planning Pop entire stack, and return plan : 1. UNSTACK(B,A) 2. STACK(B,D) 3. PICKUP(C) 4. STACK(C,A)

27 27 > End of Pertemuan 17 Good Luck


Download ppt "1 Pertemuan 17 Planning Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1."

Similar presentations


Ads by Google