• Keine Ergebnisse gefunden

Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)

N/A
N/A
Protected

Academic year: 2022

Aktie "Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)"

Copied!
48
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung

Kombinatorische Optimierung (Wintersemester 2018/19)

Kapitel 1: K¨urzeste Wege und Kreise

Volker Kaibel

Otto-von-Guericke Universit¨at Magdeburg

(Version vom 11. Oktober 2018)

(2)

Graphen und Digraphen

Definition 1.1

EinGraph ist ein Paar G = (V,E) bestehend aus einer endlichen KnotenmengeV und einer TeilmengeE ⊆ V2

der

zweielementigen Teilmengen vonV, der KantenmengevonG. Definition 1.2

EinDigraph (gerichteter Graph) ist ein Paar D= (V,A) bestehend aus einer endlichenKnotenmenge V und einer Teilmenge

A⊆V ×V \ {(v,v)|v ∈V},

derBogenmengevon D. Zwei B¨ogen (v,w),(w,v)∈Aheißen antiparallel.

(3)

Multigraphen und -digraphen

Bemerkung

I Verallgemeinerung von Digraphen: Multi-Digraphen

D = (V,A,Ψ) mitΨ :A−→V ×V und beliebiger endlicher Indexmenge A der B¨ogen. ( ¨Ahnlich: Multi-Graphen)

I Man kann Konzepte, Resultate, Algorithmen in der Regel in offensichtlicher Weise von (Di-)Graphen auf

Multi-(Di-)Graphen ¨ubertragen.

(4)

Wege und Kreise (ungerichtet)

Definition 1.3

SeiG = (V,E) ein Graph mit V ={v0,v1, . . . ,vl}und E ={{v0,v1},{v1,v2}, . . . ,{vl−1,vl}}

1. Sind v0,v1, . . . ,vl paarweise verschieden, so heißt G ein v0−vl-Weg der(kombinatorischen) L¨ange l.

2. Istv0 =vl und sindv0=vl,v1, . . . ,vl−1 paarweise verschieden, so istG einKreisder (kombinatorischen) L¨angel.

(5)

Wege und Kreise (gerichtet)

Definition 1.4

SeiD = (V,A) ein Digraph mit V ={v0,v1, . . . ,vl} und A={(v0,v1),(v1,v2), . . . ,(vl−1,vl)}

1. Sind v0,v1, . . . ,vl paarweise verschieden, so heißt D ein (gerichteter) v0−vl-Wegder (kombinatorischen) L¨ange l.

2. Istv0 =vl und sindv0=vl,v1, . . . ,vl−1 mit l ≥2 paarweise verschieden, so istG ein(gerichteter) Kreisder

(kombinatorischen) L¨ange l.

(6)

Teilgraphen

Definition 1.5

SindG = (V,E) und G0 = (V0,E0) (bzw. D = (V,A) und D0= (V0,A0)) zwei Graphen (bzw. Digraphen) mitV0 ⊆V und E0 ⊆E (bzw. A0 ⊆A), so ist G0 einTeilgraphvon G (bzw.D0 ein TeildigraphvonD). Falls sogar

E0 =E∩ V0

2

bzw. A0=A∩(V0×V0) gilt, so heißt der Teilgraphinduzierter Untergraph(bzw.

induzierter Unterdigraph). GiltV0 =V, so heißt der Teilgraph spannend.

(7)

Induzierte Knoten-, Kanten-, B¨ ogenmengen

Definition 1.6

SeiG = (V,E) ein Graph. F¨ur Teilmengen V0 ⊆V und E0 ⊆E definieren wirE(V0) :=E ∩ V20

und

V(E0) :={v ∈V| {v,w} ∈E0 f¨ur ein w ∈V}

Definition 1.7

SeiD = (V,A) ein Graph. F¨ur TeilmengenV0⊆V und A0 ⊆A definieren wirA(V0) :=A∩(V0×V0) und

V(A0) :={v ∈V |(v,w)∈A0 oder (w,v)∈A0 f¨ur ein w ∈V}

(8)

Wege und Kreise in Graphen

Definition 1.8

F¨ur eine endliche MengeM,c ∈RM und N⊆M definieren wir c(N) := X

x∈N

cx.

Definition 1.9

