You are on page 1of 67

NHẬP MÔN

TRÍ TUỆ NHÂN TẠO


Chương 2:
Không gian trạng thái và thuật toán tìm kiếm

Nội dung
 2.1 Không gian trạng thái (KGTT)

 2.2 Thuật toán cơ bản tìm kiếm trên KGTT

 2.3 Thuật toán tìm kiếm tối ưu

 2.4 Ứng dụng thuật toán tìm kiếm trong AI


Tài liệu tham khảo

[1] S. J. Russell, and P. Norvis,


Artificial Intelligence: A Modern
Approach, 3rd Edition, Pearson, 2015
Tài liệu tham khảo
[1] Hoàng Kiếm, Đinh Nguyễn
Anh Dũng, Nhập môn trí tuệ
nhân tạo, Nhà xuất bản Đại
học Quốc gia TP. Hồ Chí Minh,
2007
Khái niệm “ Giải quyết một vấn đề”
2.1 Không gian trạng thái (KGTT)
 Khái niệm:
2.1 Không gian trạng thái (KGTT)
 Ví dụ 1: Xét không gian trạng thái có u0=A, T={B}
và được miêu tả bằng đồ thị sau:

Hình 2.1 KGTT mô tả bởi đồ thị định hướng


2.1 Không gian trạng thái (KGTT)
 Ví dụ 1: Tập các toán tử
2.1 Không gian trạng thái (KGTT)
 Ví dụ 2: Trò chơi 8 ô
Trạng thái ban đầu Trạng thái đích

Hãy xây dựng KGTT để đạt được trạng


thái đích (bảng B)?
2.1 Không gian trạng thái (KGTT)
 Ví dụ 2: Biểu diễn một số trạng thái của bài toán
2.1 Không gian trạng thái (KGTT)
 Ví dụ 3: KGTT bài toán người đưa thư

Tìm được đi ngắn nhất cho người đưa thư?


2.1 Không gian trạng thái (KGTT)
 Ví dụ 3: KGTT bài toán người đưa thư
2.1 Không gian trạng thái (KGTT)
 Ví dụ 4:
2.1 Không gian trạng thái (KGTT)
 Ví dụ 4: Giải
2.1 Không gian trạng thái (KGTT)
 Ví dụ 4:
2.1 Không gian trạng thái (KGTT)
 Ví dụ 4: KGTT biểu diễn bởi đồ thị sau
2.1 Không gian trạng thái (KGTT)
 Ví dụ 4:
2.1 Không gian trạng thái (KGTT)
 Bài tập:
2.1 Không gian trạng thái (KGTT)
2.1 Không gian trạng thái (KGTT)
2.2 Thuật toán tìm kiếm trên KGTT
2.2 Thuật toán tìm kiếm trên KGTT
2.2.1 Thuật toán tìm kiếm dựa trên dữ liệu

 Tìm kiếm suy diễn tiến:


2.2 Thuật toán tìm kiếm trên KGTT
2.2.2 Thuật toán tìm kiếm dựa trên mục tiêu
 Tìm kiếm suy diễn lùi:
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng (BFS)
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
Ví dụ 5:
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
Ví dụ 5: Giải
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
Ví dụ 6:
Bài toán rót nước với bình A có dung tích 5 lít, bình B có dung
tích 4 lít, yêu cầu đong được 3 lít nước.
• Trạng thái đầu (0;0)
• Tập trạng thái đích T={(x, 3) / 0≤x≤5} ∪{(3, y) / 0≤y≤4}
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
Ví dụ 6: Giải (0,0)→(0,4)→(4,0)→(4,4)→(5,3)

(5,3)⊃T
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
Bài tập: Yêu cầu mô tả từng bước thuật toán tìm kiếm theo chiều rộng cho các bài
toán sau?
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
Ví dụ 7: Xét trò chơi 8 ô với trạng thái ban đầu là bảng
A và trạng thái đích là bảng B
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
Ví dụ 7: Giải

Kết quả: B←D←A


2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
Ưu và nhược điểm
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3 Thuật toán tìm kiếm theo chiều rộng
2.2 Thuật toán tìm kiếm trên KGTT
2.2.3.1 Thuật toán tìm kiếm theo giá trị
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu (DFS)
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
Ví dụ 8:
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
Ví dụ 9:
Bài toán rót nước với bình A có dung tích 5 lít, bình B có dung
tích 4 lít, yêu cầu đong được 3 lít nước.
• Trạng thái đầu (0;0)
• Tập trạng thái đích T={(x, 3) / 0≤x≤5} ∪{(3, y) / 0≤y≤4}
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
Ví dụ 10:
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4 Thuật toán tìm kiếm theo chiều sâu
 Đánh giá tìm kiếm theo chiều sâu
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4.1 Thuật toán tìm kiếm theo chiều sâu giới hạn
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4.1 Thuật toán tìm kiếm theo chiều sâu giới hạn
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4.2 Thuật toán tìm kiếm sâu dần
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4.2 Thuật toán tìm kiếm sâu dần
 Tìm kiếm sâu dần với d = 0; d = 1; d = 2
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4.2 Thuật toán tìm kiếm sâu dần
 Tìm kiếm sâu dần với d = 3
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4.2 Thuật toán tìm kiếm sâu dần
 Cài đặt thuật toán tìm kiếm sâu dần
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4.2 Thuật toán tìm kiếm sâu dần
2.2 Thuật toán tìm kiếm trên KGTT
2.2.4.2 Thuật toán tìm kiếm sâu dần
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
a.Quy các vấn đề về các vấn đề con
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
b.Các ví dụ
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
b.Các ví dụ
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
b.Các ví dụ
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
b.Các ví dụ
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
c.Xây dựng đồ thị và/hoặc
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
d. Ví dụ xây dựng đồ thị và/hoặc
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
d. Ví dụ xây dựng đồ thị và/hoặc
2.2 Thuật toán tìm kiếm trên KGTT
2.2.5 Thuật toán tìm kiếm trên đồ thị
e. Tìm kiếm trên đồ thị và/hoặc
e. Tìm kiếm trên đồ thị và/hoặc
e. Tìm kiếm trên đồ thị và/hoặc

You might also like