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

Báo cáo trí tuệ nhân tạo

18 105 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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG -šš&šš - BÁO CÁO BÀI TẬP LỚN TRÍ TUỆ NHÂN TẠO Đề tài: Heuristic, thuật tốn tìm đường ngắn Giáo viên hướng dẫn: Nguyễn Vũ Hải Sinh viên thực hiện: Hà Bảo Khiêm – 20187175 Đặng Văn Dũng – 20187163 Phạm Thị Quyên – 20187195 I Phần mở đầu: Ngày nay, công nghệ giai đoạn phát triển mạnh hết, dẫn đến tập ngành kinh tế phát triển phong phú, đa dạng đan xen lẫn Việc điện thoại vừa dùng để chụp ảnh, vừa dùng để nhắn tin, nghe gọi kể tìm kiếm thơng tin nóng hổi khơng cịn q xa lạ với người Khơng có điện thoại mà hoạt động sản xuất nay, có diện máy móc Ví dụ như: sản xuất ô tô, dược phẩm, thực phẩm chức năng, đồ điện tử…vv hồn tồn sử dụng máy móc Cơng sản xuất sản phẩm vô quan trong, sản xuất mà không phân phối đưa đến tay người tiêu dung thật phí phạm Việc phân phối, vận chuyển cho hiệu toán lớn cho doanh nghiệp phải suy nghĩ Ban đầu, ta phải hiểu phân phối hiệu quả? Phân phối hiệu việc điều tiết hàng hố theo trật tự định mà khơng để lại hậu định, Phân phối hiệu việc điều tiết hàng hoá theo trật tự định mà khơng tốn q nhiều chi phí vận chuyển, thời gian Để giải vấn đề đó, phần mềm AI tìm đường ngắn đời II Tổng quan trí tuệ nhân tạo tìm đường ngắn nhất: Thế trí tuệ nhân tạo (AI) tìm đường ngắn nhất: Là việc máy tính sử dụng giải thuật sẵn có tính tốn qng đường di chuyển tự nhận định đường ngắn nhất, hiển thị lên hình thơng báo cho người dùng nắm rõ thông tin Các ứng dụng thực tiễn:  Google map sử dụng trí tuệ nhân tạo tìm đường ngắn  Các ứng dụng Be, Grab, Uber sử dụng Google map để tìm đường ngắn nhất, hỗ trợ việc di chuyển, đưa đón hành khách 2 Tổng quan giải thuật tìm kiếm Heuristic: Trong ngành khoa học máy tính giải thuật tìm kiếm thuật tốn lấy đầu vào toán trả kết lời giải cho tốn đó, thường sau cân nhắc loạt lời giải Hầu hết thuật toán nghiên cứu nhà khoa học máy tính để giải tốn thuật tốn tìm kiếm tập hợp tất lời giải tốn gọi khơng gian tìm kiếm thuật toán thử sai (brute-force search) hay thuật toán tìm kiếm "sơ đẳng" khơng có thơng tin sử dụng phương pháp đơn giản trực quan đó, thuật tốn tìm kiếm có thơng tin sử dụng heuristics để áp dụng tri thức cấu trúc khơng gian tìm kiếm nhằm giảm thời gian cần thiết cho việc tìm kiếm 2.1 Heuristic: George Polya định nghĩa heuristic “sự nghiên cứu phương pháp qui tắc việc khám phá phát minh” (Polya 1945) nghĩa xuất phát từ gốc Hy Lạp động từ eurisco nghĩa “tơi phát hiện” Trong tìm kiếm khơng gian trạng thái, heuristic luật dùng để chọn nhánh có nhiều khả dẫn đến giải pháp chấp nhận được: - Heuristic đốn chứa thơng tin bước chọn dùng việc giải vấn đề - Heuristic tri thức rút từ kinh nghiệm, “trực giác” người - Heuristic tri thức sai Vì heuristic sử dụng thông tin hạn chế nên chúng có khả đốn trước xác cách hành xử không gian trạng thái giai đoạn xa 2.2 Chức Heuristic: Các chương trình giải vấn đề trí tuệ nhân tạo sử dụng Heuristic theo hai dạng: - Vấn đề khơng có giải pháp xác điều khơng rõ ràng diễn đạt vấn đề liệu có sẵn - Vấn đề có giải pháp xác, chi phí tính tốn để tìm khơng cho phép 2.3 Ưu điểm thuật giải Heuristic: Thuật giải Heuristic thể cách giải tốn với đặc tính sau: - 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 2.4 Phương pháp xây dựng thuật giải Heuristic: Thuật giải Heuristic gồm hai phần: Hàm đánh giá Heuristic thuật toán để sử dụng tìm kiếm khơng gian trạng thái Có nhiều để xây dựng thuật giải Heuristic, người ta thường dựa số nguyên lý sau: - 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 tồn cục) bàitố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 2.5 Tìm kiếm kinh nghiệm (Heuristic Search) : Các kỹ thuật tìm kiếm sử dụng hàm đánh giá để hướng dẫn tìm kiếm gọi chung kỹ thuật tìm kiếm kinh nghiệm (heuristic search) Các giai đoạn để giải vấn đề tìm kiếm kinh nghiệm sau: - Tìm biểu diễn thích hợp mơ tả trạng thái toán tử vấn đề - Xây dựng hàm đánh giá - Thiết kế chiến lược chọn trạng thái để phát triển bước Các thuật toán sử dụng - Astar - Breadth First - Search - Depth Limited Search - Greedy Best First Search - Interative Depth First Search - Uniform Cost Search III, Các giải thuật áp dụng tìm đường ngắn nhất: Tổng quan toán: Trong lý thuyết đồ thị, toán đường ngắn tốn tìm đường hai đỉnh cho tổng trọng số cạnh tạo nên đường nhỏ Định nghĩa cách hình thức, cho trước đồ thị có trọng số (gồm tập đỉnh V, tập cạnh E) Kí hiệu w (i,j) trọng số cạnh (i,j) độ dài đường cho: nhỏ Giải thuật tổng quát: Thuật toán Astar: A* * Mơ tả: - Thuật tốn A * có lẽ thuật tốn tìm đường sử dụng nhiều nay, đảm bảo tìm đường tốt điểm xuất phát điểm kết thúc Vì sử dụng nhiều ứng dụng khác game, đồ… - Để biết tuyến đường có khả dẫn tới đích, A* sử dụng "đánh giá heuristic" khoảng cách từ điểm cho trước tới đích Trong trường hợp tìm đường đi, đánh giá khoảng cách đường chim bay đánh giá xấp xỉ thường dùng cho khoảng cách đường giao thông Thứ tự ưu tiên cho đường đươc định hàm Heuristic đánh giá: f(x) = g(x) + h(x) g(x) chi chi phí đường từ điểm xuất phát thời điểm h(x) hàm ước lượng chi phí từ đỉnh đến đỉnh đích f(x) tổng h g, thường có giá trị thấp độ ưu tiên cao * Ưu điểm: - Thuật tốn A* có tính đến khoảng cách qua, điều khiến cho A* trở nên đầy đủ tối ưu - Ln tìm thấy đường ngắn tồn * Nhược điểm: - Nếu không gian trạng thái hữu hạn, vơ hạn khơng có giải pháp để tránh việc xét (lặp) lại trạng thái, giải thuật A * khơng hồn chỉnh - Khơng đảm bảo chạy nhanh thuật tốn tìm kiếm đơn giản * Mơ tả thuật tốn: Open: tập trạng thái sinh chưa xét đến Close: tập trạng thái xét đến Cost(p, q): khoảng cách p, q g(p): khoảng cách từ trạng thái đầu đến trạng thái p h(p): giá trị lượng giá từ trạng thái đến trạng thái đích f(p) = g(p) + h(p) o o Bước 1:  Open: = {p}  Close: = {} Bước 2: while (Open !={})  Chọn trạng thái (đỉnh) tốt p Open (xóa p khỏi Open)  Nếu p trạng thái kết thúc thoát  Chuyển p qua Close tạo trạng thái q sau p  Nếu q có Open   Nếu g(q) > g(p) + Cost(p, q)  g(q) = g(p) + Cost(p, q)  f(q) = g(q) + h(q)  prev(q) = p (đỉnh cha q p) Nếu q chưa có Open  g(q) = g(p) + cost(p, q)   f(q) = g(q) + h(q)  prev(q) = p  Thêm q vào Open Nếu q có Close  o Nếu g(q) > g(p) + Cost(p, q)  Bỏ q khỏi Close  Thêm q vào Open Bước 3: Khơng tìm - Ý tưởng tìm kiếm khơng gian trạng thái tìm đường ngắn đến trạng thái mục tiêu - Trong trình tìm kiếm, ta theo dõi danh sách trạng thái, nút Danh sách OPEN list, danh sách lưu trữ nút tạo cách sử dụng quy tắc từ nút có, chúng tơi chưa biết chúng dẫn đến đâu; danh sách thứ hai nút mà ta tạo việc khám phá vị trí chúng - Mỗi trạng thái lưu trữ với số liệu bổ sung cần thiết để tìm kiếm Điều yêu cầu trỏ cha Chúng ta cần biết cách để đến nút này, kết cuối việc tìm trạng thái mục tiêu tạo đường dẫn trở lại điểm bắt đầu - Theo dõi nút đặt gốc nút cho phép thực việc Nút có ba xếp hạng sử dụng q trình tìm kiếm chi phí nút, ước tính heuristic nút 'f' tổng hai điểm - Hàm uớc tính heuristic phức tạp nhiều mà thấy Chúng ta đốn xem nút tốt cách gần mục tiêu Cuối xếp hạng nút để thể mức độ tốt mặt chi phí để đến khoảng cách gần với mục tiêu mà ta cần đến Đảm bảo suốt trình tìm kiếm ln theo đường tối ưu 2, Breadth-First Search (BFS): - Là thuật tốn tìm kiếm việc tìm kiếm bao gồm thao tác:  (a) Cho trước đỉnh đồ thị  (b) Thêm đỉnh kề với đỉnh vừa cho vào danh sách hướng tới Thuật giải: Để cài đặt thuật giải theo kiểu tìm kiếm BFS, người ta thường cần dùng tập hợp sau: OPEN: tập chứa trạng thái sinh chưa xét đến (vì ta chọn trạng thái khác) Thực ra, OPEN loại hàng đợi ưu tiên (priority queue) mà đó, phần tử có độ ưu tiên cao phần tử tốt người ta thường cài đặt hàng đợi ưu tiên Heap bạn tham khảo thêm tài liệu Cấu trúc liệu loại liệu CLOSE: tập chứa trạng thái xét đến cần lưu trữ trạng thái nhớ để đề phòng trường hợp trạng thái tạo lại trùng với trạng thái mà ta xét đến trước trường hợp khơng gian tìm kiếm có dạng khơng cần dùng tập * Thuật giải BEST-FIRST SEARCH Đặt OPEN chứa trạng thái khởi đầu Cho đến tìm trạng thái đích khơng cịn nút OPEN, thực hiện: a) Chọn trạng thái tốt (Tmax) OPEN (và xóa Tmax khỏi OPEN) b) Nếu Tmax trạng thái kết thúc c) Ngược lại, tạo trạng thái Tk có từ trạng thái Tmax Đối với trạng thái Tk thực hiện: Tính f(Tk); Thêm Tk vào OPEN Ví dụ: - Khởi đầu, có nút (trạng thái) A nên mở rộng tạo nút B, C D - Do D nút có khả nên mở rộng tiếp sau nút A sinh nút E F - Đến đây, ta lại thấy nút B có khả (trong nút B, C, E, F) nên ta chọn mở rộng nút B tạo nút G H - Hai nút G, H đánh giá khả E, ý lại trở E E mở rộng nút sinh từ E I J - Ở bước kế tiếp, J mở rộng có khả Q trình tiếp tục tìm thấy lời giải 3, Thuật tốn Depth limited search * Mơ tả: - Depth Limited Search thuật tốn tìm kiếm theo độ sâu khắc phục cách áp đặt ranh giới giới hạn cho độ sâu miền tìm kiếm Việc đặt giới hạn độ sâu làm cho chiến lược tìm kiếm DFS trở nên tinh tế hươn tổ chức thành vòng lặp hữu hạn - Giới hạn độ sâu bị chấm dứt với hai điều: +) Giải xong vấn đề +) Xác định khơng có giải pháp cho vấn đề giới hạn độ sâu cho - DLS gọi phiên mở rộng tinh chỉnh thuật tốn DFS - Thích hợp với toán biết trước độ sâu tối đa có nhiều trạng thái đích * Ưu điểm: tránh trường hợp đường dẫn vơ hạn tìm kiếm theo độ sâu * Nhược điểm: không đầy đủ, tốn thời gian, khơng tối ưu tốn có nhiều giải pháp *Mơ tả thuật toán: - Nút bắt đầu nút thêm vào đầu ngăn xếp Sau đó, đánh dấu truy cập nút nút mục tiêu tìm kiếm, đẩy nút thứ hai lên ngăn xếp - Tiếp theo, đánh dấu thăm kiểm tra xem nút có phải nút mục tiêu hay không Nếu nút không tìm thấy nút mục tiêu ta đẩy nút lên đầu ngăn xếp Bây tìm kiếm giới hạn độ sâu di chuyển theo độ sâu để kiểm tra nút mục tiêu - Nếu nút khơng tìm thấy nút mục tiêu giới hạn độ sâu tìm thấy đạt đến ta truy xuất trở lại nút gần mà chưa khám phá chưa khám phá Sau đẩy chúng vào ngăn xếp đánh dấu chúng ghé thăm - Tiếp tục thực bước theo cách lặp lặp lại trừ đạt đến nút mục tiêu tất nút giới hạn độ sâu khám phá cho mục tiêu - Khi so sánh bước với DFS, ta thấy DLS thực cách sử dụng cấu trúc liệu hàng đợi Ngoài với cấp độ nút cần tính tốn để kiểm tra tính hữu hạn tầm với nút mục tiêu từ nút nguồn 4, Greedy Best-First Search (Greedy BFS) Thuật toán sử dụng hàm đánh giá hàm Heuristic H(n) Hàm Heuristic đánh giá chi phí để từ nút n đến nút mục đích (mục tiêu) - Ví dụ: tốn sử dụng H(n) = ước lượng khoảng cách đường thẳng từ thành phố n đến Buncharest Phương pháp xét nút gần với nút đích phát triển từ nút có ước lượng tốt - Từ hình vẽ, giả sử Arad, đường thực tế đến Sibiu = 140, điểm đích Buncharest, ước lượng từ Arad đến đích 366 - Cách hoạt động thuật toán:  Bắt đầu từu Arad: TÌm hang xóm Arad tính hàm ước lượng từ điểm tới đích  Ta thấy Sibiu có ước lượng nhỏ nhất, ta tiếp tục phát triển Sibiu  Tương tự với Fagaras * Ưu điểm: - Nhanh, độ phức tạp thời gian: O(b^m) - Một hàm heuristic tốt mang lại cải thiện lớn * Nhược điểm: - Không tối ưu - Chưa hồn chỉnh, vướng vịng lặp vơ hạn (VD: Lasi -> Neamt -> Lasi -> Neamt -> …) 5, Iterative Depth – First Search (IDFS): - Giống với DFS không mở rộng nút có độ sâu giới hạn đó, giới hạn độ sâu tăng dần tìm lời giải - Thích hợp với tốn tìm kiếm có độ sâu lớn - Tối ưu, có tính đầy đủ *Mơ tả thuật tốn: - Tương tự DFS độ sâu tìm kiếm tăng dần chưa tìm lời giải Quá trình lặp lặp lại với độ sâu 1, 2, … đến độ sâu Thuật giải: fringe cấu trúc hàng đợi, phần tử xếp theo chi phí đường Ví dụ: 6, Thuật tốn Uniform Cost Search: Khái niệm Thuật toán Uniform Cost Search (hay cịn gọi tìm kiếm chi phí cực tiểu tìm kiếm theo giá thành thống nhất, viết tắt tiếng Anh UCS) cách duyệt dùng cho việc duyệt hay tìm kiếm cây, cấu trúc cây, đồ thị có trọng lượng (chi phí) Việc tìm kiếm bắt đầu nút gốc tiếp tục cách duyệt nút với trọng lượng hay chi phí thấp tính từ nút gốc Các nút duyệt tiếp tục đến nút đích cần đến Thuật tốn - Định nghĩa: Hàng đợi ưu tiên Priority Queue cấu trúc liệu lưu trữ phần tử với độ ưu tiên lấy phần tử khỏi hàng đợi vào độ ưu tiên nhỏ Cho trạng thái n, ký hiệu g(n) tổng chi phí đường ngắn (hiện có) từ trạng thái ban đầu S đến trạng thái n Thuật toán UCS sử dụng hàng đợi ưu tiên (Priority Queue – PQ) để lưu trữ duyệt trạng thái đường Thuật toán dùng thêm danh sách CLOSE để lưu trữ trạng thái xét Mà GIẢ: - Khởi tạo: Priority Queue (PQ) rỗng, CLOSE rỗng - Đưa trạng thái ban đầu START vào PQ, độ ưu tiên g(START) = - Lấy trạng thái n (có g thấp nhất) khỏi PQ Đưa n vào CLOSE - Nếu n trạng thái đích GOAL “đã tìm thấy” Dừng thuật tốn - Nếu không, với trạng thái n’ chưa xét (n’ khơng thuộc CLOSE) n: + Tính độ ưu tiên: g(n’) = g(n) + cost(n, n’) + đưa (n’, g(n’)) vào PQ - Lặp đến PQ rỗng - Thơng báo khơng có đường từ START đến GOAL Ví dụ: Cho đồ thị, nút gốc A, duyệt tìm đường đến G với chi phí thấp Bảng mô tả bước duyệt đồ thị VI KẾT LUẬN Các heuristic việc thiết kế thuật tốn để thực tìm kiếm heuristic từ lâu quan tâm chủ yếu cơng trình nghiên cứu trí tuệ nhân tạo chơi game chứng minh định lý hai ứng dụng lâu đời nhất, hai cần đến heuristic để thu giảm bớt khơng gian giải pháp khơng thể kiểm tra hết suy luận sinh lĩnh vực toán nước có bàn cờ vua, tìm kiếm heuristic thường câu trả lời thực tế gần việc tìm kiếm hệ chuyên gia xác nhận mức độ quan trọng heuristic phần khơng thể thiếu q trình giải vấn đề TÀI LIỆU THAM KHẢO: 1, Iterative deepening depth-first search - Wikipedia 2, thuật tốn tìm kiếm greedy best-first search – Blog Lập Trình (wordpress.com) 3, Iterative Depth First Traversal of Graph - GeeksforGeeks 4, (PDF) Giải vấn đề tìm kiếm Nhập mơn trí tuệ nhân tạo | KogMaw Devil - Academia.edu 5, Uniform Cost Search | Algorithm of Uniform Cost Search (educba.com) 6, Tìm kiếm chi phí – Wikipedia tiếng Việt 7, Tìm kiếm theo chiều rộng – Wikipedia tiếng Việt 8,https://web.archive.org/web/20000528203204/http://www.geocities.com/jhey esjones/astar.html 9,https://www.educative.io/edpresso/what-is-the-a-star-algorithm ... gian Để giải vấn đề đó, phần mềm AI tìm đường ngắn đời II Tổng quan trí tuệ nhân tạo tìm đường ngắn nhất: Thế trí tuệ nhân tạo (AI) tìm đường ngắn nhất: Là việc máy tính sử dụng giải thuật sẵn... nhận định đường ngắn nhất, hiển thị lên hình thơng báo cho người dùng nắm rõ thông tin Các ứng dụng thực tiễn:  Google map sử dụng trí tuệ nhân tạo tìm đường ngắn  Các ứng dụng Be, Grab, Uber... hành xử khơng gian trạng thái giai đoạn xa 2.2 Chức Heuristic: Các chương trình giải vấn đề trí tuệ nhân tạo sử dụng Heuristic theo hai dạng: - Vấn đề khơng có giải pháp xác điều khơng rõ ràng diễn

Ngày đăng: 25/04/2021, 18:42

Xem thêm:

TỪ KHÓA LIÊN QUAN

w