IstG = (V,E) ein Graph,c ∈RE, und G0 = (V0,E0) ein Untergraph vonG, der eins-t-Weg (bzw. ein Kreis) ist, so heißt E0 ⊆E ein s-t-Weg (bzw. Kreis) inG. Seinec-L¨angeist c(E0).

Die Menge dervon E0 besuchten Knoten istV0 =V(E0).

(9)

Wege und Kreise in Digraphen

Definition 1.10

IstD= (V,A) ein Digraph,c ∈RA, undD0 = (V0,A0) ein Unterdigraph vonD, der ein (gerichteter) s-t-Weg (bzw. ein (gerichteter) Kreis) ist, so heißtA0 ⊆A ein (gerichteter) s-t-Weg (bzw. (gerichteter) Kreis) inD. Seinec-L¨ange istc(A0). Die Menge dervon A0 besuchten Knotenist V0=V(A0).

(10)

Wege- und Kreisprobleme

Problem 1.11 (K¨urzeste-Wege Problem)

Instanz: Digraph D= (V,A), c ∈QA, s,t ∈V

Aufgabe: Finde einen s-t-Weg k¨urzester c-L¨ange oder stelle fest, dass es keinen s-t-Weg in D gibt.

Problem 1.12 (K¨urzester-Kreis-Problem) Instanz: Digraph D= (V,A), c ∈QA

Aufgabe: Finde einen Kreis k¨urzester c-L¨ange oder stelle fest, dass es keinen Kreis in D gibt.

(11)

Ungerichtete Graphen

Bemerkung 1.13

Das Problem, in einem ungerichteten Graphen G = (V,E) k¨urzeste Wege oder Kreise zu finden, kann man durch Konstruktion des Digraphen D= (V,A)mit

A={(v,w)∈V ×V| {v,w} ∈E} auf die Probleme 1.11 bzw. 1.12 zur¨uck f¨uhren.

(12)

Weitere Bemerkungen

Bemerkung 1.14

I Analog zum K¨urzesten-Wege bzw. K¨urzesten-Kreis Problem ist das L¨angste-Wege Problem bzw. das L¨angster-Kreis Problemdefiniert.

I Durch Multiplikation des L¨angenvektors c mit(−1)kann man K¨urzeste- und L¨angste-Wege/Kreise-Probleme ineinander transformieren (solange es nicht auf Vorzeichen ankommt).

I K¨urzester/L¨angster-Kreis Probleme kann man mit Hilfe von

|A|K¨urzeste/L¨angste-Wege Problemen l¨osen.

I Das K¨urzeste/L¨angste-Wege/Kreise Probleme f¨ur beliebige D und c sind NP-schwer (z.B. Reduktion von Hamilton-Kreis oder Hamilton-Pfad).

(13)

Konservative L¨ angen

Definition 1.15

SeiD = (V,A) ein Digraph. Der L¨angenvektor c ∈RA heißt konservativ, wenn es keinen Kreis negativerc-L¨ange inD gibt.

(d. h.c(C)≥0 f¨ur alle KreiseC ⊆A) Satz 1.16

Seien D = (V,A) ein Digraph mit konservativen Kantenl¨angen c ∈RA und s,w ∈V . Hat W ⊆A unter den s-w -Wegen mit kombinatorischer L¨ange≤k k¨urzeste c-L¨ange und ist(v,w)∈W der letzte Bogen auf W , so hat W \ {(v,w)} k¨urzeste c-L¨ange unter allen s-v -Wegen der kombinatorischen L¨ange ≤k−1.

Korollar 1.17

Ist D= (V,A)ein Digraph mit konservativen Bogenl¨angen c ∈RA, und ist W ⊆A ein c-k¨urzester s-t-Weg in D, so ist f¨ur jeden Knoten w∈V(W) der s-w -Weg W0 ⊆W ein c-k¨urzester s-w -Weg in D.

(14)

Nachbarn, Sterne, Knotengrade

Definition 1.18

F¨ur einen Digraphen D= (V,A) undv ∈V definieren wir:

I Naus(v) :={w ∈V|(v,w)∈A}

I Nein(v) :={w ∈V |(w,v)∈A}

I δaus(v) :={(v,w)|w ∈Naus(v)}

