Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics
Chương 3: Các kỹ thuật tìm kiếm Heuristics Nội dung Khái niệm Tìm kiếm tốt trước Phương pháp leo ñồi Cài ñặt hàm ñánh giá Thu giảm ràng buộc Giải thuật cắt tỉa α-β Giới hạn duyệt hệ thống 8-puzzle Lời giải cần trung bình 22 cấp (depth) ðộ rộng bước ~ Tìm kiếm vét cạn cho 22 cấp cần 3.1 x 1010 states Nếu giới hạn d=12, cần trung bình 3.6 triệu trạng thái [24 puzzle có 1024 trạng thái] Cần chiến lược tìm kiếm heuristic Khái niệm: Heuristic Heuristics: ñoán, ước chừng dựa kinh nghiệm, trực giác Các hệ giải AI sử dụng heuristic hai tình bản: Bài toán ñược ñịnh nghĩa xác chi phí tìm lời giải vét cạn chấp nhận VD: Sự bùng nổ KGTT trò chơi cờ vua Vấn ñề với nhiều mơ hồ lời phát biểu toán hay liệu tri thức sẵn có VD: Chẩn ñoán y học Khái niệm: Giải thuật Heuristics Một giải thuật heuristic ñược xem gồm phần: Phép ño heuristic: thể qua hàm ñánh giá heuristic (evaluation function f(n) - EF), dùng ñể ñánh giá ñặc ñiểm trạng thái KGTT Giải thuật tìm kiếm heuristic: TK tốt (best-first search) A* search Giải thuật leo núi (hill-climbing) Ví dụ phép ño Heuristics Ví dụ phép ño Heuristics (tt) Heuristic “Số ñường thắng nhiều nhất” (theo ñường chéo bàn cờ) áp dụng cho cờ ñầu tên ñặt vào bàn cờ bàn cờ tic-tac-toe Ví dụ phép ño Heuristics (tt) Giải thuật leo ñồi (Hill climbing) Giải thuật Xét trạng thái bắt ñầu Nếu ñích => dừng Ngược lại: thiết lập khởi ñầu TT Lặp ñến khi: gặp ñích OR không luật chưa ñược áp dụng vào TT Lựa luật ñể áp dụng vào TT ñể sinh TT Xem xét TT Nếu ñích => dừng Nếu không ñích, tốt TT => thiết lập TT TT Nếu không tốt thì tiếp lần lặp kế Giải thuật leo ñồi (tt) Giới hạn Giải thuật có khuynh hướng bị sa lầy cực ñại cục Lời giải tìm ñược không tối ưu Không tìm ñược lời giải có tồn lời giải Giải thuật gặp vòng lặp vô hạn không lưu giữ thông tin trạng thái ñã duyệt 10 Minimax với ñộ sâu lớp cố ñịnh Minimax ñối với KGTT giả ñịnh giá trị max nút giá trị nút Các nút ñược gán giá trị heuristic ñó Còn giá trị nút giá trị nhận ñược dựa giải thuật Minimax (min hay max cua nút con) 21 Heuristic trò chơi tic-tac-toe Hàm Heuristic: E(n) = M(n) – O(n) Trong ñó: M(n) tổng số ñường thắng O(n) tổng số ñường thắng ñối thủ E(n) trị số ñánh giá tổng cộng cho trạng thái n 22 Minimax lớp ñược áp dụng vào nước ñi mở ñầu tic-tac-toe Max (X) có ñường thắng, Min(O) có 4, hàm heuristic -1 23 Thu giảm toán ðồ thị AND-OR : ðược dùng ñể biểu diễn KGTT cho toán giải ñược cách phân rã toán nhỏ Khi toán ñược phân rã thành N toán con, mà tất chúng phải ñược giải ñể hoàn thành toán lớn ñược biểu diễn thành cung AND ñến N trạng thái Nhiều cách giải cho toán ñược dùng biểu diễn cung OR A ñược thông qua hai cách: - Giải B, - Giải C D 24 Thu giảm toán (tt) ðồ thị AND-OR : Nếu dùng giải thuật BFS cho việc tìm lời giải ñồ thị ANDOR có lẽ không thích hợp xem xét ñồ thị sau: Nếu giá trị ghi kề bên trạng thái trị ước lượng cho trạng thái ñó Theo BFS trạng thái ñược chọn C, như: Khi chọn cách giải qua C bắt buộc phải giải D Do tổng chi phí cho cách giải là: C+D+ = 9, giá trị hàm g BFS Trong ñó chọn cách giải qua B chi phí là: B+1 = 25 Thu giảm toán (tt) GT thu giảm toán Khởi ñộng ñồ thị TT bắt ñầu Lặp ñến khi: TT ñầu ñược gán nhãn SOLVED OR chi phí vượt qua ngưỡng FUTILITY: Duyệt ñồ thị bắt ñầu từ TT ñầu, theo ñường tốt tại, tích luỹ tập trạng thái ñường ñó mà chưa ñược mở rộng ñược gán nhãn SOLVED Lấy TT chưa mở rộng mở rộng Nếu gán FUTILITY trị TT Ngược lại, thêm vào ñồ thị chúng tính f’ (sử dụng h’, bỏ qua g) Nếu f’ =0 gán nhãn cho TT ñó SOLVED Thay ñổi f’ TT ñã ñược mở rộng ñể phản ánh thông tin ñược cung cấp Lan truyền trị ngược lên ñồ thị Nếu TT có cung mà tất ñã ñược gán nhãn SOLVED ñược gán nhãn SOLVED Khi lan truyền ngược lên ñồ thị ñánh dấu cung tốt phần ñường tốt 26 Thu giảm toán (tt) GT Thu giảm (tt.) - bước: 27 Thu giảm toán (tt) GT Thu giảm (tt.) - bước: 28 Giải thuật cắt tỉa α-β Tìm kiếm theo kiểu depth-first Nút MAX có giá trị α (luôn tăng) Nút MIN có giá trị β (luôn giảm) Tìm Kiếm kết thúc bất kỳ: Nút MIN có β ≤ α nút cha MAX Nút MAX có α ≥ β nút cha MIN Giải thuật cắt tỉa α-β thể mối quan hệ nút lớp n n+2, mà ñó toàn có gốc lớp n+1 cắt bỏ 29 Cắt tỉa α (vị trí MAX) S MAX MIN Có giá trị >= α giá A Có trị = α MAX ðiều kiện 1: Chỉ cần biết giá trị A B ðiều kiện 2: Giá trị A > giá trị B ðiều kiện 3: X, Y, , Z vị trí Max Bỏ có gốc X,Y,…, Z C Có giá trị [...]... 3 8 4 7 6 5 Dùng các hàm lượng giá heuristic sau h1 = số lượng các vị trí sai khác so với trạng thái goal h2 = tổng số ñộ dời ngắn nhất của các ô về vị trí ñúng (khoảng cách Manhattan) hãy triển khai không gian trạng thái của bài toán ñến mức 5 (nếu chưa tìm ñược goal): a) Theo giải thuật leo núi b) Theo giải thuật tìm kiếm rộng c) Theo giải thuật tìm kiếm sâu d) Theo giải thuật tìm kiếm tốt nhất ñầu... thị) Trong cây tìm kiếm dưới ñây, mỗi nút có 2 giá trị ñi kèm: giá trị bên trái của nút (in nghiêng) thể hiện giá trị heuristic của nút, và giá trị bên phải nút thể hiện thứ tự nút ñược duyệt qua Với mỗi chiến lược tìm kiếm dưới ñây, hãy viết danh sách thứ tự các nút ñược duyệt, so sánh và cho biết ta ñã dùng giải thuật tìm kiếm nào trên cây : a) Tìm kiếm rộng BFS b) Tìm kiếm sâu DFS c) Tìm kiếm tốt nhất... KẾT QUẢ CỦA MIN 20 Minimax với ñộ sâu lớp cố ñịnh Minimax ñối với một KGTT giả ñịnh 3 là giá trị max của các nút con 2 là giá trị min của các nút con Các nút lá ñược gán các giá trị heuristic nào ñó Còn giá trị tại các nút trong là các giá trị nhận ñược dựa trên giải thuật Minimax (min hay max cua các nút con) 21 Heuristic trong trò chơi tic-tac-toe Hàm Heuristic: E(n) = M(n) – O(n) Trong ñó: M(n) là... ưu thế nhất trong số các trạng thái ñã sinh ra ñược ñến thời ñiểm ñó Khác với GT leo ñồi có cải tiến ở chổ: có lưu tất cả những TT ñã phát sinh ñến thời ñiểm chọn TT ñể xét tiếp Dùng hai danh sách: OPEN: chứa các TT sẽ ñược xét CLOSED: chứa các TT ñã xét qua 12 Tìm kiếm tốt nhất (BFS) Giải thuật OPEN = [TT ñầu] Lặp ñến khi: gặp ñích OR OPEN rỗng Lấy TT tốt nhất từ OPEN Phát sinh các con của nó Với mỗi... toán (tt) GT Thu giảm (tt.) - từng bước: 28 Giải thuật cắt tỉa α-β Tìm kiếm theo kiểu depth-first Nút MAX có 1 giá trị α (luôn tăng) Nút MIN có 1 giá trị β (luôn giảm) Tìm Kiếm có thể kết thúc dưới bất kỳ: Nút MIN nào có β ≤ α của bất kỳ nút cha MAX nào Nút MAX nào có α ≥ β của bất kỳ nút cha MIN nào Giải thuật cắt tỉa α-β thể hiện mối quan hệ giữa các nút ở lớp n và n+2, mà tại ñó toàn bộ cây có gốc... dùng giải thuật tìm kiếm nào trên cây : a) Tìm kiếm rộng BFS b) Tìm kiếm sâu DFS c) Tìm kiếm tốt nhất ñầu tiên BFS d) Tìm kiếm leo núi 34 Bài tập: bài 3 (minimax) Kê danh sách các nút ñược duyệt theo tìm kiếm DFS Thực hiện giải thuật Minimax trên cây Sẽ có gì khác biệt nếu như ta dùng giải thuật cắt tỉa alpha – beta ñể ñịnh trị nút gốc cho cây? 35 ...Giải thuật leo ñồi (tt) Bài toán 8 Hậu Trang thái bắt ñầu: mỗi Hậu trên 1cột Trạng thái ñích: các Hậu không thể tấn công nhau Phép ño Heuristic h(n) : số lượng các cập hậu ñối kháng nhau H(n) = 17 h(n) = 1 11 Tìm kiếm tốt nhất (BFS) Là phương pháp dung hoà của BrFS và DFS Có sử dụng ñể ñánh giá ưu thế của mỗi... dùng giải thuật BFS cho việc tìm lời giải trên ñồ thị ANDOR thì có lẽ không thích hợp vì như xem xét ñồ thị sau: Nếu giá trị ghi kề bên trạng thái là trị ước lượng cho trạng thái ñó Theo BFS thì trạng thái kế tiếp ñược chọn là C, như: Khi chọn cách giải qua C thì bắt buộc phải giải cả D Do vậy tổng chi phí cho cách giải này là: C+D+ 2 = 9, 2 là giá trị của hàm g trong BFS Trong khi ñó nếu chọn cách giải... Mỗi nút lá có giá trị: 1 nếu là MAX thắng, 0 nếu là MIN thắng Minimax sẽ truyền các giá trị này lên cao dần trên ñồ thị, qua các nút cha mẹ kế tiếp theo các luật sau: Nếu trạng thái cha mẹ là MAX, gán cho nó giá trị lớn nhất có trong các trạng thái con Nếu trạng thái cha mẹ là MIN, gán cho nó giá trị nhỏ nhất có trong các trạng thái con 19 Áp dụng GT Minimax vào Trò Chơi NIM 1 MIN 1 MAX MIN MAX MIN... ñể biểu diễn KGTT cho bài toán giải ñược bằng cách phân rã ra các bài toán nhỏ hơn Khi bài toán ñược phân rã thành N bài toán con, mà tất cả chúng phải ñược giải ñể hoàn thành bài toán lớn thì ñược biểu diễn thành cung AND chỉ ñến N trạng thái con Nhiều cách giải cho bài toán có thể ñược dùng thì có thể biểu diễn bởi cung OR A có thể ñược thông qua hai cách: - Giải B, hoặc - Giải cả C và D 24 Thu giảm ... ñặc ñiểm trạng thái KGTT Giải thuật tìm kiếm heuristic: TK tốt (best-first search) A* search Giải thuật leo núi (hill-climbing) Ví dụ phép ño Heuristics Ví dụ phép ño Heuristics (tt) Heuristic “Số... tiếp lần lặp kế Giải thuật leo ñồi (tt) Giới hạn Giải thuật có khuynh hướng bị sa lầy cực ñại cục Lời giải tìm ñược không tối ưu Không tìm ñược lời giải có tồn lời giải Giải thuật gặp vòng lặp... (tt) GT Thu giảm (tt.) - bước: 28 Giải thuật cắt tỉa α-β Tìm kiếm theo kiểu depth-first Nút MAX có giá trị α (luôn tăng) Nút MIN có giá trị β (luôn giảm) Tìm Kiếm kết thúc bất kỳ: Nút MIN có β ≤