Trong lý thuyết đồ thị, một Clique trong đồ thị vô hướng G là tập các đỉnh V (V là tập con của tập các đỉnh của G) thỏa mãn điều kiện: với mỗi cặp đỉnh thuộc V luôn tồn tại một cạnh của G nối chúng. Do vậy một đồ thị con được tạo ra từ V sẽ là một đồ thị đầy đủ. Kích thước của một clique là số đỉnh của nó.
CHƯƠNG 1: TỔNG QUAN VỀ CLIQUE 1.1 Lịch sử ứng dụng toán clique 1.2 Giới thiệu CLIQUE đồ thị CHƯƠNG 2: BÀI TỐN MAXIMAL CLIQUE 2.1 Phát biểu tốn 2.2 Phân tích vấn đề 2.3 Xây dựng giải pháp cho tốn 2.4 Chứng minh tính đắn thuật toán 2.5 Đánh giá độ phức tạp thuật toán 10 2.6 Đánh giá thực nghiệm 10 CHƯƠNG 3: GIỚI THIỆU MỘT THUẬT TOÁN POLYNOMIAL – TIME ÁP DỤNG CHO BÀI TỐN TÌM CLIQUE CỰC ĐẠI 11 3.1 Mở rộng toán Maximal Clique phù hợp với thực tế 11 3.2 Giới thiệu hướng tiếp cận thuật giải 11 3.3 Các thủ tục sử dụng polynomial-time algorithm 12 3.3.1 Các thủ tục 12 3.3.2 Thuật tốn 12 3.3.3.Chứng minh tính đắn thuật tốn 12 3.4 Phân tích độ phức tạp 14 TÀI LIỆU THAM KHẢO 16 CHƯƠNG 1: TỔNG QUAN VỀ CLIQUE 1.1 Lịch sử ứng dụng toán clique Nghiên cứu đồ thị đầy đủ toán học có trước thuật ngữ “clique” Ví dụ, đồ thị đầy đủ xuất sớm tài liệu toán học lý thuyết đồ thị lý thuyết Ramsey Erdoc & Szekeres (1935). Nhưng thuật ngữ "clique" vấn đề danh sách thuật toán clique đến từ khoa học xã hội, nơi đồ thị đầy đủ sử dụng để mơ hình nhóm xã hội, nhóm người biết Luce Perry (1949) sử dụng đồ thị để mơ hình hóa mạng xã hội điều chỉnh thuật ngữ khoa học xã hội theo lý thuyết đồ thị. Họ người gọi đồ thị đầy đủ "cliques". Thuật toán để giải vấn đề clique Harary Ross (1957) ,được thúc đẩy ứng dụng xã hội học. Các nhà nghiên cứu khoa học xã hội xác định loại khác cliques cliques tối đa mạng xã hội. Có thể tìm thấy nhiều khái niệm tổng qt cliques cách xây dựng đồ thị vơ hướng có cạnh đại diện cho cặp đối tượng có liên quan từ mạng xã hội sau áp dụng thuật tốn cho tốn clique vào đồ thị Kể từ cơng trình Harary Ross, nhiều người khác nghĩ thuật toán cho phiên khác vấn đề clique. Vào năm 1970, nhà nghiên cứu bắt đầu nghiên cứu thuật toán từ quan điểm phân tích trường hợp xấu nhất . Ví dụ, Tarjan & Trojanowski (1977) , cơng trình ban đầu độ phức tạp thời gian xấu vấn đề clique tối đa. Cũng thập niên 1970, bắt đầu với công việc của Cook (1971) và Karp (1972) , nhà nghiên cứu bắt đầu sử dụng lý huyết NP-completeness và kết liên quan để cung cấp giải thích tốn học cho vấn đề clique. Trong năm 1990, loạt báo mang tính đột phá bắt đầu với Feige et al. (1991) và xuất tờ New York Times đã (giả sử P ≠ NP ) chí khơng thể đưa vấn đề xác hiệu 1.2 Giới thiệu CLIQUE đồ thị Trong lý thuyết đồ thị, Clique đồ thị vô hướng G tập đỉnh V (V tập tập đỉnh G) thỏa mãn điều kiện: với cặp đỉnh thuộc V tồn cạnh G nối chúng Do đồ thị tạo từ V đồ thị đầy đủ Kích thước clique số đỉnh Định nghĩa 1: Đồ thị đầy đủ n đỉnh, kí hiệu Kn, là đồ thị đơn vô hướng mà hai đỉnh ln có cạnh nối Đồ thị Kn có tất n(n-1)/2 cạnh Nó đồ thị đơn có nhiều cạnh nhất, đồng thời đồ thị quy bậc n-1 Ví dụ 1: Một đồ thị đầy đủ K7 (7 đỉnh) Nếu đồ thị tập đỉnh tạo nên clique kích thước 7002E Hình 1.1: Đồ thị đầy đủ K7 Bài tốn xác định có tồn hay khơng clique với kích thước cho trước đồ thị (Bài toán clique) toán NP-Complete Đối với clique tập độc lập, với nghĩa clique tương ứng với tập độc lập đồ thị nghịch đảo Thuật ngữ xuất phát từ ý tưởng giả sử đỉnh biểu diễn người cạnh biểu diễn mối quan hệ quen biết, hai người quen lẫn nhau, tạo nên clique Định nghĩa 2: Clique cực đại (maximal clique) G clique không thuộc clique khác rộng nó, nói cách khác khơng thể thêm đỉnh vào clique cực tạo clique có số đỉnh lớn Định nghĩa 3: Clique lớn (maximum clique) G clique có số đỉnh lớn G Một clique lớn đồng thời clique cực đại, điều ngược lại chưa Định nghĩa 4: Chỉ số clique (clique number) đồ thị G số đỉnh clique lớn G Chỉ số clique đồ thị G ký hiệu ω(G) Định nghĩa 5: Phần bù đồ thị G (kí hiệu 𝐺) có tập đỉnh giống với tập đỉnh G tập cạnh không nằm tập cạnh G Định nghĩa 6: Đồ thị đầy đủ (Complete Graph): với cặp đỉnh nối với cạnh Hình 1.2: Đồ thị G, phần bù đồ thị 𝐺, đồ thị đầy đủ, Clique CHƯƠNG 2: BÀI TỐN MAXIMAL CLIQUE 2.1 Phát biểu tốn Cho đồ thị G = (V, E) số k∈N* thỏa mãn |k|≤|V| Tồn hay không tập V’ V cho |V’|≥k mà cặp đỉnh V’ nối cạnh E Ví dụ 2.1:Cho đồ thị Octahedron với n = đỉnh Tìm Clique cực đại với kích thước k = Hình 2.1: Đồ thị Octahedron với clique cực đại ( n=6, k=3) 2.2 Phân tích vấn đề ❖ Mơ tả giả thiết vấn đề - Đầu vào: Đồ thị G đơn đồ thị vô hướng, liên thông - Đầu ra: Clique cực đại đồ thị G; ❖ Mục tiêu vấn đề: Tìm Clique cực đại đồ thị; ❖ Các điều kiện hay ràng buộc liên quan: - Phải đơn đồ thị vô hướng, liên thông; - Số đỉnh (>=2) số cạnh (>=1) đồ thị hữu hạn; 2.3 Xây dựng giải pháp cho tốn Bài tốn có số giải pháp như: - Sử dụng thuật toán Non polynomial-time algorithm - Sử dụng thuật toán polynomial-time algorithm - Hai thuật toán hiệu với việc thực toán NP-Complete: quay lui nhánh – cận Ở đây, em trình bày giải thuật Bron Kerbosch cho tốn tìm Clique cực đại Thuật tốn thiết kế công bố vào năm 1973 hai nhà khoa hoc người Hà Lan Joep Kerbosch Coenradd Bron Nó biết thuật tốn hiệu cho việc sử dụng đệ qui quay lui để tìm Clique Thuật tốn sau: ● Khơng có Pivoting Strategy ➢ Dạng thuật toán Bron – Kerbosch thuật toán đệ quy lùi để tìm kiếm tất clique tối đa đồ thị G. Nói chung, với ba bộ R , P và X , tìm thấy clique tối đa bao gồm tất đỉnh trong R , số đỉnh trong P , khơng có đỉnh trong X. Trong lời gọi đến thuật toán, P và X là tập hợp rời mà hợp bao gồm đỉnh tạo thành clique thêm vào R. Nói cách khác, P ∪ X là tập đỉnh nối với phần tử của R. Khi P và X đều trống rỗng, khơng có thêm phần tử thêm vào R , R clique tối đa kết thuật toán R ➢ Phép đệ quy khởi tạo cách thiết lập R và X là tập rỗng và P là tập đỉnh đồ thị. Trong lời gọi đệ quy, thuật tốn xem xét đỉnh trong P; nếu khơng có đỉnh báo cáo R là clique tối đa (nếu X trống) ngược lại. Đối với đỉnh v được chọn từ P , thực lời gọi đệ quy đó v được thêm vào R và đó P và X bị giới hạn tập lân cận N (v) của v , tìm xuất tất phần mở rộng clique của R chứa v . Sau đó, di chuyển v từ P sang X để loại trừ khỏi việc xem xét cliques tương lai tiếp tục với đỉnh trong P Trong mã giả, thuật toán thực bước sau: BronKerbosch1(R, P, X): if P and X are both empty: report R as a maximal clique for each vertex v in P: BronKerbosch1(R ⋃ {v}, P ⋂N(v), X ⋂ N(v)) P := P \ {v} X := X ⋃ {v} ● Có Pivoting Strategy: Dạng thuật tốn, mô tả trên, không hiệu trường hợp đồ thị có nhiều clique khơng cực đại: tạo lời gọi đệ quy cho clique, cực đại hay không. Để tiết kiệm thời gian cho phép thuật toán quay lại nhanh nhánh tìm kiếm khơng chứa clique cực đại, Bron Kerbosch giới thiệu biến thể thuật toán liên quan đến "pivot vertex" u , chọn từ P (hoặc đơn giản hơn, nhà nghiên cứu sau nhận ra, từ P ⋃ X ). Bất kỳ clique cực đại phải bao gồm hai: u đỉnh lân cận nó, khơng clique tăng cường cách thêm u vào nó. Do đó, có u và đỉnh khơng phải lân cận cần phải kiểm tra lựa chọn cho v đỉnh thêm vào R trong lần gọi đệ quy đến thuật toán. Trong mã giả thuật toán thực sau: BronKerbosch2(R,P,X): if P and X are both empty: report R as a maximal clique choose a pivot vertex u in P ⋃ X for each vertex v in P \ N(u): BronKerbosch2(R ⋃ {v}, P ⋂N(v), X ⋂ N(v)) P := P \ {v} X := X ⋃ {v} 2.4 Chứng minh tính đắn thuật tốn Cho đồ thị hình 2.2, tìm maximal clique đồ thị? Hình 2.2 Đồ thị đỉnh Trường hợp 1: Khơng có Pivoting Strategy Thuật tốn thực sau (có pivot): ● R = X = ∅, P = (1,2,3,4,5,6) ● Mỗi v P = (1,2,3,4,5,6,7) ● Tìm giá trị Rnew, Pnew Xnew ● Pnew = P ∩ N(v); Rnew = R ∪ v; Xnew = X ∩ N(v) ● Rnew = 1; Pnew = (2,3,4); Xnew = ∅ Tiếp tục thực gọi đệ qui nhiều lần, cụ thể sau: BronKerbosch(∅,(1,2,3,4,5,6,7),∅) BronKerbosch((1),(2,3,4),∅) BronKerbosch((1,2),(3,4),∅) BronKerbosch((1,2,3),(4),∅) BronKerbosch((1,2,3,4), ∅ ,∅) Maximal Clique: BronKerbosch((1,2,4), ∅ ,(3)) BronKerbosch((1,3),(4),(2)) BronKerbosch((1,3,4),∅,(2)) BronKerbosch((1,4),(4),(2,3) BronKerbosch((2),(3,4,5),(1)) BronKerbosch((2,3),(4),(1)) BronKerbosch((2,3,4),∅,(1)) BronKerbosch((2,4),(5),(1,3)) BronKerbosch((2,4,5), ∅ , ∅ ) Maximal Clique: BronKerbosch((2,5), ∅ ,(4)) BronKerbosch((3),(4),(1,2)) BronKerbosch((3,4),∅,(1,2)) BronKerbosch((4),(5,6),(1,2,3)) BronKerbosch((4,5),∅,(2)) BronKerbosch((4,6),∅, ∅ ) Maximal Clique: BronKerbosch((5),(7),(2,4)) BronKerbosch((5,7), ∅, ∅ ) Maximal Clique: BronKerbosch((6),∅,(4)) BronKerbosch((7),∅,(7)) Trường hợp 2: Có Pivoting Strategy: Trong đồ thị hình 2.2, thuật tốn ban đầu gọi là R = Ø, P = {1,2,3,4,5,6,7} và X = Ø. Đỉnh u được chọn đỉnh bậc cao (bậc 5), để giảm lời gọi đệ quy; giả sử rằng u được chọn đỉnh Sau đó, có hai đỉnh cịn lại trong P \ N ( u ): đỉnh Thuật tốn thực sau (có pivot): ● R = X = ∅, P = (1,2,3,4,5,6,7) ● Chọn phần tử pivot u ● Mọi v P\N(u) = (1,2,3,4,5,6,7)\(1,2,3,5,6) = (4,7) ● Tìm giá trị Rnew, Pnew Xnew ● Pnew = P ∩ N(v); Rnew = R ∪ v; Xnew = X ∩ N(v) ● Rnew = 4; Pnew = (1,2,3,5,6); Xnew = ∅ Tiếp tục thực gọi đệ qui nhiều lần, cụ thể sau: BronKerbosch(∅,(1,2,3,4,5,6,7), ∅): BronKerbosch((4),(1,2,3,5,6), ∅) BronKerbosch((4,2),(1,3,5), ∅) BronKerbosch((4,2,1),(3), ∅) BronKerbosh((4,2,1,3), ∅,∅) BronKerbosch((4,2,3), ∅,(1)) BronKerbosch((4,2,5), ∅,∅) BronKerbosch((4,6), ∅,∅) BronKerbosch((7),(5), ∅): BronKerbosch((7,5), ∅,∅) →Clique: (4,2,1,3) →Clique (4,2,5) → Clique (4,6) → Clique (7,5) 2.5 Đánh giá độ phức tạp thuật tốn Bất kì đồ thị có n đỉnh có nhiều 3n/3 Clique cực đại thời gian chạy trường hợp xấu (với chiến lược pivot giảm thiểu số lượng lần gọi đệ quy thực bước) thuật toán Bron–Kerbosch O(3n/3) 2.6 Đánh giá thực nghiệm Với thuật toán trên, cho đồ thị cỡ nhỏ thuật tốn mang lại hiệu cao Tuy nhiên, thực tế, vấn đề tìm Clique cực đại khơng dừng lại đồ thị có kích thước nhỏ, … Vì vậy, cần tối ưu việc giải vấn đề Qua tìm hiểu sưu tầm tài liệu, em xin giới thiệu thuật tốn áp dụng hiệu để giải vấn đề tìm Clique cực đại phù hợp với thực tiễn Nội dung giải pháp thuật tốn kèm theo trình bày chi tiết Chương 10 CHƯƠNG 3: GIỚI THIỆU MỘT THUẬT TOÁN POLYNOMIAL – TIME ÁP DỤNG CHO BÀI TỐN TÌM CLIQUE CỰC ĐẠI 3.1 Mở rộng toán Maximal Clique phù hợp với thực tế Trong thực tế, ứng dụng Clique đồ thị thường với số đỉnh lớn phức tạp.Trong nghiên cứu này, toán xử lý đơn đồ thị vơ hướng.Hình ảnh đồ thị cỡ lớn Hình 3.1 Hình 3.1: Đồ thị 12 đỉnh Clique cực đại với k = 3.2 Giới thiệu hướng tiếp cận thuật giải Năm 1972, Karp [9], giới thiệu danh sách 21 toán NP-complete, số tốn tìm clique cực đại đồ thị Như giới thiệu chương 2, thuật tốn Bron Kerbosch giải tốn tìm Clique cực đại với độ phức tạp O(3n/3) Thực tế, toán ứng dụng Clique thường với số đỉnh lớn, tốn có thời gian chạy lớn Để giải vấn đề này, phải xây dựng giải thuật tìm clique cực đại với thời gian đa thức.d Một thuật toán phương pháp giải vấn đề phù hợp để thực thi máy tính.Việc thiết kế thuật toán thường phải đối mặt với số phương pháp khác nhau.Tuy nhiên, có nhiều vấn đề mà thuật toán giải phải nhiều thời gian để tính tốn giải pháp, thực tế khơng cho phép điều Một thuật tốn có thời gian đa thức thuật tốn có số lượng bước tính tốn ln xác định hàm đa thức theo kích thước đầu vào Do đó, thuật tốn có thời gian đa thức thuật tốn hữu ích thực tế Các lớp tốn có thời gian đa thức kí hiệu P Ý tưởng tìm cách đưa toán NP-complete toán P Thuật tốn thiết kế trình bày chi tiết mục 3.3 11 3.3 Các thủ tục sử dụng polynomial-time algorithm 3.3.1 Các thủ tục ❖ Procedure 1: Cho đơn đồ thị G với n đỉnh clique Q G - Nếu Q khơng có đỉnh có khả kề với đỉnh khác xuất Q - Ngược lại, với đỉnh có khả kề v Q, + Tìm số đỉnh kề ρ(Q∪{v}) clique Q∪{v} + vmax kí hiệu đỉnh kề cho ρ(Q∪{vmax}) lớn thu clique Q∪{vmax} + Lặp lại clique khơng cịn đỉnh có khả kề ❖ Procedure 2: Cho đồ thị G với n đỉnh clique cực đại Q G - Nếu khơng có đỉnh v nằm ngồi Q có xác đỉnh w nằm Q w khơng hàng xóm v xuất Q - Ngược lại, tìm đỉnh v nằm ngồi Q cho có xác đỉnh w nằm Q khơng hàng xóm v - Định nghĩa Qv,w: Đưa đỉnh v vào Q xóa w từ Q - Thực Procedure Qv,w - Xuất ta kết clique 3.3.2 Thuật toán Cho đầu vào đồ thị đơn G với n đỉnh gán nhãn 1,2, …, n, tìm kiếm clique có kích cỡ nhỏ k Tại giai đoạn, clique thu có kích thước nhỏ k dừng lại Part I: For i=1,2, …,n ● Khởi tạo clique Qi = {i}; ● Thực procedure 3.1 Qi; ● For r = 1,2, …, k Thực Procedure ● Kết clique cực đại Qi; Part II: For cặp clique cực đại Qi, Qj tìm Part I ● Khởi tạo clique Qi,j = Qi∩Qj ● Thực Procedure Qi,j ● For r = 1, 2, …, k Thực Procesure 2; ● Kết clique cực đại Qi,j 3.3.3.Chứng minh tính đắn thuật tốn Chúng tơi minh họa bước thuật tốn với ví dụ nhỏ Đầu vào phần bù đồ thị Frutch [10] với n = 12 cạnh sau: 12 V = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Hình 3.2: Phần bù đồ thị Frutch Bài toán yêu cầu: Tìm clique có kích thước k = Part I cho i = i = sinh clique Q1 Q2 kích thước 4, thực chi tiết bắt đầu I = Chúng khởi tạo clique như: Q3 = {i} = {3} Bây giờ, thực procedure 3.1 Đây kết trình bày hình thức bảng: ❖ Clique Q3 = {3} Size(Q3) = Đỉnh có khả Các đỉnh có khả p(Q3∪{v}) kề v Q3 kề Q3∪{v} 5, 6, 8, 9, 12 5 1, 7, 8, 11, 12 1, 9, 11, 12 5, 9, 11, 12 1, 5, 9, 11 1, 6, 7, 8, 11 11 5, 6, 7, 8, 9, 12 12 1, 5, 6, 7, 11 ⇨ Maximum p(Q3∪ {v}) = cho v = 11 Thêm đỉnh 11 vào Q3 ❖ Clique Q3 = {3, 11} Size(Q3) = Đỉnh có khả Các đỉnh có khả kề v Q3 kề Q3∪{v} 7, 8, 12 9, 12 5, 9, 12 13 p(Q3∪{v}) 3 5, 9 6, 7, 12 5, 6, ⇨ Maximum ρ(Q3∪{v}) = for v = Adjoin vertex to Q3 ❖ Clique Q3 = {3, 5, 11} Size(Q3) = Đỉnh có khả Các đỉnh có khả p(Q3∪{v}) kề v Q3 kề Q3∪{v} 12 None 12 ⇨ Maximum ρ(Q3∪{v}) = for v = Adjoin vertex to Q3. ❖ Clique Q3 = {3, 5, 7, 11} Size: Đỉnh có khả Các đỉnh có khả p(Q3∪{v}) kề v Q3 kề Q3∪{v} 12 None Maximum ρ(Q3∪{v}) = for v = 12 Adjoin vertex 12 to Q3 Chúng thu clique cực đại Q3 = {3, 5, 7, 11, 12} Theo kích thước yêu cầu k = thuật tốn kết thúc Hình 3.3: Clique cực đại 3.4 Phân tích độ phức tạp Tơi trình bày độ phức tạp thuật toán thời gian đa thức, cách xác định đa thức theo n số đỉnh đồ thị đầu vào, giới hạn tổng số bước tính tốn thực thuật toán Lưu ý xem xét: Kiểm tra xem cặp đỉnh cho 14 trước kết nối cạnh G, so sánh số nguyên cho trước số nguyên cho trước khác Các thao tác xem bước tính tốn ❖ Mệnh đề A: Cho đồ thị đơn G với n đỉnh Clique Q, Procedure tốn n5 bước Chứng minh: Kiểm tra đỉnh đặc trưng có khả kề với đỉnh khác hay khơng tốn n2 bước Mỗi clique đặc biệt, tìm số đỉnh đặc trưng p có khả kề với đỉnh khác tốn nhiều n3 = nn2 bước Cho clique đặc trưng, tìm đỉnh mà có p maximum tốn n4 = nn3 bước Procudure xác định nhiều n đỉnh kết nối, tổng chi phí tốn nhiều n5 = nn4 bước ❖ Mệnh đề B: Cho đồ thị đơn giản G với n đỉnh clique cực đại Q, Procedure tốn nhiều n5 + n2 + bước Chứng minh: Tìm đỉnh v nằm ngồi Q có xác đỉnh w nằm Q mà khơng hàng xóm tốn n2 bước Nếu đỉnh v tìm thấy, tốn bước để trao đổi v w Theo mệnh đề A, tốn chi phí nhiều n5 bước để thực Procedure clique kết quả.Vì thế, Procedure tốn nhiều n2+1+n5 bước ❖ Mệnh đề C: Cho đồ thị đơn giản G với n đỉnh, Part I thuật toán tốn nhiều n7+n6+n4+n2 bước Chứng minh: Tại lần lặp, Procedure tốn nhiều n5 bước Sau đó, Procedure thực n lần, vậy, tốn chi phí nhiều n(n5+n2+1) = n6+n3+n bước Vì thế, lần lặp, có nhiều n5+n6+n3+n bước thực thi Do có n lần lặp, Part I thực nhiều n(n5+n6+n3+n) = n6+n7+n4+n2bước ❖ Mệnh đề D: Cho đồ thị đơn giản G với n đỉnh, thuật tốn tốn n8+2n7+n6+n5+n4+n3+n2bước để kết thúc Chứng minh: Có n2 cặp clique cực đại khác tìm thấy Part I Trong Part II tốn chi phí nhỏ n2(n5+n6+n3+n) = n7+n8+n5+n3 Vì vậy, tổng chi phí thuật toán Part I Part II (n7+n6+n4+n2)+(n8+n7+n5+n3) = n8+2n7+n6+n5+n4+n3+n2 bước để kết thúc thuật toán Vậy thuật tốn có độ phức tạp đa thức bậc 15 TÀI LIỆU THAM KHẢO Tiếng Anh John David Eblen, “The Maximum Clique Problem: Algorithms, Applications, and Implementations”, University of Tennessee, Knoxville, 2010 [2] “Clique (Graph Theory)”, địa truy cập: http://en.wikipedia.org/wiki/Clique_%28graph_theory%29 [3] “Bron – Kerbosch algorithm”, địa truy cập: http://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm [4] “The Clique Algorithm”, địa truy cập: http://www.dharwadker.org/clique/ [5] Plato, Timaeaus, circa 350 B.C [1] Tiếng Việt [11] PGS TS Đỗ Văn Nhơn ,Bài giảng mơn học “Thuật tốn phương pháp giải vấn đề”, Đại học CNTT, 2013 [12] Giáo trình Lý thuyết đồ thị, địa truy cập: http://uet.vnu.edu.vn/tltk/Learning/File_PDF/Giao_Trinh_TRR_C3.pdf 16 ... đỉnh tạo nên clique kích thước 7002E Hình 1.1: Đồ thị đầy đủ K7 Bài tốn xác định có tồn hay khơng clique với kích thước cho trước đồ thị (Bài toán clique) toán NP-Complete Đối với clique tập độc... nghĩa 2: Clique cực đại (maximal clique) G clique không thuộc clique khác rộng nó, nói cách khác khơng thể thêm đỉnh vào clique cực tạo clique có số đỉnh lớn Định nghĩa 3: Clique lớn (maximum clique) ... thuật toán 2.5 Đánh giá độ phức tạp thuật toán 10 2.6 Đánh giá thực nghiệm 10 CHƯƠNG 3: GIỚI THIỆU MỘT THUẬT TOÁN POLYNOMIAL – TIME ÁP DỤNG CHO BÀI TỐN TÌM CLIQUE CỰC ĐẠI 11 3.1 Mở rộng toán Maximal