das fÄhrenÜberdeckungsproblemfun with algorithms, 4th international conference, fun 2007,...

23
DAS FÄHRENÜBERDECKUNGSPROBLEM Liqing Gao Seminar über Algorithmen

Upload: others

Post on 12-Oct-2020

0 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Seminar über Algorithmen - Das Fährenüberdeckungsproblem - Liqing Gao 23

Fragen ?