TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THƠNG BÀI BÁO CÁO NHẬP MƠN TRÍ TUỆ NHÂN TẠO -CT190 ĐỀ TÀI: BÀI TỐN TÌM ĐƯỜNG ĐI TRONG MÊ CUNG Sinh viên thực hiện: Phan Thanh Hậu, B1909913 Lê Trọng Hiếu, B1909914 Nguyễn Võ Việt Nga, B1909953 Đỗ Thị Bé Ti, B1906408 Cần Thơ, 07 tháng 05 năm 2021 MỤC LỤC 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 5.1 5.2 MÔ TẢ ĐỀ TÀI .2 Giới thiệu đề tài Phạm vi đề tài Nguyên nhân sinh đề tài .3 THUẬT TOÁN Tìm đường ngẫu nhiên .4 Tìm kiếm sâu( rộng): Giải thuật A* & hàm heuristic (focus) HƯỚNG PHÁT TRIỂN VÀ ỨNG DỤNG Mở rộng thành mơ hình đồ thực tế Ứng dụng thiết bị thông minh KẾT QUẢ ĐẠT ĐƯỢC Kiến thức Kĩ mềm .8 TÀI LIỆU THAM KHẢO MÔ TẢ ĐỀ TÀI 1.1 Giới thiệu đề tài Mê cung gì? Mê cung mơ hình đồ, bao gồm nhiều thành phần là: Đường tường Trong đường vùng được, tường vùng Các qui định mê cung tùy thuộc vào luật chơi người tạo mê cung đường đi: chéo hay khơng, có qua nhiều lần hay khơng, Tìm đường mê cung? Thực chất toán cụ thể hóa mơ hình tốn tìm đường khơng gian tìm kiếm Bài tốn tìm đường đi: Tìm đường từ điểm đến điểm kia, tìm đường qua tất điểm thỏa điều kiện ràng buộc, tìm đường ngắn nhất, 1.2 Phạm vi đề tài Áp dụng mơ hình mê cung, từ mơ hình hóa thành đồ thực tế 1.3 Nguyên nhân sinh đề tài Cần thuật tốn để tìm đường mơ hình: mê cung, đồ, lược đồ, Trong báo cáo chủ yếu tập chung vào mơ hình mê cung Từ mở rộng thành mơ hình khác, thuật toán cao cấp để phục vụ nhu cầu đời sống người THUẬT TOÁN 2 2.1 *Các thuật tốn Mơ hình tốn tìm đường có nhiều thuật tốn khác giải được: Tìm kiếm sâu (rộng) thuật toán biến thể chúng, Giải thuật A*, thuật toán dị theo tường, Mỗi thuật tốn có số ưu nhược điểm định: Trong báo cáo tìm hiểu chủ yếu giải thuật A* hàm heuristic để giải toán tìm đường mê cung, cụ thể tìm đường từ điểm đến điểm khác Tuy nhiên giới thiệu khái quát qua thuật trước nâng cấp thành thuật tốn có hàm heuristic 2.1 Tìm đường ngẫu nhiên Thuật tốn tìm đường ngẫu nhiên hiểu đơn giản theo đường thẳng tới vị trí có nhiều hai hướng rẽ lập lại thõa điều kiện toán, cụ thể tìm đến đích ■=> Thuật tốn “ khơng thơng minh”, chậm, có quanh quẫn đường lâu mà khơng tìm thấy đích hướng tất chọn đại ■=> Cần đánh dấu điểm qua không lại 2.2 Tìm kiếm sâu( rộng): Tìm kiếm sâu ( rộng) dung danh sách đặc biệt Stack( Queue) để lưu điểm qua mê cung tránh việc lại Từ rút ngắn thời gian so với tìm kiếm ngẫu nhiên Tuy nhiên lộ trình tìm đường lại qui định danh sách mà bạn lưu đỉnh hoàn tồn khơng có tư tính tốn ■=> Cả tìm kiếm ngẫu nhiên tìm kiếm sâu rộng tìm kiếm mù, chưa áp dụng tư trí tuệ tạo ■=> Cần thêm hàm tính tốn đường để nhanh chóng tìm thấy lời giải 2.3 Giải thuật A* & hàm heuristic (focus) Giải thuật A* thực chất giống BFS, dùng danh sách để lưu trữ thứ tự duyệt đỉnh, nhiên danh sách danh sách có điều kiện, xếp theo hàm heuristic Mỗi trạng thái lưu yếu tố: (g(n), h(n), f(n), cha(n)) Trong • • • • g(n): khoảng cách thực từ n đến trạng thái bắt đầu h(n): Hàm ước lượng heuristic trạng thái n f(n): phép đo heuristic p(n): lưu trạng thái sinh trạng thái n Ta có: f(n) =g(n) + h(n) Hàm đánh giá heuristic dùng để đánh giá đặc điểm trạng thái KGTT, luật để chọn nhánh có nhiều khả dẫn đến giải pháp chấp nhận Cụ thể tốn tìm đường mê cung tìm vị trí có nhiều khả đến vị trí đích để lần Hàm heuristic phụ thuộc vào trình độ tư lĩnh vực giải toán mê cung Trong báo cáo này, sử dụng hai hàm heuristic với hai cấp bậc tư khác nhau: (Phần code viết Javacripts) + Hàm thứ nhất( Euclide): Euclide(destination, source){ return distance(this, destination) } + Hàm thứ hai( Angle_euclide): Angle_euclide(destination, source){ var CS = distance(this, source); var CD = distance(this, destination); var SD = distance(source, destination); var c = -Math.abs(((CS**2 + SD**2 - CD**2) / (2 * CS * SD))); return Math.floor(distance(this, destination) ** 2) + c; } Kết cho hai lần chạy với hai hàm heuristic: + Với hàm Euclide: Số ô đường đi: 59 Tổng chi phí đường đi: 58 Số ô phải xét: 674 + Với heuristic Angle_euclide: Số ô đường đi: 59 Tổng chi phí đường đi: 58 Số ô phải xét: 61 ■=> Kết khác nhau, Angle_euclide nhanh hẳn euclide HƯỚNG PHÁT TRIỂN VÀ ỨNG DỤNG 3.1 Mở rộng thành mơ hình đồ thực tế Mở rộng thành mơ hình đồ, ứng dụng trò chơi mê cung dạng đồ biến thể, VD: Ứng dụng đồ Google Map, trò chơi giải mê cung tảng công nghệ, 3.2 Ứng dụng thiết bị thông minh Áp dụng cho ứng dụng thông minh để tìm ghi nhớ đường đi: Máy dị tìm đường đi, máy qt nhà, lau nhà, Sau nâng cấp them chức tìm đường ngắn nhất, tìm lộ trình đi, KẾT QUẢ ĐẠT ĐƯỢC 5.1 Kiến thức + Nắm số thuật tốn tìm đường mê cung Đặc biệt giải thuật A* hàm heuristic + Hiểu mê cung số tư toán học mê cung 5.2 Kĩ mềm + Kĩ làm việc nhóm, trao đỗi ý kiến, + Kĩ tự học, tự nghiên cứu, + Kĩ đọc báo khoa học TÀI LIỆU THAM KHẢO [1] (PDF) A comparative study of A-star algorithms for search and rescue in perfect maze (researchgate.net) [2] Path Planning with Modihed a Star Algorithm for a Mobile Robot - ScienceDirect [3] An Effìcient Hardware Architecture of the A-star Algorithm for the Shortest Path Search Engine | IEEE Conference Publication | IEEE Xplore ... gian tìm kiếm Bài tốn tìm đường đi: Tìm đường từ đi? ??m đến đi? ??m kia, tìm đường qua tất đi? ??m thỏa đi? ??u kiện ràng buộc, tìm đường ngắn nhất, 1.2 Phạm vi đề tài Áp dụng mơ hình mê cung, từ mơ hình... định mê cung tùy thuộc vào luật chơi người tạo mê cung đường đi: chéo hay khơng, có qua nhiều lần hay khơng, Tìm đường mê cung? Thực chất toán cụ thể hóa mơ hình tốn tìm đường khơng gian tìm. .. hình hóa thành đồ thực tế 1.3 Nguyên nhân sinh đề tài Cần thuật toán để tìm đường mơ hình: mê cung, đồ, lược đồ, Trong báo cáo chủ yếu tập chung vào mơ hình mê cung Từ mở rộng thành mơ hình khác,