Tải bản đầy đủ (.docx) (48 trang)

Luận văn thạc sĩ về bài toán tập độc lập có trọng số cực đại trên lớp đồ thị có độ rộng cây bị chặn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.04 MB, 48 trang )

BỘ GIÁO DỤC VÀ ĐẠO TẠO
TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2

NGUYỄN YĂN TRƯỜNG

VỀ BÀI TOÁN TẬP ĐỘC LẬP
•*•

có TRỌNG SỐ cực ĐẠI TRÊN LỚP
Đồ THỊ
CÓ ĐỘ RỘNG CÂY BỊ CHẶN
***•

LUẬN VĂN THẠC sĩ TOÁN HỌC

Hà Nội, 2015


NGUYỄN YĂNTRƯỜNG

VỀ BÀI TOÁN TẬP ĐỘC LẬP
•*•

CÓ TRỌNG SỐ cực ĐẠI TRÊN LỚP Đồ THỊ
CÓ ĐÔ RồNG CÂY BI CHĂN

Chuyên ngành: Toán ứng dụng
Mã số: 60 46 01 12

LUẬN VĂN THẠC sĩ TOÁN HỌC


Người hướng dẫn khoa học: TS. TRAN VĨNH ĐỨC


Lồi cam đoan

Tôi xin cam đoan các kết quả nghiên cứu trong luận văn này là trung thực và không trùng lặp với các đề tài khác. Tôi cũng
xin cam đoan mọi thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc.

Hà Nội, tháng 12 năm 2015
Học viên
Nguyễn Văn Trưòng

Lời cảm ơn

Trước hết tôi xin bày tỏ lòng cảm ơn chân thành đến TS. Trần Vĩnh Đức, bộ môn Khoa Học Máy Tính, Viện CNTT và TT,
trưòng Đại học Bách Khoa Hà Nội là ngưòi đã tận tình hướng dẫn tôi trong suốt quá trình làm luận văn tốt nghiệp.
Tôi xin cảm ơn các thầy, cô giáo ở Viện Toán Học ở trưòng Đại học Bách Khoa, Đại học Sư Phạm Hà Nội 2 đã giảng dạy
tôi trong suốt thòi gian học tập tại trưòng, xây dựng cho tôi kiến thức nền tảng và những kiến thức chuyên môn để tôi có thể
hoàn thành tốt luận văn này.
Tuy đã có cố gắng nhất định nhưng do thòi gian và trình độ có hạn nên chắc chắn luận văn này vẫn còn những thiếu sót và
hạn chế nhất định. Kính mong nhận được sự góp ý của thầy cô và các bạn.
Hà Nội, tháng 12 năm 2015
Học viên
Nguyễn Văn Trưòng


4

Mục lục



5

Mỏ đầu
Những ý tưởng đầu tiên của Lý Thuyết Đồ thị (LTĐT) được xuất phát từ những
năm đầu của thế kỷ 18 bởi nhà toán học người Thụy Sĩ Leonhard Euler. Ông đã sử
dụng đồ thị để giải bài toán nổi tiếng về 7 cái cầu ở thành phố Königsberg. Tuy vậy, lý
thuyết đồ thị chỉ thực sự phát triển từ những năm 60 của thế kỷ trưóc. Quyển sách đầu
tiên về lý thuyết đồ thị được Denes König viết năm 1936, nhưng mãi đến năm 1958
quyển sách thứ hai về đồ thị mới được Claude Berge viết. Từ đó đến nay, lý thuyết đồ
thị được phát triển mạnh mẽ do sự phát triển của máy tính điện tử.

Hình 0.1: Bài toán 7 cây cầu ở thành phố Königsberg. Nguồn: Wikipedia

LTĐT có ứng dụng trong nhiều lĩnh vực khác nhau. Ví dụ, trong điện tử, đồ thị
thường được sử dụng để xác định các mạch vòng trong giải tích mạch điện; trong hóa
học người ta sử dụng LTĐT để phân biệt các hợp chất hóa học hữu ctí cố thành phần
phân tử giống nhau nhưng cấu ữúc liên kết khác nhau; trong mạng máy tính người ta
sử dụng LTĐT để mô hình các kết nối giữa các máy tính.
Các khái niệm độ rộng cây và phân rã cây của đồ thị được giới thiệu và phát triển
bởi Robertson & Seymour từ những năm 80 trong công trình nổi tiếng nhằm giải
quyết giả thuyết về Graph Minor. Từ đó đến nay khái niệm này tìm thấy có nhiều ứng
dụng: trong phân tích mạng xã hội, trong logic và độ phức tạp tính toán, trong cơ sở
dữ liệu, trong xử lí ngôn ngữ tự nhiên, trong phân tích các ma trận thưa...
Có nhiều bài toán đồ thị quan trọng và có nhiều ứng dụng thuộc lớp bài toán NPkhó như bài toán tô màu, bài toán tìm tập độc lập có trọng số lớn nhất... Với những bài
toán này, ta không hy vọng có thuật toán tốt để giải. Tuy nhiên, có ít nhất hai cách tiếp
cận để tấn công các bài toán loại này:
1. Sử dụng thuật toán xấp xỉ khi chúng ta không cần kết quả đúng mà chỉ cần kết



