GIẢI THUẬT HEURISTIC ỨNG DỤNG GIẢI THUẬT HEURISTIC TRONG BÀI TOÁN NGƯỜI ĐƯA THƯ Thuật giải Heuristic là một sự mở rộng khái niệm thuật toán Giải bài toán theo thuật giải Heuristic thường dễ dàng và nhanh chóng đưa ra kết quả hơn so với giải thuật tối ưu, vì vậy chi phí thấp hơn Thể hiện khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người
Thuật toán nâng cao GIẢI THUẬT HEURISTIC & ỨNG DỤNG GIẢI THUẬT HEURISTIC TRONG BÀI TOÁN NGƯỜI ĐƯA THƯ GVHD:Nguyễn Bá Tường Học viên: Nhóm Nội dung Tiểu luận Ứng dụng toán người đưa thư Hỏi đáp Nội dung thuật giải Heuristic Giới thiệu thuật giải Heuristic Thuật giải Heuristic mở rộng khái niệm thuật tốn Thường tìm lời giải tốt Giải toán theo thuật giải Heuristic thường dễ dàng nhanh chóng đưa kết so với giải thuật tối ưu, chi phí thấp Thể tự nhiên, gần gũi với cách suy nghĩ hành động người Nội dung thuật giải Heuristic Hàm Heuristic Đó hàm đánh giá thơ - ước lượng khả dẫn đến lời giải tính từ trạng thái (khoảng cách trạng thái trạng thái đích) Chi phí ước lượng h’ = chi phí tối ưu thực h = 4+5 = Nội dung thuật giải Heuristic Nguyên lý thuật giải Heuristic Nguyên lý vét cạn thơng minh khơng gian tìm kiếm lớn, ta thường tìm cách giới hạn lại khơng gian tìm kiếm thực kiểu dị tìm đặc biệt dựa vào đặc thù tốn để nhanh chóng tìm mục tiêu Nguyên lý tham lam Lấy tiêu chuẩn tối ưu toán để làm tiêu chuẩn chọn lựa hành động cho phạm vi cục bước trình tìm kiếm lời giải Nguyên lý thứ tự Thực hành động dựa cấu trúc thứ tự hợp lý không gian khảo sát nhằm nhanh chóng đạt lời giải tốt Nội dung thuật giải Heuristic Các phương pháp tìm kiếm Heuristic Cấu trúc chung tốn tìm kiếm Item Item Item Item Item Tìm kiếm chiều sâu Tìm kiếm chiều rộng Tìm kiếm leo đồi Tìm kiếm ưu tiên tối ưu Các phương pháp tìm kiếm Heuristic Cấu trúc chung tốn tìm kiếm Nhiều vấn đề-bài tốn phức tạp có dạng "tìm đường đồ thị" Vấn đề chung Đa số biểu diễn dạng đồ thị Một trạng thái đỉnh đồ thị Xuất phát từ đỉnh đồ thị, tìm đường hiệu đến đỉnh Tìm kiếm chiều sâu(DFS) Là thuật tốn duyệt tìm kiếm đồ thị Thuật tốn khởi đầu gốc phát triển xa theo nhánh Tìm kiếm chiều sâu đỉnh xuất phát, theo cạnh trái, tiếp tục tìm kiếm xong trái chuyển sang tìm kiếm phải Ví dụ: Thứ tự thăm viếng đỉnh là: A, B, D, F, E, C, G Các phương pháp tìm kiếm Heuristic Các phương pháp tìm kiếm Heuristic Tìm kiếm chiều rộng(BFS) Ngược lại với tìm kiếm theo kiểu chiều sâu, tìm kiếm chiều rộng mang hình ảnh vết dầu loang Từ trạng thái ban đầu, ta xây dựng tập hợp S bao gồm trạng thái Ứng với trạng thái Tk tập S, ta xây dựng tập Sk bao gồm trạng thái Tk bổ sung Sk vào S lặp lại lúc S có chứa trạng thái kết thúc Các phương pháp tìm kiếm Heuristic Tìm kiếm Leo Đồi Tìm kiếm leo đồi, thực chất trường hợp đặc biệt tìm kiếm theo chiều sâu quay lui Định nghĩa Nếu trạng thái bắt đầu trạng thái đích báo tìm lời giải Ngược lại, đặt trạng thái hành (Ti) trạng thái khởi đầu Tư tưởng Leo đồi đứng dốc Là leo đồi duyệt tất hướng chọn theo trạng thái tốt số trạng thái có Lặp lại đạt đến trạng thái kết thúc không tồn trạng thái hợp lệ (Tk) trạng thái hành Tìm kiếm ưu tiên tối ưu Các phương pháp tìm kiếm Heuristic Định nghĩa:Tìm kiếm ưu tiên tối ưu kết hợp phương pháp tìm kiếm theo chiều rộng theo chiều sâu quan tâm đến mở rộng tất nhánh không bị sa vào đường dẫn bế tắc Thuật giải AT: phương pháp tìm kiếm theo kiểu BFS với độ tốt nút giá trị hàm g – tổng chiều dài đường từ trạng thái bắt đầu đến trạng thái Thuật giải AKT: Thuật giải AKT mở rộng AT cách sử dụng thêm thông tin ước lượng h’ Độ tốt trạng thái f tổng hai hàm g h’ Thuật giải A*: A* phiên đặc biệt AKT áp dụng cho trường hợp đồ thị Thuật giải A* có sử dụng thêm tập hợp CLOSE để lưu trữ trường hợp xét đến Nội dung thuật giải Heuristic ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ Phát biểu toán Hạn chế sử dụng thuật toán tối ưu Cài đặt thuật tốn Chương trình Demo ỨNG DỤNG BÀI TỐN NGƯỜI ĐƯA THƯ Phát biểu tốn Mục đích toán : Để tiết kiệm thời gian đưa thư địa phương Người đưa thư phải qua tất điểm cần phát thư trở vị trí ban đầu với đường ngắn Bài tốn phát biểu lại sau: Giả sử có đồ thị có trọng số dương, tìm đường ngắn qua tất đỉnh đồ thị trở đỉnh ban đầu ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ Hạn chế sử dụng thuật tốn tối ưu Đồ thị có n đỉnh, thuật toán tối ưu cho toán thuật tốn tìm đường ngắn cho chu trình Haminton Do thuật tốn tối ưu có độ phức tạp O( n!) thực thuật tốn Vì sử dụng thuật giải Heuristic cho tốn ỨNG DỤNG BÀI TỐN NGƯỜI ĐƯA THƯ Cài đặt thuật tốn Cơng cụ lập trình Input Output Thử việc & Chương trình viết mơi trường đào tạo Visual C++ 6.0 Một ma trận vuông file “graph.txt “ có dạng hình bên, hay nhập ma trận tay Đường theo thuật giải Heuristic, chi phí đường ỨNG DỤNG BÀI TỐN NGƯỜI ĐƯA THƯ Chương trình Đề Mơ Thử việc & đào tạo ? ... luận Ứng dụng toán người đưa thư Hỏi đáp Nội dung thuật giải Heuristic Giới thiệu thuật giải Heuristic Thuật giải Heuristic mở rộng khái niệm thuật tốn Thư? ??ng tìm lời giải tốt Giải toán theo thuật. .. Thuật giải A* có sử dụng thêm tập hợp CLOSE để lưu trữ trường hợp xét đến Nội dung thuật giải Heuristic ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ Phát biểu toán Hạn chế sử dụng thuật toán tối ưu Cài đặt thuật. .. Demo ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ Phát biểu tốn Mục đích tốn : Để tiết kiệm thời gian đưa thư địa phương Người đưa thư phải qua tất điểm cần phát thư trở vị trí ban đầu với đường ngắn Bài tốn