I δein(v) :={(w,v)|w ∈Nein(v)}

aus(v)|und |δein(v)|sind derAusgradbzw. der Eingradvon v.

F¨ur einen Graphen G = (V,E) und v ∈V definieren wir:

I N(v) :={w ∈V | {v,w} ∈E}

I δ(v) :={{v,w} |w ∈N(v)}

|δ(v)|ist derGrad vonv.

(15)

Distanzen

Definition 1.19

F¨ur einen Digraphen D= (V,A),c ∈RA und s,v ∈V ist die c-Distanz zwischens und v

distc(s,v)∈R∪ {∞}

die L¨ange eines s-v-Weges minimalerc-L¨ange bzw.∞, wenn kein s-v-Weg inD existiert.

Korollar 1.20

F¨ur einen Digraphen D= (V,A)mit konservativen Bogenl¨angen c ∈RA gilt f¨ur alle s,v ∈V mit s6=v :

I distc(s,s) = 0

I distc(s,v) = min

distc(s,u) +c(u,v):u ∈Nein(v)

(16)

Zusammenhang

Definition 1.21

Ein GraphG = (V,E) heißt zusammenh¨angend, wenn es f¨ur jedes Paars,t∈V einen s-t-Weg inG gibt. Die

(inklusions-)maximalen zusammenh¨angenden Teilgraphen eines Graphen sind seineZusammenhangskomponenten.

Definition 1.22

F¨ur einen Digraphen D= (V,A) heißtG = (V,E) mit E ={{v,w} |(v,w)∈Aoder (w,v)∈A}

derD zugrunde liegende ungerichtete Graph.

Definition 1.23

Ein DigraphD= (V,A) heißtstark zusammenh¨angend, wenn es f¨ur jedes Paars,t ∈V einen (gerichteten) s-t-Weg inD gibt. Ist derD zugrunde liegende ungerichtete Graph zusammenh¨angend, so heißtD schwach zusammenh¨angend.

(17)

B¨ aume und W¨ alder

Definition 1.24

EinWald ist ein (ungerichteter) Graph, der keine Kreise enth¨alt.

Ein Wald ist einBaum, wenn er zusammenh¨angend ist.

Bemerkung 1.25

Ein Graph G = (V,E)mit|V| ≥1ist genau dann ein Baum, wenn er zusammenh¨angend ist und|E|=|V| −1gilt.

(18)

Branchings und Arboreszenzen

Definition 1.26

Ein DigraphD= (V,A) heißt ein Branching, wenn er keine antiparallelen B¨ogen hat, der D zugrunde liegende ungerichtete Graph ein Wald ist und|δein(v)| ≤1 f¨ur alle v ∈V gilt. Ein schwach zusammenh¨angendes Branching ist eineArboreszenz.

Bemerkung 1.27

In einer Arboreszenz D= (V,A)gibt es genau einen Knoten r∈V mitNein(r) =∅. Er heißt die Wurzel von D. F¨ur jedes v∈V gibt es einen eindeutigen r -v -Weg in D.

Bemerkung 1.28

Eine Arboreszenz D = (V,A) mit Wurzel r ∈V ist eindeutig bestimmt durch die Abbildung p:V \ {r} −→V mit

(p(v),v)∈A.

(19)

K¨ urzeste-Wege B¨ aume

Definition 1.29

F¨ur einen Digraphen D= (V,A) unds ∈V bezeichnen wir mit RD(s)⊆V die Menge alle Knoten v∈V, f¨ur die ein s-v-Weg inD existiert.

Korollar 1.30 (aus Satz 1.16)

F¨ur einen Digraphen D= (V,A)mit konservativen Bogenl¨angen c ∈RA und s ∈V gibt es eine Arboreszenz T = (RD(s),A0), so dass f¨ur jedes v ∈RD(s) der s-v -Weg in T ein c-k¨urzester s-v -Weg in D ist.

Definition 1.31

Eine Arboreszenz wie in Kor. 1.30 heißt ein K¨urzeste-Wege-Baum (f¨ur D,c,s).

(20)

Azyklische Digraphen

Definition 1.32

Ein Digraph heißtazyklisch, wenn er keinen (gerichteten) Kreis hat.

Definition 1.33