6

quả với độ chính xác nhất định.
2. Sử dụng thuật toán nhanh và trả về kết quả chính xác nhưng hạn chế trên một
số lớp đồ thị đặc biệt. Hướng đi này phụ thuộc mạnh vào cấu trúc của các đồ
thị đầu vào. Người ta tin rằng nhiều bài toán đồ thị thực tế có cấu trúc đơn giản
và do đó có thuật toán hiệu quả.
Trong phạm vi luận văn này thì chúng tôi sẽ xem xét phương pháp giải quyết các
bài toán NP-khó theo hướng thứ 2. Cụ thể, chúng tôi sẽ nghiên cứu kỹ thuật phân rã
cây để tấn công một bài toán NP-khó. Đó là bài toán tập độc lập có trọng số cực đại.
Ngoài chương mở đầu và kết luận, luận văn gồm 3 chương:
• Chương 1 đưa ra một số khái niệm của lý thuyết đồ thị, và mô tả ý tưởng về
phân rã cây thông qua phân tích bài toán tập độc lập cực đại trên cây.
• Chương 2 đưa ra các khái niệm về phân rã cây và độ rộng cây, xem xét một số
tính chất quan trọng của phân rã cây, và trình bày thuật toán xây dựng.
• Chương 3 trình bày ứng dụng phân rã cây để giải quyết bài toán tập độc lập có
trọng số cực đại cho lóp đồ thị có độ rộng cây bị chặn.

Chương 1

Một số khái niệm cơ bản về đồ thị
•••

1.1

Các khái niệm cơ bản về đồ thị

Như chúng ta đã biết khái niệm đồ thị xuất hiện từ nhiều lĩnh vực khác nhau trong
cuộc sống. Trong mỗi lĩnh vữ riêng của mình, ngưòi ta cần tới một kiểu đồ thị nào đó.
Vì vậy mà cũng xuất hiện nhiều loại đồ thị khác nhau. Song chung quy lại ta có thể

xếp chúng vào tám loại chính sau đây:
1. Đồ thị có hướng
2. Đồ thị vô hướng
3. Đa thồ thị có hướng


7

4. Đa đồ thị vô hướng
5. Trọng đồ có hướng
6. Trọng đồ vô hướng
7. Đa trọng đồ có hướng
8. Đa trọng đồ vô hướng
Trong khuôn khổ luận văn này ta chỉ xét đến đồ thị vô hướng không có khuyên và
không có cạnh bội.
Định nghĩa 1.1.1. Một đồ thị G là một cặp có thứ tự G = (y, E), ở đây V là một tập,
còn E là tập các tập con hai phần tử của V.


8

G.

Các phần tử của V được gọi là các đỉnh, còn các phần tử của E gọi là cáccạnh của

ví dụ 1.1.2. Xét đồ thị G = ( V, E) trong đó
V = {a, b, c, d, z}
E = {{a, b}, {a, d}, {b, z}, {c, d}, {d, z}}.
Đồ thị này có thể được vẽ trên mặt phẳng ở dạng các đường và điểm như hình sau.


a
Trong đó, các điểm thể hiện các đỉnh, còn các đường nối giữa hai đỉnh biểu diễn cạnh
nối giữa hai đỉnh đó.
Định nghĩa 1.1.3.
• Hai đỉnh X và y gọi là kề nhau (hay hàng xóm) nếu
{.X, y} là một cạnh của đồ thị.
• Ta biểu diễn đồ thị G = (V, E) bởi danh sách cạnh, trong đó mỗi đỉnh V giữ một
danh sách các đỉnh kề với V.
Ví dụ 1.1.4. Đồ thị bên trái dưói đây có danh sách cạnh được mô tả dạng bảng như ở
bên phải.
a b c d z b a d a b d z cd

Định nghĩa 1.1.5. Hai đồ thị G\ và Ơ2 được gọi
là đẳng cấu nếu có một song ánh a từ tập đỉnh
của G\ đến tập đỉnh của G2 sao cho {o;(a:), c¿(y)} là một cạnh của Gi nếu và chỉ nếu
{X, y} là một cạnh của G2 -


