Eine 3
2-Approximation für
Sorting by Reversals
Andreas Stephan
July 16, 2014
1/44
Was ist eine Reversion?
Sei π unsere zu sortierende Permutation
Eine Reversion ist ein "Umdrehen einer Teilfolge"
Beispiel...
Motivation
Problematik kommt aus der Biologie
Veränderungen der DNA oft durch "Reversionen"
Wenn man Anzahl an Reversionen...
Problemstellung
Das Problem heißt Min-SBR(Minimum - Sorting by Reversals)
Eingabe: Permutation π
Gesucht: Eine kürzeste Fo...
Breakpoints
Breakpoint: Tupel an Positionen (i, i + 1), die nicht nebeneinander
gehören(Im Beispiel durch "|" dargestellt)...
Kreisgraphen
Bezeichnet als G(π).
Für ihn wird die erweiterte Permutation π gebildet mit
π := (0, π(1), . . . .π(n), n + 1...
Beispiel
0 7 5 6 3 2 4 1 8
Figure : Kreisgraph von [7563241]
7/44
Kreisdekompositionen
Kreis soll abwechselnd grüne und schwarze Kanten haben
Länge k eines Kreises ist Anzahl an schwarzen ...
Beispiel
0 7 5 6 3 2 4 1 8
Figure : Kreisdekomposition von [7563241], Rot ist 3-Kreis, Schwarz ist
anderer 3-Kreis, Blau s...
Erste Beobachtungen
c2 : Anzahl an 2-Kreisen in Kreisdekomposition mit maximaler
Anzahl Kreisen
c3 : Anzahl restlicher Kre...
Ziel, um 3/2 Approximation zu erreichen
3
2 mal die untere Schranke:
3
2
∗ (
2
3
b(π) −
1
3
c2(π)) = b(π) −
1
2
c2
⇒ Ziel ...
Weitere Vorgehensweise
1 Ausgehend von einer Kreisdekomposition eine Vorgehensweise
finden
2 Eine ausreichend gute Kreisdek...
Reversal Graph
Bezeichnet als R(C) mit C Kreisdekomposition
Jede grüne Kante in G(π) ist ein Knoten von R(C)
⇔ für jede ge...
Beispiel(Knoten von R(C))
0 7 5 6 3 2 4 1 8
6-7
3-4
0-1
4-5
1-2
7-8
5-6
2-3
14/44
Reversal Graph
Bezeichnet als R(C) mit C Kreisdekomposition
Jede grüne Kante in G(π) ist ein Knoten von R(C)
⇔ für jede ge...
Beispiel(Farben der Knoten von R(C))
0 7 5 6 3 2 4 1 8
6-7
3-4
0-1
4-5
1-2
7-8
5-6
2-3
16/44
Reversal Graph
Bezeichnet als R(C) mit C Kreisdekomposition
Jede grüne Kante in G(π) ist ein Knoten von R(C)
⇔ für jede ge...
Beispiel(Kanten von R(C)
0 7 5 6 3 2 4 1 8
6-7
3-4
0-1
4-5
1-2
7-8
5-6
2-3
18/44
Auswirkungen von Reversionen
R(C) heißt Reversionsgraph, weil wir jedem Knoten v ∈ R(C)
Reversion zuweisen
Eine Reversion ...
Reversion auf rotem Knoten
Sei v = {4, 5} rot. Dann schaut G(π) schematisch so aus:
a 4 ... b 5 ... c ... d
Reversion, die...
Reversion auf blauem Knoten
Sei v = {4, 5} blau. Dann schaut G(π) schematisch so aus:
a 4 ... 5 b ... c ... d
Reversion, d...
Auswirkungen auf Reversal Graph
Sei u Knoten von R(C) und u ∈ K, wobei K ein Kreis in G(π) ist.
Lemma 1
Bei Anwendung von ...
Auswirkungen auf Reversal Graph
Lemma 2
Sei u mit den Knoten v, w verbunden. Füge {v, w} hinzu, oder
lösche diese Kante be...
Auswirkungen auf Reversal Graph
Lemma 3
u ∈ R(C) ist rot ⇒ u ∈ R(ρu(C)) ist isolierter blauen Knoten
Beweis :
a 4 ... b 5 ...
fertig, wenn nur noch 1-er Kreise/isolierte blaue Knoten
aus vorherigen Lemmata folgt, dass Reversionen nur Knoten in
der ...
Sei A Zusammenhangskomponente. Dann ist Au der Subgraph von
der alle unsortierten Knoten von A nach der Reversion ρu enthä...
u v w v u w
Links Typ 1, Rechts Typ 2
Definitionen für den Beweis:
f (u) = v, ∀ roten Knoten u ∈ A
Folge u0 = u, ui+1 = f (...
Angenommen wir befinden uns an beliegen Knoten us aus dem
Zyklus und us ist vom Typ 1:
us us+1 w
us+2
{us+1, w} ist Kante, ...
Sei us = us+k im Zyklus. us kann also nur vom Typ 2 sein:
us+1 us w
us+k−1
{us, w}, {us, us+1} sind Kanten in A und {us+1,...
Satz 2
Sei v ein Knoten von R(C)
ρ(v) ist eine 2-Reversion genau dann wenn v auf orientiertem 2-er
Kreis liegt
Beweis : Or...
Satz 3
Um orientierte Komponente C mit k Kreisen zu sortieren brauchen
wir genau k 2-Reversionen und sonst 1-Reversionen
B...
Lemma 5
Sei A eine unorientierte Komponente. Dann ist Av eine orientierte
Komponente für alle v ∈ A
Beweis :
A unorientier...
Erstes Ergebnis
u(C) ist die Anzahl an unorientierten Komponenten.
Satz 4
d(π) ≤ b(π) − |C| + u(C)
Beweis :
b(π) wäre gena...
Kreisdekomposition
Aus vorherigem Verfahren wissen wir, dass 1-Reversion immer
möglich ist
Also ist Ziel möglichst viele 2...
Aussagen über Kreisdekomposition
Wir berechnen ein sogenanntes Matching M
M besteht aus y Leiter-2-Kreisen und z isolierte...
Beweis der oberen Schranke
Satz 5
Man kann π mit höchstens b(π) −
c2(π)
2
Reversionen sortieren
Beweis :
3 "Arten" von Kom...
k der 2-Kreise sind in orientierten Komponenten
⇒ Diese Komponenten werden mit mindestens k 2-Reversionen
und sonst 1-Reve...
Es bleibt zu zeigen: k + l + m − v ≥ c2(π)
2
Aus Kreisdekomposition wissen wir:
1 |M| ≥ c2(π)
2 k + l + m = y
2 + z
3 Die ...
Es bleibt zu zeigen: y
2 + z − v ≥ |M|
2
Die v Komponenten müssen jeweils aus mindestens 2 Kreisen
bestehen:
Beispiel 6
1 ...
Es bleibt zu zeigen: y
2 + z − v ≥ |M|
2
die v Komponenten müssen aus mindestens 2 Kreisen bestehen
sie bestehen nur aus i...
Komplexität
Satz 6
Berman, Karpinski haben bewiesen, dass jeder polynomielle
Approximationsalgorithmus höchstens eine Appr...
Danke für eure Aufmerksamkeit!
Noch fragen?
42/44
Matchinggraph
Wir führen den Matchinggraph F(π) ein:
Knoten für jede schwarze Kante (i, i + 1)
Kante zwischen u, v ∈ F(π) ...
Kreisdekomposition
Wir berechnen jetzt maximales Matching M mit |M| = y
Beispiel 8
a b c ... d e f
a-b e-f
b-c d-e
Figure ...
Nächste SlideShare
Wird geladen in …5
×

Presentation

94 Aufrufe

Veröffentlicht am

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
94
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Presentation

  1. 1. Eine 3 2-Approximation für Sorting by Reversals Andreas Stephan July 16, 2014 1/44
  2. 2. Was ist eine Reversion? Sei π unsere zu sortierende Permutation Eine Reversion ist ein "Umdrehen einer Teilfolge" Beispiel 1 π = 13 5892 ρ3,6(π) 467 → π = 13 2985 467 2/44
  3. 3. Motivation Problematik kommt aus der Biologie Veränderungen der DNA oft durch "Reversionen" Wenn man Anzahl an Reversionen findet, bekommt man eine Idee für den sogenannten evolutionären Abstand 3/44
  4. 4. Problemstellung Das Problem heißt Min-SBR(Minimum - Sorting by Reversals) Eingabe: Permutation π Gesucht: Eine kürzeste Folge an Reversionen (p1, p2, · · · , pd ), sodass ρd (ρd−1(. . . ρ1(π)) . . . ) = (1 . . . n) 4/44
  5. 5. Breakpoints Breakpoint: Tupel an Positionen (i, i + 1), die nicht nebeneinander gehören(Im Beispiel durch "|" dargestellt) Beispiel 2 1|345|8|9|2|67 Anzahl Reversionen in Abhängigkeit zu Breakpoints Ziel wird sein diese zu eliminieren b(π) ist Anzahl an Breakpoints 5/44
  6. 6. Kreisgraphen Bezeichnet als G(π). Für ihn wird die erweiterte Permutation π gebildet mit π := (0, π(1), . . . .π(n), n + 1) Knoten: V := {0, . . . , n + 1} Kantenmenge: Schwarze und grüne Kanten. Kante (i, j) schwarz, wenn sie nebeneinander liegen(gerichtet) Kante {i, j} grün, wenn sie nebeneinander liegen wollen(ungerichtet) 6/44
  7. 7. Beispiel 0 7 5 6 3 2 4 1 8 Figure : Kreisgraph von [7563241] 7/44
  8. 8. Kreisdekompositionen Kreis soll abwechselnd grüne und schwarze Kanten haben Länge k eines Kreises ist Anzahl an schwarzen Kanten ⇒ wird als k-Kreis bezeichnet Kreisdekomposition C ist Aufteilung von G(π) in kantendisjunkte Kreise 8/44
  9. 9. Beispiel 0 7 5 6 3 2 4 1 8 Figure : Kreisdekomposition von [7563241], Rot ist 3-Kreis, Schwarz ist anderer 3-Kreis, Blau sind 1-er Kreise 9/44
  10. 10. Erste Beobachtungen c2 : Anzahl an 2-Kreisen in Kreisdekomposition mit maximaler Anzahl Kreisen c3 : Anzahl restlicher Kreise mit Länge > 2 Satz 1 d(π) ≥ 2 3b(π) − 1 3 c2(π) Beweis: Bafna und Pevzner zeigten: d(π) ≥ b(π) − c2(π) − c3(π) Jeder der c3 Kreise hat mindestens 3 schwarze Kanten: c3 ≤ 1 3 (b(π) − 2c2(π)) d(π) ≥ b(π) − c2(π) − 1 3 (b(π) − 2c2(π)) = 2 3 b(π) − 1 3 c2(π) 10/44
  11. 11. Ziel, um 3/2 Approximation zu erreichen 3 2 mal die untere Schranke: 3 2 ∗ ( 2 3 b(π) − 1 3 c2(π)) = b(π) − 1 2 c2 ⇒ Ziel ist es also maximal b(π) − 1 2 c2 Reversionen zu benötigen 11/44
  12. 12. Weitere Vorgehensweise 1 Ausgehend von einer Kreisdekomposition eine Vorgehensweise finden 2 Eine ausreichend gute Kreisdekomposition finden 3 Beweisen, dass wir maximal b(π) − 1 2c2 Reversionen benötigen 12/44
  13. 13. Reversal Graph Bezeichnet als R(C) mit C Kreisdekomposition Jede grüne Kante in G(π) ist ein Knoten von R(C) ⇔ für jede gewollte Nachbarschaft gibt es Knoten 13/44
  14. 14. Beispiel(Knoten von R(C)) 0 7 5 6 3 2 4 1 8 6-7 3-4 0-1 4-5 1-2 7-8 5-6 2-3 14/44
  15. 15. Reversal Graph Bezeichnet als R(C) mit C Kreisdekomposition Jede grüne Kante in G(π) ist ein Knoten von R(C) ⇔ für jede gewollte Nachbarschaft gibt es Knoten Knoten v ist blau, wenn es die Pfeilspitze und den Schwanz einer gerichtenten schwarzen Kante verbindet, ansonsten rot Beispiel 3 a b c d a b c d Figure : links: blauer Knoten in R(C), rechts: roter Knoten in R(C) 15/44
  16. 16. Beispiel(Farben der Knoten von R(C)) 0 7 5 6 3 2 4 1 8 6-7 3-4 0-1 4-5 1-2 7-8 5-6 2-3 16/44
  17. 17. Reversal Graph Bezeichnet als R(C) mit C Kreisdekomposition Jede grüne Kante in G(π) ist ein Knoten von R(C) ⇔ für jede gewollte Nachbarschaft gibt es Knoten Knoten v ist blau, wenn es den Kopf einer gerichteten schwarzen Kante und den Schwanz einer schwarzen Kante verbindet. Ansonsten rot. Kante wird eingefügt, wenn diese sich "überschneiden" Beispiel 4 a b c d Figure : Kante zwischen (a − c), (b − d) 17/44
  18. 18. Beispiel(Kanten von R(C) 0 7 5 6 3 2 4 1 8 6-7 3-4 0-1 4-5 1-2 7-8 5-6 2-3 18/44
  19. 19. Auswirkungen von Reversionen R(C) heißt Reversionsgraph, weil wir jedem Knoten v ∈ R(C) Reversion zuweisen Eine Reversion arbeitet immer auf zwei schwarzen Kanten Beispiel 5 Reversion, die den schwarzen Kanten (5, 3) und (6, 4) zugeordnet ist: [075 326 umdrehen 418] ⇒ [075 623 umgedreht 418] 19/44
  20. 20. Reversion auf rotem Knoten Sei v = {4, 5} rot. Dann schaut G(π) schematisch so aus: a 4 ... b 5 ... c ... d Reversion, die dem Knoten (4 − 5) ∈ R(C) entspricht und auf den Kanten (a, 4) und (b, 5) arbeitet: a b ... 4 5 ... c ... d 20/44
  21. 21. Reversion auf blauem Knoten Sei v = {4, 5} blau. Dann schaut G(π) schematisch so aus: a 4 ... 5 b ... c ... d Reversion, die dem Knoten (4 − 5) ∈ R(C) entspricht und auf den Kanten (a, 4) und (5, b) arbeitet: a 5 ... 4 b ... c ... d 21/44
  22. 22. Auswirkungen auf Reversal Graph Sei u Knoten von R(C) und u ∈ K, wobei K ein Kreis in G(π) ist. Lemma 1 Bei Anwendung von ρu(π) ändere die Farben der Nachbarn von u ∈ R(C) Beweis : a b ... e f ... c d ... g h ρu(π) arbeitet auf {a, b}, {c, d}, dreht also b, . . . , c um a c ... f e ... b d ... g h 22/44
  23. 23. Auswirkungen auf Reversal Graph Lemma 2 Sei u mit den Knoten v, w verbunden. Füge {v, w} hinzu, oder lösche diese Kante bei Anwendung von ρu(π) Beweis : a b c d e f g h ρu(π) wird ausgeführt, also c, . . . , f umgedreht a b f e d c g h 23/44
  24. 24. Auswirkungen auf Reversal Graph Lemma 3 u ∈ R(C) ist rot ⇒ u ∈ R(ρu(C)) ist isolierter blauen Knoten Beweis : a 4 ... b 5 ... c ... d Sei u = (4 − 5). Dann schaut G(ρu(π)) so aus: a b ... 4 5 ... c ... d 24/44
  25. 25. fertig, wenn nur noch 1-er Kreise/isolierte blaue Knoten aus vorherigen Lemmata folgt, dass Reversionen nur Knoten in der selben Zusammenhangskomponente verändern Deshalb jetzt Einteilung von R(C) in unorientierte Zusammenhangskomponenten: enthalten nur blaue Knoten orientierte Zusammenhangskomponenten: enthalten mind. einen roten Knoten Vorsicht: isolierte blaue Knoten werden in diese Einteilung nicht aufgenommen, weil sie schon sortiert sind 25/44
  26. 26. Sei A Zusammenhangskomponente. Dann ist Au der Subgraph von der alle unsortierten Knoten von A nach der Reversion ρu enthält Lemma 4 Sei A orientierte Komponente und u ∈ A rot. Dann ist jede Komponente von Au orientiert Beweis : Sei u ∈ A rot. Angenommen es gibt unorientierte Zusammenhangskomponente U in Au. U muss also mindestens 2 blaue Knoten v, w haben. u v w v u w Links Typ 1, Rechts Typ 2 26/44
  27. 27. u v w v u w Links Typ 1, Rechts Typ 2 Definitionen für den Beweis: f (u) = v, ∀ roten Knoten u ∈ A Folge u0 = u, ui+1 = f (ui ) Da es nur endlich viele rote Knoten gibt, ist die Folge zyklisch (Teilfolge wird sich immer wieder wiederholen) 27/44
  28. 28. Angenommen wir befinden uns an beliegen Knoten us aus dem Zyklus und us ist vom Typ 1: us us+1 w us+2 {us+1, w} ist Kante, aber {us, w} nicht us+2 ist in einer unorientierten Komponente nach ρus+1 (π) {us+2, w} muss Kante in A sein, da sonst w nach ρus+1 (π) rot wäre und mit us+2 verbunden wäre so kann man auch für us+3, us+4, . . . argumentieren, also {us+i , w} in A Widerspruch, da Folge zyklisch ist und dann {us, w} Kante wäre 28/44
  29. 29. Sei us = us+k im Zyklus. us kann also nur vom Typ 2 sein: us+1 us w us+k−1 {us, w}, {us, us+1} sind Kanten in A und {us+1, w} nicht us ist in unorientierter Komponente nach ρus+k−1 (π) {us+k−1, w} muss in A liegen da, da w sonst nach ρus+k−1 (π) rot wäre und mit us verbunden wäre und us nicht in unorientierter Zhgk liegen würde selbes gilt für {us+k−2, w}, {us+k−3, w}, . . . , {us+i , w} in A Widerspruch, da {us+1, w} nicht in A liegt 29/44
  30. 30. Satz 2 Sei v ein Knoten von R(C) ρ(v) ist eine 2-Reversion genau dann wenn v auf orientiertem 2-er Kreis liegt Beweis : Orientierter 2-Kreis: 4 7 ... 5 8 Sowohl die Reversion (7 − 8), als auch (4 − 5) schauen so aus: 4 5 ... 7 8 30/44
  31. 31. Satz 3 Um orientierte Komponente C mit k Kreisen zu sortieren brauchen wir genau k 2-Reversionen und sonst 1-Reversionen Beweis : Da C orientiert ist, hat er einen roten Knoten u ρu(π) macht u zu isoliertem Knoten, ist also eine 1-Reversion Wenn u aber Teil eines 2-Kreises ist, ist es eine 2-Reversion Da Cu nur orientierte Komponenten enthält, können wir das solange machen, bis die Komponente sortiert ist Da wir k Kreise haben, brauchen wir k 2-Reversionen und sonst 1-Reversionen 31/44
  32. 32. Lemma 5 Sei A eine unorientierte Komponente. Dann ist Av eine orientierte Komponente für alle v ∈ A Beweis : A unorientiert, hat also nur blaue Knoten Nehme beliebigen Knoten v ∈ A. Von vorher: alle Nachbarn von v ändern durch Anwendung von ρv ihre Farbe ⇒ Av ist orientiert 32/44
  33. 33. Erstes Ergebnis u(C) ist die Anzahl an unorientierten Komponenten. Satz 4 d(π) ≤ b(π) − |C| + u(C) Beweis : b(π) wäre genau die Anzahl an Reversionen wenn wir nur 1-Reversionen hätten pro unorientierte Komponente brauchen wir 1 Reversion, um sie orientiert zu machen ⇒ +u(C) jeder Kreis in C wird mal 2-Kreis sein ⇒ - |C| 33/44
  34. 34. Kreisdekomposition Aus vorherigem Verfahren wissen wir, dass 1-Reversion immer möglich ist Also ist Ziel möglichst viele 2-Reversionen ⇒ möglichst viele 2-Kreise Es wird nicht eingegangen, wie eine solche Dekomposition erstellt wird. 34/44
  35. 35. Aussagen über Kreisdekomposition Wir berechnen ein sogenanntes Matching M M besteht aus y Leiter-2-Kreisen und z isolierten 2-Kreisen Also |M| = y + z Wir erreichen nur Kreisdekomposition mit y 2 + z 2-Kreisen 35/44
  36. 36. Beweis der oberen Schranke Satz 5 Man kann π mit höchstens b(π) − c2(π) 2 Reversionen sortieren Beweis : 3 "Arten" von Komponenten: u unorientierte Komponenten, die jeweils mindestens einen Kreis länger als 2 und l 2-Kreise haben ⇒ Minimal l + u 2-Reversionen, u 0-Reversionen, sonst 1-Reversionen v restliche unorientierte Komponenten, die nur m unorientierte 2-Kreise enthalten ⇒ Benötigt m 2-Reversionen und v 0-Reversionen 36/44
  37. 37. k der 2-Kreise sind in orientierten Komponenten ⇒ Diese Komponenten werden mit mindestens k 2-Reversionen und sonst 1-Reversionen sortiert Zusammen: k + l + u + m 2-Reversionen u + v 0-Reversionen Rest 1-Reversionen Von vorher: Maximal b(π) − |C| + u(C) ⇒ Maximal b(π) − k − l − m − u + u + v Reversionen Es bleibt zu zeigen: k + l + m − v ≥ c2(π) 2 37/44
  38. 38. Es bleibt zu zeigen: k + l + m − v ≥ c2(π) 2 Aus Kreisdekomposition wissen wir: 1 |M| ≥ c2(π) 2 k + l + m = y 2 + z 3 Die v Komponenten haben nur Kreise aus den z isolierten Kreisen Daraus folgt, dass zu zeigen bleibt: y 2 + z − v ≥ |M| 2 38/44
  39. 39. Es bleibt zu zeigen: y 2 + z − v ≥ |M| 2 Die v Komponenten müssen jeweils aus mindestens 2 Kreisen bestehen: Beispiel 6 1 5 x 6 2 Wenn an Position x keine Knoten wären, wäre (5 − 6) ein 1-Kreis und kein 2-Kreis 39/44
  40. 40. Es bleibt zu zeigen: y 2 + z − v ≥ |M| 2 die v Komponenten müssen aus mindestens 2 Kreisen bestehen sie bestehen nur aus isolierten 2-Kreisen ⇒ v ≤ z 2 y 2 + z − v ≥ y 2 + z 2 |M|=y+z ≥ |M| 2 40/44
  41. 41. Komplexität Satz 6 Berman, Karpinski haben bewiesen, dass jeder polynomielle Approximationsalgorithmus höchstens eine Approximationsgüte von 1.008 oder schlechter, außer wenn P = NP ⇒ Min − SBR /∈ PTAS 41/44
  42. 42. Danke für eure Aufmerksamkeit! Noch fragen? 42/44
  43. 43. Matchinggraph Wir führen den Matchinggraph F(π) ein: Knoten für jede schwarze Kante (i, i + 1) Kante zwischen u, v ∈ F(π) wenn u, v mit ihren grünen Kanten einen 2-Kreis geben Beispiel 7 a c ... b d ... e g ... f h Sowohl links als auch rechts gibt es Kante zwischen (a − c), (b − d) ∈ F(π) 43/44
  44. 44. Kreisdekomposition Wir berechnen jetzt maximales Matching M mit |M| = y Beispiel 8 a b c ... d e f a-b e-f b-c d-e Figure : Links Abschnitt von G(π), rechts von F(π) Problem: Schwarze Kante kann Teil von mehreren 2-Kreisen sein. Dann wäre es keine gültige Kreisdekomposition 44/44

×