|PLANNING}
Sense
Model
Plant
Act
Planning
Planning dalam Artificcial Intelligent (AI) adalah bagaimana kita merencanakan setiap langkah untuk mengatasi masalah-masalah yang sewaktu-waktu dapat terjadi dalam suatu pengembangan sistem kecerdasan buatan. Cara yang kita pakai untuk mendapatkan sebuah goal atau solusi pemecahan masalah. Selain itu adapula yang kita sebut sebagai Classical Planning yang mencakup ke semua ruang lingkup, determinasi, observasi dan diskrit dimana hal tersebut berhubungan dengan waktu, tindakan serta efek yang di timbulkan dalam pencarian suatu cara,suatu keputusan atau solusi terbaik.
Planning
1. Employ to avoid calculation of the entire problem state when we move from one state to the next (consider only parts of the state that may have changed) 2. Decomposition : divide a single difficult problem into several, hopefully easier, sub-problems.
So what is planning
1. In everyday usage, planning refers to the process of computing several steps of a problem solving procedures before executing any of them 2. To be more specific, planning is the use of decomposition methods including ways of recording and handling interaction among the subparts
Boeing Company
Contoh Planning
Getting A on B interferes with getting B on C We might even have to undo satisfied subgoals, e.g. : A A B B C C
STRIPS-Style Operator(contd)
3. PICKUP(x) : pick up x from the table and hold it. The arm must be empty and there must be nothing on top of block x. P : CLEAR(x) ONTABLE(x) ARMEMPTY D : ONTABLE(x) ARMEMPTY A : HOLDING(x) 4. PUTDOWN(x) : put x down on the table, the arm must have been holding x P : HOLDING(x) D : HOLDING(x) A : ONTABLE(x) ARMEMPTY
Start :
ON(B,A) ONTABLE(A) ONTABLE(C) ONTABLE(D) ARMEMPTY
Goal:
ON(C,A) ON (B,D) ONTABLE(A) ONTABLE(D)
Planning Solution
B A C D
C A
B D
(1)
ON(C,A) ON(B,D) ON(C,A) ON(B,D) ONTAD
(2)
ON(B,D) ON(C,A) ON(C,A) ON(B,D) ONTAD
Alternative 1
ON(C,A) ON(B,D) ON(C,A) ON(B,D) ONTAD STACK(C,A) ON(B,D) ON(C,A) ON(B,D) ONTAD
SUB-GOALS
B A C D
UNSTACK(B,A) ON(B,A) CLEAR(B) ARMEMPTY HOLDING(C) CLEAR(A) HOLDING(C) STACK(C,A) ON(B,D) ON(C,A) ON(B,D) ONTAD
database
HOLDING(C)
CLEAR(A) HOLDING(C) STACK(C,A) ON(B,D) ON(C,A) ON(B,D) ONTAD
UNSTACK(C,x)
(1)
(2)
CLEAR(x) HOLDING(C) STACK(C,x) 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) ONTAD
PICKUP(C) ONTABLE(C) CLEAR(C) ARMEMPTY ONTABLE(C) (satisfied) CLEAR(C) (satisfied) ARMEMPTY (false since HOLDING(B) is true)
B
CLEAR(A) HOLDING(C) STACK(C,A) ON(B,D) ON(C,A) ON(B,D) ONTAD
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) (done, using stack(B,D) ON(C,A) ON(B,D) ONTAD
Now satisfied
B A C D
C A
B D
Another Problem
C A B
A B C
Start :
ON(C,A) ONTABLE(A) ONTABLE(B) ARMEMPTY
Goal :
ON(A,B) ON(B,C)
(1)
(2)
C A B ON(C,A) CLEAR(C) ARMEMPTY UNSTACK(C,A) ARMEMPTY CLEAR(A) ARMEMPTY PICKUP(A) CLEAR(B) HOLDING(A) STACK(A,B) ON(B,C) ON(A,B) ON(B,C)
A B C
A C B
Goal stack: ON(B,C) ON(A,B) ON(B,C) Current state: ONTABLE(B) ON(A,B) ONTABLE(C) ARMEMPTY
ON(C,A) CLEAR(C) ARMEMPTY UNSTACK(C,A) ARMEMPTY CLEAR(A) ARMEMPTY PICKUP(A) CLEAR(B) HOLDING(A) STACK(A,B) ON(B,C) ON(A,B) ON(B,C)
A C B
UNSTACK(C,A) ARMEMPTY (PUTDOWN(C)) PICKUP(A) STACK(A,B) ON(B,C) ON(A,B) ON(B,C) UNSTACK(C,A) PUTDOWN(C) PICKUP(A) STACK(A,B) UNSTACK(A,B) PUTDOWN(A) PICKUP(B) STACK(B,C) ON(A,B) ON(B,C)
B C A
CHECK
B C A
A B C
UNSTACK(C,A) PUTDOWN(C) PICKUP(A) STACK(A,B) UNSTACK(A,B) PUTDOWN(A) PICKUP(B) STACK(B,C) PICKUP(A) STACK(A,B)
Blocks World
PickUp(X) X on table, hand empty, X free PutDown(X) X in hand Stack(X,Y) X in hand, y free
Goal State
Initial State
A B
STRIPS (cont)
Figure 10.1. STRIPS representation for (1) opening a door (2) closing a door.
STRIPS Example
Figure 10.2. Example of STRIPS Planning (Operator Schema & Initial Model).
STRIPS Example
(cont)
ON(C,A) STACK(C,A)
ON(B,D)
HOLDING(C)
ON(B,A)
ON(C,A) STACK(C,A)
STACK(B,D)
PUTDOWN(B)
CLEAR(A)
HOLDING(C)
CLEAR(D)
HOLDING(B)
1/15/2011
44
Start State (KB) : Ontable(A), On(C,A), Clear(C), Ontable(B), Clear(B), Empty, Ontable(A), Ontable(B),
Unstack(C,A)
Holding (C)
Clear(A) A
Putdown(C) Empty
B C
Ontable(C)
Clear(C)
On(B,C)
On(A,B)
Clear(A) Empty
GOAL
1/15/2011 T0264 - Artificial Intelligence 45
C A B
Start State : Empty, Ontable(A), On(C,A), Clear(C), Ontable(B), Clear(B) Ontable(A), Ontable(B),
Empty
On(C,A)
Clear(C) Empty
Clear(B) Ontable(B)
Unstack(C,A)
Holding (C)
Clear(A)
Ontable(C)
Clear(C)
On(B,C)
On(A,B)
Clear(A) Empty
GOAL
1/15/2011 T0264 - Artificial Intelligence 46
C A B
Start State : Empty, Ontable(A), On(C,A), Clear(C), Ontable(B), Clear(B) Ontable(A), Ontable(B),
Empty
On(C,A)
Clear(C) Empty
Unstack(C,A)
Holding (C)
Clear(A)
Pickup(A) Clear(B)
Holding(A)
Ontable(C)
Clear(C)
On(B,C)
On(A,B)
Clear(A)
Empty
1/15/2011
GOAL
47
Kasus 1
C A
Start : ON(C,A) ONTABLE(A) ONTABLE(B) ARMEMPTY Goal : ON(A,B) ON(B,C)
A B B C
Kasus 2
B A
E D
B A C
E D
Kasus 3
C B
E D
A B C
D E
Buatlah suatu urutan logika perencanaan Jika saudara diminta membuat Planning jadwal take off 5 buah pesawat (no. pes. 1, 2, 3, 4, dan 5) yang sedang parkir di hanggar setelah diperbaiki. Kondisi awal urutan parkir pesawat 3, 2, 4, 5, dan 1 Target pesawat take off dengan urutan 1, 2, 3, 4, dan 5 Jika perlu tambahkan suatu informasi/ kondisi
3 2 4 5 1 5 4 3 2 1 Initial State Goal State
Unstack(x,y) Pre: on(x,y), clear(x), handempty Del: on(x,y), clear(x), handempty Add: holding(x), clear(y) Theory: Symbolic computations (STRIPS operators) Single agent (the planner) Perfect information Practice: Complex numeric computations (geometry, images, probabilities) Multiple agents Imperfect information, external information sources