9

Song ánh a được gọi là một đẳng cấu.
Ví dụ 1.1.6. Hai đồ thị sau đây đẳng cấu với nhau và đẳng cấu a định nghĩa bởi:

a(a) = t, a(ò) = V, a(c) = w, a(d) = u. a
Định nghĩa 1.1.7. Bậc của một đỉnh
V.

V

bị


trong đồ thị G = (V, E) là số cạnh của G chứa

Ta ký hiệu deg('u) là bậc của đỉnh V. Có nghĩa rằng
deg('u) = \DV\ với Dv = { e £ E \ v £ e } .
đỉn
h
a

deg

b

2

c
d

1
3

z

2

2

Ví dụ 1.1.8. Các đỉnh của đồ thị bên trái có bậc được chỉ ra bởi bảng bên phải.

Định lý 1.1.9. Tổng các bậc deg(v), lấy trên mọi đỉnh

hai lần số cạnh:

V

của đồ thị G = (y, E), bằng


1
0

J]deg(v) = 2\E\.
ve V

Ví dụ 1.1.10. Tổng bậc của đồ thị dưới đây bằng hai lần số cạnh vì mỗi cạnh được
tính hai lần trong tổng bậc.


a

đỉnh

thuộc vào cạnh

a {a,b}, {a,d}
b {a,b}, {b,z}
trong đồ thị G là một dãy đỉnh

Định nghĩa 1.1.11. Một hành trì

1

1

c
d

{c,d}
{a,d}, {c,d}, {d,z}

z

{b,z}, {d,z}

V i , V 2, ■ ■ ■ , V k ,

thỏa mãn Vị và V i + 1 kề nhau (với 1 < i < k — 1).
Định nghĩa 1.1.12. Hành trình mà trong đó mọi đỉnh đều khác nhau được gọi là
Hình 1.1: Một hành trình
trong đồ thị

đưòng đi.
Hình 1.2: Một đường đi trong đồ thị

Định nghĩa 1.1.13. Một hành trình
Vl, v2, ■ ■ ■ , vr

+ 1


1
2


trong đó mọi đỉnh đều phân biệt ngoại trừ V\ = Vr + 1 được gọi là một chu trình.
Vì nó có r đỉnh phân biệt và r cạnh nên ta cũng thưòng gọi nó là r-chu trình, hay
chu trình độ dài r.
a

Hình 1.3: Một chu trình

Định nghĩa 1.1.14. Ta ký hiệu X ~ y nếu hai đỉnh X và y trong G có thể nối với nhau
bằng một đưòng đi. Có nghĩa rằng, tồn tại một đưòng đi
Vl,v2ì ■■■ ,vk
trong G với X = Vi và y = vk.

Dễ thấy, quan hệ ~ là quan hệ tưong đưong trên tập đỉnh V của G. Vậy thì V đưọc
phân hoạch thành các lớp tưong đưong rời nhau. Hai đỉnh nằm trong cùng một lớp
tưong dưong nếu giữa chúng có đường đi, và trong hai lớp khác nhau nếu không có
đường đi.
Ví dụ 1.1.15. Với đồ thị dưới đây


ỉe

a

bc

d
ta có phân hoạch

1

3

V — văò u Kanh
Định nghĩa 1.1.16. Giả sử G = (V, E) là một đồ thị và phân hoạch của V tưong ứng
với quan hệ tưong đưong ~ là

^ = Vi u v2 u • • • u vr.
Ký hiệu Eị (với 1 < i < r) là các tập con của E bao gồm các cạnh với đầu mút nằm
trong Vị. Vậy thì các đồ thị Gị = (Vị, Eị) được gọi là các thành phần liên thông của
G.
Ta nói G liên thông nếu nó chỉ có một thành phần liên thông.
Ví dụ 1.1.17. Đồ thị dưới đây không liên thông. Nó có hai thành phần liên thông.

a

d

Định nghĩa 1.1.18. Ta nói rằng đồ thị T là một cây nếu nó có hai tính chất:
1. T liên thông;
2. T không có chu trình.


1
4
Ví dụ 1.1.19. Các đồ thị dưới đây đều là cây.

o o o
oo
Định lý 1.1.20. Nếu T = (V,
E) là một cây với ít nhất hai

đỉnh, vậy thì:
1. Với mối cặp đỉnh x,y có duy nhất một đường đi từ X tới y;
2. Đồ thị thu được từ T bằng cách xóa đi một cạnh bất kỳ sẽ có hai thành phần
liên thông, mỗi thành phần là một cây;
3. \E\ = \v\ - 1.
Định nghĩa 1.1.21. Đồ thị G' = ịy', E') được gọi là đồ thị con của đồ thị G = (V, E) nếu
V' c V và E' c E. Hơn nữa, nếu E' chứa tất cả các cạnh của G, mà cả hai đỉnh của nó
đều thuộc V' thì G' được gọi là đồ thị con cảm sinh bởi tập đỉnh V', hay cũng còn gọi
là đồ thị con cảm sinh bởi G = (V, E) trên tập đỉnh V.
Định nghĩa 1.1.22. Một tập đỉnh V' c V của đồ thị G = (V, E) gọi là một clique nếu đồ
thị con cảm sinh bởi tập đỉnh V' là đồ thị đầy đủ.
Ví dụ 1.1.23. Đồ thị
G' = ({ữ, b, c, e}, {{a, &}, {a, c}, {b, c}, {e, c}})
là một đồ thị con cảm sinh bởi {ữ, ồ, c, e} của đồ thị G dưói đây. Tập đỉnh u = {ữ, ồ,
c} là một clique.


1
5

1.2

Bài toán tập độc lập cực đại trên cây

Trong phần này chúng ta sẽ nghiên cứu bài toán tập độc lập cực đại hạn chế trên
cây. Các ý tưởng đưa ra trong mục này sẽ được phát triển cho các chưong tiếp theo.
Đồ thị có cấu trúc đơn giản nhất có lẽ là cây, và nhiều bài toán đồ thị NP-khó có
thể giải quyết một cách hiệu quả trên cây. Lý do cho điều này có thể giải thích một
cách nôm na như sau:
Nếu chúng ta xem xét một cây con của cây đầu vào bắt nguồn ở một

đỉnh

V,

lời giải cho bài toán hạn chế cho cây con này chỉ “tương tác” với

lời giải cho các phần khác của bài toán thông qua đỉnh v; và bằng cách
xem xét

V,

chúng ta có thể tách rời bài toán trong cây con có gốc ở

V



phần còn lại của cây.
Để hiểu rõ hơn, chúng ta sẽ xem xét thuật toán giải quyết bài toán tập độc lập cực
đại lớn nhất trên cây. Bài toán mô tả như sau:
Bài toán: Cho đồ thị G, tìm một tập đỉnh không có cạnh chung (độc lập) có số lượng
lớn nhất.
Đầu tiên, ta xem xét một cạnh e = {u, v} trong G. Trong bất kỳ tập độc lập s của

G, nhiều nhất chỉ một trong hai đỉnh u hoặc V là có thể thuộc s. Vậy với mỗi cạnh,
chúng ta cần quyết định xem đầu mút nào nào của nó sẽ thuộc tập độc lập. Để làm
điều này, chúng ta khai thác tính chất quan trọng sau đây.
Tính chất 1.2.1. Mọi cây đều có ít nhất một lá.
Xét một lá


V

trong cây, và lấy {u , v} là cạnh duy nhất liên thuộc với đỉnh

V.

Làm

thể nào để lựa chọn u hoặc V vào trong tập độc lập Sl
• Nếu chúng ta lấy V , chỉ có đỉnh duy nhất khác trên cây bị cấm không thể tham
gia vào tập độc lập là u .
• Nếu chúng ta lấy u , nó cấm không chỉ V mà còn cấm tất cả các đỉnh khác nối
với u .
về trực quan, có vẻ như lấy V tốt hơn lấy u .
Tính chất 1.2.2. Nếu T là một cây và V là một lá của nó, thì tồn tại một tập độc lập
kích thước lớn nhất chứa V.


1
6

Chứng minh. Thật vậy, ta xét một tập độc lập có kích thước lớn nhất bất kỳ s của cây
và xét {u, v} là cạnh duy nhất chứa đỉnh là V. Khi đó rõ ràng ít nhất 1 trong 2 đỉnh u
hoặc V sẽ phải thuộc s vì nếu cả hai đỉnh này không thuộc s thì ta có thể thêm đỉnh V
là đỉnh lá vào s, do đó ta sẽ thu được tập độc lập mới có kích thước lớn hôn. Điều này
trái với giả thiết s là tập độc lập có kích thước lớn nhất. Bây giờ, nếu V G s thì nhận
xét là đúng; còn nếu U G s, ta có thể nhận được tập độc lập S' có cùng kích thước với

s bằng cách loại u khỏi s và thêm vào s đỉnh V.




Chúng ta sẽ sử dụng tính chất trên nhiều lần để loại bỏ hoặc chọn một đỉnh vào tập
độc lập. Khi chúng ta thực hiện thao tác loại bỏ đỉnh, cây T có thể bị chia thành nhiều
thành phần không liên thông với nhau. Vì vậy, để xử lý mọi thứ rõ ràng hôn, chúng ta
mô tả thuật toán cho trường họp đồ thị là một rừng. Chúng ta có thể xem bài toán tìm
tập độc lập kích thước lớn nhất cho một rừng giống như là bài toán trên cây: một giải
pháp tối ưu cho một rừng chỉ đôn giản là sự kết họp của các giải pháp tối ưu cho mỗi
cây thành phần, và chúng ta vẫn có thể sử dụng nhận xét trên cho bất kỳ cây con nào.
Cụ thể, giả sử chúng ta có một rừng F. Do tính chất trên, ta thực hiện như sau:
• Xét cạnh e = {u,v} bất kỳ có V là lá. Ta lấy đỉnh V vào tập độc lập s (và vậy thì,
không lấy đỉnh u).
• Ta xóa đỉnh u khỏi rừng.
• Chúng ta tiếp tục một cách đệ quy trên rừng con này để có được lời giải.
Thuật toán chi tiết như sau:
Đầu vào: Một rừng F
Đầu ra: Tập độc lập s lớn nhất trên F
1. s := 0
2. while F có ít nhất 1 cạnh
3. Chọn một cạnh { u , v } của F sao cho V là đỉnh lá
4. Thêm V vào s
5. Xóa hai đỉnh u ,

V

và các cạnh liên thuộc với chúng khỏi F

6. endwhile
7. return s u {các đỉnh còn lại}
Liệu ý tưởng trên có thể mở rộng cho đồ thị không phải là cây? Trong thực tế có



1
7

một lớp đồ thị gọi là đồ thị có độ rộng cây bị chặn (graphs of bounded tree-width) rất
gần với cây. Giống như cây, nhiều bài toán NP-khó có thuật toán hiệu quả trên lớp đồ
thị này.
Mục đích của đề tài là chỉ ra tính ứng dụng của lớp đồ thị này cho các bài toán
thực tế.
Đồ thị có độ rộng cây bị chặn là gì? Để phát triển trực giác về lớp đồ thị này, ta sẽ
phân tích chi tiết một ví dụ.
Ta xem xét đồ thị G trong Hình 1.4(a). Nếu ta nhìn nó dưới dạng như Hình 1.4(b),
ta thấy G bao gồm 10 hình tam giác đan xen vào nhau; và bảy trong 10 hình tam giác
có tính chất mà nếu chúng ta xóa chúng, thì phần còn lại của G sẽ tạo thành các thành
phần không liên thông. Ba hình tam giác khác đưọc gắn tại các chi (chỗ tận cùng), và
việc xóa chúng giống như việc xóa những lá của cây.
Vậy G là có dạng cây nếu chúng ta xem nó không phải bao gồm mười hai đỉnh
như chúng ta thấy, thay vào đó là bao gồm mười hình tam giác. Mặc dù G rõ ràng
chứa nhiều chu trình. Theo trực giác, có vẻ nó không có chu trình khi nhìn ở mức
mười hình tam giác này, và do đó, nó thừa hưởng nhiều tính chất của cây.

Hình 1.4: Phần (a) và (b) mô tả cùng một đồ thị được vẽ theo hai cách khác nhau. Hình vẽ (b)
nhấn mạnh cách mà nó bao gồm 10 tam giác đan xen vào nhau. Phần (c) minh họa sd đồ
mười hình tam giác này khớp lại với nhau như thế nào để đồ thị cố dạng cây.

Chứng ta muốn biểu diễn cấu trúc dạng cây của những hình tam giác này bằng
cách đặt tương ứng mỗi tam giác với một đỉnh của cây, như thể hiện trong Hình
1.4(c). Theo trực giác cây tương ứng với đồ thị này có đỉnh là một tam giác và có
những cạnh giữa các đỉnh trong những hình tam giác ỏ rất xa trong cấu trúc cây. Ví



1
8

dụ, tam giác trung tâm có các cạnh đến các đỉnh trong mỗi hình tam giác khác. Nhưng
chúng ta làm điều này bằng cách nào?
Chúng ta làm điều này bằng cách giới thiệu ý tưởng về phân rẵ cây của một đồ thị
G. Đặt tên như vậy vì ta sẽ tìm cách phân ră G theo một mẫu dạng cây. Phân rã cây
này sẽ có những đặc điểm của cây và cũng mang đặc trưng của đồ thị chứng ta muốn
phân rã. Giải quyết bài toán trên phân rã cây này cũng cho ta kết quả đúng ữên đồ thị
ban đầu.
Trong chương tiếp theo, chúng ta sẽ xem xét định nghĩa và một số tính chất của
phân rẫ cây. Chương cuối dành để phát triển một thuật toán cho bài toán tìm tập độc
lập cổ ữọng số cực đại dựa ữên khái niệm phân rã cây.

Chương 2

Phân rã cây của đồ thị
2.1

Phân rã cây và độ rộng cây

Khái niệm độ rộng cây và phân rã cây do Robertson và Saymour đưa ra và phát
triển trong dãy 20 bài báo nổi tiếng từ năm 1983 đến năm 2004 để chứng minh định lý
Graph Minor nổi tiếng.
Nói một cách nôm na, phân rã cây là một cách nhóm các đỉnh và cạnh của một đồ
thị thành một cây. Phân rã cây của một đồ thị G cho ta biết cấu trúc của G có gần với
cấu trúc của một cây hay không. Còn độ rộng cây là một số đo xem đồ thị có “gần”
với một cây hay không. Nếu G có độ rộng cây nhỏ, có nghĩa rằng G gần với một cây,

thì rất nhiều bài toán khó (trên đồ thị tổng quát) lại trở nên dễ với G. Lý do là vì ta có
thể sử dụng phân rã cây với độ rộng nhỏ này để xây dựng thuật toán hiệu quả.
Khái niệm phân rã cây và độ rộng cây được ứng dụng ở rất nhiều
nơi. Ví dụ, trong phân tích mạng xã hội, trong logic học và độ phức
tạp tính toán, trong cơ sở dữ liệu, trong thiết kế VLSI, trong xử lý
ngôn ngữ tự nhiên, trong phân tích các ma trận thưa. Phân rã cây và
độ rộng cây liên quan mật thiết đến định lý Graph Minor nổi tiếng.


Định nghĩa 2.1.1. Một phân rã cây của đồ thị G = (V5 E) là một cặp

( T = Ự , F ) , /})
trong đó T là một cây và Vị ç V gọi là khối gắn với đỉnh t e l . Cây T và bộ các khối
{V ị I t € 1 } phải thỏa mãn ba tính chất:
• Mỗi đỉnh V G V phải thuộc vào ít nhất một V ị .
• Với mỗi cạnh {ư, ü} G E , tồn tại một đỉnh t e l sao cho U) V e V ị .


