Beruflich Dokumente
Kultur Dokumente
Mathematisches Institut
Prof. Dr. F. Vallentin
Dr. F. von Heymann
Aufgabe 1 (9 + 6 = 15 Punkte)
1. Wie funktioniert der Algorithmus von Bellman und Ford zur Berechnung kürzester
Wege in gerichteten Graphen? Geben Sie den Algorithmus als Pseudocode an.
−2
−1
v2 −1
−2 v3 v4
−1
−3 1 3
v5 −2 v6 1 t
Verwenden Sie den Algorithmus von Bellman und Ford, um entweder eine kürzeste
Kantenfolge von s nach t zu finden, oder zu zeigen, dass es keine solche gibt. Do-
kumentieren Sie Ihr Vorgehen.
Lösung:
1
∗ IF dk+1 (v) > dk (u) + l((u, v)):
· dk+1 (v) = dk (u) + l((u, v)),
· g(v) = u
• IF dn 6= dn−1 :
– output: Es gibt einen gerichteten negativen Kreis, der von s aus erreich-
bar ist.
Ausgabe: Länge einer kürzesten s-v-Kantenfolge mit höchstens k Kanten für jedes
v ∈ V und k ≤ n. Falls kein gerichteter negativen Kreis von s aus erreichbar ist, ist
ein kürzester s-v-Weg gegeben durch die Umkehrung von v, g(v), g(g(v)), . . . , s.
2. Da v2 , v5 und v6 nicht von s aus erreichbar sind, können sie nicht in einer kürzesten
Kantenfolge von s nach t vorkommen. Für den restlichen Graphen berechne dk
durch betrachten aller Kanten.
• k+1=1:
• k+1=2:
• k+1=3:
2
Da sich für k + 1 = 4 nur Werte von Knoten v ändern könnten, wenn es eine Kante
(t, v) gäbe, kann sich nichts mehr ändern.
Eine kürzeste Kantenfolge von s nach t ist (s, (s, v1 ), v1 , (v1 , v3 ), v3 , (v3 , t), t).
Die Werte von dk in Tabellenform:
s v1 v2 v3 v4 v5 v6 t
k=0 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞
k = 1 0 3 ∞ ∞ −1 ∞ ∞ ∞
k = 2 0 3 ∞ 2 −1 ∞ ∞ 2
k = 3 0 3 ∞ 2 −1 ∞ ∞ 1
k = 4 0 3 ∞ 2 −1 ∞ ∞ 1
3
Aufgabe 2 (2 + 4 + 9 = 15 Punkte)
1. Geben Sie die Definition eines perfekten Matchings in einem ungerichteten Graph
G = (V, E) an.
2. Geben Sie eine notwendige und hinreichende Bedingung dafür an, dass es ein
perfektes Matching in einem bipartiten Graph gibt.
3. Eine quadratische Matrix A ∈ Rn×n heißt doppelt-stochastisch falls sie nur nicht-
negative Einträge besitzt und jede Zeilensumme und Spaltensumme 1 ist. Zeigen
Sie: Für jede doppelt-stochastische Matrix gibt es eine Permutation der Spalten,
so dass alle Diagonal-Einträge ungleich Null sind.
Lösung:
1. Ein Matching in G ist eine Teilmenge M ⊆ E von disjunkten Kanten, d.h. für
e, f ∈ M mit e 6= f gilt e ∩ f = ∅. Ein Matching M in G ist perfekt, falls |V | = 2|M |
gilt.
2. Ein solches Kriterium ist der sogenannte Heiratssatz (der ein unmittelbares Ko-
rollar vom Satz von Hall ist): Ein bipartiter Graph G = (V, E) mit Bipartition
V = U ∪˙ W besitzt genau dann ein perfektes Matching, falls |U | = |W | ist und
falls für jede Teilmenge X ⊆ U gilt |Γ(X)| ≥ |X|, wobei
Γ(X) = {w ∈ W : {u, w} ∈ E, u ∈ X}
die Menge der Nachbarn von X ist.
3. Die Matrix A = (Aij ) definiert einen bipartiten Graph: Die Knotenmenge ist V =
U ∪˙ W , wobei die Menge U = {z1 , . . . , zn } für die n Zeilen von A und die Menge
W = {s1 , . . . , sn } für die n Spalten von A steht. Die Kantenmenge ist definiert als
E = {{zi , sj } : Aij 6= 0, i, j = 1, . . . , n}. Nach dem oben angegebenen Kriterium
besitzt G ein perfektes Matching M , denn es ist |U | = |W | = n und es ist für
X ⊆ U:
|Γ(X)| = |{sj : {zi , sj } ∈ E : zi ∈ X, j = 1, . . . , n}|
Xn X X X
≥ Aij (weil Aij ≤ 1 falls sj ∈ Γ(X), Aij = 0 falls sj 6∈ Γ(X))
j=1 i:zi ∈X i:zi ∈X i:zi ∈X
X X n
= Aij
i:zi ∈X j=1
n
X
= |X| (weil Aij = 1).
j=1
4
Aufgabe 3 (5 + 2 + 8 = 15 Punkte)
2. Sei K ⊆ Rn ein konvexer Kegel. Geben Sie die Definition des zu K dualen Kegels
an.
Lösung:
x1 + y1 ≥ 0, weil x1 ≥ 0 und y1 ≥ 0,
x2 + y2 ≥ 0, weil x2 ≥ 0 und y2 ≥ 0.
Desweiterern ist
(x1 + y1 )(x2 + y2 ) = x1 x2 + y1 y2 + x1 y2 + x2 y1
≥ x23 + y32 + x1 y2 + x2 y1 (x1 x2 ≥ x23 , y1 y2 ≥ y32 )
√
≥ x23 + y32 + 2 x1 y2 x2 y1 (verwende Hinweis:a = x1 y2 , b = x2 y1 )
≥ x23 + y32 + 2x3 y3 (x1 x2 ≥ x23 , y1 y2 ≥ y32 )
= (x3 + y3 )2 .
5
3. Die Funktion f ist linear, insbesondere stetig, und die Menge C ist kompakt und
nichtleer. D.h. es gibt ein y in C, das das Maximum von f in C ist. Nach dem Satz
von Minkowski kann man C als konvexe Hülle seiner Extrempunkte schreiben:
C = conv(ext(C)).
Angenommen, es gilt f (xi ) < f (y) für alle i = 1, . . . , N . Dann gilt wegen der
Linearität von f und der Maximalität von y
N
! N N
X X X
f (y) = f α i xi = αi f (xi ) < αi f (y) = f (y),
i=1 i=1 i=1
was ein Widerspruch ist. Daraus folgt, dass es einen Extrempunkt xi gibt mit
f (xi ) = f (y).
6
Aufgabe 4 (7 + 8 = 15 Punkte)
Lösung:
7
Das duale lineare Programm lautet dann
max y1 + y2 + . . . + y7
y ∈ R7
y1 + y4 + y5 + y7 ≤ 1
y2 + y4 + y6 + y7 ≤ 2
y3 + y5 + y6 + y7 ≤ 3
y1 , y2 , y3 ≤ 0
y4 , y5 , y6 , y7 ≥ 0
(Die Zahl der dualen Variablen lässt sich um eins verringern, indem man bemerkt
dass die letzte Ungleichung des ursprünglichen Programms redundant ist.)
Alternativ: Das Programm lässt sich schreiben als
mit
−1 0 0 0
0
−1 0
0
0
0 −1
0
1 0 0 1
0 1 0 1
A=
0
und b =
1 .
0 1
−1 −1 0 −1
−1 0 −1 −1
0 −1 −1 −1
−1 −1 −1 −1
Das duale lineare Programm lautet dann
− min bT y
y ∈ R10
y≥0
−1
AT y = −2
−3
(Die Zahl der dualen Variablen lässt sich um 3 verringern, indem man bemerkt
dass die ersten drei Variablen die Rolle von Slack-Variablen übernehmen.)
2. Betrachte alle 2 × 2-Teilmatrizen. Falls die Determinante nicht Null ist, löse das
entsprechende Gleichungssystem und prüfe, ob die Lösung alle Ungleichungen
erfüllt
8
−1 3
•
= −3 6= 0. Betrachte also das Gleichungssystem
1 0
−1 3 13 1 0 8 1 0 8
∼ ∼
1 0 8 0 3 21 0 1 7
Übrige Ungleichungen:
2 −6 8 −26 −2
= <
−1 −1 7 −15 −7
Übrige Ungleichungen:
1 0 2 2 8
= <
2 −6 5 −26 −2
Übrige Ungleichungen:
−1 3 8 1 13
= <
−1 −1 3 −11 −7
2 T 8 8
Übrige Ungleichungen: Da −6 −1
= 22 > −2, ist −1
keine Ecke von P .
9
2 −6
•
= −8 6= 0. Betrachte also das Gleichungssystem
−1 −1
2 −6 −2 1 −3 −1 1 0 5
∼ ∼
−1 −1 −7 0 −4 −8 0 1 2
Übrige Ungleichungen:
−1 3 5 1 13
= <
1 0 2 5 8
5
Also ist eine Ecke von P .
2
10
Aufgabe 5 (8 + 7 = 15 Punkte)
2. Sei A ∈ Rm×n eine Matrix und b ∈ Rm ein Vektor. Zeigen Sie: Es gibt ein x ≥ 0
mit Ax ≤ b genau dann, wenn für alle y ≥ 0 mit AT y ≥ 0 stets bT y ≥ 0 gilt.
Lösung:
1. Normiere die erste Spalte durch Multiplikation der zweiten Ungleichung mit 1/2:
−1 −2 1 −2
1 3 2 x1 2
0
1 3 x2 ≤ 0
.
0 −1 1 x3 2
0 0 −1 −4
Beachte, dass die Summe der ersten zwei Ungleichungen genau die Dritte ergibt.
Das System hat also genau dann eine Lösung, wenn
1 3 0
−1 1 x2 ≤ 2
x3
0 −1 −4
eine Lösung hat. Ein weiterer Schritt im Eliminationsverfahren ergibt, dass das
System genau dann eine Lösung hat, wenn
4 2
x ≤
−1 3 −4
eine Lösung hat. Da es keinen Wert y gibt, der gleichzeitig y ≤ 1/2 und y ≥ 4
erfüllt, ist P = ∅.
11
Es gibt ein x0 ≥ 0 mit A0 x0 = b0 genau dann, wenn es kein y 0 mit (A0 )T y 0 ≥ 0 gibt, so
dass (b0 )T y 0 < 0 gilt.
Man kann die Situation der Aufgabe auf die der Vorlesung zurückführen, in dem
man eine Schlupfvariable s ∈ Rm , s ≥ 0, einführt. Dann ist die Ungleichung
Ax ≤ b äquivalent zur Gleichung A0 x0 = b0 mit
0
0 x
A = A I , x = , b0 = b.
s
12
Aufgabe 6 (4 + 5 + 6 = 15 Punkte)
Sei A ∈ Rm×n die Auszahlungsmatrix des Matrixspiels (A, −A).
1. Sei v ∈ Rn eine feste Strategie der Spalten-Spielerin S. Definieren Sie, was eine
beste Antwort auf v ist.
2. Geben Sie die Definition eines Gleichgewichts des Matrixspiels (A, −A) an und
schreiben Sie den Wert des Gleichgewichts als lineares Programm.
Lösung:
1. Eine beste Antwort auf v ist ein Vektor u0 ∈ Rm T
≥0 mit u0 e = 1 und
(Eine beste Antwort für Matrixspiele ist immer gegeben durch ek , so dass (Av)k =
max{(Av)i : i = 1, . . . , m}.)
2. Ein Gleichgewicht ist ein Paar u0 , v0 von Strategien, so dass u0 beste Antwort auf
v0 ist, und v0 beste Antwort auf u0 . Der Wert eines Gleichgewichts ist
T
u0 Av0 = min max (Av)i : v ≥ 0, e v = 1
i=1,...,m
= min λ
Av ≤ λe
v≥0
eT v = 1
3. Die Existenz eines Gleichgewichts ist durch starke Dualität gegeben. Beachte da-
zu, dass zum Beispiel v = e1 und λ = max{Ai1 : i = 1, . . . , m} eine zulässige
Lösung für das Programm aus (2.) ergibt.
Das duale Programm zu dem Gleichgewicht in (2.) lautet
max µ
uT A ≥ µeT
u≥0
uT e = 1
und ist ebenfalls eine Formulierung eines Gleichgewichts als lineares Programm.
Da es ebenfalls eine zulässige Lösung hat (zum Beispiel u = e1 und µ = min{A1j :
j = 1, . . . , n}), gibt es optimale Lösungen für beide Programme, und sie haben
den gleichen Wert.
(Dies ist auch als das Minimax-Theorem von von Neumann bekannt.)
13