Chương 5 Các bài toán k-EC
5.2. Bài toán k-EC trên đa đồ thị
Bài toán MW k-EC trên đa đồ thị vô hướng
Xét bài toán sau: Cho đồ thị có hướng G, hàm trọng số w và nút gốc r cố định. Tìm đồ thị bộ phận H có trọng số nhỏ nhất mà có ít nhất k đường đi rời cạnh r v
với v r bất kỳ.
Edmond đưa ra thuật toán giải bài toán trên trong thời gian đa thức. Dựa trên kết quả này Khuller và Vishkin trong [KV94] xây dựng thuật toán 2-xấp xỉ cho bài toán MW k-EC như sau:
- Lập D
G từ G, chọn r tuỳ ý.
- Lập tập cạnh EH bằng cách lấy e uv cho vào EH khi và chỉ khi hoặc cung
D
H
uv hoặc cung vu HD.
- Đồ thị bộ phận H V,EH là kết quả của thuật toán.
Định lý: Ký hiệu GOPT là đồ thị bộ phận tối ưu của G. Thế thì, H là k-EC và 2 OPT G w H w Chứng minh:
- Đồ thị vô hướng H là k-EC. Thật vậy, giả sử có tập cắt C mà C k 1 chia
H
E
V, làm hai thành phần liên thông C1,C2 (C1 C2 V). Giả sử r C1,v C2, suy ra không thể tồn tại kđường đi có hướng rời cạnh từ r đến v trong HD
- GOPT là k-EC nên GOPTD thoả mãn tính chất của bài toán Edmond, vì thế:
H w H w G w G w OPTD 2 OPT D .
Bài toán MC k-EC trên đa đồ thị vô hướng
Trong phần này ta quan tâm đến bài toán k-EC trên đồ thị không trọng số, hay bài toán tìm đồ thị bộ phận k-EC nhỏ nhất.
Mader trong các kết quả của mình đã chỉ ra rằng đồ thị k-EC tối tiểu có nhiều nhất là kn cạnh, trong khi mọi đồ thị k-EC có ít nhất
2
kn
cạnh. Tương tự như vậy, đồ thị có hướng k-EC có ít nhất kn cung, đồ thị k-EC tối tiểu có nhiều nhất 2kn cung. Vì vậy, chỉ với thủ tục kiểm tra xem 1 cạnh có phải là tới hạn đối với tính chất k-EC hay không, ta có thể có được các thuật toán 2-xấp xỉ.
Nagamochi, Ibaraki trong [NI92] đề xuất một cách đơn giản hơn để có thuật toán 2- xấp xỉ: Lập đồ thị V,E với k i i F E 1
' , Fi là rừng khung tùy ý của 1 1 , i j j F E V .
Khi đó, V,E là k-EC và E kn. Điều thú vị là thuật toán Nagamochi-Ibaraki tìm ra V,E chỉ trong thời gian tuyến tính với một lần duyệt V .
Ta có thể giảm tỷ suất hiệu quả xuống
k
1
2 nếu kết hợp với thuật toán DFS như sau:
Tìm H2 là đồ thị bộ phận 2-EC của G theo thuật toán DFS-cây For i=3 to k do i T là rừng khung của G Hi 1 i i i H T H 1
Tỷ suất hiệu quả
k l k kn n k l n 1 2 1 , 2 max 1 2 1 1
Những thuật toán xấp xỉ tiếp cận theo cách này khó có thể nâng cao được tỷ suất hiệu quả bởi nó không khai thác được tính chất gì sâu sắc bên trong cấu trúc đồ thị k-EC mà chỉ sử dụng một cận dưới của bậc đỉnh đơn giản. Khuller, Raghavachari là những người đầu tiên vượt qua được tỷ suất 2 khi tìm được một cận dưới tốt hơn của phương án tối ưu. Trong [KR96], các ông đề xuất một thuật toán 1.85-xấp xỉ cho bài toán MC k-EC trên đa đồ thị vô hướng.
Bổ đề 1. Nếu coi k-EC là một quan hệ 2 ngôi giữa 2 đỉnh thì nó là quan hệ bắc cầu. Tức là, nếu giữa u và v có k đường đi rời cạnh, giữa v và w có k đường đi rời cạnh thì giữa u và w sẽ có ít nhất k đường đi rời cạnh.
Chứng minh: Giả sử giữa u,w có ít hơn k đường đi rời cạnh thì có l-cắt S,S
với l k, u S,w S . Nếu v S thì S,S cũng là l-cắt của v và w, vô lý. Lập luận tương tự khi v S.
Thuật toán Khuller-Raghavachari: Thuật toán vận hành theo các pha. Bắt đầu với đồ thị rỗng M , tại mỗi pha, thuật toán tìm cách tăng số liên thông cạnh của M
thêm 2. Nếu k chẵn (lẻ) thì sau 2
k
pha ( 2
k
pha và thêm một số xử lý), số liên thông cạnh của M sẽ là k, thuật toán dừng và cho kết quả là đồ thị bộ phận M . Thủ tục bổ sung cạnh để tăng số liên thông cạnh của M , hay nội dung thực hiện của pha i như sau: giả sử bắt đầu pha i, M là (2i-2)-EC.
- Trước hết ta duyệt theo chiến lược DFS và thêm rừng khung Fi của G\M vào
M , điều này giúp M trở thành (2i-1)-EC. Sau khi thêm DFS rừng Fi vào M , các cạnh trong G\M đều là các cạnh lùi của Fi. Khi duyệt G\M để lập Fi, ta gán nhãn dfs v cho các đỉnh v theo thứ tự xuất hiện của chúng trong lúc duyệt (xem kỹ thuật DFS ở chương 4).
- Sau đó, duyệt các cạnh của của Fi theo thứ tự hậu tố. Mỗi lần tìm được cạnh
i
F
uv không là 2i-EC trong S (tức là có 2i 1 đường đi u v rời cạnh trong
M ), ta thêm vào M cạnh lùi trong G\M vượt uv xa nhất. Cạnh vừa thêm này đảm bảo u,v là 2i-EC. Vì vậy sau khi duyệt xong toàn bộ cạnh của Fi, M sẽ là 2i- EC.
Trong trường hợp k lẻ, sau 2
k
pha ta có đồ thị bộ phận (k-1)-EC M , khi đó ta bổ
sung vào M rừng khung của G\M. M trở thành k-EC.
Tính đúng đắn của thuật toán. Ta sẽ lần lượt chỉ ra: tại mỗi pha, mỗi lần thêm DFS-rừng hoặc thêm các cạnh lùi, số liên thông của đồ thị tăng thêm 1. Ký hiệu
OPT OPT V E
Bổ đề 2. Cho G V,E là k-EC, M là đồ thị bộ phận (k-1)-EC. Gọi F là một rừng khung của G\M. Thế thì M F là k-EC.
Chứng minh: Dựa trên tính chất liên thông của rừng khung như sau: u,v liên thông trong G\M khi và chỉ khi u,v liên thông trong F.
Bổ đề 3. Cho G V,E là k-EC, M là đồ thị bộ phận (k-2)-EC được bổ sung rừng khung F để trở thành (k-1)-EC. Thế thì bất kì (k-1)-cắt C nào chia cắt M F
cũng phải chia cắt 2 đỉnh x,y nào đó ở cùng cây trong F.
Chứng minh: Sử dụng tính chất liên thông của rừng khung đã đề cập ở bổ đề 2 và do G là k-EC.
Bổ đề 4. Cho G V,E là k-EC, M là đồ thị bộ phận (k-2)-EC được bổ sung rừng khung F để trở thành (k-1)-EC. Bổ sung tập cạnh lùi B E M F cho
F
M sao cho mọi cặp đỉnh kề nhau trong F đều không bị chia cắt bởi bất kì (k- 1)-cắt nào trong M F B. Thế thì M F Blà k-EC.
Chứng minh: Xét cây T bất kì trong F. Do tính bắc cầu của quan hệ k-EC nên từ giả thiết suy ra mọi cặp đỉnh trong T đều là k-EC trong M F B. Theo bổ đề 3 nếu có một (k-1)-cắt trong M F B thì nó phải chia cắt 2 đỉnh trong cùng cây của F, nếu như vậy 2 đỉnh đó không thể là k-EC với nhau, dẫn đến mâu thuẫn. Vì vậy M F B là k-EC.
Định lý 5. Thuật toán cho kết quả là một đồ thị bộ phận k-EC.
Chứng minh: Chứng minh quy nạp theo số pha.
Giả sử kết thúc pha i-1, M là (2i-2)-EC. Thuật toán bước vào pha i. Thuật toán thêm DFS-rừng Fi vào M , theo bổ đề 2, M trở thành (2i-1)-EC. Thuật toán đảm
bảo tất cả các cặp đỉnh kề nhau trong Fi là 2i-EC với nhau bằng cách thêm các cạnh lùi khi phát hiện (2i-1) cắt ứng với cặp đỉnh. Theo bổ đề 4, M trở thành 2i-EC. Như vậy sang 2 k pha với k chẵn, 2 k
pha cộng thêm rừng khung của G\M với k lẻ, M
là k-EC.
Phân tích tỷ suất hiệu quả.
Khuller, Raghavachari chứng minh thuật toán là 1.85-xấp xỉ.
Xét tại pha i, ta có DFS-rừng Fi, tập cạnh lùi Bi, nếu cạnh eb Bi được thêm để vượt qua cạnh ef (do 2 đỉnh mút của ef có thể bị chia cắt bởi một (2i-1)-cắt trong
i
F
S ), ký hiệu ef cov eb . Đặt cov Bi ef | eb Bi,ef cov eb , fi Fi ,
i
i B
b .
Bổ đề 6. EOPT k 2i 2bi, i
Chứng minh: Tại pha i, gọi e xy là cạnh trong Fi với dfs x dfs y . Nếu
i
B
e cov thì trước khi thêm rừng Fi, x,y là (2i-2)-EC với nhau và không hơn. Bởi nếu không chúng sẽ là 2i-EC với nhau trong M Fi, và như thế cạnh e không cần cạnh lùi. Xét (2i-1)- cắt C = X,X , x X,y X, chia cắt x và y trong
F
M .
Bởi vì M là (2i-2)-EC nên trong Fi chỉ có cùng lắm là một cạnh vắt qua C, nếu không X i
i
F
S 2 , cạnh đó chính là xy. Đặt Pe G\M X , tức là tập các cạnh trong G\M vắt qua C.
Trong lập luận sau, ta coi một đỉnh vừa là tổ tiên vừa là hậu duệ của chính nó.
Bổ đề 7. Tập Pe chứa và chỉ gồm tất cả các cạnh nối hậu duệ của y với tổ tiên của
Chứng minh: Ta biết rằng F X xy
i F
i (*)
Nếu có hậu duệ z của y nằm trong X thì trên đường đi y Fi z
của rừng Fi phải có một cạnh thuộc X
i
F , dẫn đến có 2 cạnh của Fi trong X
i
F , trái với (*). Bởi vậy mọi hậu duệ của y đều nằm trong X . Tương tự mọi tổ tiên của x đều thuộc về
X . Mặt khác do (*) mọi cây khác T trong Fi hoàn toàn nằm trong hoặc X hoặc X
. Như vậy G\M X chỉ gồm các cạnh lùi vượt xy.
X
X, là (2i -2)-cắt trong M mà mọi lát cắt trong G đều có kích thước ít nhất là k nên G\M X Pe k (2i 2). Ta sẽ chỉ ra rằng việc chọn cạnh lùi xa nhất cho vào Bi đảm bảo các tập Pe với e cov Bi đôi một rời nhau. Khi đó, GOPT phải chứa ít nhất k 2i 2 cạnh từ mỗi lát cắt X,X nên EOPT k 2i 2bi.
Gọi 2 T-cạnh e uv và e' xy (e được duyệt trước e') cần 2 cạnh lùi vượt qua là
i
B l
l, ' . Do Fi là DFS-rừng nên G\M chỉ chứa các cạnh lùi, bởi vậy Pe Pe là rỗng nếu e và 'e không là tổ tiên của nhau. Thật vậy, do hậu duệ của y không thể là hậu duệ của v hoặc tổ tiên của u.
Xét trường hợp 'e là tổ tiên của e, tức là 'e nằm trên đường đi từ v tới nút gốc. Hiển nhiên l không thể vượt quá y, vì nếu không 'e sẽ không cần cạnh lùi l'. Theo cách chọn l thì l là cạnh lùi vượt xa nhất, vì vậy sẽ không có cạnh lùi nào vừa vượt qua e lại vừa vượt qua 'e . Nói cách khác Pe Pe .
Định lý 8. Tỷ suất hiệu quả của thuật toán không vượt quá 1.85 2
2 ln 3
Chứng minh: Xét k chẵn, trong pha i thuật toán thêm fi bi cạnh vào M , Fi là rừng, bi fi nên bi fi n.
85 . 1 2 2 ln 2 3 1 2 1 2 1 2 3 2 2 max , 2 max 4 2 /4 1 4 1 2 1 k i i i k i i OPT k i i i i k b i k kn b kn kn E b f
Dựa vào bất đẳng thức sau: xét hàm
x x f 1 trong đoạn [1,2]. Ta có: 2 ln 1 1 1 2 1 1 2 1 dx x f k i f k i k i k k i 5.3. Phân tích Gabow.
Trong các bài báo của mình, Khuller, Raghavachari không chỉ ra phân tích của mình là chặt, Fernandes trong [Fer98] đã đưa ra một phân tích, trong đó chứng minh tỷ suất hiệu quả của thuật toán KR <1.75. Gabow trong [Gab03] sử dụng họ vân để phân tích và khi ước lượng các cạnh thêm vào tại mỗi pha thì tính đến cả các cạnh đã thêm trước đó. Nhờ vậy, Gabow tìm ra cận trên tốt hơn cho số cạnh thêm vào trong mỗi pha, từ đó chỉ ra thuật toán Khuller-Raghavachari có tỷ suất
61 . 1
1 e .
Tạm thời bỏ qua chỉ số i trong các bổ đề sau. Gọi F *là các cạnh của rừng khung dẫn đến thêm các cạnh lùi, tức là F* cov B . Giả sử đồ thị V,M là h-EC.
Bổ đề 1. Tại mỗi pha, mọi cạnh của G\M vượt nhiều nhất là một cạnh của F *.
Chứng minh: Ta biết rằng một cạnh lùi không thể đồng thời vượt 2 cạnh của F *.
Bổ đề 2. Có một họ vân L Xf | f F* thoả mãn : i. Cạnh f F* rời khỏi Xf và H F Xf h 1
iii. f là cạnh duy nhất trong F rời khỏi X f , gọi b Blà cạnh vượt qua f , thế thì
f
X là tập duy nhất trong L mà b rời khỏi.
Chứng minh: áp dụng kết quả của Cai, Frank cho đồ thị (h+1)-EC, V,M F , giả sử được họ vân . Chọn ra từ họ vân một số tập Xf mà f F* rời khỏi
f
X để lập họ vân L Xf | f F* . Các tính chất i, ii, iii dễ thấy từ các bổ đề trong phần phân tích thuật toán của Khuller, Raghavachari.
Một cạnh của M gọi là external nếu nó rời khỏi một tập của L, và gọi là internal nếu không như vậy. Ký hiệu EXT (INT) là tập các cạnh external và internal của M .
Bổ đề 3. EOPT k h B EXT
Chứng minh: Xét tập Xf L bất kỳ. Do M Xf h và E Xf k
OPT nên
OPT
E phải chứa k h cạnh của G\M rời khỏi X f . Chọn k h cạnh trong số đó đưa vào tập O. Thực hiện việc thêm các cạnh cho O với mọi Xf L. Do các tập
X
M
G\ không có cạnh chung nên O EOPT,O k h B và O H X k,
L X
Đặt tập J EXT . Nhận xét rằng O J X k, X L. Ta lần lượt xoá đi các cạnh trong J , mỗi lần xoá đi một cạnh trong J ta sẽ tìm cách thêm 1 cạnh mới của
OPT
E cho O. Khi các cạnh trong J bị xóa hết tập O được mở rộng thành một tập con của EOPT gồm k h B EXT cạnh khác nhau, điều này kết thúc chứng minh của bổ đề.
Trong mỗi lần thay đổi J,O ta duy trì 2 bất biến sau.
k X J O (1) EXT J O EOPT (2)
Tại thời điểm ban đầu (2) hiển nhiên đúng do J EXT. Giả sử J còn chứa một cạnh e. Nếu e EOPT ta chuyển e từ J sang O, hiển nhiên (1), (2) đúng. Giả sử
OPT
E
e do e EXT nên e phải rời một số tập X L. Với mỗi tập X mà e rời khỏi ta chọn một cạnh d EOPT \ O J cũng rời khỏi X . Việc chọn này luôn thực hiện được bởi EOPT X k, O J X k mà e EOPT nên luôn tồn tại d để chọn. Gọi D là tập tất cả các cạnh được chọn, ta thay J,O bởi các tập J',O' như sau J' J \ e , O' O D.
Dễ thấy O' O và J',O' thoả mãn (1), (2) do e EOPT. Ta còn phải chứng minh '
, ' O
J thoả mãn (1). Hiển nhiên O J X k. Mỗi cạnh d được chọn phải thuộc
M
G\ , do d EXT (theo (2)) và d phải rời khỏi một tập X L. Mà cạnh lùi d
chỉ rời khỏi đúng một tập trong L nên O J' X k.
Giả sử tại pha 1 2
h