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