PowerPoint Presentation Tìm kiếm có thông tin (informed search) Ngô Xuân Bách Học viện Công nghệ Bưu chính Viễn thông Khoa Công nghệ thông tin 1 Nhập môn trí tuệ nhân tạo Tìm kiếm mù & Tìm kiếm có thô[.]
Học viện Cơng nghệ Bưu Viễn thơng Khoa Cơng nghệ thơng tin Nhập mơn trí tuệ nhân tạo Tìm kiếm có thơng tin (informed search) Ngơ Xn Bách Tìm kiếm mù & Tìm kiếm có thơng tin Tìm kiếm mù o o o Mở rộng nút tìm kiếm theo quy luật có trước, khơng dựa vào thơng tin hỗ trợ tốn Di chuyển khơng gian trạng thái khơng có định hướng, phải xem xét nhiều trạng thái Không phù hợp tốn có khơng gian trạng thái lớn Tìm kiếm có thơng tin o o Sử dụng thơng tin phụ từ tốn để định hướng tìm kiếm Sử dụng hàm 𝑓(𝑛) đánh giá độ “tốt” tiềm nút 𝑛, từ chọn nút tốt để mở rộng trước ▪ ▪ Tìm kiếm tốt (best-first search) Xây dựng hàm 𝑓(𝑛) nào? http://www.ptit.edu.vn Nội dung Tìm kiếm tham lam (greedy search) Thuật toán A* Các hàm heuristic Thuật toán A* sâu dần (IDA*) http://www.ptit.edu.vn Ví dụ đồ thị cho tốn tìm kiếm http://www.ptit.edu.vn Tìm kiếm tham lam Phương pháp: mở rộng nút có giá thành đường tới đích nhỏ trước o o 𝑓 𝑛 = ℎ(𝑛): hàm heuristic ước lượng giá thành đường từ 𝑛 tới đích Ví dụ: ℎ(𝑛) = đường chim bay từ 𝑛 tới đích “Tham lam”: Chọn nút trơng tốt để mở rộng, khơng quan tâm tới tương lai http://www.ptit.edu.vn Ví dụ tìm kiếm tham lam (1/4) S 125 http://www.ptit.edu.vn Ví dụ tìm kiếm tham lam (2/4) Mở rộng S S A B C E 123 82 118 72 http://www.ptit.edu.vn Ví dụ tìm kiếm tham lam (3/4) Mở rộng S Mở rộng E S A B C 123 82 118 E D G 115 http://www.ptit.edu.vn Ví dụ tìm kiếm tham lam (4/4) Mở rộng S Mở rộng E S A B C 123 82 118 Mở rộng G: Đích E D G 115 http://www.ptit.edu.vn Tính chất tìm kiếm tham lam Đầy đủ? o Tối ưu? o Không Thời gian? o o Khơng (có thể tạo thành vịng lặp, có nhánh gồm vơ hạn nút có giá trị hàm h nhỏ khơng dẫn tới đích) 𝑂(𝑏𝑚 ) Nếu hàm heuristic tốt, thuật tốn nhanh nhiều Bộ nhớ? o 𝑂(𝑏𝑚 ): lưu tất nút nhớ o Nếu hàm heuristic tốt, số nút cần lưu giảm nhiều 10 http://www.ptit.edu.vn Ví dụ thuật tốn A* (4/5) Mở rộng S Mở rộng B S A B 55+123=178 Mở rộng F C E 48+118=166 72+72=144 F G 137+0=137 17 http://www.ptit.edu.vn Ví dụ thuật toán A* (5/5) Mở rộng S S Mở rộng B A B 55+123=178 Mở rộng F F Mở rộng G: Đích G 18 C E 48+118=166 72+72=144 137 http://www.ptit.edu.vn Thuật toán A* 𝐴 ∗ (𝑄, 𝑆, 𝐺, 𝑃, 𝑐, ℎ) (𝑄: không gian trạng thái, 𝑆: trạng thái bắt đầu, 𝐺: đích, 𝑃: hành động, c: giá, h: heuristic) Đầu vào: tốn tìm kiếm, hàm heuristic ℎ Đầu ra: đường tới nút đích Khởi tạo: tập nút biên (nút mở) 𝑂 = 𝑆 while (𝑂 ≠ Ø) lấy nút 𝑛 có 𝑓(𝑛) nhỏ khỏi 𝑂 if 𝑛 ∈ 𝐺, return (đường tới 𝑛) với 𝑚 ∈ 𝑃(𝑛) a) 𝑔(𝑚) = 𝑔(𝑛) + 𝑐(𝑛, 𝑚) b) 𝑓(𝑚) = 𝑔(𝑚) + ℎ(𝑚) c) thêm 𝑚 vào 𝑂 với giá trị 𝑓(𝑚) return khơng tìm đường 19 http://www.ptit.edu.vn Tính chất thuật toán A* Đầy đủ? o Tối ưu? o Có (nếu hàm heuristic chấp nhận được) Thời gian? o o Có (trừ có vơ số nút 𝑛 với 𝑓(𝑛) ≤ 𝑓(𝐺)) 𝑂(𝑏𝑚 ) Nếu hàm heuristic tốt, thuật tốn nhanh nhiều Bộ nhớ? o 𝑂(𝑏𝑚 ): lưu tất nút nhớ o Nếu hàm heuristic tốt, số nút cần mở rộng có thểm giảm nhiều 20 http://www.ptit.edu.vn .. .Tìm kiếm mù & Tìm kiếm có thơng tin Tìm kiếm mù o o o Mở rộng nút tìm kiếm theo quy luật có trước, khơng dựa vào thơng tin hỗ trợ tốn Di chuyển khơng gian trạng thái khơng có định hướng,... http://www.ptit.edu.vn Ví dụ tìm kiếm tham lam (1/4) S 125 http://www.ptit.edu.vn Ví dụ tìm kiếm tham lam (2/ 4) Mở rộng S S A B C E 123 82 118 72 http://www.ptit.edu.vn Ví dụ tìm kiếm tham lam (3/4) Mở... http://www.ptit.edu.vn Ví dụ thuật tốn A* (1/5) S 0+ 125 = 125 14 http://www.ptit.edu.vn Ví dụ thuật tốn A* (2/ 5) Mở rộng S S A 55+ 123 =178 15 B 42+ 82= 124 C E 48+118=166 72+ 72= 144 http://www.ptit.edu.vn Ví dụ thuật