Bài giảng Trí tuệ nhân tạo - Chapter 10: Planning
Planning
Chapter 10
Overview
The blocks world
B
C B
A D
A C D
start
goal
How to achieve the goal from the start?
2
Overview
• Problem-solving is searching and moving through a
state space.
3
Overview
• Problem-solving is searching and moving through a
state space.
• Planning is searching for sucessful paths through a
state space.
4
Overview
• Planning is the process of computing several steps of
a problem-solving procedure before executing them.
• Planning = problem sloving in advance.
5
Overview
• Planning is important if solutions cannot be undone.
• If the universe is not predictable, then a plan can fail
⇒ dynamic plan revision.
6
The Blocks World
B
C B
A C D
A D
start
goal
Planning = generating a sequence of actions to
achieve the goal from the start
7
The Blocks World
Actions:
• UNSTACK(A, B)
• STACK(A, B)
• PICKUP(A)
• PUTDOWN(A)
8
The Blocks World
Conditions and results:
• ON(A, B)
• ONTABLE(A)
• CLEAR(A)
• HOLDING(A)
• ARMEMPTY
9
The Blocks World
Specification of actions:
• PRECONDITION: list of predicates that must be true
for an operator to be applied.
• ADD: list of new predicates that an operator causes
to become true.
• DELETE: list of old predicates that an operator
causes to become false.
• Predicates not in ADD nor DELETE are unaffacted.
10
The Blocks World
Specification of actions:
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)
11
The Blocks World
Specification of actions:
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
12
The Blocks World
B
C B
A C D
A D
start: ON(B, A) ∧
ONTABLE(A) ∧
ONTABLE(C) ∧
ONTABLE(D) ∧
ARMEMPTY
goal: ON(C, A) ∧
ON(B, D) ∧
ONTABLE(A) ∧
ONTABLE(D) ∧
13
Goal Stack Planning
Stack
Database
Goals
Current situation
+
Operators to
satisfy
the Goals
Specification of
Operators/Actions
14
Goal Stack Planning
Push the original goal to the stack. Repeat until the
stack is empty:
– If stack top is a compound goal, push its unsatisfied
subgoals to the stack.
– If stack top is a single unsatisfied goal, replace it by an
operator that makes it satisfied and push the operator’s
precondition to the stack.
– If stack top is an operator, pop it from the stack, execute it
and change the database by the operation’s affects.
– If stack top is a satisfied goal, pop it from the stack.
15
Goal Stack Planning
B
C B
A C D
A D
start: ON(B, A) ∧
ONTABLE(A) ∧
ONTABLE(C) ∧
ONTABLE(D) ∧
ARMEMPTY
goal: ON(C, A) ∧
ON(B, D) ∧
ONTABLE(A) ∧
ONTABLE(D) ∧
16
Goal Stack Planning
Stack
Database
ON(C, A)
ON(B, A)
OTACD
ON(B, D)
ON(C, A) ∧ ON(B, D) ∧ OTAD
ARMEMPTY
CLEAR(A)
ON(B, A)
OTACD
HOLDING(C)
CLEAR(A) ∧ HOLDING(C)
STACK(C, A)
ARMEMPTY
ON(B, D) ∧
ON(C, A) ∧ ON(B, D) ∧ OTAD
17
Goal Stack Planning
Plan
1. UNSTACK(B, A)
2. STACK(B, D)
3. PICKUP(C)
4. STACK(C, A)
18
Goal Stack Planning
A
B
C
A B
C
start: ON(C, A) ∧
goal: ON(A, B) ∧
ONTABLE(A) ∧
ON(B, C)
ONTABLE(B) ∧
ARMEMPTY
Sussman Anomaly (1975)
19
Goal Stack Planning
Plan
1. UNSTACK(C, A)
2. PUTDOWN(C)
3. PICKUP(A)
4. STACK(A, B)
5. UNSTACK(A, B)
6. PUTDOWN(A)
7. PICKUP(B)
8. STACK(B, C)
9. PICKUP(A)
10. STACK(A, B)
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Trí tuệ nhân tạo - Chapter 10: Planning", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_tri_tue_nhan_tao_chapter_10_planning.pdf

