das fÄhrenÜberdeckungsproblemfun with algorithms, 4th international conference, fun 2007,...
TRANSCRIPT
![Page 1: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/1.jpg)
DAS FÄHRENÜBERDECKUNGSPROBLEM
Liqing Gao
Seminar über Algorithmen
![Page 2: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/2.jpg)
2
Gliederung
• Alcuin’s Problem
• Das Fährenproblem
• Das Fährenüberdeckungsproblem
• Das Trip-beschränktes Fährenüberdeckungsproblem
• Das Min-Fähren-Trip-Problem
• Zusammenfassung
• Quellen
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao
![Page 3: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/3.jpg)
Alcuin’s Problem
• Ein Mann mit einem Wolf, einer Ziege und einem Krautkopf muss einen Fluss überqueren.
Boot hat nur Platz für Mann und eines der drei mitgeführten Dinge.
Den Wolf und die Ziege kann er nicht allein lassen, sonst zerreißt der Wolf die Ziege.
Die Ziege und der Krautkopf dürfen aber auch nicht zusammen an einem Ufer bleiben, sonst frisst die Ziege das Gemüse.
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 3
Abb. 1 Fährplan
![Page 4: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/4.jpg)
Das Fährenproblem
• Verallgemeinerung von Alcuin’s Problem
• Gegeben sei eine Reihe von n Elementen, von denen einige nicht miteinander kompatibel sind.
• Diese Inkompatibilität wird durch einen Graphen repräsentiert.
• Element Knoten
• Zwei Elemente nicht Kompatibel Kante
• Alle Elemente über einen Fluss bringen mit einem Boot von fester Kapazität k.
• Ohne nicht-kompatible Elemente am gleichen Ufer, wenn das Boot nicht da ist.
4Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao
![Page 5: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/5.jpg)
Konzept von legalen Konfigurationen
• Legale Konfiguration
• Ein Tripel (VL, VR, b), VL∪ VR=V, VL∩ VR= ∅, b ∈ {L,R}
• Legal left-to-right Trip (legal right-to-left Trip)
• Paar von legalen Konfigurationen
• ((VL1, VR1, L), (VL2, VR2, R))
• VL2 ⊆ VL1 und |VL1| − |VL2| ≤ k.
• Round Trip
• Paar von legal left-to-right Trip und legal right-to-left Trip
5Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao
![Page 6: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/6.jpg)
Das Fährenüberdeckungsproblem
• Das Fährenüberdeckungsproblem (FC):
• Gegeben sei ein Inkompatibilitätsgraph G.
• Gesucht ist minimale Kapazität k des Bootes.
• Wir setzen OPTFC(G) als die optimale Lösung für das Fährenüberdeckungsproblem von einem Graphen G.
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 6
![Page 7: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/7.jpg)
Das Fährenüberdeckungsproblem
• Das Knotenüberdeckungsproblem (VC) :
Gegeben sei ein Graph G = (V,E) und ein k ∈ N. Die
Frage ist, ob eine überdeckende Knotenmenge der Größe k existiert, d.h. V′ ⊂ V mit jede Kante hat
mindestens eine Endpunkt in V′.
• Wir setzen OPTVC(G) als die optimale Lösung von minimaler Knotenüberdeckung von Graph G.
• Das Fährenüberdeckungsproblem (FC) kann mit der Idee von Knotenüberdeckungsproblem (VC) gelöst werden.
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 7
![Page 8: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/8.jpg)
Das Fährenüberdeckungsproblem
• Lemma 1:
Für jeden Graph G, es gilt dann:
OPTVC(G) ≤ OPTFC(G) ≤ OPTVC(G)+1
• Beweis:
• k < OPTVC(G) Kein Trip möglich
• k = OPTVC(G) +1 Es gibt einen Fährplan:
• Lade alle Knoten von VC auf das Boot und behalte sie in allen Trips.
• Transportiere die übrige Knoten in zusätzlich Platz zur anderen Seite.
• Entlade alle Knoten von VC und die letzten unabhängigen Knoten auf der Zielseite
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 8
![Page 9: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/9.jpg)
Das Fährenüberdeckungsproblem
• Theorem 1:
Für Konstant εF , n0 > 0 gibt es kein (1+ εF)-Approxim-ationsalgorithmus für das Knotenüberdeckungsproblem mit Eingabe größer als n0 Knoten, es sei denn P=NP.
• Es ist bekannt:
• Für εs > 0 gibt es keine (1− εS)-Approximation für MAX-3SAT gibt, es sei denn P=NP
• Reduzierung von MAX-3SAT zu Knotenüberdeckungs-problem (VC)
• Für εv > 0 gibt es keine (1+εv)-Approximation für Knotenüberdeckungs-problem (VC), es sei denn P=NP
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 9
![Page 10: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/10.jpg)
Das Fährenüberdeckungsproblem
• Dann können wir folgende Formel bekommen:
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 10
• Reduzierung von MAX-3SAT zu VC
• Für kein (1+ εF)-Approximationsalgorithmus fürdas Knotenüberdeckungsproblem.
![Page 11: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/11.jpg)
Das Fährenüberdeckungsproblem
• Theorem 2:
Mit einem ρ-Approximationsalgorithmus für Knoten-überdeckungsproblem können wir einen (ρ+ )-Approximationsalgorithmus für Fährenüberdeckungs-problem finden.
Beweis:
• ρ-Approximationsalgorithmus für Knotenüberdeckungs-problem SOLVC≤ ρOPTVC
• Setzen SOLFC = SOLVC+ 1.
• ρOPTVC ≤ ρOPTFC
• SOLFC = SOLVC + 1 ≤ ρOPTVC + 1 ≤ ρOPTFC + 1
• SOLFC = (ρ+ ) OPTFC
• (ρ+ )-Approximationsalgorithmus für FC
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 11
![Page 12: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/12.jpg)
Das Fährenüberdeckungsproblem
• Beispiel für spezifische Topologie :
1. Wenn G eine Clique ist (G=Kn), dann gilt: OPTFC(G) = OPTVC(G) = n−1.
2. Wenn G ein Kreis ist (G=Cn), dann gilt:
OPTFC(G) = OPTVC(G) =
3. Sei G=(V,E) ein Graph mit |V| ≥ n + 3 und
• Es gibt eine Clique Kn
• Die übrige Knoten (V\Kn) sind unabhängig
• Jeder Knoten außerhalb der Clique hat Kante mit jedem Knoten von der Clique.
Dann gilt: OPTFC(G) = OPTVC(G) +1.
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 12
Abb. 2 Graph für Beispiel 32
n
![Page 13: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/13.jpg)
Das Fährenüberdeckungsproblem
• Theorem 3:
Sei G ein Baum mit OPTVC(G) ≥ 2, es gilt dann:
OPTFC(G) = OPTVC(G).
• Beweis:
• Seien v1 und v2 zwei Knoten von VC und sei u der einzige gemeinsame Nachbar von v1 und v2.
• Lade alle Knoten von VC in das Boot und entlade v1 auf der rechten Seite.
• Transportiere alle Nachbarn von v2 (außer u) zur rechten Seite.
• Wenn u der einzige Nachbar von v2 auf der linken Seite ist, entlade v2 und lade u in das Boot. Entlade u und lade v1 auf der rechten Seite.
• Transportiere alle übrigen Knoten von der linken Seite zur rechten Seite.
• Am Ende lade v2 in das Boot und transportiere alle Knoten von VC zum Ziel.
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 13
![Page 14: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/14.jpg)
Das Trip-beschränktes Fährenüberdeckungsproblem
• Das Trip-beschränktes Fährenüberdeckungsproblem ist ein Fährenüberdeckungsproblem mit beschränkter Anzahl von Trips.
• Wir setzen OPTFCm(G) als optimale Lösung von Trip-
beschränktes Fährenüberdeckungsproblem für einen Graphen G mit m Trips.
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 14
![Page 15: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/15.jpg)
Das Trip-beschränktes Fährenüberdeckungsproblem
• Theorem 4:
Es gibt einen –Approximationsalgorithmus für FC1 auf Bäumen.
• Beweis:
• OPTFC1(G) ≥ , OPTVC1(G) ≤
• Lade alle Knoten von VC (maximal ) auf das Boot, und fülle das Boot mit den übrige Knoten, so dass sie Knoten enthalten, und transportiere sie zur rechten Seite.
• Berechne das optimale VC (maximal /2) des Graphen auf dem Boot und behalte nur die Knoten des VC auf dem Boot.
• Lade alle Knoten auf der linken Seite und transportiere sie zum Ziel.
• Boot Kapazität: ( /2) + ≤
• – Approximation
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 15
2
n
2
n
2
n
2
n
![Page 16: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/16.jpg)
Das Trip-beschränktes Fährenüberdeckungsproblem
• Theorem 5:
Es gibt einen Approximationsalgorithmus für FC1 auf Baum-Topologie mit einer Approximationsgüte, die asymptotisch zu ist.
• Beweis:
• Ähnlich wie Theorem 4
• Transportiere (k>1) Knoten statt Knoten beim ersten Trip.
• Entlade an der rechten Seite Knoten, sind übrig.
• Tranportiere alle Koten von Links nach Rechts.
• Benötigte Boot-Kapazität:
• k= Boot-Kapazität= – Approximation
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 16
![Page 17: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/17.jpg)
Das Trip-beschränktes Fährenüberdeckungsproblem
• Lemma 2:
Für jeden Graphen G=(V,E) mit |V| = n gilt:
OPTFC2n−1 (G) = OPTFC(G)
• Lemma 3:
Für jeden Graphen G mit i ≥ 0 gilt:
OPTFCi(G) ≥ OPTFCi+1(G)
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 17
![Page 18: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/18.jpg)
Das Trip-beschränktes Fährenüberdeckungsproblem
• Lemma 4:
Für jeden Graphen G=(V,E) gilt:
OPTFCm(G) ≥
• Lemma 5:
Für jeden Graphen G=(V,E) mit |V| = n gilt:
OPTVC(G) ≤ OPTFCn(G) ≤ OPTVC(G) + 1.
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 18
V
m+1
![Page 19: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/19.jpg)
Das Min-Fähren-Trips-Problem
• Das Min-Fähren-Trips-Problem:
• Gegeben sei Graph G und Kapazität k.
• Gesucht ist eine Lösung mit minimaler Anzahl der Round-Trips für G
• Wir setzen OPTMFTk(G) als optimale Lösung von Min-Fähren-Trips-Problem mit G und k.
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 19
![Page 20: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/20.jpg)
Das Min-Fähren-Trip-Problem
• Lemma 6:
Für jeden Graphen G=(V,E) mit |V| = n gilt:
1. Wenn k = OPTVC(G), dann OPTMFTk(G) ≤ 2n − 1 oder OPTMFTk(G) = ∞
2. Für jedes k, OPTMFTk(G) ≥ OPTMFTk+1(G)
3. OPTMFTk(G) ≥ n/k − 1
4. Wenn k ≥ OPTVC(G) + 1, dann OPTMFTk(G) ≤ n
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 20
![Page 21: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/21.jpg)
Zusammenfassung
• Das Fährenüberdeckungsproblem ist ähnlich wie Knotenüberdeck-ungsproblem
• FCm ist äquivalent zu FC (für m>2n-1).
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 21
![Page 22: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/22.jpg)
Quellen
• Michael Lampis, Valia Mitsou. The Ferry Cover Problem. Fun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 22
![Page 23: DAS FÄHRENÜBERDECKUNGSPROBLEMFun with Algorithms, 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007, Proceedings, pp. 227-239 Seminar über Algorithmen](https://reader035.vdocuments.site/reader035/viewer/2022071216/60474d8b27421965a42c7489/html5/thumbnails/23.jpg)
Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 23
Fragen ?