Biểu diễn vấn đề trong không gian trạng thái Phát triển trạng thái và cây tìm kiếm Các chiến lược tìm kiếm Các chiến lược tìm kiếm mù Tìm kiếm theo bề rộng Tìm kiếm theo bề sâu Tìm kiếm sâu lặp Quy vấn đề về các vấn đề con. Tìm kiếm trên đồ thị vàhoặc Quy vấn đề về các vấn đề con Đồ thị vàhoặc Tìm kiếm trên đồ thị vàhoặc
Các chiến lược tìm kiếm mù Vương Trần Nguyên Khôi – 08110161 Trần Ngọc Long - 08110154 Trần Thanh Phong - 08110226 Nội dung • Biểu diễn vấn đề trong không gian trạng thái • Phát triển trạng thái và cây tìm kiếm • Các chiến lược tìm kiếm • Các chiến lược tìm kiếm mù o Tìm kiếm theo bề rộng o Tìm kiếm theo bề sâu o Tìm kiếm sâu lặp • Quy vấn đề về các vấn đề con. Tìm kiếm trên đồ thị và/hoặc o Quy vấn đề về các vấn đề con o Đồ thị và/hoặc o Tìm kiếm trên đồ thị và/hoặc Biểu diễn vấn đề TRONG KHÔNG GIAN TRẠNG THÁI (KGTT) Tìm kiếm mù Định nghĩa biểu diễn vấn đề trong KGTT Một không gian trạng thái (state space) được biểu diễn bằng một nhóm gồm bốn yếu tố [N, A, S, GD], trong đó: N (node) là tập hợp các nút hay các trạng thái của đồ thị. Tập này tương ứng với các trạng thái trong quá trình giải bài toán. A (arc) là tập các cung (hay các liên kết) giữa các nút. Tập này tương ứng với các bước trong quá trình giải bài toán. S (Start) là một tập con không rỗng của N, chứa (các) trạng thái ban đầu của bài toán. GD (Goal Description) là một tập con không rỗng của N, chứa (các) trạng thái đích của bài toán. Các trạng thái trong GD được mô tả theo một trong hai đặc tính: o Đặc tính có thể đo lường được các trạng thái gặp trong quá trình tìm kiếm. o Đặc tính của đường đi được hình thành trong quá trình tìm kiếm. Đường đi của lời giải (solution path) là đường đi qua đồ thị này từ một nút trong S đến một nút trong GD. Bài toán đường đi của người đưa hàng A E D A B A D E C D C E A E C E B C D E D E Path: ABCDEA Path: ABCEDA Path: ABDCEA Cost: 375 Cost: 425 Cost: 475 100 75 125 100 175 225 250150 175 225 225 400400325300 375 425 475 Phát triển trạng thái và cây tìm kiếm Tìm kiếm mù Phát triển không gian trạng thái • Giả sử u là một trạng thái nào đó và R là một là một toán tử biến đổi u thành trạng thái v. Ta sẽ gọi v là trạng kề của u, hoặc v được sinh ra từ trạng thái u bởi toán tử R. Quá trình áp dụng các toán tử để sinh ra trạng thái kề u được gọi là phát triển trạng thái u. Trò chơi tic-tac-toe 0 0 0 0 0 0 0 0 0 0 0 0 Bài toán trò chơi n2 -1 15 - puzzles 8 - puzzles Bài toán trò chơi n2 -1 Không gian trạng thái trong trò chơi n2 -1 [...]... là A và cây tìm kiếm ứng với không gian trạng thái đó A A D B D C B F E G C I Đồ thị không gian trạng thái K G I I F E I K C F E K I Cây tìm kiếm tương ứng F K K K Tìm kiếm mù Các chiến lược tìm kiếm Các chiến lược tìm kiếm • Có thể phân các chiến lược tìm kiếm thành 2 loại: • Các chiến lược tìm kiếm mù (blind search) Trong các chiến lược tìm kiếm này, không có một sự hướng dẫn nào cho tìm kiếm, ta chỉ... triển các trạng thái ban đầu cho tới khi gặp một trạng thái đích nào đó • Các chiến lược tìm kiếm kinh nghiệm (tìm kiếm hueristic) Trong các chiến lược tìm kiếm này, chúng ta có thể dựa vào sự hiểu biết, dựa vào kinh nghiệm, dựa vào trực giác để đánh giá các trạng thái, sau đó sử dụng sự đánh giá này để hướng dẫn sự tìm kiếm: trong quá trình phát triển các trạng thái, ta sẽ chọn một trong số các trạng... trạng thái chờ phát triển, trạng thái được đánh giá là tốt nhất để phát triển Do đó tốc độ tìm kiếm nhanh hơn Tìm kiếm mù Các CHIẾN LƯỢC TÌM KiẾM MÙ Tìm kiếm theo chiều rộng Tư tưởng của chiến lược tìm kiếm theo chiều rộng là tại mỗi bước ta sẽ chọn trạng thái để phát triển là trạng thái được sinh ra trước các trạng thái chờ phát triển khác Chúng ta sử dụng 1 danh sách để lưu cái trạng thái được sinh...Cây tìm kiếm Cây tìm kiếm là cây mà các đỉnh được gắn nhãn bởi các trạng thái của không gian trạng thái Gốc của cây tìm kiếm tương ứng với trạng thái ban đầu Nếu một đỉnh ứng với trạng thái u, thì các đỉnh con của nó ứng với các trạng thái v kề u Chúng ta có thể xem quá trình tìm kiếm như quá trình xây dựng cây tìm kiếm Cây tìm kiếm • Ví dụ: hình sau đây minh họa một... O(bd), độ phức tạp không gian là O(bd) Thuật toán tìm kiếm sâu lặp Tìm kiếm sâu lặp được đưa ra nhằm khắc phục tình trạng có thể không dừng của tìm kiếm sâu khi cây tìm kiếm chứa nhánh vô hạn Trong cách tìm kiếm này ta tìm kiếm theo độ sâu chỉ ở mức d nào đó, nếu không tìm ra nghiệm, ta tăng độ sâu lên d+1 đến một độ xâu max nào đó Thuật toán tìm kiếm sâu lặp void Depth_Limited_Search (int d){ //... I2, G2, C1, E2, F2] Nhận xét Tìm kiếm sâu lặp kết hợp được các ưu điểm của tìm kiếm theo chiều ngang và theo độ sâu: - Kỹ thuật này luôn luôn tìm ra nghiệm (nếu bài toán có nghiệm) miễn là ta chọn độ sâu đủ lớn - Không gian bộ nhớ như tìm kiếm theo chiều sâu O(bd) - Chi phí thời gian O(bd) Tìm kiếm mù Quy vấn đề về các vấn đề con Tìm kiếm trên đồ thị và/hoặc Quy vấn đề về các vấn đề con • Có thế biểu... cũng là O(bd) Tìm kiếm theo chiều sâu Tư tưởng của chiến lược tìm kiếm theo chiều sâu là tại mỗi bước ta sẽ chọn trạng thái để phát triển là trạng thái được sinh ra sau cùng trong các trạng thái chờ phát triển khác Chúng ta sử dụng 1 danh sách để lưu các trạng thái được sinh ra và chờ phát triển Để lưu vết đường đi ta dùng thêm mảng phụ để truy vết sau khi hoàn tất Thuật toán tìm kiếm theo chiều... quy một vấn đề về các vấn đề con bởi các trạng thái và các toán tử • Bài toán cần giải là trạng thái ban đầu • Các bài toán sơ cấp là các trạng thái kết thúc • Mỗi cách quy bài toán về các bài toán con được biểu diễn bởi một toán tử (toán tử A B,C biểu diễn việc quy bài toán A về hai bài toán B và C) • Chú ý: Trong không gian trạng thái biểu diễn việc quy vấn đề về các bài toán con, các toán tử có thể... C, E, K, F] Thuật toán tìm kiếm theo chiều sâu Nhận xét Trạng thái nào được sinh ra sau sẽ được phát triển trước, do đó danh sách L được xử lý như ngăn xếp Nếu bài toán có nghiệm và không gian trạng thái hữu hạn, thì thuật toán tìm kiếm theo chiều sâu sẽ tìm ra nghiệm tuy nhiên đường đi tìm được không nhất thiết là ngắn nhất Trong trường hợp không gian trạng thái vô hạn thì tìm kiếm theo chiều sâu có... nhiên là, một bài toán giải được có thể có nhiều cây nghiệm, mỗi cây nghiệm biểu diễn một cách giải bài toán đó • Thứ tự giải các bài toán con trong một cây nghiệm như sau Bài toán ứng với đỉnh u chỉ được giải sau khi tất cả các bài toán ứng với các đỉnh con của u đã được giải Tìm kiếm trên đồ thị VÀ/HOẶC • Vấn đề tìm kiếm trên đồ thị VÀ/HOẶC là để xác định được đỉnh ứng với bài toán ban đầu là giải được