Professional Documents
Culture Documents
Chapter 2 1 PhanTichAI
Chapter 2 1 PhanTichAI
Chapter 2 1 PhanTichAI
--------
CHƯƠNG 2
9 lít
4 lít
a b
Cho 2 bình rỗng 9 lít và 4 lít, không có vạch chia, và 1 vòi bơm.
Làm cách nào đong được 6 lít nước?
4
Ví dụ: Bài toán đong nước
a b
Start 0 0
1 9 0
2 5 4
9 lít
4 lít
3 5 0
4 1 4 a b
5 1 0
6 0 1
6 lít
7 9 1
8 6 4 Goal 5
Không gian trạng thái (KGTT)
▪ Một trong những cách để giải quyết các bài toán TTNT là sử
dụng Không gian trạng thái (KGTT) để biểu diễn tri thức
▪ Biểu diễn KGTT là gì?
▪ KGTT bao gồm các trạng thái, kết nối với nhau bằng các
hành động
▪ Từ một trạng thái ban đầu, một hành động có thể chuyển
trạng thái đó sang một trạng thái khác
6
Không gian trạng thái (KGTT)
– Chi phí
6 lít
8
Ví dụ: Bài toán đong nước
■ Xác định các thành phần của bài toán:
– Tập trạng thái: số lượng nước có ở bình
9 lít và bình 4 lít lần lượt là x và y (0 <= x
9 lít
<= 9 và 0 <= y <= 4) 4 lít
– Trạng thái đầu: (0, 0)
a b
– Trạng thái đích: (6, _)
– Các thao tác : đong đầy bình (từ vòi,
hoặc từ bình còn lại), làm rỗng bình 6 lít
■ Mục tiêu tìm chuỗi các hành động, một số bài toán
sử dụng phương pháp tìm kiếm
⮚ Puzzles – xếp ô số
⮚ Games – trò chơi
⮚ Navigation – dẫn đường
⮚ Motion planning – kế hoạch chuyển động
⮚ Scheduling – lập lịch biểu
⮚ Routing – tìm đường
AI – Giải quyết vấn đề bằng tìm kiếm
Biểu diễn bài toán trên KGTT
13
Ví dụ: Trò chơi Tic-tac-toe
■ Phân tích:
o Các trạng thái: mỗi lượt đi sẽ tạo
nên 1 trạng thái mới
o Các hành động: đi X hoặc O
o Mục tiêu: dãy 3 ký hiệu giống nhau
(ngang, dọc hoặc chéo)
o Chi phí: 1 (mỗi lượt đi)
14
Biểu diễn bài toán trên KGTT
15
Ví dụ: Trò chơi 8 ô số (8-Puzzle)
16
Ví dụ: Trò chơi 8 ô số (8-Puzzle)
■ Phân tích:
o Các trạng thái: vị trí khác nhau của các ô số
o Các hành động: di chuyển ô trống sang trái
phải, lên, xuống
o Trạng thái đầu: Start state
o Mục tiêu: Goal state
o Chi phí đường đi: 1 (mỗi lần di chuyển)
17
Biểu diễn bài toán trên KGTT
18
Ví dụ: Bài toán 8 quân hậu
Phương pháp 3
■ Trạng thái:
– Bàn cờ và vị trí của cả 8 quân hậu, mỗi quân trên một cột.
■ Phép toán:
– Di chuyển 1 quân hậu bị khống chế qua một ô khác trong
cùng một cột.
■ Hàm kiểm tra mục tiêu:
– Có quân hậu nào còn bị khống chế không
Giải quyết bài toán bằng tìm kiếm
23
Giải pháp cho các bài toán
▪ Biểu diễn bài toán trên KGTT để thực hiện tìm kiếm
▪ Các bước xây dựng KGTT:
o Bắt đầu từ một trạng thái đã cho (trạng thái ban đầu)
o Kiểm tra xem có phải là trạng thái đích
o Mở rộng 1 trong các trạng thái
o Nếu có nhiều khả năng, chọn 1 khả năng nào đó
o Quy trình: chọn, kiểm tra và mở rộng đến khi tìm ra giải pháp hoặc
không thể tiếp tục mở rộng => quy trình xây dựng cây tìm kiếm
▪ Tập các trạng thái được mở rộng sẽ có nhiều lựa chọn, việc chọn
trạng thái nào để mở rộng được gọi là chiến lược tìm kiếm
24
Giải quyết bài toán bằng tìm kiếm
25
Các kỹ thuật tìm kiếm
26
Đánh giá phương pháp tìm kiếm
• Phương pháp tìm kiếm xác định thứ tự triển khai của các đỉnh
trong cây tìm kiếm
• Các giải thuật tìm kiếm thường được đánh giá dựa trên 4 tiêu chí
sau:
• Tính trọn vẹn: Liệu nó luôn tìm ra nghiệm không nếu bài toán tồn tại
nghiệm.
• Độ phức tạp thời gian: giải thuật có mất nhiều thời gian không?
• Độ phức tạp không gian: yêu cầu bộ nhớ lưu trữ?
• Tính tối ưu: Giải thuật có đảm bảo tìm ra nghiệm với hàm chi phí ít nhất
không?
27
Xác định không gian trạng thái của bài toán sau:
Một con robot hút bụi cần
dọn dẹp bụi tại phòng A
hoặc B. Ban đầu, giả sử con
robot đang ở phòng A, hãy
định nghĩa không gian trạng
thái để giải quyết bài toán
làm sao con robot có thể hút
hết tất cả bụi ở cả hai phòng.
Node?
Start?
Goal State?
Operators?
Cost?
Xác định không gian trạng thái của bài toán sau:
Node?
Start?
Goal State?
Operators?
Cost?
Xác định không gian trạng thái của bài toán sau:
Một bình 12 lít đựng đầy nước, có 2
bình rỗng có thể chứa 8 lít và 5 lít. Hãy
thực hiện đong nước qua lại giữa các
bình sao cho được 6 lít nước.
Biết rằng, các bình này không có vạch
chia độ và không được bơm nước ra
ngoài.
Node: tập trạng thái mô tả lượng nước ở lần lượt 3 bình 12l, 8l và 5l có
thể định nghĩa bằng 3 giá trị x, y và z (0 <= x <= 12, 0 <= y <= 8, 0 <= z
<= 5)
Start: (12, 0, 0)
Goal State: (6, _, _) hoặc (_, 6, _)
Operators: đổ đầy bình, làm rỗng bình, đổ từ bình này sang bình khác
Cost: 1 cho mỗi hành động
Xác định không gian trạng thái của bài toán sau:
Ba vị thầy tu đang trên đường hành
khất thì gặp một con sông. Ở đó
chỉ có một chiếc thuyền và 3 con
quỷ đang đứng chờ sẵn. Nhưng
những con quỷ này rất nhát gan.
Lũ quỷ chỉ dám ăn thịt thầy tu khi
số lượng của chúng nhiều hơn số
thầy tu. Nhiệm vụ của các bạn là
đưa cả 3 thầy tu và 3 con quỷ sang
Node? sông mà các thầy tu vẫn an toàn.
Biết rằng thuyền chỉ trở được tối
Start?
đa 2 người (Cả thầy tu và quỷ). Nếu
Goal State? số quỷ trên bờ nhiều hơn số thầy
Operators? tu trên bờ, thầy tu đó sẽ bị ăn thịt.
Cost?
Xác định không gian trạng thái của bài toán sau:
Ba vị thầy tu đang trên đường hành khất
thì gặp một con sông. Ở đó chỉ có một
chiếc thuyền và 3 con quỷ đang đứng
chờ sẵn. Nhưng những con quỷ này rất
nhát gan. Lũ quỷ chỉ dám ăn thịt thầy tu
khi số lượng của chúng nhiều hơn số
thầy tu. Nhiệm vụ của các bạn là đưa cả
3 thầy tu và 3 con quỷ sang sông mà các
thầy tu vẫn an toàn.
Biết rằng thuyền chỉ trở được tối đa 2
người (Cả thầy tu và quỷ). Nếu số quỷ
Node: tập mô tả gồm (số lượng thầy tu bên
trên bờ nhiều hơn số thầy tu trên bờ,
bờ phải, số lượng quỷ bên bờ phải, thầy tu đó sẽ bị ăn thịt.
vị trí thuyền)
Start: (3, 3, “R”)
Goal State: (0, 0, “L”)
Operators: thuyền sang phải hoặc trái, thuyền chở thầy tu hoặc quỷ với điều kiện số
lượng quỷ phải nhỏ hơn hoặc bằng số lượng thầy tu ở bất cứ bờ nào
Cost: 1 cho mỗi hành động
Xác định không gian trạng thái của bài toán sau:
Vật Một bài toán tìm đường đi đơn giản
cản
trên bản đồ có kích thước 5x5 như
hình bên. Ban đầu, vị trí xuất phát là S,
thực hiện di chuyển trên bản đồ để đến
được D với điều kiện là chỉ đi qua
những ô không phải vật cản.
Node?
Start?
Goal State?
Operators?
Cost?
Xác định không gian trạng thái của bài toán sau:
Vật Một bài toán tìm đường đi đơn giản
cản
trên bản đồ có kích thước 5x5 như
hình bên. Ban đầu, vị trí xuất phát là S,
thực hiện di chuyển trên bản đồ để đến
được D với điều kiện là chỉ đi qua
những ô không phải vật cản.
Node: vị trí trên ma trận lưu trữ mê cung (x,y), ma trận được lưu
trữ có gán trọng số (1: có thể đi, -1 là vật cản)
Start: (0, 0)
Goal State: (4, 4)
Operators: di chuyển sang trái, phải, lên, xuống
Cost: 1 cho mỗi lần di chuyển
38