Xét bộ ba đỉnh íi, ¿2, h É I thỏa mãn ¿2 nằm trên đường đi dẫn từ í 1 đến í3.
Nếu một đỉnh V G G thuộc vào cả vtl và vta, thì nó cũng thuộc vào vh.

Độ rộng của một phân rã cây là đại lượng maxiỄT I Vi I — 1.
Ví dụ 2.1.2. Hình 2.1 chỉ ra một đồ thị và một phân ră cây của nó. Kích thước của
khối lớn nhất của phân rã cây này là 3 do đó độ rộng của phân rã cây này là
3-1 = 2.

Ví dụ 2.1.3. Khi G là một cây, ta có thể xây dựng một phân rã cây (T, {V¡}) của nó
như sau:
• Cây T có một đỉnh cây t v với mỗi đỉnh của G và một đỉnh cây t e với mỗi cạnh e
của G. Cây T có một cạnh { t V ĩ


te}

khi V là một đầu mút của e.

• Nếu V là một đỉnh, ta định nghĩa khối Vị = {v}; nếu e = {ư, v } là một cạnh, ta
định nghĩa Vị = {ư, v}.
Ta có thể kiểm tra rằng cả ba điều kiện của phân rã cây đều được thỏa mãn. Rõ ràng
phân rã cây vừa xây dựng có độ rộng 1.


Định nghĩa 2.1.4. Độ rộng cây của một một đồ thị G là độ rộng nhỏ nhất của tất cả các
phân rã cây của G, và được ký hiệu tw(G).

2.2

Tính chất của phân rã cây

Nếu T' là đồ thị con của T , ta dùng GT' để biểu thị đồ thị con của G cảm sinh bởi
các đỉnh trong tất cả các khối liên quan với các đỉnh của T'.
Đầu tiên ta xem xét việc xóa một đỉnh t của T .
Tính chất 2.2.1. Giả sử rằng cây T sau khi khóa đỉnh t sẽ tách thành d thành phần
Tị. ... . Td. Vậy thì các đồ thị con

GTl - vt, GT2 - V t , - - - , G T d - V t
không có đỉnh chung và không có cạnh nối giữa chúng.

Hình 2.2: Những phần tách biệt của T chuyển sang đồ thị G

Tính chất 2.2.2. Xét X và Y là hai thành phần liên thông của T hình thành sau khi xóa

cạnh {X, y}. Vậy thỉ xóa tập Vx n Vy khỏi V sẽ tách G thành hai đồ thị con Gx — {V x
n Vy) và Gy — {Vx n Vy). Hơn nữa, hai đồ thị này không chia sẻ bất kỳ đỉnh nào và
không có cạnh nối giữa hai đồ thị con này.


Gx - (Vs n Vv) Gy — (Vx n Vy)

Hình 2.3: Xóa một cạnh của cây T dẫn đến phân tách của đồ thị G

Tính chất 2.2.3. Một đồ thị liên thông G có độ rộng cây là 1 nếu và chỉ nếu nó là
một cây.
Khỉ chứng ta tìm được một phân rã cây, chúng ta muốn phân rã này có càng ít khối
càng tốt. Có một cách đơn giản để tối ưu số khối của một phân rã cây (T, {Vỉ}) của đồ
thị G như sau:
• Nếu chúng ta tìm thấy một cạnh {Æ, y } của T mà v^; Ç thì chúng ta có thể co
cạnh {x} y} lại (xếp lại khối V x vào v^) và có được một phân rã cây của G
dựa trên một cây có kích thước nhỏ hơn.
• Lặp đỉ lặp lại quá trình này, chúng ta được một phân ră cây không dư thừa:
Không có cạnh {#, y } của cây sao cho V x Ç V y .
Ví dụ 2.2.4. Trong hình 2.4b là một phân rã cây dư thừa, ta có khối {ơ, H } c { E , G )

H } , do đó ta có thể xếp lại khối {G, H } vào khối { E , G ) H } . Khi đó ta được một
phân rã cây không dư thừa như hình 2.4c.
Tính chất 2.2.5. Mọi phân rã cầy không dư thừa nào của đồ thị n đỉnh đều chì có
nhiều nhất n khối.

2.3

Xây dựng phân rã cây


Định nghĩa 2.3.1. Đồ thị G là một đồ thị tam giác nếu mọi chu trình trong G CÓ độ
dài ít nhất bằng 4 đều có cạnh nối giữa hai đỉnh không kề nhau trong chu trình.


Hình 2.4: (b) phân ra cây dư thừa (c) phân rã cây không dư thừa của đồ thị (a)

Định nghĩa 2.3.2. Thứ tự loại trừ của một đồ thị G = (V, E) là một song ánh từ tập
đỉnh V lên tập {1, 2 , . . . , n}.
Một thứ tự loại trừ / được gọi là hoàn hảo nếu với mọi đỉnh V £ V, tập Nv những
đỉnh hàng xóm được đánh số lớn hôn nó, tức là
Nv = {w I {v, w} £ E và f ( w ) > f ( v ) }
tạo thành một clique.
Định lý 2.3.3. Cho đồ thị G. Ba mệnh đề dưới đây là tương đương
(i)G là đồ thị tam giác;
(ii) G có một thứ tự loại trừ hoàn hảo;
(iii)

Có một phân rã cây (T, {Vị I t £ T}) của G sao cho với mọi đỉnh t £ T,
tập Vị là một Clique trong G.

Định nghĩa 2.3.4. Đồ thị H = (VỊJ , Eỵ) là một tam giác hóa của đồ thị
G = (VG, EG), nếu H là một đồ thị tam giác nhận được từ G bằng cách thêm 0 hoặc
nhiều cạnh.


Một đồ thị tam giác H = (V, EH) là một tam giác hóa tối thiểu của G = (V, EG)
nếu không có tam giác hóa nào của G là một đồ thị con của H. Có nghĩa rằng, không
có tập cạnh F nào sao cho (V, F) là một tam giác hóa của G trong đó F C EỊJ .
Trước hết chúng ta đưa ra một co chế thêm cạnh vào một đồ thị cho trước để tạo
thành một đồ thị tam giác. Co chế này giả sử một thứ tự loại trừ nào đó có trước. Ở