F¨urn ∈Ndefinieren wir [n] :={1,2, . . . ,n}.

(21)

Topologische Sortierung

Definition 1.34

Einetopologische Sortierung eines DigraphenD = (V,A) ist eine NummerierungV ={v1,v2, . . . ,vn}der Knoten mit

(vi,vj)∈A⇒i <j f¨ur alle i,j ∈[n].

Satz 1.35

Sei D= (V,A) ein Digraph.

1. D hat genau dann eine topologische Sortierung, wenn D azyklisch ist.

2. Es gibt einen Algorithmus, der f¨ur mittels Adjazenzliste gegebenes D in O(|V|+|A|) Zeit eine topologische Sortierung von D berechnet oder feststellt, dass D einen Kreis hat.

(22)

K¨ urzeste Wege in azyklischen Digraphen

Algorithmus 1.36 (K¨urzeste Wege in azyklischen Digraphen) Eingabe: Azyklischer Digraph D = (V,A) mit topologischer

Sortierung V ={v1, . . . ,vn}, c ∈QA,σ∈[n]

Ausgabe: F¨ur jeden Knoten v ∈V \ {vσ} den Wert

d(v) = distc(vσ,v) und, falls d(v)6=∞, den letzten Bogen(p(v),v) auf einem vσ-v -Weg k¨urzester c-L¨ange (k¨urzeste-Wege Baum bzgl. vσ)

1: for i = 1, . . . ,n do

2: d(vi)← ∞

3: d(vσ)←0

4: for i =σ+ 1, . . . ,n do

5: d(vi)←min{d(w) +c(w,vi)|w ∈Nein(vi)}

6: p(vi)←ein w ∈Nein(vi) mit d(vi) =d(w) +c(w,vi)

(p(vi)bleibt undefiniert, falls d(vi) =∞ oderNein(vi) =∅)

(23)

Analyse von Algorithmus 1.36

Satz 1.37

Mit Algorithmus 1.36 kann man f¨ur mittels Adjazenzlisten gegebene azyklische gerichtete Graphen D= (V,A) das

K¨urzeste-Wege Problem (und genauso das L¨angste-Wege Problem) inO(|V|+|A|) Zeit l¨osen (f¨ur beliebige c ∈QA), sogar simultan f¨ur alle t∈V (bei festem s ∈V ).

(24)

Dijkstras Algorithmus

Algorithmus 1.38 (Dijkstra-Algorithmus) Eingabe: Digraph D= (V,A),c ∈QA+,s ∈V

Ausgabe: F¨ur alle v ∈V \ {s} den Wert d(v) = distc(s,v) und, falls d(v)6=∞, den letzten Bogen(p(v),v) auf einem s-v -Weg k¨urzester c-L¨ange

1: for all {v ∈V \ {s}} do

2: d(v)← ∞

3: d(s)←0;F ← ∅

4: Bestimme v ∈V \F mit d(v) = min{d(w)|w ∈V \F}

5: F ←F ∪ {v}

6: for all {w ∈Naus(v)\F}do

7: if{d(w)>d(v) +cvw} then

8: d(w)←d(v) +cvw

9: p(w)←v

10: if{F 6=V}then

11: Gehe zu Schritt 4.

(25)

Analyse von Algorithmus 1.38

Satz 1.39

Dijkstras Algorithmus f¨ur nicht-negative Bogenl¨angen arbeitet korrekt und kann so implementiert werden, dass die Laufzeit O(|A|+|V|log|V|) ist.

Bemerkung 1.40

Das K¨urzeste-Wege Problem in einem ungerichteten Graphen G = (V,E) mit nicht-negativen Kantenl¨angen kann man mit Hilfe des Dijkstra-Algorithmus im Digraphen D= (V,A) mit

A={(v,w)∈V ×V| {v,w} ∈E} l¨osen (jede Kante wird zu zwei B¨ogen).

(26)

Potenziale

Definition 1.41

SeienD = (V,A) ein Digraph undc ∈RA. Ein Vektorπ ∈Rv heißt einc-Potenzialf¨ur D, wenn f¨ur alle (v,w)∈A

πw ≤πv +cvw (d.h. cvw ≥πw−πv) gilt.

Bemerkung 1.42

