Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
506,5 KB
Nội dung
CHƯƠNG 3: KỸ THUẬT TÌM KIẾM: Lec Giải vấn đề tìm kiếm: tìm kiếm mù TTNT p.1 Nội dung Biểu diễn toán Không Gian Trạng Thái Các chiến lược tìm kiếm – Tìm kiếm mù – Tìm kiếm kinh nghiệm (heuristic) Tìm kiếm không gian trạng thái: – Tìm kiếm theo chiều rộng (breath – first search) – Tìm kiếm theo chiều sâu (depth – first search) – Tìm kiếm sâu cách đào sâu nhiều lần (depth – first search with iterative deepening) Sử dụng không gian trạng thái để biễu diễn suy luận với phép tính vị từ: Đồ thị Và/Hoặc (And/Or Graph) TTNT p.2 Giải vấn đề tìm kiếm Khi biểu diễn vấn đề đồ thị không gian trạng thái, sử dụng lý thuyết đồ thị để phân tích cấu trúc độ phức tạp vấn đề thủ tục tìm kiếm Riverbank1 Island Island Riverbank Hệ thống cầu thành phố Konigsberg biểu diễn đồ thị tương ứng TTNT p.3 Bài toán tìm kiếm Tìm kiếm: tìm đối tượng thoả mãn số đòi hỏi đó, tập hợp rộng lớn đối tượng Các kỹ thuật tìm kiếm đuợc áp dụng rộng rãi lĩnh vực TTNT : – Tìm kiếm mù : hiểu biết đối tượng để hướng dẫn tìm kiếm – Tìm kiếm kinh nghiệm (heuristic) : dựa vào kinh nghiệm hiểu biết vấn đề cần giải để xây dựng hàm đánh giá hướng dẫn tìm kiếm • Tìm kiếm tối ưu • Tìm kiếm có đối thủ : tìm kiếm nước trò chơi hai người (cờ vua, cờ tướng, ) TTNT p.4 Không gian trạng thái Không gian tìm kiếm : bao gồm tất đối tượng mà ta cần quan tâm tìm kiếm (có thể không gian liên tục (không gian véc tơ thực n chiều) hoạc không gian đối tượng rời rạc Toán tử : mô tả hành động phép biến đổi để đưa trạng thái tới trạng thái khác Ví dụ : Bài toán tìm đường : đường nối thành phố biểu diễn toán tử ->Giải toán tìm dãy toán tử để đưa trạng thái ban đầu (điểm xuất phát) trạng thái kết thúc (điểm đích) Biểu diễn toán không gian trạng thái, cần xác định yếu tố : + Trạng thái ban đầu + Một tập hợp toán tử + Một tập hợp trạng thái kết thúc (trạng thái đích) Không gian trạng thái biểu diễn đồ thị có hướng: đỉnh đồ thị tương đương với trạng thái, toán tử R biến đổi trạng thái u thành trạng thái v cung (u,v) gán nhãn R TTNT p.5 Một phần KGTT triển khai Tic-tac-toe Đồ thị có hướng không lặp (directed acyclic graph - DAG) TTNT p.6 Trò đố 15 ô Trạng thái ban đầu Trò đố 15 ô Trò đố 8ô 11 14 10 Trạng thái đích 12 13 14 13 15 11 15 12 10 8 Cần biểu diễn KGTT cho 7bài toán nào? 1 TTNT p.7 KGTT 8-puzzle sinh phép “di chuyển ô trống” Có khả xảy vòng lặp không? TTNT p.8 Một ví dụ toán TSP Cần biểu diễn KGTT cho toán nào? TTNT p.9 KGTT toán TSP Mỗi cung đánh dấu tổng giá đường từ nút bắt đầu đến nút TTNT p.10 TK hướng từ liệu Việc tìm kiếm từ liệu đến mục tiêu Thích hợp khi: – Tất phần liệu cho từ đầu – Có nhiều mục tiêu, có số phép toán áp dụng cho trạng thái toán – Rất khó đưa mục tiêu giả thuyết lúc đầu TTNT p.18 TK hướng từ mục tiêu Việc tìm kiếm từ mục tiêu trở liệu Thích hợp khi: – Có thể đưa mục tiêu giả thuyết lúc đầu – Có nhiều phép toán áp dụng trạng thái toán => bùng nổ số lượng trạng thái – Các liệu toán không cho trước, hệ thống phải đạt trình tìm kiếm TTNT p.19 Các phương pháp tìm kiếm đồ thị KGTT: Phát triển từ giải thuật quay lui (back – tracking): Tìm kiếm rộng (breath-first search) Tìm kiếm sâu (depth-first search) TK sâu cách đào sâu nhiều lần (depth-first search with iterative deepening) TTNT p.20 Tìm kiếm theo chiều rộng 2 Open = [A]; closed = [] Open = [B,C,D]; closed = [A] Open = [C,D,E,F]; closed = [B,A] Open = [D,E,F,G,H]; closed = [C,B,A] Open = [E,F,G,H,I,J]; closed = [D,C,B,A] Open = [F,G,H,I,J,K,L]; closed = [E,D,C,B,A] Open = [G,H,I,J,K,L,M]; L có open); closed = [F,E,D,C,B,A] … (vì TTNT p.21 Tìm kiếm theo chiều sâu Open = [A]; closed = [] Open = [B,C,D]; closed = [A] Open = [E,F,C,D];closed = [B,A] Open = [K,L,F,C,D]; closed = [E,B,A] Open = [S,L,F,C,D]; closed = [K,E,B,A] Open = [L,F,C,D]; closed = [S,K,E,B,A] Open = [T,F,C,D]; closed = [L,S,K,E,B,A] Open = [F,C,D]; closed = [T,L,S,K,E,B,A] … TTNT p.22 Tìm kiếm Sâu hay Rộng? (1) Có cần thiết tìm đường ngắn đến mục tiêu hay không? Sự phân nhánh không gian trạng thái Tài nguyên không gian thời gian sẵn có Khoảng cách trung bình đường dẫn đến trạng thái mục tiêu Yêu cầu đưa tất lời giải lời giải tìm TTNT p.23 Tìm kiếm sâu cách đào sâu nhiều lần (depth-first iterative deepening) Độ sâu giới hạn (depth bound): giải thuật TK sâu quay lui trạng thái xét đạt đến độ sâu giới hạn định TK Sâu cách đào sâu nhiều lần: TK sâu với độ sâu giới hạn 1, thất bại, lặp lại GT TK sâu với độ sâu 2,… GT tiếp tục tìm mục tiêu, lần lặp lại tăng độ sâu lên GT có độ phức tạp thời gian bậc với TK Rộng TK Sâu TTNT p.24 The 8-puzzle searched by a production system with loop detection and depth bound Trò chơi ô đố 8-puzzle TTNT p.25 Đồ thị Và/Hoặc Sử dụng KGTT để biễu diễn suy luận với phép tính vị từ Là phương pháp qui toán toán Một tập hợp mệnh đề / câu vị từ tạo thành đồ thị Và/Hoặc (And/Or graph) hay siêu đồ thị (hypergraph) Trong đồ thị Và/Hoặc: – Các nút AND biểu thị phân chia toán, tất toán phải chứng minh – Các nút OR biểu thị chiến lược giải toán khác nhau, cần chứng minh chiến lược đủ Có thể áp dụng TK theo kiểu hướng từ liệu hay từ mục tiêu Trong giải thuật cần ghi nhận diễn tiến trình TTNT p.26 Ví dụ Đồ thị Và/Hoặc Giả sử tình với mệnh đề sau: a b a∧b⇒d b∧d⇒f a∧e⇒h c a∧c⇒e f⇒g Hãy trả lời câu hỏi sau: h có không? h có cón nêu b sai? TTNT p.27 Cây nghiệm Gốc ứng với toán cần giải Các đỉnh kết thúc (ứng với toán sơ cấp) Nếu u đỉnh cây, đỉnh u đỉnh kề u theo toán tử Các đỉnh gán nhãn giải không giải – Đỉnh giải được: • Đỉnh kết thúc • Đỉnh không kết thúc có toán tử R cho tất đỉnh kề theo R giải – Đỉnh không giải được: • Đỉnh không kết thúc đỉnh kề • u đỉnh kết thúc toán tử R áp dụng u có đỉnh v kề u theo R không giải TTNT p.28 Tìm kiếm đồ thị VÀ/HOẶC Sử dụng kỹ thuật tìm kiếm theo chiều sâu để đánh dấu đỉnh Function Solvable(u); Begin If u đỉnh kết thúc then {Solvable true; stop}; If u không đỉnh kết thúc đỉnh kề then {Solvable false; stop}; For toán tử R áp dụng u {OKtrue; for v kề u theo R if Solvable(v) = false then {OKfalse; exit}; if OK then {Solvable(u)true; operator(u)R; stop} } Solvable(u)false; End; TTNT p.29 Ví dụ: Hệ Tư Vấn Tài Chính Đồ Thị And/Or biểu diễn phần KGTT duyệt qua để đến lời giải TTNT p.30 VÍ DỤ ĐỒ THỊ AND/OR: Cho toán mô tả câu vị từ: Hãy vẽ đồ thị AND/OR biểu diễn phần KGTK để trả lời câu hỏi: “Fred đâu?” (Áp dụng suy diễn lùi) TTNT p.31 Bài Tập Chương TTNT p.32