1 / 85

A Simple Linear Time Algorithm for the Domatic Partition Problem on Strongly Chordal Graphs

A Simple Linear Time Algorithm for the Domatic Partition Problem on Strongly Chordal Graphs. Shen-Lung Peng and Maw-Shang Chang. Speaker: Chuang-Chieh Lin ( 林莊傑 ) Computation Theory Laboratory Advisor: Professor Maw-Shang Chang. Information Processing Letters , 43 (1992), pp. 297-300.

rinah-hicks
Télécharger la présentation

A Simple Linear Time Algorithm for the Domatic Partition Problem on Strongly Chordal Graphs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Simple Linear Time Algorithm for the Domatic Partition Problem on Strongly Chordal Graphs Shen-Lung Peng and Maw-Shang Chang Speaker: Chuang-Chieh Lin (林莊傑) Computation Theory Laboratory Advisor: Professor Maw-Shang Chang Information Processing Letters, 43 (1992), pp. 297-300.

  2. Outline • Introduction • Strongly Chordal Graphs • Algorithm • Correctness • Complexity • Conclusions • References

  3. Outline • Introduction • Strongly Chordal Graphs • Algorithm • Correctness • Complexity • Conclusions • References

  4. v7 v7 v1 v1 v5 v5 v4 v4 v8 v8 Dominating set • A graph of vertices D is a dominating set of a graph G = (V, E) if every vertex in V \ D is adjacent to a vertex in D. D = {v1, v4, v5, v7, v8} v2 v6 v3

  5. v7 v7 v2 v6 v1 v1 v5 v5 v3 v4 v4 v8 v8 Dominating set • Another dominating set D = {v2, v3, v6} D = {v3, v6} v2 v2 v6 v3 Q: Is there another smaller dominating set?

  6. v7 v7 v1 v1 v2 v2 v6 v6 v5 v5 v3 v3 v4 v4 v8 v8 Dominating set • What is the dominating set of the following graph?

  7. v7 v1 v2 v6 v3 v4 v5 v8 Domatic number • The domatic number of G, denoted by d(G), is the maximum number of pairwise disjoint dominating sets in G. v7 v1 v2 v6 v3 v4 v5 v8 {v1, v4, v5, v7, v8},{v2, v3, v6}

  8. v7 v1 v2 v6 v7 v1 v2 v6 v3 v4 v5 v8 v3 v4 v5 v8 Domatic number • Another family of pairwise disjoint dominating sets in G: {v1, v4, v5, v7, v8},{v3, v6}

  9. v7 v1 v2 v6 v3 v4 v5 v8 Domatic number • Another family of pairwise disjoint dominating sets in G: v7 v1 v2 v6 v3 v4 v5 v8 {v3, v5, v7, v8},{v1, v4 , v6} The domatic number of the graph is “2”. (Why?)

  10. v7 v1 v2 v6 v7 v1 v2 v6 v3 v4 v5 v8 v3 v4 v5 v8 The domatic partition problem • The domatic partition problem is to partition V into d(G) disjoint dominating sets. {{v1, v4, v5, v7, v8}, {v2, v3, v6}}is called a domatic partition.

  11. 5 7 2 1 8 3 6 4 • Another example: { {1, 5}, {2, 6}, {3, 8}, {4, 7}} is a domatic partition.

  12. Question: • Does any graph has a domatic partition?

  13. The domatic number was defined and studied by E. J. Cockayne and S. T. Hedetniemi [CH77]. • They showed that d(G) ≤  + 1, where  is the minimum degree of vertices in G. • G is domatically full if d(G) =  + 1.

  14. Some special graph classes are domatically full, such as : • Trees, [CH77] • Cliques, [CH77] • Maximum outerplanar graphs, [CH77] • Strongly chordal graphs, [F84] • ……

  15. 1 3 2 4 5 Chord • An edge is called a chord of a cycle if it connects two vertices of the cycle but is not itself an edge within the cycle. G

  16. 1 3 4 5 Chord • The subgraph of G induced by {1,2,3} has a cycle. 2 Any chord exists?

  17. 1 3 4 5 Chord • The subgraph of G induced by {1,2,3,4} has cycles. 2 Any chord exists? [2, 4], [1, 3]

  18. 1 3 2 4 5 Chord • The subgraph of G induced by {1,2,4,5} has cycles. Any chord exists? [1, 4]

  19. 1 3 2 4 5 Hole • A chordless cycle is sometimes also called a graph hole.

  20. Chordal graphs • A chordal graph is a simple graph possessing no holes (chordless cycles). • That is, A graph is chordal if and only if every cycle of length greater than three has a chord.

  21. 1 1 2 2 3 6 7 7 6 3 1 4 4 2 5 5 4 5 A chordal graph: A non-chordal graph: A hole !

  22. Outline • Introduction • Strongly Chordal Graphs • Algorithm • Correctness • Complexity • Conclusions • References

  23. Relax! • 某天上李家同教授的科技英文課,他問:「我問你們,你們知道米開朗基羅是誰嗎?」 • 某同學回答:「忍者龜!」 • 李教授正在感嘆學生人文素養不夠,正要開罵時,我補了一句: • 「另外還有三隻忍者龜,叫多納太羅、拉斐爾和達文西。」 • 從此我變成大學生人文素養不夠的範例。

  24. 2 3 4 5 6 1 Odd chords • Let (v1, v2, …, vk) be an even length cycle. Then an edge e = [vi, vj] is an odd chord of the even length cycle if e is a chord and i – j is odd. Any chord else? (1, 2, 3, 4, 5, 6) is an even length cycle.

  25. 2 3 4 5 6 1 Can you find an odd chord in the following graph? • Is it a chordal graph?

  26. Strongly chordal graphs • A graph is strongly chordal if it is chordal and every even length cycle of length six or more has an odd chord. • Other useful properties that characterize chordal and strongly chordal graphs are introduced in the following. Why six?

  27. v w x y v w x y Simplicial vertex • N[v] = Adj(v){v} is called the closed neighborhood of v. • A vertex v is called simplicial if the subgraph induced by N[v] is a clique. N[v] = {v, w, x, y} v is simplicial

  28. 1 2 3 6 7 4 5 Where are the simplicial vertices in the graph? {7, 6} Is vertex “1” a simplicial vertex?

  29. Perfect elimination ordering • Rose [R70] showed that a graph G is chordal if and only if it is possible to order the vertices (v1, v2,…, vn) in such a way that, for each i{1, 2,…, n}, vi is a simplicial vertex of Gi = G({vi, vi+1,…, vn}), where Gi is a subgraph induced by the vertex set {vi, vi+1,…, vn}. • Such an ordering is called a perfect elimination ordering.

  30. 1 2 6 7 3 4 5 4 → 5 3 → 2 → 1 → 6 → 7 → (6, 7, 2, 1, 3, 4, 5) is called a perfect elimination ordering of the given graph.

  31. Strong elimination ordering • Let Ni[v] denote the closed neighborhood of v in Gi. • The ordering of vertices (v1, v2,…, vn) is called a strong elimination ordering if it is a perfect elimination ordering and, for each i < j < k, if vj and vk belong to Ni[vi] in Gi then Ni[vj]  Ni[vk]. • For example,

  32. 7 3 7 5 5 1 3 2 8 8 6 2 6 9 9 4 4 4 7 3 3 2 6 5 6 5

  33. Strong elimination ordering (contd.) • In other words, for each vertex vi we not only require that vi be simplicial in Gi but in addition insist that the ordering of the vertices in Ni[vi] be consistent with the ordering of this nested family (smallest to largest).

  34. Why are we concerned for the strong elimination ordering? • Farber [F83] showed that a graph is strongly chordal if and only if it admits a strong elimination ordering. • To date (1992), the best-known time to recognize strongly chordal graphs is O(mlogn). This algorithm additionally determines a strong elimination ordering. [PT87]

  35. Outline • Introduction • Strongly Chordal Graphs • Algorithm • Correctness • Complexity • Conclusions • References

  36. Relax! 如果你只剩下3天壽命...... 某日,一位教授問學生:「如果你只剩下三天的壽命,你要怎麼利用?」 學生競相回答: AA:「我要趁這幾天好好陪陪家人。」 BB:「我要和我女朋友大玩特玩。」 CC:「我要寫好遺囑。」 這時教授看見一個同學沈默不語,便問他:「DD你呢?你要怎麼利用這三天?」 DD:「教授,我想聽你的課。」 全班同學開始罵他狗腿,為了分數不擇手段等等,而教授聽了大喜,心想現在居然還有如此尊師重道的同學,不禁再問他:「為什麼呢?」   他突然正氣凜然的站起來:「因為聽你的課讓我有度日如年的感覺...」 一學期後,那同學被當了。

  37. Preliminary of the algorithm • A greedy approach is used to design this algorithm. • First, we assume that a strong elimination ordering has been constructed for the strongly chordal graph G = (V, E). • It has the property that the closed neighborhoods of the members of Ni[vi] form a nested family of sets.

  38. Preliminary of the algorithm (contd.) • The algorithm maintains +1 disjoint sets. • Initially, these sets are empty. • The algorithm visits vertices in the reverse ordering of the strong elimination ordering. A vertex is included in a set when it is visited.

  39. Preliminary of the algorithm (contd.) • We say that a vertex v is dominated by set S if there exists a vertex uS such that uN[v]. • A vertex v is completely dominated if v is dominated by +1 dominating sets. • Now let us see the algorithm.

  40. Algorithm DP • 1. Initially, Si =  for 1≤ i ≤ +1. • 2. FORi = n down to 1 DO • 3. Find the largest k such that vk N[vi] and vk is not completely dominated; • 4. Let Sj be a set that does not dominate vk; • 5. Include vi in Sj, i.e., Sj = {vi} Sj; • 6. If no such set exists, then include vi to an arbitrary set. • 7. ENDFOR

  41. 1 1 7 3 5 5 3 7 9 6 2 8 8 9 6 2 4 4 N1[2] = {2, 3, 4, 5, 6, 7} N1[5] = {2, 3, 5, 6} N1[6] = {2, 3, 5, 6, 7} A strong elimination ordering: (preprocessing) 1 → 5 → 6 → 2 → 7 → 4 → 3 → 9 → 8

  42. 1 5 3 7 2 9 6 4 8 Algorithm DP:  = 2 1 ← 5 ← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 S1 =  S2 =  S3 = 

  43. 1 5 3 7 2 9 6 4 8 Algorithm DP: 1 ← 5 ← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 S1 =  {8} S2 =  S3 = 

  44. 1 5 3 7 2 9 6 4 8 Algorithm DP: 1 ← 5 ← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 S1 = {8} S2 =  {9} S3 = 

  45. 1 5 3 7 2 9 6 4 8 Algorithm DP: 1 ← 5 ← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 S1 = {8} S2 = {9} S3 =  {3}

  46. 1 5 3 7 2 9 6 4 8 Algorithm DP: 1 ← 5 ← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 S1 = {8} {4, 8} S2 = {9} S3 = {3}

  47. 1 5 3 7 2 9 6 4 8 Algorithm DP: 1 ← 5 ← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 S1 = {4, 8} S2 = {9} {7, 9} S3 = {3}

  48. 1 5 3 7 2 9 6 4 8 Algorithm DP: 1 ← 5 ← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 {2, 4, 8} S1 = {4, 8} S2 = {7, 9} S3 = {3}

  49. 1 5 3 7 2 9 6 4 8 Algorithm DP: 1 ← 5 ← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 S1 = {2, 4, 8} S2 = {7, 9} {6, 7, 9} S3 = {3}

  50. 1 5 3 7 2 9 6 4 8 Algorithm DP: 1 ←5← 6 ← 2 ← 7 ← 4 ← 3 ← 9 ← 8 S1 = {2, 4, 8} S2 = {6, 7, 9} S3 = {3} {3, 5}

More Related