Ist D= (V,A)ein Digraph, c ∈RA, undπ ∈Rv ein c-Potenzial, so gilt f¨ur alle s,v∈V

distc(s,v)≥πv−πs.

(27)

Potenziale und konservative L¨ angen

Bemerkung 1.43

Ist D= (V,A)ein Digraph, c ∈RA konservativ und gilt RD(s) =V f¨ur ein s ∈V , so ist wegen Korollar 1.20 durch

πv := distc(s,v) f¨ur alle v ∈V ein c-Potenzial auf D definiert. F¨ur alle v ∈V ist dann insbesondere (wegen Bem. 1.42)distc(s,v)die maximale

Potenzialdifferenzσv−σs ¨uber alle c-Potenzialeσ ∈RV von D.

Satz 1.44

Sei D= (V,A) ein Digraph. Dann ist c ∈RA genau dann konservativ, wenn es ein c-Potenzial f¨ur D gibt.

(28)

Pfade

Definition 1.45

SeiD = (V,A) ein Digraph und c ∈RA. Ein l-Tupel P = (v0,v1),(v1,v2),(v2,v3), . . . ,(vl−1,vl)

∈Al von B¨ogen inA heißt ein v0-vl-Pfad in D (dabei d¨urfen einzelne Knoten und einzelne B¨ogen beliebig oft auftreten) der c-L¨ange

c(P) :=

l

X

i=1

cvi−1,vi.

Seine(kombinatorische) L¨angeist l.

Bemerkung 1.46

In einem Digraphen D= (V,A) mit konservativen Bogenl¨angen c ∈RA gilt c(P)≥distc(s,t) f¨ur jeden s-t-Pfad P.

(29)

Der Bellman-Ford Digraph

Definition 1.47

SeiD = (V,A) ein Digraph,c ∈RA. Der Graph BF(D) = (V0,A0) hat die KnotenmengeV0 =V × {0,1, . . . ,|V|}und die

Bogenmenge A0 =

((v,i−1),(w,i))

(v,w)∈A,i ∈[|V|]

((v,i−1),(v,i))

i ∈[|V|] . Die Mengen{(v,i) :i ∈ {0,1, . . . ,|V|}}(v ∈V) sind dieZeilen vonBF(D). Analog sind {(v,i) :v ∈V}(i ∈ {0,1, . . . ,|V|}) die Spaltenvon BF(D). Die B¨ogen, welche Knoten einer Zeile verbinden, heißenwaagerecht. Wir definierenc0 ∈RA

0 via c(v,i),(w,i+1)0 =

cvw , falls (v,w)∈A 0 , falls v =w

.

(30)

BF (D )

1 2

3 5

4

6

1

2

3

4

5

6

(31)

BF (D ): Repr¨ asentation von Wegen

1 2

3 5

4

6

1

2

3

4

5

6

(32)

BF (D ): Repr¨ asentation von Pfaden

1 2

3 5

4

6

1

2

3

4

5

6

(33)

BF (D ): Repr¨ asentation von Kreisen

1 2

3 5

4

6

1

2

3

4

5

6

(34)

K¨ urzeste Wege in BF (D ) (I)

Definition 1.48

I F¨urs ∈V undv ∈RD(s) sei Ps(v)⊆A0 der c0-k¨urzeste (s,0)-(v,|V|)-Weg in BF(D), der von Algorithmus 1.36 (BF(D) ist azyklisch) berechnet wird, wenn man in Schritt 6 wenn m¨oglich den waagerechten Nachbarn nimmt.

I F¨urT ⊆A0 sei

A(T) :={(v,w)∈A|((v,i−1),(w,i))∈T f¨ur ein i ∈[|V|]}

I Ein Weg P ⊆A0 betritt Zeilew, wenn es einen Bogen ((v,i−1),(w,i))∈P mitv 6=w gibt.

(35)

K¨ urzeste Wege in BF (D ) (II)

Bemerkung 1.49

Betritt Ps(v) keine Zeile mehrmals (und Zeile s gar nicht), so ist A(Ps(v)) ein c-k¨urzester (s,v)-Weg in D.

Lemma 1.50

