Outline: Giải quyết bài toán và tìm kiếm (Problem solving and search

advertisement
Outline: Giải quyết bài toán và tìm kiếm
((Problem solving
g and search, problem
p
solving
g agents)
g
)
‰ Hình thành bài toán (Problem formulation)
• Xác định các thành phần của bài toán (problem formulation)
• Lược đồ chung để giải bài toán (general-solving procedure)
• Đánh giá một giải thuật tìm kiếm
‰ Uninformed (blink) search (Tìm không có thông tin phản hồi, hoặc
tìm kiếm mù)
• Search strategies:
g
depth-first,
p
, breadth-first ((Các chiến lược
ợ tìm kiếm: theo chiều
sâu, theo chiều rộng)
‰ Informed search (Tìm kiếm dựa trên các hàm đánh giá, heuristics)
• Search strategies: best-first
best first search
• Heuristic functions (Các hàm heuristic)
9 Uniform search
9 Greedy search
9 A* search
(This time)
1
Xem lại g
giải thuật uninformed search
Function General-Search(problem, Queue/Stack) returns a solution, or failure
Queue/Stack Å make-queue(make-node(initial-state[problem]));
father(initial-state[problem]) = empty;
while (1)
if Queue/Stack is empty then return failure;
node = pop(Queue/Stack) ;
if test(node,Goal[problem]) then return path(node,father);
p
Åadjacent-nodes(node,
j
(
, Operators[problem]);
p
[p
]);
expand-nodes
push(Queue/Stack, expand-nodes );
foreach ex-node in expand-nodes
father(ex-node) = node;
end
Có thể sử dụng cấu trúc dữ liệu khác Queue/Stack tốt hơn
không?
Hàm đánh g
giá – heuristic
3
Sử dụng
ụ g thêm thông
g tin – hàm đánh g
giá h2
5
5
4
6
1
8
7
3
2
18
4
5
4
6
1
7
3
6
1
8
7
3
2
17
8
Goal
2
19
1
2
8
7
CS 561, Lectures 3-5
3
4
6
5
4
Sử dụng
ụ g thêm thông
g tin – hàm đánh g
giá h2
5
4
6
1
8
7
3
2
18
4
5
4
6
1
7
3
6
1
8
7
3
2
17
5
4
5
6
1
8
6
7
3
2
7
16
5
1
8
Goal
2
2
1
2
8
4
7
8
3
19
3
4
6
5
16
CS 561, Lectures 3-5
5
Sử dụng
ụ g thêm thông
g tin – hàm đánh g
giá h2
5
6
1
8
7
3
2
18
5
4
6
1
7
3
1
8
7
3
2
17
5
4
5
6
1
8
6
7
3
2
7
6
5
4
1
8
3
2
7
4
4
6
16
5
1
8
Goal
2
2
1
2
8
4
7
8
3
19
3
4
6
5
16
17
CS 561, Lectures 3-5
6
Sử dụng
ụ g thêm thông
g tin – hàm đánh g
giá h2
5
5
4
6
1
8
7
3
2
18
4
5
4
6
1
7
3
6
1
8
7
3
2
17
4
5
6
1
8
6
7
3
2
7
3
2
6
5
4
5
1
4
5
1
1
8
6
8
6
8
3
2
3
2
7
3
7
17
7
Goal
19
2
1
2
8
5
16
1
8
4
7
8
3
4
6
5
15
16
4
2
5
1
4
6
3
8
7
15
CS 561, Lectures 3-5
2
15
7
Sử dụng
ụ g thêm thông
g tin – hàm đánh g
giá h2
5
5
4
6
1
8
7
3
2
18
4
5
4
6
1
7
3
6
1
8
7
3
2
17
4
5
6
1
8
6
7
3
2
7
3
2
6
5
4
5
1
4
5
1
1
8
6
8
6
8
3
2
3
2
7
3
7
17
7
Goal
19
2
1
2
8
5
16
1
8
4
7
8
3
4
6
5
15
16
4
2
5
1
4
6
3
8
7
15
CS 561, Lectures 3-5
2
15
8
Best-first search
‰ Idea:
Sử dụng hàm đánh giá trong quá trình phát triển cây tìm
kiếm, hàm đánh giá ước lượng “độ gần” của mỗi đỉnh
trạng thái
á với
ớ trạng thái
á đích.
í
Tức
ứ là
à chỉỉ triển
ể khai cây
â tìm
ì
kiếm theo nhánh có triển vọng đi đến đích nhanh nhất.
‰ Implementation:
Thay vì dùng Queue/Stack, dùng mảng có sắp xếp theo hàm
đ h giá
đánh
i
9
Cài đặt chi tiết giải thuật Best-first
search
Function General-Search(problem, ordered-array,h) returns a solution, or failure
ordered-array Å make-queue(make-node(initial-state[problem]));
father(initial-state[problem]) = empty;
while (1)
if ordered
ordered-array
array is empty then return failure;
node = pop(ordered-array) ; // node with max/min h
if test(node,Goal[problem]) then return path(node,father);
p
Åadjacent-nodes(node,
j
(
, Operators[problem]);
p
[p
]);
expand-nodes
push(ordered-array, expand-nodes ,h);
Lấy các đỉnh kề với node,
foreach ex-node in expand-nodes
nhưng chưa xuất hiện trong
father(ex-node) = node;
ordered-array
end
Function push(ordered-array, expand-nodes ,h);
Chèn các nodes trong expand-nodes vào ordered-array
sao cho mảng ordered-array sắp theo thứ tự tăng/giảm
theo hàm h
Các loại
ạ hàm đánh g
giá - h
¾ Hàm h(n) – chi phí từ trạng thái đầu đến n Æ uniform search
¾ Hàm h(n) – Ước lượng chi phí từ n đến trạng thái đích Æ greedy
search
¾ Hàm h(n) = f(n) + g(n)
Trong đó:
f(n) – chi phí từ trạng thái đầu đến n
g(n) – Ước lượng chi phí từ n đến trạng thái đích
và g(n) ≤ g*(n), g*(n) là chi phí thực sự từ n đến trạng thái đích
Æ A* search
¾ …
CS 561, Lectures 3-5
11
Ví dụ:
ụ Romania with step
p costs in km
CS 561, Lectures 3-5
12
Uniform-cost search
CS 561, Lectures 3-5
13
Uniform-cost search
CS 561, Lectures 3-5
14
Uniform-cost search
CS 561, Lectures 3-5
15
Properties
p
of uniform-cost search
•
•
•
•
Completeness:
Time complexity:
Space complexity:
Optimality:
Yes, if step cost ≥ ε >0
# nodes with g ≤ cost of optimal solution, ≤ O(b d)
# nodes with g ≤ cost of optimal solution, ≤ O(b d)
Yes as long as path cost never decreases
Yes,
g(n) is the path cost to node n
Remember:
b = branching factor
d = depth of least-cost solution
CS 561, Lectures 3-5
16
Greedy
y search
‰ Estimation function:
h(n) = estimate of cost from n to goal (heuristic)
‰ For example:
hSLD(n) = straight-line distance from n to Bucharest
‰ Greedy search expands first the node that appears to be
closest to the goal, according to h(n).
CS 561, Lectures 3-5
17
Romania with step
p costs in km
374
253
329
18
CS 561, Lectures 3-5
19
CS 561, Lectures 3-5
20
CS 561, Lectures 3-5
21
CS 561, Lectures 3-5
22
Properties
p
of Greedy
y Search
‰ Complete?
‰ Time?
‰ Space?
‰ Optimal?
23
Properties
p
of Greedy
y Search
‰ Complete?
No – can get stuck in loops
e.g., Iasi > Neamt > Iasi > Neamt > …
Complete in finite space with repeated-state checking.
‰ Time?
O(b^m) but a good heuristic can give
dramatic improvement
p
‰ Space?
O(b^m) – keeps all nodes in memory
‰ Optimal?
No
No.
24
A* search
‰ Idea: avoid expanding paths that are already expensive
evaluation function: h(n) = f(n) + g(n), with:
f(n) – cost so far to reach n
g(n) – estimated cost to goal from n
h(n) – estimated total cost of path through n to goal
‰ A* search uses an admissible heuristic, that is,
h(n) ≤ h*(n) where h*(n) is the true cost from n.
For example: hSLD(n) never overestimates actual road distance.
‰ Theorem: A* search is optimal
25
CS 561, Lectures 3-5
26
CS 561, Lectures 3-5
27
CS 561, Lectures 3-5
28
CS 561, Lectures 3-5
29
CS 561, Lectures 3-5
30
Optimality
p
y of A* ((standard p
proof))
Suppose some suboptimal goal G2 has been generated and is in the
queue. Let
L n be
b an unexpanded
d d node
d on a shortest
h
path
h to an
optimal goal G1.
1
CS 561, Lectures 3-5
31
Optimality
p
y of A* ((more useful proof)
p
)
CS 561, Lectures 3-5
32
f contours
f-contours
Ho do the conto
How
contourss look like when
hen h(n) =0?
0?
CS 561, Lectures 3-5
33
Properties
p
of A*
‰ Complete?
‰ Time?
‰ Space?
‰ Optimal?
34
Properties
p
of A*
‰ Complete?
Yes, unless infinitely many nodes with f ≤ f(G)
‰ Time?
Exponential in [(relative error in h) x (length of solution)]
‰ Space?
Keeps all nodes in memory
‰ Optimal?
Yes – cannot expand fi+1 until fi is finished
35
Admissible heuristics
36
Admissible heuristics
37
Relaxed Problem
‰ Admissible heuristics can be derived from the exact solution cost of
a relaxed
l
d version
i off the
h problem.
bl
‰ If the rules of the 8-puzzle are relaxed so that a tile can move
anywhere,
h
then
th h1(n)
( ) gives
i
the
th shortest
h t t solution.
l ti
‰ If the rules are relaxed so that a tile can move to any adjacent
square, then
th h2(n)
( ) gives
i
the
th shortest
h t t solution.
l ti
38
Iterative improvement
p
‰ In many optimization problems, path is irrelevant;
the goal state itself is the solution.
‰ Then,
e , state space = space o
of “complete”
co p ete co
configurations.
gu at o s
Algorithm goal:
- find optimal configuration
g
(e.g.,
g TSP), or,
- find configuration satisfying constraints
(e.g., n-queens)
‰ In such cases, can use iterative improvement algorithms: keep a
single “current” state, and try to improve it.
39
Iterative improvement
p
example:
p n-queens
q
‰ Goal: Put n chess-game queens on an n x n board, with no two
queens on the
h same row, column,
l
or diagonal.
di
l
‰ Here, goal state is initially unknown but is specified
f
by constraints
that it must satisfy.
40
Summary
y
¾ Best-first search = general search, where the minimum-cost nodes
( o ding to some
(according
ome measure)
me
e) are
e expanded
e p nded first.
fi t
¾ Uniform search = best-first with the cost from initial state as a heuristic
¾ Greedy search = best-first with the estimated cost to reach the goal as a
heuristic measure.
9 generally faster than uninformed search
9 not optimal
9 not complete.
¾ A* search = best-first with measure = path cost so far + estimated path
cost to goal.
9 combines
bi
advantages
d
t
off uniform-cost
if
t and
d greedy
d searches
h
9 complete, optimal and optimally efficient
9 space complexity still exponential
‰ Time complexity of heuristic algorithms depend on quality of heuristic
function.
41
Download