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

Nhập môn Trí tuệ nhân tạo Tìm kiếm cơ bản

30 9 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 30
Dung lượng 2,17 MB

Nội dung

11/15/2022 VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG SCHOOL OF INFORMATION AND COMMUNICATIONS TECHNOLOGY IT3160 Nhập mơn Trí tuệ nhân tạo Artificial Intelligence PGS.TS Phạm Văn Hải & PGS.TS Lê Thanh Hương & Team AI lecturer Trường Công nghệ thông tin Truyền thông Đại Học Bách Khoa Hà Nội https://users.soict.hust.edu.vn/haipv Nội dung mơn học • Chương - Giới thiệu Trí tuệ nhân tạo • Chương - Tác tử • Chương - Giải vấn đề • Chương - Logic suy diễn • Chương - Học máy https://users.soict.hust.edu.vn/haipv 11/15/2022 Giải vấn đề tìm kiếm • Giải vấn đề tìm kiếm • Tìm chuỗi hành động cho phép đạt đến (các) trạng thái mong muốn • Các bước • Xác định mục tiêu cần đạt đến (goal formulation) • Là tập hợp trạng thái (đích) • Dựa trên: trạng thái (của môi trường) đánh giá hiệu hành động (của tác tử) • Phát biểu tốn (problem formulation) • Với mục tiêu, xác định hành động trạng thái cần xem xét • Q trình tìm kiếm (search process) • Xem xét chuỗi hành động • Chọn chuỗi hành động tốt • Giải thuật tìm kiếm • Đầu vào: tốn (cần giải quyết) • Đầu ra: giải pháp, dạng chuỗi hành động cần thực https://users.soict.hust.edu.vn/haipv https://users.soict.hust.edu.vn/haipv Tác tử giải vấn đề 11/15/2022 Giải vấn đề tìm kiếm • Một người du lịch chuyến du lịch Rumani • Anh ta thời Arad • Ngày mai, có chuyến bay khởi hành từ Bucharest • Bây giờ, cần di chuyển (lái xe) từ Arad đến Bucharest • Phát biểu mục tiêu: • Cần phải có mặt Bucharest • Phát biểu tốn: • Các trạng thái: thành phố (đi qua) • Các hành động: lái xe thành phố • Tìm kiếm giải pháp: • Chuỗi thành phố cần qua, ví dụ: Arad, Sibiu, Fagaras, Bucharest https://users.soict.hust.edu.vn/haipv Giải vấn đề tìm kiếm https://users.soict.hust.edu.vn/haipv 11/15/2022 Các kiểu tốn • Xác định, quan sát hồn tồn  Bài tốn trạng thái đơn • Tác tử biết xác trạng thái mà chuyển qua • Giải pháp tốn: chuỗi hành động • Khơng quan sát  Bài tốn thiếu cảm nhận • Tác tử khơng biết trạng thái • Giải pháp tốn: chuỗi hành động • Khơng xác định và/hoặc quan sát phần  Bài tốn có kiện ngẫu nhiên • Các nhận thức cung cấp thơng tin trạng thái • Giải pháp tốn: kế hoạch (chính sách) • Thường kết hợp đan xen giữa: tìm kiếm thực • Khơng biết khơng gian trạng thái  Bài tốn thăm dị https://users.soict.hust.edu.vn/haipv Ví dụ: Bài tốn máy hút bụi (1) • Nếu tốn trạng thái đơn • Bắt đầu trạng thái #5 • Giải pháp? https://users.soict.hust.edu.vn/haipv 11/15/2022 Ví dụ: Bài tốn máy hút bụi (2) • Nếu tốn trạng thái đơn • Bắt đầu trạng thái #5 • Giải pháp? • [Sang phải, Hút bụi] https://users.soict.hust.edu.vn/haipv Ví dụ: Bài tốn máy hút bụi (3) • Nếu tốn thiếu cảm nhận • Bắt đầu (có thể) trạng thái {#1,#2,#3,#4,#5,#6,#7,#8} • Ln bắt đầu di chuyển sang phải • Giải pháp? https://users.soict.hust.edu.vn/haipv 10 11/15/2022 Ví dụ: Bài tốn máy hút bụi (4) • Nếu tốn thiếu cảm nhận • Bắt đầu (có thể) trạng thái {#1,#2,#3,#4,#5,#6,#7,#8} • Ln bắt đầu di chuyển sang phải • Giải pháp? • [Sang phải, Hút bụi, Sang trái, Hút bụi] https://users.soict.hust.edu.vn/haipv 11 Ví dụ: Bài tốn máy hút bụi (5) • Nếu tốn có kiện ngẫu nhiên • Bắt đầu trạng thái #5 • Khơng xác định: Hút bụi làm bẩn thảm sạch! • Có thể quan sát phần: vị trí, mức độ bẩn vị trí thời • Giải pháp? https://users.soict.hust.edu.vn/haipv 12 11/15/2022 Ví dụ: Bài tốn máy hút bụi (6) • Nếu tốn có kiện ngẫu nhiên • Bắt đầu trạng thái #5 • Khơng xác định: Hút bụi làm bẩn thảm sạch! • Có thể quan sát phần: vị trí, mức độ bẩn vị trí thời • Giải pháp? • [Sang phải, if Bẩn then Hút bụi] https://users.soict.hust.edu.vn/haipv 13 Phát biểu toán trạng thái đơn Bài toán định nghĩa thành phần: • • Trạng thái đầu • Ví dụ: “đang thành phố Arad“ Các hành động – Xác định hàm chuyển trạng thái: S(trạng_thái_hiện_thời) = tập cặp • Ví dụ: S(Arad) = {, … } • Kiểm tra mục tiêu, • Chi phí đường (giải pháp) • Một giải pháp: Một chuỗi hành động cho phép dẫn từ trạng thái đầu đến trạng thái đích • Trực tiếp – ví dụ: Trạng thái thời x = “Đang thành phố Bucharest" • Gián tiếp – ví dụ: HếtCờ(x), Sạch(x), … • Ví dụ: Tổng khoảng cách, Số lượng hành động phải thực hiện,… • c(x,a,y) ≥ chi phí bước (bộ phận) – chi phí cho việc áp dụng hành động a để chuyển từ trạng thái x sang trạng thái y https://users.soict.hust.edu.vn/haipv 14 11/15/2022 Xác định không gian trạng thái • Các tốn thực tế thường mô tả phức tạp  Không gian trạng thái cần khái quát (abstracted) để phục vụ cho việc giải tốn • Trạng thái (khái qt) = Một tập trạng thái thực tế • Hành động (khái quát) = Một kết hợp phức tạp hành động thực tế • Ví dụ: Hành động "Arad  Zerind" biểu diễn tập kết hợp đường, đường vịng, chỗ nghỉ, … • Để đảm bảo việc thực (quá trình tìm kiếm), trạng thái thực tế phải đạt đến từ trạng thái thực tế khác • Giải pháp (khái quát) = Một tập đường giải pháp thực tế https://users.soict.hust.edu.vn/haipv 15 Đồ thị không gian trạng thái (1) • • • • Các trạng thái? Các hành động? Kiểm tra mục tiêu? Chi phí đường đi? Bài tốn máy hút bụi https://users.soict.hust.edu.vn/haipv 16 11/15/2022 Đồ thị không gian trạng thái (2) • • • • Các trạng thái? Chỗ bẩn vị trí máy hút bụi Các hành động? Sang trái, sang phải, hút bụi, không làm Kiểm tra mục tiêu? Khơng cịn chỗ (vị trí) bẩn Chi phí đường đi? (mỗi hành động), (khơng làm cả) Bài tốn máy hút bụi https://users.soict.hust.edu.vn/haipv 17 Biểu diễn đồ thị B C A C cha C B tổ tiên C cháu A https://users.soict.hust.edu.vn/haipv 18 11/15/2022 Đồ thị tìm kiếm  Cây tìm kiếm • Các tốn tìm kiếm đồ thị chuyển thành tốn tìm kiếm • Thay liên kết (cạnh) vơ hướng liên kết (cạnh) có hướng • Loại bỏ vòng lặp tồn đồ thị (để tránh không duyệt lần nút đường nào) 19 https://users.soict.hust.edu.vn/haipv Các giải thuật tìm kiếm theo cấu trúc • Ý tưởng: n0 • Khám phá (xét) khơng gian trạng thái cách sinh trạng thái trạng thái khám phá (đã xét) • Cịn gọi phương pháp khai triển (phát triển) trạng thái n Goal https://users.soict.hust.edu.vn/haipv successors(n) 20 10 11/15/2022 BFS – Ví dụ (1) • Phát triển nút chưa xét theo chiều rộng – Các nút xét theo thứ tự độ sâu tăng dần https://users.soict.hust.edu.vn/haipv 31 BFS – Ví dụ (2) • Phát triển nút chưa xét theo chiều rộng – Các nút xét theo thứ tự độ sâu tăng dần https://users.soict.hust.edu.vn/haipv 32 16 11/15/2022 BFS – Ví dụ (3) • Phát triển nút chưa xét theo chiều rộng – Các nút xét theo thứ tự độ sâu tăng dần https://users.soict.hust.edu.vn/haipv 33 BFS – Ví dụ (4) • Phát triển nút chưa xét theo chiều rộng – Các nút xét theo thứ tự độ sâu tăng dần https://users.soict.hust.edu.vn/haipv 34 17 11/15/2022 BFS – Các đặc điểm • Tính hồn chỉnh? • Có (nếu b hữu hạn) • Độ phức tạp thời gian? • 1+b+b2+b3+… +bd = O(bd+1) • Độ phức tạp nhớ? • O(bd+1) – Lưu tất nút nhớ) • Tính tối ưu? • Có (nếu chi phí =1 cho bước) https://users.soict.hust.edu.vn/haipv 35 Tìm kiếm với chi phí cực tiểu (UCS) • Phát triển nút chưa xét có chi phí thấp – Các nút xét theo thứ tự chi phí (từ nút gốc đến nút xét) tăng dần • Cài đặt: • fringe cấu trúc hàng đợi, phần tử xếp theo chi phí đường • Trở thành phương pháp tìm kiếm theo chiều rộng, chi phí bước (mỗi cạnh tìm kiếm) https://users.soict.hust.edu.vn/haipv 36 18 11/15/2022 UCS: Giải thuật UCS (N, A, n0, ĐICH, c) { fringe  n0; closed  ; while (fringe  ) { n  GET_LOWEST_COST(fringe); // lấy phần tử có chi phí // đường c(n) nhỏ closed  closed  n; if (n  ĐICH) then return SOLUTION(n); if ((n)  ) then fringe  fringe  (n); } return (“No solution”); } https://users.soict.hust.edu.vn/haipv 37 UCS: Các đặc điểm • Tính hồn chỉnh? • Có (nếu chi phí bước ≥ ε > 0) • Độ phức tạp thời gian? • Phụ thuộc vào tổng số nút có chi phí ≤ chi phí lời giải tối ưu: O(bC*/ ε), C* chi phí lời giải tối ưu • Độ phức tạp nhớ? • Phụ thuộc vào tổng số nút có chi phí ≤ chi phí lời giải tối ưu: O(bC*/ ε) • Tính tối ưu? • Có (nếu nút xét theo thứ tự tăng dần chi phí g(n)) https://users.soict.hust.edu.vn/haipv 38 19 11/15/2022 Tìm kiếm theo chiều sâu (DFS) • Phát triển nút chưa xét theo chiều sâu – Các nút xét theo thứ tự độ sâu giảm dần • Cài đặt: • fringe cấu trúc kiểu ngăn xếp LIFO (Các nút bổ sung vào đầu fringe) https://users.soict.hust.edu.vn/haipv 39 DFS: Giải thuật DFS (N, A, n0, ĐICH) { fringe  n0; closed  ; while (fringe  ) { n  GET_FIRST(fringe); // lấy phần tử fringe closed  closed  n; if (n  ĐICH) then return SOLUTION(n); if ((n)  ) then fringe  (n)  fringe; } return (“No solution”); } https://users.soict.hust.edu.vn/haipv 40 20 11/15/2022 DFS: Ví dụ (1) • Phát triển nút chưa xét theo chiều sâu – Các nút xét theo thứ tự độ sâu giảm dần https://users.soict.hust.edu.vn/haipv 41 DFS: Ví dụ (2) • Phát triển nút chưa xét theo chiều sâu – Các nút xét theo thứ tự độ sâu giảm dần https://users.soict.hust.edu.vn/haipv 42 21 11/15/2022 DFS: Ví dụ (3) • Phát triển nút chưa xét theo chiều sâu – Các nút xét theo thứ tự độ sâu giảm dần https://users.soict.hust.edu.vn/haipv 43 DFS: Ví dụ (4) • Phát triển nút chưa xét theo chiều sâu – Các nút xét theo thứ tự độ sâu giảm dần https://users.soict.hust.edu.vn/haipv 44 22 11/15/2022 DFS: Ví dụ (5) • Phát triển nút chưa xét theo chiều sâu – Các nút xét theo thứ tự độ sâu giảm dần https://users.soict.hust.edu.vn/haipv 45 DFS: Ví dụ (6) • Phát triển nút chưa xét theo chiều sâu – Các nút xét theo thứ tự độ sâu giảm dần https://users.soict.hust.edu.vn/haipv 46 23 11/15/2022 DFS: Các đặc điểm • Tính hồn chỉnh? • Khơng – Thất bại (khơng tìm lời giải) khơng gian trạng thái có độ sâu vơ hạn, khơng gian trạng thái chứa vịng lặp trạng thái • Đề cử: Sửa đổi để tránh việc trạng thái bị lặp lại (bị xét lại) theo đường tìm kiếm •  Đạt tính hồn chỉnh khơng gian trạng thái hữu hạn • Độ phức tạp thời gian? • O(bm): lớn, m lớn nhiều so với d • Độ phức tạp nhớ? • O(bm) - độ phức tạp tuyến tính • Tính tối ưu? • Khơng https://users.soict.hust.edu.vn/haipv 47 Tìm kiếm giới hạn độ sâu (DLS) = Phương pháp tìm kiếm theo chiều sâu (DFS) + Sử dụng giới hạn độ sâu l trình tìm kiếm  nút độ sâu l khơng có nút https://users.soict.hust.edu.vn/haipv 48 24 11/15/2022 Tìm kiếm sâu dần (IDS) • Vấn đề với giải thuật tìm kiếm với giới hạn độ sâu (DLS) • Nếu tất lời giải (các nút đích) nằm độ sâu lớn giới hạn độ sâu l, giải thuật DLS thất bại (khơng tìm lời giải) • Giải thuật tìm kiếm sâu dần • Áp dụng giải thuật DFS đường (trong cây) có độ dài

Ngày đăng: 19/12/2022, 15:58

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

TÀI LIỆU LIÊN QUAN