Besucht Ps(v) die Knoten(w,i) und (w,j) (i <j) und verl¨auft der Teilweg Q ⊆A0 von Ps(v), der von (w,i)nach (w,j) f¨uhrt, nicht vollst¨andig in Zeile w , so ist c0(Q)<0.

(36)

K¨ urzeste Wege in BF (D ) (III)

Bemerkung 1.51

W¨ahlt man in Lem. 1.50 (w,i) und (w,j) so, dass Ps(v) zwischen diesen beiden Knoten keinen waagerechten Bogen hat und keine Zeile mehrmals und die zu w geh¨orende Zeile gar nicht betritt, so ist A(Q)ein Kreis negativer c-L¨ange in D.

Satz 1.52

F¨ur einen Digraphen D= (V,A)und konservative Bogenl¨angen c ∈QA kann man das K¨urzeste-Wege Problem inO(|V||A|) Zeit mit Algorithmus 1.36 auf BF(D) l¨osen.

(37)

Entscheiden von Konservativit¨ at

Satz 1.53

F¨ur einen Digraphen D= (V,A)und c ∈QA kann man in O(|V||A|)Zeit ein c-Potenzial oder einen Kreis negativer c-L¨ange finden, indem man Algorithmus 1.36 auf BF( ˜D) laufen l¨asst, wobei D aus D durch Hinzuf¨˜ ugen eines Knotens s und der B¨ogen (s,v) mit L¨ange0 f¨ur alle v ∈V entsteht.

(38)

Das 0/1-Knapsack Problem

Problem 1.54 (0/1-Knapsack Problem) Instanz: a∈Nn, β ∈N,c ∈Nn

Aufgabe: L¨osemax{hc,xi:ha,xi ≤β,x ∈ {0,1}n} Definition 1.55

F¨ur eine endliche MengeM und N⊆M heißt χ(N)∈ {0,1}M mit χ(M)N =1N undχ(M)M\N =OM\N der charakteristische Vektoroder derInzidenzvektorvon N.

(39)

Dynamische Programmierung f¨ ur 0/1-Knapsack (I)

I (Das 0/1-Knapsack Problem ist NP schwer.)

I Definiere einen azyklischen Digraphen D= (V,A) mit V = ([n]× {0,1, . . . , β})∪ {(0,0)}

und

((i,g),(j,h))∈A

⇐⇒

i <j undg +aj =h

F¨ur (v,w)∈A mitv = (i,g),w = (j,h) setzecvw :=cj.

(40)

DP-Graph f¨ ur 0/1-Knapsack

a= (2,1,3,1,2,2), c = (5,1,3,2,4,1),β = 7

(41)

Dynamische Programmierung f¨ ur 0/1-Knapsack (II)

I F¨urs = (0,0) und v = (i,g) ist dann diec-L¨ange eines c-l¨angsten s-v-Weges P ⊆Ain D gleich

max n

hc[i],x˜i:ha[i],xi˜ =g,˜x∈ {0,1}[i]o

(1) und mit

J:={j ∈[n] :P besucht einen Knoten (j,h)}

ist χ(J)∈ {0,1}n eine Optimall¨osung von (1).

I Ein c-l¨angsters-v-Weg inD (¨uber alle v ∈V) liefert also eine Optimall¨osung des 0/1-Knapsackproblems.

Satz 1.56

Das0/1-Knapsackproblem kann man in O(n2β) Zeit mit dynamischer Programmierung l¨osen.

(42)

Minimum Mean Cycle Problem

Definition 1.57

F¨ur einen Digraphen D= (V,A) undc ∈RA sei µc(D) := min

c(C)

|C| :C ⊆AKreis in D

c(D) =∞, fallsD azyklisch).

Problem 1.58 (Minimum Mean Cycle Problem) Instanz: Digraph D= (V,A),c ∈QA

Aufgabe: Finde einen Kreis C ⊆A mit c(C)|C|c(D) oder stelle fest, dass D azyklisch ist.

(43)

Der Digraph K (D )

I Seien D= (V,A) ein Digraph undc ∈RA,n:=|V|.

I Definiere ˜D := ( ˜V,A) mit ˜˜ V :=V ] {s}, ˜n :=n+ 1, und A˜ :=A∪ {(s,v)|v ∈V}

