Bài giảng Trí tuệ nhân tạo: Thuật toán - Thuật giải - TS. Đào Anh Nam

146 110 0
Bài giảng Trí tuệ nhân tạo: Thuật toán - Thuật giải - TS. Đào Anh Nam

Đ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

Bài giảng "Trí tuệ nhân tạo: Thuật toán - Thuật giải" cung cấp cho người học các kiến thức: Khái niệm thuật toán, thuật giải, thuật giải Heuristic, tác tử, giải quyết bài toán bằng cách tìm kiếm, các phương pháp tìm kiếm thiếu thông tin, các phương pháp tìm kiếm heuristic. Mời các bạn cùng tham khảo.

Artificial Intelligence Trí Tuệ Nhân tạo TS Đào Nam Anh THUẬT TOÁN – THUẬT GIẢI Tài liệu Stuart Russell and Peter Norvig, Artificial Intelligence - A Modern Approach R E Bellman An Introduction to Artificial Intelligence: Can Computers Think? Boyd & Fraser Publishing Company, San Francisco, 1978 E Charniak and D McDermott Introduction to Artificial Intelligence AddisonWesley,Reading, Massachusetts, 1985 J Haugeland Artificial Intelligence: The Very Idea MIT Press, Cambridge, Massachusetts, 1985 R Kurzweil The Age of Intelligent Machines MIT Press, Cambridge, Massachusetts, 1990 N J Nilsson Artificial Intelligence: A New Synthesis Morgan Kaufmann, San Mateo, California, 1998 D Poole, A K Mackworth, and R Goebel Computational Intelligence: A Logical Approach Oxford University Press, Oxford, UK, 1998 E Rich and K Knight Artificial Intelligence (Second Edition) McGraw-Hill, New York, 1991 P H Winston Artificial Intelligence (Third Edition) Addison-Wesley, Reading, Massachusetts, 1992 N.Q.Hoan, Nhập mơn trí tuệ nhân tạo Đinh Mạnh Tường, Giáo trình Trí tuệ Nhân tạo Hồng Kiếm, Đinh Nguyễn Anh Dũng, Giáo trình Nhập mơn Trí tuệ Nhân tạo NỘI DUNG I KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI II THUẬT GIẢI HEURISTIC III TÁC TỬ IV GIẢI QUYẾT BÀI TỐN BẰNG CÁCH TÌM KIẾM V CÁC PHƯƠNG PHÁP TÌM KIẾM THIẾU THƠNG TIN VI CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC KHÁI NIỆM THUẬT TỐN – THUẬT GIẢI Trong trình nghiên cứu giải vấn đề – tốn: Có nhiều tốn chưa tìm cách giải theo kiểu thuật tốn khơng biết có tồn thuật tốn hay khơng Có nhiều tốn có thuật tốn để giải khơng chấp nhận thời gian giải theo thuật tốn q lớn điều kiện cho thuật tốn khó đáp ứng Có tốn giải theo cách giải vi phạm thuật toán chấp nhận KHÁI NIỆM THUẬT TỐN – THUẬT GIẢI Cần phải có đổi cho khái niệm thuật toán:mở rộng hai tiêu chuẩn thuật tốn: tính xác định tính đắn Mở rộng Tính xác định: giải thuật đệ quy ngẫu nhiên Tính thuật tốn: khơng bắt buộc số cách giải toán, cách giải gần Một thuật giải thường đề cập đến sử dụng khoa học trí tuệ nhân tạo cách giải theo kiểu Heuristic 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 (nhưng khơng lời giải tốt nhấ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 Thuật giải Heuristic thường thể tự nhiên, gần gũi với cách suy nghĩ hành động người THUẬT GIẢI HEURISTIC Phương pháp xây dựng thuật giải Heuristic Nguyên lý vét cạn thơng minh: Trong tốn tìm kiếm đó, 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 (Greedy): Lấy tiêu chuẩn tối ưu (trên phạm vi toàn cục) toán để làm tiêu chuẩn chọn lựa hành động cho phạm vi cục bước (hay giai đoạn) 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 THUẬT GIẢI HEURISTIC Phương pháp xây dựng thuật giải Heuristic Hàm Heuristic: Đó hàm đánh giá thơ, giá trị hàm phụ thuộc vào trạng thái toán bước giải Nhờ giá trị này, ta chọn cách hành động tương đối hợp lý bước thuật giải THUẬT GIẢI HEURISTIC Phương pháp xây dựng thuật giải Heuristic Bài tốn hành trình ngắn – ứng dụng ngun lý Greedy Bài tốn: Hãy tìm hành trình cho người giao hàng qua n điểm khác nhau, điểm qua lần trở điểm xuất phát cho tổng chiều dài đoạn đường cần ngắn Giả sử có đường nối trực tiếp từ hai điểm Cách liệt kê tất đường đi, tính chiều dài đường tìm đường có chiều dài ngắn độ phức tạp 0(n!), số đại lý tăng số đường phải xét tăng lên nhanh Thuật giải Heuristic ứng dụng nguyên lý Greedy: – Từ điểm khởi đầu, ta liệt kê tất quãng đường từ điểm xuất phát n đại lý chọn theo đường ngắn – Khi đến đại lý, chọn đến đại lý theo nguyên tắc Nghĩa liệt kê tất đường từ đại lý ta đứng đến đại lý chưa đến Chọn đường ngắn Lặp lại trình lúc khơng đại lý để THUẬT GIẢI HEURISTIC Phương pháp xây dựng thuật giải Heuristic Bài tốn hành trình ngắn – ứng dụng ngun lý Greedy 10 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Tìm kiếm ưu tiên tối ưu (best-first search) Thuật giải A* h’ – ước lượng khoảng cách Nếu như, ước lượng h’ nhỏ h (đối với trạng thái) thuật giải A* thường tìm đường tối ưu (xác định g) để đến đích, đường dẫn tồn q trình tìm kiếm bị sa lầy vào đường q dở Còn lý đó, ước lượng h’ lại lớn h thuật giải dễ dàng bị vướng vào hướng tìm kiếm vơ ích Thậm chí lại có khuynh hướng tìm kiếm hướng vơ ích trước! Điều thấy cách dễ dàng từ ví dụ sau 132 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Tìm kiếm ưu tiên tối ưu (best-first search) Thuật giải A* h’ – ước lượng khoảng cách Giả sử tất cung có giá trị G trạng thái đích Khởi đầu, OPEN chứa A, sau A mở rộng nên B, C, D đưa vào OPEN Đối với nút, số giá trị h’, số g Nút B có f’ thấp = h’+g = + 1, mở rộng trước tiên Giả sử B có nút E h’(E) = 3, E cách A hai cung nên g(E) = suy f’(E) = 5, giống f’(C) Ta chọn mở rộng E Giả sử E có F h’(F) Rõ ràng di chuyển xuống không phát triển rộng Nhưng f’(F) = lớn f’(D) Do đó, mở rộng C đạt đến trạng thái đích Do đánh giá thấp h(B) nên lãng phí bước (E,F), cuối phát B khác với mong đợi quay lại để thử đường dẫn khác 133 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Tìm kiếm ưu tiên tối ưu (best-first search) Thuật giải A* h’ – ước lượng khoảng cách Mở rộng B bước E bước thứ hai Kế tiếp F cuối G, cho đường dẫn kết thúc có độ dài Giả sử có đường dẫn trực tiếp từ D đến lời giải có độ dài h thực khơng tìm đường dẫn (tuy ta tìm thấy lời giải) Bởi việc đánh giá cao h’(D), làm cho D trông dở mà ta phải tìm đường khác – đến lời giải tệ - mà không nghĩ đến việc mở rộng D Nếu h’ đánh giá cao h A* khơng thể tìm đường dẫn tối ưu đến lời giải (nếu có nhiều đường dẫn đến lời giải) Liệu có nguyên tắc chung giúp đưa cách ước lượng h’ không đánh giá cao h hay không? Câu trả lời "hầu khơng", hầu hết vấn đề thực ta h Tuy nhiên, cách để bảo đảm h’ không đánh giá cao h đặt h’ ! 134 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Tìm kiếm ưu tiên tối ưu (best-first search) Thuật giải A* Thuật giải A*, thuật giải linh động, tổng quát, hàm chứa tìm kiếm chiều sâu, tìm kiếm chiều rộng nguyên lý Heuristic khác Nên A* thuật giải tiêu biểu cho Heuristic A* linh động gặp khuyết điểm – giống chiến lược tìm kiếm chiều rộng – tốn nhiều nhớ để lưu lại trạng thái qua – muốn chắn tìm thấy lời giải tối ưu Với khơng gian tìm kiếm lớn nhỏ khơng phải điểm đáng quan tâm với không gian tìm kiếm khổng lồ (chẳng hạn tìm đường ma trận kích thước cỡ 106 x 106) không gian lưu trữ vấn đề 135 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Tìm kiếm ưu tiên tối ưu (best-first search) Ứng dụng A* để giải toán Ta-canh Bài tốn Ta-canh trò chơi phổ biến, đơi lúc người ta gọi tốn 9-puzzle Trò chơi bao gồm hình vng kích thứơc 3x3 Có có số, có số từ đến Một ô trống Mỗi lần di chuyển di chuyển nằm cạnh trống phía trống Vấn đề từ trạng thái ban đầu bất kỳ, đưa trạng thái cuối trạng thái mà ô từ đến theo thứ tự từ trái sang phải, từ xuống dưới, ô cuối dùng ô trống 136 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Tìm kiếm ưu tiên tối ưu (best-first search) Ứng dụng A* để giải toán Ta-canh Ngoại trừ giải pháp vét cạn tìm kiếm Heuristic, người ta chưa tìm thuật tốn xác, tối ưu để giải toán Cách giải theo thuật giải A* đơn giản thường tìm lời giải (nhưng khơng phải lúc tìm lời giải) Tại thời điểm ta có tối đa di chuyển Vấn đề chọn lựa di chuyển nào? hình trên, nên di chuyển (1), (2), (6), hay (7) ? Bài tốn có cấu trúc thích hợp để giải A* (tổng số trạng thái có bàn cờ n2! với n kích thước bàn cờ trạng thái hoán vị tập n2 số) Tại trạng thái xét Tk, đặt d(i,j)là số ô cần di chuyển để đưa số (i,j) vị trí trạng thái đích Hàm ước lượng h’ trạng thái Tk tổng d(i,j) cho vị trí (i,j) khơng phải trống Như trạng thái hình ban đầu, hàm f(Tk) có giá trị Fk=2+1+3+1+0+1+2+2=12 137 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Các chiến lược tìm kiếm lại Chúng ta biết qua kiểu tìm kiếm: leo đèo (LĐ), tìm theo chiều sâu (MC), tìm theo chiều rộng (BR) tìm kiếm BFS Bốn kiểu tìm kiếm xem thái cực không gian liên tục bao gồm chiến lược tìm kiếm khác Để giải thích điều rõ hơn, tiện cho nhìn chiến lược tìm kiếm lời giải hai chiều sau : Chiều khả quay lui (R): khả cho phép quay lại để xem xét trạng thái xét đến trước gặp trạng thái khơng thể tiếp Chiều phạm vi đánh giá (S): số trạng thái xét đến định 138 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Các chiến lược tìm kiếm lại Leo đèo, quay lui tốt Tương quan chiến lược leo đèo, quay lui tốt Vùng in đậm biểu diễn mặt phẳng liên tục chiến lược tìm kiếm mà kết hợp số đặc điểm ba thái cực (leo đèo, chiều sâu, BFS) để có 139 hòa hợp đặc tính tính tốn chúng CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Các chiến lược tìm kiếm lại Chiến lược lai BFS-MC Nếu ta không đủ nhớ cần thiết để áp dụng thuật toán BFS túy Ta kết hợp BFS với tìm theo chiều sâu để giảm bớt yêu cầu nhớ Số lượng trạng thái xét đến bước nhỏ Một loại kết hợp hình thuật giải BFS áp dụng đỉnh đồ thị tìm kiếm (biểu diễn vùng tơ tậm) tìm kiếm theo chiều sâu áp dụng đáy (biểu diễn tam giác tô nhạt) Đầu tiên áp dụng BFS vào trạng thái ban đầu T0 cách bình thường BFS thi hành lúc đó, số lượng trạng thái lưu trữ chiếm dụng không gian nhớ vượt mức cho phép Đến lúc này, ta áp dụng tìm kiếm chiều sâu xuất phát từ trạng thái tốt Tmax OPEN tồn khơng gian phía "dưới" trạng thái duyệt hết Nếu khơng tìm thấy kết quả, trạng thái Tmax ghi nhận không dẫn đến kết ta lại chọn trạng thái tốt thứ hai 140 OPEN lại áp dụng tìm kiếm chiều sâu cho cho phần khơng gian phía "dưới" trạng thái CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Các chiến lược tìm kiếm lại Chiến lược lai BFS-MC Chiến lược lai BFS-MC đó, BFS áp dụng đỉnh MC đáy 141 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Các chiến lược tìm kiếm lại Tìm kiếm chiều sâu BFS Một cách kết hợp khác dùng tìm kiếm chiều sâu đỉnh khơng gian tìm kiếm BFS dùng đáy Áp dụng tìm kiếm chiều sâu gặp trạng thái Tk mà độ sâu (số trạng thái trung gian) vượt ngưỡng d0 Tại điểm này, thay lần ngược trở lại, ta áp dụng kiểu tìm kiếm BFS cho phần khơng gian phía "dưới" Tk trả giải pháp khơng tìm thấy Nếu khơng tìm thấy kết quả, lần ngược trở lại lại dùng BFS đạt độ sâu d0 Tham số d0 chọn cho nhớ dùng cho tìm kiếm BFS không gian "dưới" mức d0 không vượt số cho trước Rõ ràng ta ta không dễ xác định d0 (vì nói chung, ta khó đánh giá khơng gian tốn rộng đến mức nào) 142 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Các chiến lược tìm kiếm lại Chiến lược lai BFS-MC Chiến lược lai BFS-MC đó, MC áp dụng đỉnh BFS đáy Kiểu kết hợp lại có thuận lợi Phần đáy khơng gian tìm kiếm thường chứa nhiều thơng tin "bổ ích" phần đỉnh (Chẳng hạn, tìm đường đến khu trung tâm thành phố, đến gần khu trung tâm – đáy đồ thị – bạn dễ dàng tiến đến trung tâm có nhiều "dấu hiệu" trung tâm xuất xung quanh bạn!) Nghĩa là, tiến phía đáy khơng gian tìm kiếm, ước lượng h’ thường trở nên xác đó, dễ dẫn ta đến kết 143 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Các chiến lược tìm kiếm lại Chiến lược lai BFS-MC Chiến lược lai BFS-MC đó, BFS áp dụng cục chiều sâu áp dụng toàn cục BFS thực cục chiều sâu thực toàn cục Ta bắt đầu tìm kiếm theo BFS lượng nhớ xác định M0 dùng hết Tại điểm này, xem tất trạng thái OPEN trạng thái trực tiếp trạng thái ban đầu chuyển giao chúng cho tìm kiếm chiều sâu Tìm kiếm chiều sâu chọn trạng thái tốt trạng thái "bành trướng" dùng BFS, nghĩa chuyển trạng thái chọn cho tìm kiếm BFS cục lượng nhớ M0 lại dùng hết trạng thái OPEN lại tiếp tục xem nút nút "bành trướng" Nếu việc "bành trướng" BFS thất bại ta quay lui lại chọn nút tốt thứ hai tập OPEN trước đó, lại tiếp tục bành trướng BFS 144 CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Các chiến lược tìm kiếm lại Lai ghép BF leo đèo Tìm kiếm theo giai đoạn thực sau Thay lưu trữ nhớ tồn tìm kiếm sinh BFS, ta giữ lại có triển vọng Khi lượng nhớ M0 dùng hết, ta đánh dấu tập trạng thái OPEN (những trạng thái có giá trị hàm f thấp nhất) để giữ lại; đường tốt qua trạng thái ghi nhớ tất phần lại bị loại bỏ Q trình tìm kiếm sau tiếp tục theo BFS lượng nhớ M0 lại dùng hết Chiến lược xem lai ghép BF leo đèo Trong đó, leo đèo túy loại bỏ tất giữ lại phương án tốt tìm kiếm theo giai đoạn loại bỏ tất giữ lại tập phương án tốt 145 Câu hỏi https://sites.google.com/site/daonamanhedu/teaching/ artificial-intelligence 146 ... Trí tuệ Nhân tạo Hồng Kiếm, Đinh Nguyễn Anh Dũng, Giáo trình Nhập mơn Trí tuệ Nhân tạo NỘI DUNG I KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI II THUẬT GIẢI HEURISTIC III TÁC TỬ IV GIẢI QUYẾT BÀI TOÁN BẰNG... học trí tuệ nhân tạo cách giải theo kiểu Heuristic 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 (nhưng không lời giải tốt nhất) Giải toán theo thuật. .. gian giải theo thuật tốn q lớn điều kiện cho thuật tốn khó đáp ứng Có tốn giải theo cách giải vi phạm thuật toán chấp nhận KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI Cần phải có đổi cho khái niệm thuật

Ngày đăng: 27/06/2020, 09:16

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan