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ểnbởi Robertson & Seymour từ những năm 80 trong công trình nổi tiếng nhằm giảiquyết giả thuyết về Graph Min
Trang 1BỘ GIÁO DỤC VÀ ĐẠO TẠO TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2
Trang 2LUẬN VĂN THẠC sĩ TOÁN HỌC
Người hướng dẫn khoa học: TS TRAN VĨNH ĐỨC
Trang 3Lồ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ũngxin 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ênNguyễn Văn Trưòng
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ênNguyễn Văn Trưòng
Trang 4Mục lục
Trang 5Mỏ đầu
Những ý tưởng đầu tiên của Lý Thuyết Đồ thị (LTĐT) được xuất phát từ nhữngnă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 đầutiên về lý thuyết đồ thị được Denes König viết năm 1936, nhưng mãi đến năm 1958quyể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ử
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óahọ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ầnphâ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ểnbởi Robertson & Seymour từ những năm 80 trong công trình nổi tiếng nhằm giảiquyết giả thuyết về Graph Minor Từ đó đến nay khái niệm này tìm thấy có nhiều ứngdụ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 khó 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àitoá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ếpcận để tấn công các bài toán loại này:
NP-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
Hình 0.1: Bài toán 7 cây cầu ở thành phố Königsberg Nguồn: Wikipedia
5
Trang 6quả 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ácbà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
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 trongcuộ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
Trang 74 Đ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.
7
Trang 8Cá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
Đị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 G 2 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 G 2 -
Trang 9Song á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 b ị
Định nghĩa 1.1.7 Bậc của một đỉnh V trong đồ thị G = (V, E) là số cạnh của G chứa
V.Ta ký hiệu deg('u) là bậc của đỉnh V. Có nghĩa rằng
deg('u) = \D V \ với D v = { e £ E \ v £ e }
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 V của đồ thị G = (y, E), bằng hai lần số cạnh:
Trang 11V i , V 2, ■ ■ ■ , V k ,
thỏa mãn Vịvà V i + 1kề 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à
Trang 12trong đó mọi đỉnh đều phân biệt ngoại trừ V\ = V r + 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.
Đị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,v 2ì ■■■ ,v k
trong G với X = Vi và y = v k
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ớptư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
a
Hình 1.3: Một chu trình
2
Trang 13V — 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.
Đị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:
Trang 14Ví dụ 1.1.19 Các đồ thị dưới đây đều là cây.
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
4
Trang 151.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êncâ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ộtcá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 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ượnglớ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 scủ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 5
Trang 16Chứ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 svì nếu cả hai đỉnh này không thuộc sthì 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àytrái với giả thiết slà tập độc lập có kích thước lớn nhất Bây giờ, nếu V G sthì 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
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ìmtậ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ảiphá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ỗicâ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ó Vlà lá Ta lấy đỉnh Vvà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:
Trang 17một lớp đồ thị gọi là đồ thị có độ rộng cây bị chặn (graphs of bounded tree-width) rấtgầ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ánthự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ứcmườ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
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ằngcá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ình1.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í
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.
1 7
Trang 18dụ, 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ưngchú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ốnphâ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ủaphâ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 độclậ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áttriể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ị Gcho ta biết cấu trúc của Gcó gần vớicấ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 Gcó độ rộng cây nhỏ, có nghĩa rằng Ggầ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
8
Trang 19Đị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 VG Gthuộc vào cả vtlvà 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à
Trang 20phân rã cây của G,và được ký hiệu tw(G).
Nếu T' là đồ thị con của T , ta dùng G T ' để 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ị T d Vậy thì các đồ thị con
GTl - vt, GT 2 - Vt, - - - , GT d- V tkhông có đỉnh chung và không có cạnh nối giữa chúng.
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 V x n Vy khỏi V sẽ tách G thành hai đồ thị con Gx — {V x
n Vy) và Gy — {V x 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.
Hình 2.2: Những phần tách biệt của T chuyển sang đồ thị G
Trang 21Hì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ốicà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 Vx 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 Vx Ç Vy.
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ộtphâ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.
Đị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
Gx - (Vs n Vv) Gy — (Vx n Vy)
Trang 22Đị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 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 = (V G , E G ), 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
Trang 23Một đồ thị tam giác H = (V, E H ) là một tam giác hóa tối thiểu của G = (V, E G )
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ạothà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 )
if w và X không kề nhau trong H
Trang 24bên phải dưới đây.
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ạitrừ:
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 thaotá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:
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ạitrừ 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:
Hình 2.5
Hình 2.6