Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm Các chiến lược tìm kiếm kinh nghiệm
Chương II Các chiến lược tìm kiếm kinh nghiệm Trong chương I, nghiên cứu việc biểu diễn vấn đề không gian trạng thái kỹ thuật tìm kiếm mù Các kỹ thuật tìm kiếm mù hiệu nhiều trường hợp áp dụng Trong chương này, nghiên cứu phương pháp tìm kiếm kinh nghiệm (tìm kiếm heuristic), phương pháp sử dụng hàm đánh giá để hướng dẫn tìm kiếm 2.1 Hàm đánh giá tìm kiếm kinh nghiệm: Trong nhiều vấn đề, ta sử dụng kinh nghiệm, tri thức vấn đề để đánh giá trạng thái vấn đề Với trạng thái u, xác định giá trị số h(u), số đánh giá “sự gần đích” trạng thái u Hàm h(u) gọi hàm đánh giá Chúng ta sử dụng hàm đánh giá để hướng dẫn tìm kiếm Trong trình tìm kiếm, bước ta chọn trạng thái để phát triển trạng thái có giá trị hàm đánh giá nhỏ nhất, trạng thái xem trạng thái có nhiều hứa hẹn hướng tới đích Các kỹ thuật tìm kiếm sử dụng hàm đánh giá để hướng dẫn tìm kiếm gọi chung kỹ thuật tìm kiếm kinh nghiệm (heuristic search) Các giai đoạn để giải vấn đề tìm kiếm kinh nghiệm sau: Tìm biểu diễn thích hợp mô tả trạng thái toán tử vấn đề Xây dựng hàm đánh giá Thiết kế chiến lược chọn trạng thái để phát triển bước Hàm đánh giá Trong tìm kiếm kinh nghiệm, hàm đánh giá đóng vai trò quan trọng Chúng ta có xây dựng hàm đánh giá cho ta đánh giá trạng thái tìm kiếm hiệu Nếu hàm đánh giá không xác, dẫn ta chệch hướng tìm kiếm hiệu Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng - Trang Hàm đánh giá xây dựng tùy thuộc vào vấn đề Sau số ví dụ hàm đánh giá: • Trong toán tìm kiếm đường đồ giao thông, ta lấy độ dài đường chim bay từ thành phố tới thành phố đích làm giá trị hàm đánh giá • Bài toán số Chúng ta đưa hai cách xây dựng hàm đánh giá Hàm h1: Với trạng thái u h 1(u) số quân không nằm vị trí trạng thái đích Chẳng hạn trạng thái đích bên phải hình 2.1, u trạng thái bên trái hình 2.1, h 1(u) = 4, quân không vị trí 3, 8, Hàm h2: h2(u) tổng khoảng cách vị trí quân trạng thái u vị trí trạng thái đích khoảng cách hiểu số dịch chuyển theo hàng cột để đưa quân tới vị trí trạng thái đích Chẳng hạn với trạng thái u trạng thái đích hình 2.1, ta có: h2(u) = + + + = Vì quân cần dịch chuyển, quân cần dịch chuyển, quân cần dịch chuyển quân cần dịch chuyển Hai chiến lược tìm kiếm kinh nghiệm quan trọng tìm kiếm tốt - (best-first search) tìm kiếm leo đồi (hill-climbing search) Có thể xác định chiến lược sau: Tìm kiếm tốt = Tìm kiếm theo bề rộng + Hàm đánh giá Tìm kiếm leo đồi = Tìm kiếm theo độ sâu + Hàm đánh giá Chúng ta nghiên cứu kỹ thuật tìm kiếm mục sau Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng - Trang 2.2 Tìm kiếm tốt - đầu tiên: Tìm kiếm tốt - (best-first search) tìm kiếm theo bề rộng hướng dẫn hàm đánh giá Nhưng khác với tìm kiếm theo bề rộng chỗ, tìm kiếm theo bề rộng ta phát triển tất đỉnh mức để sinh đỉnh mức tiếp theo, tìm kiếm tốt - ta chọn đỉnh để phát triển đỉnh tốt xác định hàm đánh giá (tức đỉnh có giá trị hàm đánh giá nhỏ nhất), đỉnh mức mức Ví dụ: Xét không gian trạng thái biểu diễn đồ thị hình 2.2, trạng thái ban đầu A, trạng thái kết thúc B Giá trị hàm đánh giá số ghi cạnh đỉnh Quá trình tìm kiếm tốt - diễn sau: Đầu tiên phát triển đỉnh A sinh đỉnh kề C, D E Trong ba đỉnh này, đỉnh D có giá trị hàm đánh giá nhỏ nhất, chọn để phát triển sinh F, I Trong số đỉnh chưa phát triển C, E, F, I đỉnh E có giá trị đánh giá nhỏ nhất, chọn để phát triển sinh đỉnh G, K Trong số đỉnh chưa phát triển G tốt nhất, phát triển G sinh B, H Đến ta đạt tới trạng thái kết thúc Cây tìm kiếm tốt - biểu diễn hình 2.3 Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng - Trang Sau thủ tục tìm kiếm tốt - Trong thủ tục này, sử dụng danh sách L để lưu trạng thái chờ phát triển, danh sách theo thứ tự tăng dần hàm đánh giá cho trạng thái có giá trị hàm đánh giá nhỏ đầu danh sách procedure Best_First_Search; begin Khởi tạo danh sách L chứa trạng thái ban đầu; loop 2.1 if L rỗng then {thông báo thất bại; stop}; 2.2 Loại trạng thái u đầu danh sách L; 2.3 if u trạng thái kết thúc then {thông báo thành công; stop} 2.4 for trạng thái v kề u Xen v vào danh sách L cho L theo thứ tự tăng dần hàm đánh giá; end; 2.3 Tìm kiếm leo đồi: Tìm kiếm leo đồi (hill-climbing search) tìm kiếm theo độ sâu hướng dẫn hàm đánh giá Song khác với tìm kiếm theo độ sâu, ta phát triển đỉnh u bước tiếp theo, ta chọn số đỉnh u, đỉnh có nhiều hứa hẹn để phát triển, đỉnh xác định hàm đánh giá Ví dụ: Ta lại xét đồ thị không gian trạng thái hình 2.2 Quá trình tìm kiếm leo đồi tiến hành sau Đầu tiên phát triển đỉnh A sinh đỉnh C, D, E Trong đỉnh chọn D để phát triển, sinh đỉnh B, G Quá trình tìm kiếm kết thúc Cây tìm kiếm leo đồi cho hình 2.4 Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng - Trang Trong thủ tục tìm kiếm leo đồi trình bày đây, danh sách L lưu trạng thái chờ phát triển, sử dụng danh sách L1 để lưu giữ tạm thời trạng thái kề trạng thái u, ta phát triển u Danh sách L1 xếp theo thứ tự tăng dần hàm đánh giá, chuyển vào danh sách L trạng thái tốt kề u đứng danh sách L procedure Hill_Climbing_Search; begin Khởi tạo danh sách L chứa trạng thái ban đầu; loop 2.1 if L rỗng then {thông báo thất bại; stop}; 2.2 Loại trạng thái u đầu danh sách L; 2.3 if u trạng thái kết thúc then {thông báo thành công; stop}; 2.3 for trạng thái v kề u đặt v vào L1; 2.5 Sắp xếp L1 theo thứ tự tăng dần hàm đánh giá; 2.6 Chuyển danh sách L1 vào đầu danh sách L; end; 2.4 Tìm kiếm beam Tìm kiếm beam (beam search) giống tìm kiếm theo bề rộng, phát triển đỉnh mức phát triển đỉnh mức Tuy nhiên, tìm kiếm theo bề rộng, ta phát triển tất đỉnh mức, tìm kiếm beam, ta hạn chế phát triển k đỉnh tốt (các đỉnh xác định hàm đánh giá) Do tìm kiếm beam, mức có nhiều k đỉnh phát triển, tìm kiếm theo bề rộng, số đỉnh cần phát triển mức d bd (b nhân tố nhánh) Ví dụ: Chúng ta lại xét đồ thị không gian trạng thái hình 2.2 Chọn k = Khi tìm kiếm beam cho hình 2.5 Các đỉnh gạch đỉnh chọn để phát triển mức Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng - Trang Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng - Trang ... chuyển Hai chiến lược tìm kiếm kinh nghiệm quan trọng tìm kiếm tốt - (best-first search) tìm kiếm leo đồi (hill-climbing search) Có thể xác định chiến lược sau: Tìm kiếm tốt = Tìm kiếm theo bề... end; 2.4 Tìm kiếm beam Tìm kiếm beam (beam search) giống tìm kiếm theo bề rộng, phát triển đỉnh mức phát triển đỉnh mức Tuy nhiên, tìm kiếm theo bề rộng, ta phát triển tất đỉnh mức, tìm kiếm beam,... giá Tìm kiếm leo đồi = Tìm kiếm theo độ sâu + Hàm đánh giá Chúng ta nghiên cứu kỹ thuật tìm kiếm mục sau Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng - Trang 2.2 Tìm kiếm tốt - đầu tiên: Tìm