Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 86 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
86
Dung lượng
0,98 MB
Nội dung
Các chiến lược tìm kiếm I Các chiến lược tìm kiếm II Các chiến lược tìm kiếm mù - Tìm kiếm theo bề rộng, tìm kiếm theo độ sâu, tìm kiếm theo độ sâu hạn chế, tìm kiếm sâu lặp III Các chiến lược tìm kiếm kinh nghiệm - Hàm đánh giá, tìm kiếm tốt đầu tiên, tìm kiếm leo đồi, tìm kiếm A*, tìm kiếm nhánh cận IV Tìm kiếm có đối thủ - Cây trị chơi, chiến lược tìm kiếm minimax, phương pháp cắt tỉa alpha-beta I Các chiến lược tìm kiếm • Khi ta biểu diễn vấn đề cần giải thông qua trạng thái tốn tử việc tìm lời giải vấn đề quy việc tìm đường từ trạng thái ban đầu tới trạng thái kết thúc • Có thể phân chiến lược tìm kiếm thành hai loại: – Các chiến lược tìm kiếm mù – Các chiến lược tìm kiếm kinh nghiệm (tìm kiếm heuristic) Các chiến lược tìm kiếm • Các chiến lược tìm kiếm mù – Trong chiến lược tìm kiếm này, khơng có hướng dẫn cho việc tìm kiếm, mà ta phát triển trạng thái ban đầu gặp trạng thái đích – Có hai kỹ thuật tìm kiếm mù tìm kiếm theo bề rộng tìm kiếm theo độ sâu – Khi sử dụng chiến lược tìm kiếm mù số lượng trạng thái phát triển trước ta gặp trạng thái đích thường lớn Do thuật tốn tìm kiếm mù hiệu quả, địi hỏi nhiều khơng gian thời gian Các chiến lược tìm kiếm • Các chiến lược tìm kiếm kinh nghiệm – Trong nhiều vấn đề dựa vào hiểu biết vấn đề, dựa vào kinh nghiệm, trực giác, để đánh giá trạng thái – Sử dụng đánh giá trạng thái để hướng dẫn tìm kiếm: trình phát triển trạng thái, ta chọn số trạng thái chờ phát triển, trạng thái đánh giá tốt để phát triển Do tốc độ tìm kiếm nhanh – Các phương pháp tìm kiếm dựa vào đánh giá trạng thái để hướng dẫn tìm kiếm gọi chung phương pháp tìm kiếm kinh nghiệm Cây tìm kiếm • Quá trình tìm kiếm trình xây dựng tìm kiếm Cây tìm kiếm mà đỉnh gắn trạng thái không gian trạng thái Gốc tìm kiếm tương ứng với trạng thái ban đầu • Có thể chuyển vấn đề tìm kiếm đồ thị thành vấn đề tìm kiếm (hình dưới) Các chiến lược tìm kiếm • Một chiến lược tìm kiếm xác định việc lựa chọn thứ tự phát triển nút • Các chiến lược tìm kiếm đánh giá dựa tiêu chí sau đây: – – – – tính hồn thành: có ln tìm nghiệm thực có nghiệm? độ phức tạp thời gian: số lượng nút tạo độ phức tạp không gian: số lượng lớn nút nhớ tính tối ưu: có ln tìm thấy nghiệm có giá thấp nhất? • Độ phức tạp thời gian không gian tính tốn dựa – b: nhân tố nhánh lớn tìm kiếm – d: độ sâu nghiệm có giá thấp – m: độ sâu lớn khơng gian trạng thái (có thể ∞) II Các chiến lược tìm kiếm mù • Các chiến lược tìm kiếm mù: sử dụng thơng tin cung cấp định nghĩa vấn đề • Tìm kiếm theo bề rộng (Breadth-first search) • Tìm kiếm theo độ sâu (Depth-first search) • Tìm kiếm độ sâu hạn chế (Depth-limited search) • Tìm kiếm sâu lặp (Iterative deepening search Tìm kiếm theo bề rộng • Tư tưởng tìm kiếm theo bề rộng trạng thái phát triển theo thứ tự mà chúng sinh ra, tức trạng thái sinh trước phát triển trước • Thuật tốn: Tìm kiếm theo bề rộng • Phát triển nút nơng chưa phát triển • Thực hiện: Nút đặt vào cuối danh sách chờ phát triển Tìm kiếm theo bề rộng • Phát triển nút nơng chưa phát triển • Thực hiện: Nút đặt vào cuối danh sách chờ phát triển 10 Chiến lược Minimax function MaxVal(u); {hàm xác định giá trị cho đỉnh Max} begin if u đỉnh kết thúc then MaxVal(u) ← f(u) else MaxVal(u) ← max(MinVal(v) | v đỉnh u) end; • Thủ tục chọn nước gọi chiến lược Minimax, MAX chọn nước dẫn tới đỉnh có giá trị max giá trị đỉnh con, MIN đáp lại nước tới đỉnh có giá trị giá trị đỉnh 72 Chiến lược Minimax • Về mặt lý thuyết chiến lược Minimax cho phép ta tìm nước tối ưu • Tuy nhiên thực tế, không đủ thời gian để tính nước tối ưu phải xem xét tồn đỉnh trị chơi • Trong trị chơi hay, trị chơi lớn – Ví dụ: Với cờ vua, tính đến độ sâu 40 trị chơi có khoảng 10120 đỉnh • Để tìm nhanh nước tốt (không tối ưu) không sử dụng hàm kết xem xét toàn đỉnh cây, mà: – Sử dụng hàm đánh giá – Xem xét phận trò chơi 73 Hàm đánh giá Hàm đánh giá cờ vua: • Mỗi loại quân gán với giá trị số tương ứng với “sức mạnh” Ví dụ: – – – – Tốt có giá trị quân trắng, -1 quân đen Mã, Tượng có giá trị quân trắng, -3 quân đen Xe có giá trị quân trắng, -5 quân đen Hậu có giá trị quân trắng, -9 quân đen • Hàm đánh giá tuyến tính có trọng số là: Eval(s) = w1s1 + w2s2 + … + wnsn Trong đó: wi giá trị loại quân si số quân loại 74 Hàm đánh giá Hàm đánh giá trị chơi tic-tac-toe: Hàm đánh giá: Trong đó: E(n) = M(n) – O(n) M(n) tổng số đường thắng tơi 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 75 Phương pháp cắt tỉa alpha - beta • Dù han chế khơng gian tìm kiếm số đỉnh trị chơi cịn lớn • Ví dụ, cờ vua: – Nhân tố nhánh trò chơi trung bình khoảng 35 – Thời gian địi hỏi phải đưa nước 150 giây – Trên máy tính thơng thường chương trình xem xét đỉnh độ sâu 3, => đạt trình độ người tập chơi cờ • Phương pháp cắt tỉa alpha – beta cho phép ta cắt bỏ nhánh không cần thiết cho việc đánh giá giá trị heuristic đỉnh 76 Phương pháp cắt tỉa alpha - beta Ví dụ phương pháp cắt tỉa alpha - beta 77 Phương pháp cắt tỉa alpha - beta Ví dụ phương pháp cắt tỉa alpha - beta 78 Phương pháp cắt tỉa alpha - beta Ví dụ phương pháp cắt tỉa alpha - beta 79 Phương pháp cắt tỉa alpha - beta Ví dụ phương pháp cắt tỉa alpha - beta 80 Phương pháp cắt tỉa alpha - beta Ví dụ phương pháp cắt tỉa alpha - beta 81 Phương pháp cắt tỉa alpha - beta • Tính chất phương pháp α-β: – Việc cắt tỉa không ảnh hưởng đến kết cuối – Việc thứ tự nước tốt cải thiện đáng kể việc cắt tỉa – Với “thứ tự lý tưởng”, độ phức tạp thời gian giảm nửa tăng gấp đơi độ sâu tìm kiếm 82 Cắt tỉa S= MAX MIN A= ≥ Z - cut =z z≤ 83 Cắt tỉa S = MIN MAX ≤ A= Z - cut =z z≥ 84 Phương pháp cắt tỉa alpha - beta Thủ tục chọn nước cho Max đỉnh u, v đỉnh chọn u: Procedure Alpha_beta(u, v); begin α←-∝; β←-∝; for w đỉnh u if α = β then exit}; /*cắt bỏ từ đỉnh v lại */ MinVal(u, α, β) ← β; end; Function MaxVal(u, α, β); { hàm xác định giá trị cho đỉnh Max} begin if u đỉnh kết thúc or hạn chế then MaxVal(u, α, β) ← eval(u) else for đỉnh v u α ← max{α, MinVal(v, α, β)} ; If α >= β then exit}; /*cắt bỏ từ đỉnh v lại */ MaxVal(u, α, β) ← α 86 end; ... phân chiến lược tìm kiếm thành hai loại: – Các chiến lược tìm kiếm mù – Các chiến lược tìm kiếm kinh nghiệm (tìm kiếm heuristic) Các chiến lược tìm kiếm • Các chiến lược tìm kiếm mù – Trong chiến. .. độ tìm kiếm nhanh – Các phương pháp tìm kiếm dựa vào đánh giá trạng thái để hướng dẫn tìm kiếm gọi chung phương pháp tìm kiếm kinh nghiệm Cây tìm kiếm • Quá trình tìm kiếm trình xây dựng tìm kiếm. .. thái (có thể ∞) II Các chiến lược tìm kiếm mù • Các chiến lược tìm kiếm mù: sử dụng thơng tin cung cấp định nghĩa vấn đề • Tìm kiếm theo bề rộng (Breadth-first search) • Tìm kiếm theo độ sâu (Depth-first