Bài giảng Các hệ thống thông minh nhân tạo và ứng dụng - Chương 4: Bài toán tìm kiếm 2

33 12 0
Bài giảng Các hệ thống thông minh nhân tạo và ứng dụng - Chương 4: Bài toán tìm kiếm 2

Đ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 Các hệ thống thông minh nhân tạo và ứng dụng - Chương 4: Bài toán tìm kiếm 2 có nội dung trình bày về heuristic, tìm kiếm tham lam, thuật giải A*, sự nới lỏng,... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

CÁC HỆ THỐNG THÔNG MINH NHÂN TẠO & ỨNG DỤNG Bài tốn tìm kiếm II THS BÙI THỊ DANH BM.KHMT, KHOA CNTT, ĐH.KHTN TP.HCM Nội dung Heuristic Tìm kiếm tham lam Thuật giải A* Sự nới lỏng Heuristic Các thuật tốn tìm kiếm mù duyệt trạng thái theo hướng, khơng sử dụng thơng tin trạng thái đích Ước lượng chi phí đến trạng thái đích Liệu có tìm đường nhanh hơn?!? Heuristic Heuristic hàm ước lượng mức độ gần trạng thái so với trạng thái đích ◦ Kí hiệu h(s), với s trạng thái Heuristic thiết kế cho tốn tìm kiếm cụ thể Một số hàm heuristic phổ biến: ◦ Khoảng cách Euclidean, Mahattan ◦… Ví dụ - Tìm đường cho Pacman Hàm h(s) hàm Euclidean Ví dụ - Tìm đường đồ Hàm h(s) khoảng cách đường chim bay Ví dụ - N-Puzzle Hàm h(s): số khác biệt puzzle… Nội dung Heuristic Tìm kiếm tham lam Thuật giải A* Sự nới lỏng Tìm kiếm tham lam (greedy search) Chiến lược duyệt: mở rộng trạng thái ước lượng gần trạng thái đích ◦ Hàm heuristic tương ứng h(s) có giá trị nhỏ Sử dụng hàng đợi ưu tiên để triển khai, với độ ưu tiên h(s) Tùy chọn: đánh dấu trạng thái xem xét ◦ Đánh dấu trạng thái lấy khỏi hàng đợi Ví dụ Goal a h=0 h=8 h=5 b h = 11 Start h = 12 d p h = 11 15 e h=8 c q h=9 h=4 f h=4 h h=6 r h=6 S = null, PQ={(Start,12)} 10 Nội dung Heuristic Tìm kiếm tham lam Thuật giải A* Sự nới lỏng 19 Thuật giải A* Ý tưởng: kết hợp thuật tốn UCS tìm kiếm tham lam UCS: chiến lược duyệt dựa theo chi phí từ trạng thái bắt đầu đến trạng thái xét, 𝑔(𝑠) Tìm kiếm tham lam: chiến lược duyệt dựa theo chi phí ước lượng từ trạng thái xét đến trạng thái cuối, ℎ(𝑠) Thuật giải A*: chiến lược duyệt dựa theo theo giá trị tổng 𝑓 𝑠 = 𝑔 𝑠 + ℎ(𝑠) Start … ℎ 𝑠 ,ước lượng s … Goal 𝑔(𝑠) 20 Thuật giải A* Khởi tạo hàng đợi ưu tiên pQueue, Đưa trạng thái bắt đầu start vào pQueue Loop If khơng cịn trạng thái để mở rộng then return “khơng có lời giải” Chọn trạng thái s đầu hàng đợi để mở rộng If s trạng thái đích then return “có lời giải” Gán nhãn cho trạng thái s Với trạng thái (s’) mở rộng từ s: If 𝑠′ không thuộc pQueue chưa gán nhãn then 𝑔 𝑠 ′ = 𝑔 𝑠 + 𝐶 𝑠, 𝑠 ′ 𝑓 𝑠 ′ = 𝑔 𝑠′ + ℎ(𝑠 ′ ) Thêm s’ vào pQueue ghi nhớ trạng thái trước s’ s If 𝑠′ thuộc pQueue gán nhãn then 𝑔 𝑠 ′ = min{𝑔 𝑠 ′ , 𝑔 𝑠 + 𝐶(𝑠, 𝑠 ′ ) f 𝑠 ′ = 𝑔 𝑠 ′ + ℎ(𝑠) If 𝑓 𝑠 ′ giảm then Ghi nhớ trạng thái trước s’ s If 𝑓 𝑠 ′ giảm s’ gán nhãn then Đưa s’ trở lại hàng đợi end 21 Thuật giải A* có tối ưu? Chi phí ước lượng cao chi phí thực  thuật tốn A* cho kết khơng tối ưu ◦ Chi phí từ s đến A 6, chi phí thực tế 22 Heuristic chấp nhận Một heuristic chấp nhận (admissible) nếu: ≤ ℎ 𝑠 ≤ ℎ∗ 𝑠 ◦ Trong đó, ℎ∗ (𝑠) chi phí thực tế nhỏ để đến đích từ s Định lý: Nếu ℎ(𝑠) heristic chấp nhận, thuật tốn A* với tìm kiếm có tính tối ưu 23 Heuristic chấp nhận Thơng thường, admissible heuristic lời giải cho tóan nới lỏng ràng buộc (relaxation), có nhiều hành động cho phép Đôi inadmissible heuristic có ích 24 Nội dung Heuristic Tìm kiếm tham lam Thuật giải A* Sự nới lỏng 25 Sự nới lỏng (relaxation) Làm để có heuristic tốt? ◦ Lý tưởng h(s) = h*(s) Điều khó giải tốn gốc ◦ Thay dùng h*(s) toán gốc, dùng h*(s) toán dễ ◦ Heuristic tốt liên quan đến mơ hình hóa, khơng phải xây dựng thuật tốn 26 Sự nới lỏng Giảm chi phí Loại bỏ ràng buộc Lời giải dạng gần Tìm kiếm dễ Các tốn độc lập 27 Lời giải dạng gần Mục tiêu: di chuyển từ hình tam giác đến hình trịn Nới lỏng: bỏ tường Bài tốn sau nới lỏng: ℎ∗ (𝑠) khoảng cách Mahattan ◦  Sử dụng ℎ∗ (𝑠) để làm heuristic 28 Tìm kiếm dễ Bài tốn gốc ◦ Trạng thái bắt đầu: thành phố ◦ Hành động walk: từ s đến s+1 ( chi phí 1) ◦ Hành động tram: từ s đến 2s (chi phí 2) ◦ Trạng thái đích: thành phố n ◦ Ràng buộc: số hành động tram không nhiều walk Trạng thái: (thành_phố, #walk - #tram) ◦ Số trạng thái từ O(n) thành O(n2) 29 Tìm kiếm dễ Giữ thơng tin tốn gốc, loại bỏ ràng buộc Trạng thái sau nới lỏng: (thành_phố) Bài toán sau nới lỏng: tìm đường từ thành phố đến thành phố n ◦ Hàm heuristic ℎ∗ (𝑠) toán nới lỏng: kết thuật toán UCS tìm đường từ trạng thái s tới trạng thái đích ngược lại 30 Bài tốn độc lập Bài tốn gốc: mảnh ghép khơng chồng lên Nới lỏng: Các mảnh ghép chồng lên Bài toán sau nới lỏng: toán độc lập ◦ Mỗi toán tương ứng với dạng gần (slide trước) ◦ Hàm heuristic hàm tổng toán 31 Nhắc lại Các toán nới lỏng sử dụng để lấy giá trị cho hàm heuristic h(s) nhằm định hướng tìm kiếm Các lời giải tốn nới lỏng khơng phải lời giải tốn gốc 32 Tài liệu tham khảo Cơ sở Trí tuệ Nhân tạo, Lê Hồi Bắc, Tơ Hồi Việt, NXB Khoa học & Kỹ thuật Slide giảng Trí tuệ nhân tạo, GV Tơ Hồi Việt, GV Lê Ngọc Thành, Khoa CNTT, ĐH KHTN TP.HCM Artificial Intelligence: A Modern Approach, 3rd Edition, S Russel and P Norvig, Pearson Education Inc., 2010 Techniques in Artificial Intelligence (SMA 5504) , MIT OpenCourseWare, Massachusetts Institute of Technology Artificial Intelligence: Principles and Techniques, Stanford courses, Autumn 2015 33 ... lại Các toán nới lỏng sử dụng để lấy giá trị cho hàm heuristic h(s) nhằm định hướng tìm kiếm Các lời giải tốn nới lỏng khơng phải lời giải toán gốc 32 Tài liệu tham khảo Cơ sở Trí tuệ Nhân tạo, ... tam giác đến hình trịn Nới lỏng: bỏ tường Bài toán sau nới lỏng: ℎ∗ (

Ngày đăng: 04/09/2021, 18:28

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

Tài liệu liên quan