Giải quyết vấn đề bằng tìm kiếm
Russell and Norvig 3rd ed., chap. 3.1-3.2
1
Các trò chơi đố!
2
Bài toán ba thầy tu và ba con quỷ
Mục tiêu: đưa tất cả người và quỷ sang bờ phải
của con sơng an tồn.
Điều kiện:
□
□
Nếu số người ở mỗi bờ ít hơn số quỷ thì người sẽ bị
quỷ ăn thịt
Mỗi lượt thuyền chỉ chở được nhiều nhất 2 người và
không được trống
3
Biểu diễn bài toán
Một biểu diễn trạng thái cho phép mơ tả trạng thái và
mục tiêu của bài tốn:
(ML, CL, B)
ML: số lượng thầy tu ở bờ trái
CL: số lượng quỷ ở bờ trái
B: vị trí của con thuyền
Trạng thái ban đầu: (3,3,L)
Mục tiêu: (0,0,R)
4
Tác nhân giải quyết bài toán
Biểu diễn bài toán
□
Các trạng thái và hành động (hàm kế vị).
Biểu diễn mục tiêu
□
Trạng thái mong muốn của thế giới.
Tìm kiếm
□
Xác định chuỗi các hành động có thể có để dẫn tới các trạng thái
đã biết giá trị và sau đó chọn chuỗi tốt nhất.
Thực thi
□
Căn cứ vào giải pháp, thực hiện các hành động.
Giả định:
□
□
Mơi trường là có thể quan sát đầy đủ, xác định trước
Tác nhân biết ảnh hưởng của các hành động của nó
5
Biểu diễn đồ thị của bài toán
Các nút: Tất cả các trạng thái có thể có
Các cạnh: có cạnh từ trạng thái u tới trạng thái v nếu v là
có thể đạt đến từ u (bằng một hành động của tác nhân)
Các cạnh của bài toán 3 thầy tu và 3 con quỷ?
Bài toán bây giờ là tìm một đường đi từ (3,3,L) tới
(0,0,R).
Thơng thường, các đường đi sẽ có thơng tin chi phí đi
kèm, do vậy bài tốn sẽ là tìm đường đi có chi phí thấp
nhất từ trạng thái ban đầu đến đích.
6
Biểu diễn vấn đề như
một bài tốn tìm kiếm
Khơng gian trạng thái S (các nút)
Hàm kế vị: các trạng thái có thể di
chuyển tới bằng cách thực hiện một
hành động (cạnh) từ trạng thái hiện
tại
Trạng thái ban đầu
Kiểm tra mục tiêu
liệu trạng thái x có phải là đích
khơng?
Chi phí
7
Quay trở lại bài toán ban đầu
CCR
31R
33L
CR
32R
CMR
22R
Các hành động (các thao tác):
CCR – chuyển hai con quỷ sang bờ phải
MCL – chuyển một thầy tu và một con quỷ sang bờ trái
Tổng cộng có bao nhiêu hành động?
Tại sao khơng có MMR từ trạng thái này?
8
Đồ thị tìm kiếm (mở rộng
một phần)
CCR
31R
CL
CCL
32L
CR
31L
32L
MCR
MR
31R
ML
33L
CCR
30R
22R
CL
33L
CR
CMR
32R
CCL
32L
33L
CR
22R
21R
Các hành động:
CCR – chuyển hai con quỷ sang bờ
phải
MCL – chuyển một thầy tu và một
con quỷ sang bờ trái
9
Các trạng thái lặp
33L
32L
30R
31R
32L
31L
31R
32R
22R
33L
33L
32L
22R
21R
Đồ thị tìm kiếm khơng nhất thiết là một cây!
10
Tìm kiếm khơng gian trạng thái
Thơng thường việc xây
dựng một biểu diễn hồn
chỉnh của đồ thị trạng
thái là khơng khả thi
(hoặc quá đắt)
Một bộ giải quyết vấn đề
phải tìm ra một giải pháp
bằng cách khám phá một
phần nhỏ của đồ thị
11
Tìm kiếm khơng gian trạng thái
Cây tìm kiếm
12
Tìm kiếm khơng gian trạng thái
Cây tìm kiếm
13
Tìm kiếm khơng gian trạng thái
Cây tìm kiếm
14
Tìm kiếm khơng gian trạng thái
Cây tìm kiếm
15
Tìm kiếm khơng gian trạng thái
Cây tìm kiếm
16
Trò chơi 8 miếng ghép
Các trạng thái?
Trạng thái ban đầu?
Các hành động?
Kiểm tra mục tiêu?
Chi phí đường đi?
17
Trị chơi 8 miếng ghép
Các trạng thái? Vị trí của mỗi quân
Trạng thái ban đầu? Bất kỳ trạng thái nào
Các hành động? (quân, hướng)
trong đó hướng là một trong {Trái, Phải, Trên, Dưới}
Kiểm tra mục tiêu? Kiểm tra liệu đã đạt được cấu hình đích hay chưa
Chi phí đường đi? Số lượng các hành động để đạt tới đích
Đồ thị tìm kiếm có phải là một cây?
18
Trò chơi (n2-1) miếng ghép
8
2
3
4
5
1
1
2
3
4
7
5
6
7
8
6
9
10
11
12
13
14
15
….
19
Trị chơi 15 miếng ghép
• Sam Loyd đã treo giải $1,000 cho người đầu tiên giải
được bài toán sau đây:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
?
1
2
3
4
5
6
7
8
9
10
11
12
13
15
14
20
Nhưng đã khơng có ai thắng giải !!
21
Tại sao?
22
Giải pháp cho bài tốn tìm kiếm
Một giải pháp là một đường đi kết nối nút ban đầu với
một nút đích (bất kỳ nút đích nào)
G
I
23
Giải pháp cho bài tốn tìm kiếm
Một giải pháp là một đường đi kết nối nút ban đầu tới
một nút đích (bất kỳ nút đích nào)
Chi phí đường đi là tổng các chi phí cung dọc theo
đường đi
Giải pháp tối ưu là đường đi giải pháp có chi phí tối thiểu
Có thể khơng có
giải pháp!
I
G
24
Chi phí đường đi
Chi phí cạnh là một số dương đại diện cho chi
phí thực hiện hành động tương ứng với cạnh, ví
dụ:
□
1 trong ví dụ trị chơi 8 miếng ghép
Chúng ta giả sử rằng với bất kỳ bài tốn nào chi
phí c của một cung ln ln thỏa mãn:
𝑐 ≥ 𝜀 > 0, trong đó 𝜀 là một hằng
□
Tại sao? Phải làm việc được với chi phí của các
đường đi dài tùy ý
25