und ˜c ∈RA˜ mit ˜cA:=c,˜cA\A˜ :=OA\A˜ .

I Definiere K(D) := (V0,A0) mitV0:= ˜V × {0,1, . . . ,˜n}, A0 :={((v,i−1)(w,i))|(v,w)∈A,˜ i ∈[˜n]}

und c0∈RA

0 mit c((v,i−1),(w,i))0 := ˜cvw f¨ur alle (v,w)∈A,˜ i ∈[˜n].

I Wege der kombinatorischen L¨angel in K(D) entsprechen Pfaden der kombinatorischen L¨angel in ˜D.

I F¨urk ∈[˜n] undv ∈V˜ sei Fk(v) := distc0((s,0),(v,k)).

(44)

K (D )

1 2

3 5

4

6

1

2

3

4

5

6 s

(45)

Der Min Mean Cycle Satz

Satz 1.59

Sei D= (V,A) ein nicht azyklischer Digraph, c ∈RA. Dann gilt µc(D) =µ˜c( ˜D) =

min

max{Fn˜(v)−Fk(v)

˜

n−k |0≤k ≤˜n−1}

v ∈V˜ . (2)

(46)

Finden eines Minimum Mean Cycle (I)

I Stelle fest, ob D azyklisch ist.

I Falls D nicht azyklisch ist, seiv ∈V˜ ein Knoten, f¨ur den das Minimum in Gleichung (2) angenommen wird.

I Sei ˜Q ⊆A0 ein (s,0)−(v,n)-Weg mit˜ c0( ˜Q) =F˜n(v).

I Q˜ muss wenigstens eine Zeile mehrmals besuchen, er besteht also aus einem Anfangsst¨uckQ1 ⊆A0, einem Endst¨uck Q2 ⊆A0, und einem Mittelst¨uckQ ⊆A0, das von (w,i) zu (w,j) (i <j) f¨uhrt und keine Zeile mehrmals betritt.

(47)

Finden eines Minimum Mean Cycle (II)

I Dann ist C := ˜A(Q)⊆A˜ ein Kreis und mitk? := ˜n− |Q|gilt c0(Q1) +c0(Q2)≥Fk(v)

(weil man durch Anh¨angen einer um |Q|Spalten nach links verschobenen Kopie von Q2 anQ1 einen (s,0)-(v,k?)-Weg der c0-L¨angec0(Q1) +c0(Q2) erzeugen kann), also

˜ c(C)

|C| = c0|Q(Q)| = F˜n(v)−(c0(Q|Q|1)+c0(Q2))

Fn˜(v)−F˜n−kk(v) ≤µ˜c( ˜D)

(wobei die letzte Ungleichung wegen Satz 1.59 und der Wahl von v gilt)

I Wegen δein(s) =∅ist C ⊆A sogar ein Kreis inD mit c(C)

|C| =µc(D) =µ˜c( ˜D).

(48)

Laufzeit des Min Mean Cycle Algorithmus

Satz 1.60

Das Minimum Mean Cycle Problem kann inO(|V||A|)Zeit gel¨ost werden.

Referenzen

ÄHNLICHE DOKUMENTE

An NMR peak search was performed using the Biological Magnetic Resonance Data Bank (available at http://www.bmrb.wisc.edu/) (Seavey et al. To assign the signals,

Ubungen zur Linearen Algebra II ¨ Bergische Universit¨ at Wuppertal. Blatt

Oliver Schn¨ urer, Universit¨ at Konstanz Sommersemester 2012 Matthias Makowski. Ubungen zur Vorlesung Funktionalanalysis ¨

Kombinatorische Optimierung (Wintersemester 2018/19).. Kapitel 2: Fl¨usse

Kombinatorische Optimierung (Wintersemester 2018/19). Kapitel

I Das Modell hat exponentiell viele Subtour-Eliminations Bedingungen, f¨ ur die aber das Separationsproblem effizient gel¨ ost werden kann (MinCut Problem mit wegen x ≥

Kapitel 2: Fl¨ usse und Zirkulationen..

I Die Klasse coNP enth¨ alt alle Entscheidungsprobleme, f¨ ur die man, falls die Antwort ”NEIN” ist, diese in polynomialer Zeit mit Hilfe eines geeigneten Zertifikats beweisen kann.