Professional Documents
Culture Documents
Section 4
Section 4
2.
2.Phương
Phươngpháp
pháp“Tham
“Thamlam“
lam“
3.
3.Cơ
Cơsở
sởlý
lýthuyết
thuyếtcủa
củaTham
Tham lam
lam
2
1. Bài toán “Chọn hoạt động”
S = {a1,a2,..,an} : tập các hoạt động muốn sử dụng
tài nguyên (ví dụ: một hội trường)
Hoạt động ai (i=1..n) chiếm tài nguyên: [si, fi)
(si: thời điểm bắt đầu, fi: thời điểm kết thúc)
Hai hoạt động ai và aj “tương thích” lẫn nhau nếu
[si,fi) và [si,fj) không chồng lên nhau
Một tập S’ S được gọi là “tương thích” nếu các
hoạt động của S’ đôi một tương thích.
1 2 3 4 5 6 7 8 9 10 11
si 1 3 0 5 3 5 6 8 8 2 12
fi 4 5 6 7 8 9 10 11 12 13 14
4
1. Bài toán “Chọn hoạt động” (3)
Các bước thực hiện:
1.
1. Quy
Quy hoạch
hoạch động
động 2.
2. Tham
Tham lam
lam 3.
3. Đệ
Đệ quy
quy 3.
3. Khử
Khử Đệ
Đệ quy
quy
5
1. Bài toán “Chọn hoạt động” (4)
1.
1. Quy
Quy hoạch
hoạch động
động 2.
2. Tham
Tham lam
lam 3.
3. Đệ
Đệ quy
quy 3.
3. Khử
Khử Đệ
Đệ quy
quy
Giải pháp: chia bài toán Aij thành 2 bài toán con Aik và Akj
Aij = Aik {ak} Akj
Bài toán ban đầu: A0,n+1
6
1. Bài toán “Chọn hoạt động” (5)
1.
1. Quy
Quy hoạch
hoạch động
động 2.
2. Tham
Tham lam
lam 3.
3. Đệ
Đệ quy
quy 3.
3. Khử
Khử Đệ
Đệ quy
quy
7
amk
Sij: bài toán khác rỗng. Nếu amSij mà fm=min {fk | akSij} thì:
1. am được sử dụng trong tập con tương thích lớn nhất nào đó của
Sij
2. Sim= nếu chọn am thì chỉ còn duy nhất bài toán khác rỗng Smj
Aij
ak Sij
am
A’ij
8
1. Bài toán “Chọn hoạt động” (7)
1.
1. Quy
Quy hoạch
hoạch động
động 2.
2. Tham
Tham lam
lam 3.
3. Đệ
Đệ quy
quy 3.
3. Khử
Khử Đệ
Đệ quy
quy
RecusiveActivitySelector(s,f,i,j) {
mi+1
while (m<j) and (sm<fi) do m m+1
if (m<j) then return {am}RecursiveActivitySelector(s,f,m,j)
else return
}
•Vào: - 2 mảng s và f (thời điểm bắt đầu và kết thúc của các hoạt động)
-2 chỉ số i và j biểu thị bài toán con Sij
9
1. Bài toán “Chọn hoạt động” (8)
1.
1. Quy
Quy hoạch
hoạch động
động 2.
2. Tham
Tham lam
lam 3.
3. Đệ
Đệ quy
quy 3.
3. Khử
Khử Đệ
Đệ quy
quy
GreedyAcrivitySelector(s,f) {
nlength(s)
A {a1}
i 1
for m 1 to n do
if sm>fi then {
A A{am}
i m
}
return A
}
10
1.
k s f
Bài toán “Chọn
Minh họa:
hoạt động” (9)
k k
0 - 0 a0
1 1 4 a1 RAS(s,f, 0,12)
a0 m=1
2
3
4 3
0
5 5
6
7 a3 a2 a4 RAS(s,f, 1,12)
a1 m=4
5
6
8
7 3
5
8
6 8
9
11
10
a5 a6 a7 a8
12 -
a1 a4 a8 a11
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t
11
2. Phương pháp “Tham lam”
Tiến trình thực hiện phương pháp Tham lam
1. Xác định cấu trúc con tối ưu
2. Xây dựng giải pháp đệ quy
3. Chứng minh: tại mỗi bước đệ qui, lựa chọn Tham
lam là một trong những lựa chọn cho kết quả tối
ưu
4. Chỉ ra: sau lỗi lựa chọn Tham lam, một trong
những bài toán con sẽ rỗng
5. Xây dựng giải pháp đệ quy cho chiến lược Tham
lam
6. Khử đệ quy
12
2. Phương pháp “Tham lam” (2)
Một cách tổng quát, thực hiện phương pháp Tham
lam qua các bước:
1.Tìm lựa chọn sao cho các bước tiếp theo chỉ
việc giải quyết một bài toán con
2.Chứng minh: với sự lựa chọn Tham lam tại mỗi
bước luôn tìm được 1 giải pháp tối ưu (cho bài
toán ban đầu)
3.Chỉ ra: với sự lựa chọn Tham lam tại mỗi bước
giải pháp tối ưu của bài toán con còn lại kết
hợp với sự lựa chọn Tham lam này sẽ đi đến một
giải pháp tối ưu (cho bài toán ban đầu)
13
2. Phương pháp “Tham lam” (3)
Hai đặc tính quan trọng của phương pháp Tham lam:
14
3. Cơ sở lý thuyết
15
3.
Định nghĩa 1:
Cơ sở lý thuyết (2)
Một matroid mà một bộ 2 có thứ tự M=(S,), thỏa mãn:
– S là một tập hữu hạn khác rỗng
– là một họ khác rỗng các tập con (độc lập) của S, thỏa mãn: nếu
B và AB thì A (ta nói là di truyền)
– M thỏa mãn tính chất trao đổi (exchange) nếu A, B và |A|<|B| thì
xB-A mà A{x}
Ví dụ:
• Matroid ma trận M=(S,). S là tập các hàng của ma trận. là
họ các tập con của S mà các hàng trong mỗi tập con này độc
lập tuyến tính.
• Matroid đồ thị MG=(SG,G). G=(V,E) là đồ thị vô hướng. SG là
tập các cạnh của đồ thị G. AG A không chứa chu trình
16
Định lý 1:
3. Cơ sở lý thuyết (3)
Nếu G=(V,E) là một đồ thị vô hướng thì MG=(SG,G) là một matroid.
Chứng minh:
1. SG=E là một tập hữu hạn khác rỗng
2. G là di truyền vì một tập con của một rừng là một rừng
3. Tính chất trao đổi? GA=(V,A), GB=(V,B) là rừng của G và |B|>|A|.
Rừng GA có |V|-|A| cây, rừng GB có |V|-|B| cây. GB có ít cây hơn GA nên
cây TGB mà các đỉnh của T nằm ở 2 cây khác nhau trong G A. T liên thông
(u,v)T mà u và v nằm ở 2 cây khác nhau của GA nên cạnh (u,v) có thể
thêm vào GA mà không tạo thành chu trình MG thỏa mãn tính chất trao
đổi.
2
3 2 3
1 4
1 4
5
GA 5 GB
17
3. Cơ sở lý thuyết (4)
Phần tử mở rộng:
Định lý 2:
Mọi tập con cực đại trong một matroid có cùng lực lượng.
w(B)
w(A)
19
3. Cơ sở lý thuyết (6)
Phương pháp Tham lam áp dụng cho matroid có trọng số
Nhiều bài toán sử dụng Tham lam để tim lời giải tối ưu tương
đương việc tìm tập con cực đại có trọng số lớn nhất trong một
matroid có trọng số.
20
3. Cơ sở lý thuyết (7)
Greedy (S, , w)
A
Sort(S) {Sxếp S không tăng dần w}
for each x in S do
if (A{x}) then A A{x}
return A
21
3. Cơ sở lý thuyết (8)
Bổ đề 1: Matroid có tính lựa chọn tham lam
Chứng minh:
y3 y3
•Không x là tập con độc lập duy nhất y4
y4
•Gọi B là tập con tối ưu x
y1
y1 y5
•xB đpcm
y5 y2
•xB xây dựng tập A (sử dụng tính
chất trao đổi)
A B
22
3. Cơ sở lý thuyết (9)
Bổ đề 2:
Với matroid M=(S,). Nếu xS là một mở rộng của tập con độc
lập A nào đó của S thì x cũng là một mở rộng của .
Chứng minh: x là 1 mở rộng của A A{x} độc lập. l di truyền {x} độc lập.
Hệ quả 1:
Matroid M=(S,). Nếu xS mà x không là mở rộng của
thì x không là mở rộng của bất kỳ tập con độc lập A nào
của S.
24
3. Cơ sở lý thuyết (11)
Định lý 3: (tính đúng của Tham lam áp dụng cho matroid)
Nếu M=(S,) là một matroid có trọng số với hàm trọng số là
w thì hàm Greedy(S, ,w) trả về một tập con tối ưu.
Chứng minh:
Hệ quả 1 những phần tử bị bỏ lúc đầu không hữu dụng
sau này khôn cần xét lại chúng nữa
Bổ đề 1 khi một phần tử đầu tiên x được chọn, Greedy
đúng khi thêm x vào A vì luôn tồn tại một tập con tối ưu
chứa x
Bổ đề 3 bái toán còn lại là tìm tập con tối ưu trong
matroid M’ (M’ là rút gọn của M bởi x)
25