1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng Dụng Thuật Toán Tìm Kiếm Mù Và Ứng Dụng Vào Bài Toán 3 Thầy Tu Sĩ Và 3 Con Quỷ.docx

39 76 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 660 KB

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ===== o0o ===== BÀI TẬP LỚN MÔN TRÍ TUỆ NHÂN TẠO Đề tài Ứng dụng thuật toán tìm kiếm mù và ứng dụng vào bài toán 3 thầy tu sĩ và 3 con quỷ Hà[.]

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THƠNG TIN ===== o0o ===== BÀI TẬP LỚN MƠN: TRÍ TUỆ NHÂN TẠO Đề tài: Ứng dụng thuật tốn tìm kiếm mù ứng dụng vào toán thầy tu sĩ quỷ Hà Nội - 8/2023 Mục lục LỜI MỞ ĐẦU Phần I TÌM HIỂU THUẬT TỐN TÌM KIẾM TRONG KHƠNG GIAN TRẠNG THÁI 1.1 Thuật tốn tìm kiếm theo chiều sâu (Depth First Search) 1.2 Thuật tốn tìm kiếm theo chiều rộng (Breadth First Search) 1.3 Thuật toán AT 1.3.1 Khái niệm: 3.2 Phương pháp: Sử dụng hai danh sách CLOSE OPEN 10 1.4Thuật toán AKT 11 1.4.1 Thuật tốn 12 1.4.2 Ví dụ 13 1.55 Thuật giải A* 13 1.5.1 Khái niệm 13 1.5.2 Các tính chất 15 1.5.3 Ví Dụ 16 Phần II XÂY DỰNG CHƯƠNG TRÌNH 19 2.1 Mơ tả tốn 19 2.2 Tư tưởng toán 19 2.3 Đồ thị toán 19 2.4 Cài đặt thuật toán 21 2.5 Kết thực thi chương trình 22 Thơng tin bảng STT Tên bảng Trang Bảng biểu diễn ví dụ thuật tốn DFS Bảng biểu diễn ví dụ thuật tốn BFS Bảng biểu diễn ví dụ thuật tốn AT 10 Bảng so sánh thuật tốn DFS BFS 18 Thơng tin hình ảnh STT Tên hình ảnh Trang Sơ đồ biểu diễn ví dụ thuật tốn DFS Sơ đồ biểu diễn ví dụ thuật tốn BFS Sơ đồ biểu diễn ví dụ thuật tốn AT 10 Sơ đồ biểu diễn ví dụ thuật tốn AkT 13 Sơ đồ biểu diễn ví dụ thuật toán A* 16 Sơ đồ toán qua sơng 20 Hình ảnh hàm dfs sử dụng thuật tốn DFS 21 Hình ảnh hàm dfsAllPaths dùng để tìm hết đường tốn qua sơng 21 Hình ảnh kết thực thi chương trình tốn qua sơng 22 LỜI MỞ ĐẦU Để hoàn thành báo cáo này, chúng em nhận nhiều hướng dẫn từ phía thầy khoa Sự giảng dạy chu đáo, tận tình giúp đỡ nhiệt tình từ thầy giúp chúng em hiểu nhiều vấn đề hoàn thành báo cáo tốt Chúng em tỏ lòng biết ơn sâu sắc với cô Lê Thị Thuỷ, người cô tận tình hướng dẫn giúp đỡ, bảo nhóm em suốt q trình nghiên cứu đề tài hoàn thành báo cáo Sau khoảng thời gian cô Lê Thị Thủy đưa đề tài, chúng em nỗ lực cố gắng việc tìm hiểu đề tài Các bạn nhóm cộng chăm giúp đỡ lẫn báo cáo hoàn hảo đến thời điểm Một lần nhóm em xin cảm ơn giảng viên Lê Thị Thủy, bạn lớp tập thể nhóm làm việc hoàn thành tốt báo cáo Chúng em xin chân thành cảm ơn! Phần I TÌM HIỂU THUẬT TỐN TÌM KIẾM TRONG KHƠNG GIAN TRẠNG THÁI Vấn đề tìm kiếm, cách tổng qt, hiểu tìm đối tượng thỏa mãn số địi hỏi đó, tập hợp rộng lớn đối tượng Chúng ta kể nhiều vấn đề mà việc giải quy vấn đề tìm kiếm Các trị chơi, chẳng hạn cờ vua, cờ caro xem vấn đề tìm kiếm Trong số nhiều nước phép thực hiện, ta phải tìm nước dẫn tới tình kết mà ta người thắng Trong lĩnh vực nghiên cứu Trí Tuệ Nhân Tạo, thường xuyên phải đối đầu với vấn đề tìm kiếm Các kỹ thuật tìm kiếm áp dụng để giải vấn đề áp dụng rộng rãi lĩnh vực nghiên cứu khác Trí Tuệ Nhân Tạo Trong phần này, nghiên cứu thuật tốn tìm kiếm theo chiều sâu thuật tốn tìm kiếm theo chiều rộng tốn tìm kiếm trạng thái mục tiêu khơng gian trạng thái 1.1 Thuật tốn tìm kiếm theo chiều sâu (Depth First Search) a Tư tưởng chiến lược tìm kiếm theo chiều sâu • Từ đỉnh xuất phát duyệt đỉnh kề • Các đỉnh đồ thị duyệt theo nhánh đến nút • Nếu chưa tìm thấy đỉnh TG quay lui tới đỉnh để sang nhánh khác • Việc tìm kiếm kết thúc tìm thấy đỉnh TG hết đỉnh b Thuật tốn tìm kiếm theo chiều sâu Lưu trữ: Sử dụng hai danh sách DONG MO đó: DONG: Chứa đỉnh xét, hoạt động theo kiểu FIFO (hàng đợi).MO: chứa đỉnh xét , hoạt động theo kiểu LIFO (ngăn xếp) MO = Ø; MO = MO ∪ {T0} while (MO != Ø) { n = get(MO) // lấy đỉnh đầu danh sach MO if (n==TG) // n trạng thái kết thúc return TRUE // tìm kiếm thành công, dừng DONG = DONG ∪ {n} //đánh dấu n xét for đỉnh kề v n if (v chưa đc xét) //v chưa DONG MO = MO ∪ {v} //đưa v vào đầu DS MO father(v)=n// lưu lại vết đường từ n đến v } c Ví dụ thuật tốn tìm kiếm theo chiều sâu Cho đồ thị hình vẽ sau: A B C M X N Y R U S D L O V G I P J H Đỉnh đầu T0=A, TG = {R} Tìm đường p từ To đến TG phương pháp tìm kiếm theo chiều sâu? n B(n) MO DONG A A B, C, D B, C, D A B M, N M, N, C, D A,B M X, Y X, Y, N, C, D A,B,M X Ø Y, N, C, D A,B,M,X Y R, S R, S, N, C, D A,B,M,X,Y R → đích → dừng Xây dựng đường có hành trình: p = A -> B -> M -> Y -> R Nhận xét: + Nếu đồ thị G tồn đường từ T0 đến đỉnh TG ∊ Goal hàm DFS dừng lại cho đường p có độ dài khơng ngắn + Với DFS đỉnh duyệt theo nhánh (theo chiều sâu) + Thuật toán DFS có độ phức tạp O(bd) với b bậc d chiều sâu Tuy nhiên trường hợp xấu O(bd) 1.2 Thuật tốn tìm kiếm theo chiều rộng (Breadth First Search) a Tư tưởng chiến lược tìm kiếm theo chiều rộng • Từ đỉnh xuất phát duyệt tất đỉnh kề • Làm tương tự với đỉnh vừa duyệt • Q trình duyệt kết thúc tìm thấy đỉnh TG hết đỉnh để duyệt b Thuật tốn tìm kiếm theo chiều rộng Lưu trữ: Sử dụng hai danh sách DONG MO hoạt động theo kiểu FIFO (hàng đợi) DONG: Chứa đỉnh xét MO: chứa đỉnh xét MO = Ø; MO = MO ∪ {T0} while (MO != Ø) { n = get(MO) // lấy đỉnh đầu danh sach MO if (n==TG) // n trạng thái kết thúc return TRUE // tìm kiếm thành cơng, dừng DONG = DONG ∪ {n} //đánh dấu n xét for đỉnh kề v n if (v chưa đc xét) //v chưa DONG MO = MO ∪ {v} //đưa v vào cuối DS MO father(v)=n// lưu lại vết đường từ n đến v } Chúng ta có số nhận xét sau thuật tốn tìm kiếm theo chiều rộng: Trong tìm kiếm theo chiều rộng, trạng thái sinh trước phát triển trước, danh sách MỞ xử lý hàng đợi Trong bước 2, ta cần kiểm tra xem n có trạng thái kết thúc hay khơng Nói chung trạng thái kết thúc xác định số điều kiện đó, ta cần kiểm tra xem n có thỏa mãn điều kiện hay khơng Nếu tốn có nghiệm (tồn đường từ trạng thái ban đầu tới trạng thái đích), thuật tốn tìm kiếm theo chiều rộng tìm nghiệm, đồng thời đường tìm ngắn Trong trường hợp tốn vơ nghiệm khơng gian trạng thái hữu hạn, thuật tốn dừng cho thơng báo vơ nghiệm Đánh giá tìm kiếm theo chiều rộng: Bây ta đánh giá thời gian nhớ mà tìm kiếm theo chiều rộng đòi hỏi Giả sử , trạng thái phát triển sinh b trạng thái kề Ta gọi b nhân tố nhánh Giả sử rằng, nghiệm toán đường có độ dài d Bởi nhiều nghiệm tìm đỉnh mức d tìm kiếm, số đỉnh cần xem xét để tìm nghiệm là: + b + b2 +… + bd-1 + k Trong k 1, 2, …, bd Do số lớn đỉnh cần xem xét là: + b + b +… + bd-1 Như vậy, độ phức tạp thời gian thuật tốn tìm kiếm theo chiều rộng O(bd) Độ phức tạp không gian O(bd), ta cần lưu vào danh sách MỞ tất đỉnh tìm kiếm mức d, số đỉnh bd c Ví dụ thuật tốn tìm kiếm theo chiều rộng Cho đồ thị hình vẽ sau: A B M X C N Y R U S L V G D O I P J H Đỉnh đầu T0=A, TG= {N}.Tìm đường p từ To đến TG phương pháp tìm kiếm theo chiều rộng? n B(n) MO DONG A A B, C, D B, C, D A B M, N C, D, M, N A,B C L D, M, N, L A,B,C D O, P M, N, L, O, P A,B,C,D M X, Y N, L, O, P, X, Y A,B,C,D,M n A B C E F H Hình : Duyệt đồ thị theo AT Tron g bảng số ngoặ c đơn giá trị hàm g() Do H∈ Goal nên thuật toán dùng đườn g tìm p: A → F → H có chi phí C(p) = Kết quả: Nếu đồ thị G tồn đường p: T0 → TG ∈ Goal thủ tục AT dừng 10

Ngày đăng: 30/08/2023, 02:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w