Professional Documents
Culture Documents
04 Tomluoc3 Nguyenlyheuristic 0834 PDF
04 Tomluoc3 Nguyenlyheuristic 0834 PDF
Phần này mở rộng khái niệm heuristic cho một số bài toán tìm kiếm khác. Các thuật toán tìm
kiếm UCS, tìm kiếm tốt nhất và A* thực hiện chiến lược vét cạn trên không gian tìm kiếm để
tìm lời giải. Chiến lược này bảo đảm tìm được đường đi (tối ưu) nhưng phải duyệt nhiều
trạng thái, đặc biệt khi bài toán có độ sâu lời giải lớn. Các bài toán dưới đây áp dụng các
chiến lược tìm kiếm heuristic (cố gắng đưa ra lời giải tốt tại mỗi bước thực hiện) và không
quay lui. Do đó các thuật toán này không phải vét cạn không gian tìm kiếm và chỉ ra được
những lời giải “đủ tốt”.
1
6 1 ∞ 1 3 5 6
1 ∞ 5 3 4
5 2
5 4 3 3 5 ∞ 1 2
2 3
2 5 5 3 1 ∞ 2
6 4 2 2 ∞
4 1 3
Lời giải tốt nhất của bài toán đạt được bằng cách so sánh tất cả các trường hợp đường đi
có thể có. Số trường hợp có thể có chính là một sắp xếp hoán vị của N thành phố hay nói
cách khác không gian tìm kiếm của bài toán có kích thước N! lời giải. Việc tìm kiếm trên
không gian trạng thái là không khả thi do số trường hợp là khổng lồ (ví dụ, N=25 thì N! =
25! 1025 trạng thái). Áp dụng nguyên lý heuristic, ta có thể đạt được những thuật toán đơn
giản với lời giải đủ tốt như sau.
Với mỗi bước lặp: Chọn (v,w) là cạnh có chi phí nhỏ nhất tính từ v đến các đỉnh chưa
sử dụng w.
1
Gán TOUR = TOUR + {(v,w)}, COST = COST + C(v,w).
Sử dụng đỉnh w cho bước kế tiếp: v = w.
[Hoàn thành]: Gán TOUR = TOUR + {(v,1)}, COST = COST + C(v,1).
Áp dụng GTS 1 với ví dụ trên:
[Khởi đầu]:
- Chọn w = ___: TOUR =
- Chọn w = ___:
- Chọn w = ___:
- Chọn w = ___:
[Hoàn thành]:
Chu trình:
Chu trình:
Chọn xuất phát là ___:
Chu trình:
Chọn xuất phát là ___:
Chu trình:
Vậy lời giải tốt nhất của bài toán là _____ với chu trình:
2
Xét ví dụ: Cho 3 máy M1, M2, M3 và 6 công việc với thời gian thực hiện tương ứng: T1 =
2, T2 = 5, T3 = 8, T4 = 1, T5 = 5, T6 = 1. Hãy bố trí công việc vào các máy sao cho thời gian
thực hiện là thấp nhất.
Thứ tự các công việc sắp xếp theo thời gian
Công việc
Thời gian
Phân công:
M1
M2
M3
1.3 Bài toán thoả mãn ràng buộc – Thuật toán tô màu
1.3.1 Phát biểu
Trong bài toán thoả mãn ràng buộc, ta cần xác định các gán giá trị cho một tập đỉnh sao cho
việc gán giá trị này thoả mãn một điều kiện cho trước. Một ví dụ tiêu biểu là bài toán tô màu:
cho bản đồ các quốc gia trong một khu vực, xác định cách tô màu cho các quốc gia sao cho
hai quốc gia láng giềng được tô bằng hai màu khác nhau và tổng số màu tô là thấp nhất.
Hình là đồ thị biểu diễn các nước láng giềng của Việt Nam.
3
Thuật toán tô màu trên đồ thị dựa vào số bậc (ràng buộc)
Đếm bậc các đỉnh và Lặp lại các bước sau cho đến khi bậc của tất cả các đỉnh bằng 0 và
các đỉnh đã được tô màu:
Bước 1: Tô màu i cho đỉnh có bậc lớn nhất
Bước 2: Hạ bậc.
+ Bậc của đỉnh được tô màu i thì: Bậc = 0
+ Bậc của đỉnh có liên hệ với đỉnh được tô màu i thì: Bậc= Bậc -1
Bước 3: Cấm tô màu i cho các đỉnh vừa bị hạ bậc.
Với ví dụ tô màu cho các nước ở trên, các bước thực hiện của thuật toán như sau:
Xác định bậc của các đỉnh
Đỉnh TQ VN LAO MIA THAI CAM PHI MAL BRU SING INDO
Bậc
Tô màu:
Đỉnh TQ VN LAO MIA THAI CAM PHI MAL BRU SING INDO
Bậc
Màu
Bậc
Màu
Bậc
Màu
Bậc
Màu
Bậc
Màu