đây ta xem xét thuật toán F i l l - i n với đầu vào là một đồ thị G và một thứ tự loại trừ
7ĩ; đầu ra sẽ là một đồ thị tam giác hóa H của G thỏa mãn 7Ĩ là một thứ tự loại trừ
hoàn hảo của H. Thực ra chúng ta sẽ thêm tập nhỏ nhất những cạnh tới G sao cho 7ĩ là
một thứ tự loại trừ hoàn hảo của H. Đồ thị H được gọi là đồ thị Fill-in của G với thứ tự
loại trừ 7Ĩ.
Thuật toán 2.3.5. (Thuật toán Fill - in)
Đầu vào: Đồ thị G, thứ tự loại trừ 7Ĩ Đầu ra: Đồ thị Fill in H của G
1. H :=G
2. for i = 1 to n
3. Lấy V = 7Ĩ 1 (ĩ) là đỉnh thứ % trong thứ tự loại trừ 7Ĩ
4. for mỗi cặp đỉnh kề w , X của V với w Ỷ x ĩ > T t ( v )
5. if w và X không kề nhau trong H
6.

Thêm cạnh {w, X} vào H

7. endif
8. endfor
9. endfor
10. return H


Ví dụ 2.3.6. Xét đồ thị ở hình bên trái, và thứ tự loại trừ 7ĩ được gán nhãn trên đồ thị
bên phải dưới đây.

Hình 2.5

Thuật toán duyệt qua các đỉnh của đồ thị theo thứ tự đỉnh tăng dần của thứ tự loại
trừ:
7Ĩ_1(1), 7Ĩ_1(2), 7Ĩ_1(3), 7Ĩ_1(4), 7Ĩ_1(5), 7Ĩ_1(6), 7Ĩ_1(7).

Bắt đầu xét từ đỉnh 7Ĩ_1(1) do đỉnh này chỉ có hai đỉnh kề là 7Ĩ _1(2), 7Ĩ_1(4) là cặp đỉnh
có thứ tự loại trừ lớn hon nó nhưng hai đỉnh này đã kề nhau rồi nên ta không phải thao
tác gì cả.
Tiếp theo xét tới đỉnh 7Ĩ _1 (2), đỉnh này có hai đỉnh kề có thứ tự loại trừ lớn hon nó
là 7Ĩ_1 (4) và 7Ĩ_1 (5). Do hai đỉnh này không kề nhau nên ta thêm cạnh nối giữa hai
đỉnh này với nhau vào đồ thị. Ta đưọc:
2

5

7

Hình 2.6

Tiếp theo xét tới đỉnh 7Ĩ 1 (3), đỉnh này chỉ có một đỉnh kề là 7Ĩ 1 (4) có thứ tự loại
trừ lón hon nó mà đã có cạnh nối nên ta không phải làm gì cả.
Tiếp theo xét tới đỉnh 7T_1 (4), đỉnh này có hai đỉnh kề có thứ tự loại trừ lốn hơn
nó là 7T_1 (5) và 7T-1(6). Do hai đỉnh này không kề nhau nên ta thêm cạnh nối giữa hai
đỉnh này với nhau vào đồ thị. Và cuối cùng ta được đồ thị Fill-in như sau:


2

5

7

Hình 2.7

Định nghĩa 2,3.7, Cho đồ thị G = (V, E) và V £ V là một đỉnh của đồ thị. Thao tác loại

trừ đỉnh V là phép toán thêm cạnh nối giữa mỗi cặp đỉnh hàng xóm không kề nhau của
G và sau đó xóa đỉnh V khỏi đồ thị G.
Định nghĩa 2.3.8. số cạnh Fill - in của một đỉnh của đồ thị là số cạnh cần thêm vào khỉ
thực hiện thao tác loại ữừ đỉnh đó khỏi đồ thị.
Bổ đề 2.3.9. Cho đồ thị G = (V, E) và 7Ĩ là một thứ tự loại trừ của G. Lấy H = (V, EH )
là đồ thị Fill - in của G theo thứ tự loại trừ lĩ. Giả sửV = {vi,...

J vn), với Vvị £ V,

n(vị) = ỉ. Thuật toán Permutation To Tree Decomposition dưới đáy cho ta một phân
rã cây (T = ( V j F ) , { X v I V £ V}) thỏa mãn:
(i) Vói mọi V i £ V, Xv. là tập của V i và tất cả cấc đĩnh hàng xóm của V i có chỉ số lốn
hơn V ị trong H, có nghĩa là:
XVi

= M u { V j I j và {«ị, V, }

(ii) Đọ rộng của phân rã cây nhỏ hơn một so với kích thước Clique lớn nhất của H.
Thuật toán Permutation To Tree Decomposition

Đầu vào: Đồ thị G = ( V j E ) và thứ tự loại trừ 7T = ( v i , V2, . . . , v n )
Đầu ra: Một phân rã cây của G
1. if n = 1 then
2. return phân rã cây với một khối XVl = {^1};
3. endif
4. Tính đồ thị Gl = ( V ' j E') nhận được từ G bằng cách loại trừ V ú

e



×