VL-KombOpt: Lösungen zu Blatt 9

Posted December 17, 2009 by dirkolivertheis
Categories: Komb. Opt. WS09/10, Teaching

Aufgabe 2: Dimension des Matching Polytops

Hier habe ich leider einen groben Fehler ‘reingeschludert: der Graph sollte vollständig sein :( — sorry!

Hier die Berechnung der Dimension des perfekten Matchingpolytops zu {K_n}. Ist {n} ungerade, so ist das Polytope leer. Sei also {n} gerade. Im Fall von {n=2} ist die Dimension 0. Sei nun {n\ge 4} und gerade.

Zunächst ist die Dimension höchstens {\binom{n}{2} - r}, wo {r} der Rang der Gradgleichungsmatrix ist: Das System der Gradgleichungen ist {Ax=1}, wobei {A} die Ecken-Kanten-Inzidenzmatrix von {K_n}. Die Matrix {A} hat Rang {n}, was man sieht, wenn man das Gleichungssystem {A^T y= 0} löst. Für jede Kante {uv} muß dann nämlich {y_u = - y_v} sein. Setzt man Kanten zu einem ungeraden Kreis zusammen, so erhält man {y_u = 0} für alle Ecken {u} auf dem Kreis.

Nun müssen wir noch zeigen, dass es außer Linearkombinationen von der Gradgleichungen keine weiteren zulässigen Gleichungen für das Polytop gibt. Dazu benutzen wir Satz 3.19 (bzw. Edmonds Matching-Polytop-Theorem), indem wir zeigen, dass keine der Ungleichungen in der vollständigen Beschreibung des perfekten Matching Polytops insgeheim eine Gleichung ist.

Fangen wir an mit den Ungleichungen {x_e \ge 0}. Die entsprechende Gleichung {x_e=0} ist nicht zulässig für das Polytop, da es klar ein Matching gibt, das {e} enthält.

Nun zu den Blütenungleichungen {x(\delta(U))\ge 1}. Beachte zunächst, dass für {|U|=1} diese Ungleichung gerade zu einer Grad(un-)gleichung wird; genauso für {|U|=n-1}. Sei also {3\le |U|\le n-3}, und wähle {u,u',u''\in U} sowie {v,v',v''\not\in U}. Da {U^- := U\setminus\{u,u',u''\}} einen vollständigen Graphen {G[U^-]} mit gerade vielen Ecken induziert, gibt es in {G[U^-]} ein perfektes Matching {M_1}, wobei wir {M_1=\emptyset} für den Fall {U^-=\emptyset} erlauben. Genauso gibt es ein (möglicherweise leeres) perfektes Matching {M_2} in dem Graphen {G-(U\cup\{v,v',v''\})} mit Eckenmenge {V\setminus U\setminus\{v,v',v''\}}. Nun ist aber {M:=M_1\cup M_2\cup\{uv,u'v',u''v''\}} ein perfektes Matching in {G}. Mit {x := \chi(M)} ist {x(\delta(U)) = 3 > 1}. Somit ist gezeigt, dass die Blütenungleichungen keine impliziten Gleichungen sind.

Aufgabe 3: Blütenfacetten

Auch hier hat sich ein kleiner Fehler eingschlichen: Wie oben schon beobachtet, sind die Blütenungleichungen {x(E(U)) \le (|U|-1)/2} gerade Grad(un-)gleichungen, wenn {|U|\le 3} oder {|U|\ge n-3} ist. Somit ist auch mindestens {n \ge 6} nötig.

Ausserdem beachte man, dass die beiden Ungleichungen {x(E(U))\le(|U|-1)/2} und {x(E(V\setminus U))\le(|V\setminus U|-1)/2} “modulo” der Gradgleichungen identisch sind. (In der VL war das so formuliert: Die beiden haben im von den Gradgleichungen definierten affinen Raum die gleiche Lösungsmenge).

Wie im Hinweis angegeben, suchen wir einen Punkt, der {x}, der alle Schranken {x_e\ge 0}, alle Gradgleichungen {x(\delta(u))=1} und alle Blütenungleichungen {x(E(U')) \le (|U'|-1)/2} erfüllt, aber die Blütenungleichung mit der Menge {U} verletzt: {x(E(U)) > (|U|-1)/2.}

Dazu müssen wir die linke Seite der Blütenungleichung {x(E(U))} über das Polyeder der übrigen Ungleichungen maximieren. Wir definieren den folgenden Punkt {x}. Sei {k:=|U|}. Für Kanten {e\in E(U)} setzen wir {x_e := \frac{1}{k-1}}, für Kanten {e\in E(V\setminus U)} setzen wir {x_e := \frac{1}{n-k-1}}, und für Kanten {e\in\delta(U)} setzen wir {x_e:=0}. Offenbar sind die Gradgleichungen erfüllt. Für jede {j}-elementige Teilmenge {U'\subsetneq U} gilt dann {x(E(U')) = \binom{j}{2}/(k-1) \le (j-1)/2}. Genauso hat man für jede {j}-elementige Teilmenge {U'\subsetneq V\setminus U}, dass {x(E(U')) \binom{j}{2}/(n-k-1) \le (j-1)/2}. Für jede Menge {U'\subset V} mit {U'\ne U,V\setminus U} hat man damit aber {x(U') = x(U'\cap U) + x(U'\setminus U) = (|U'\cap U|-1)/2 + (|U'\setminus U|-1)/2 \le (|U'|-1)/2}. Alle Blütenungleichungen sind also erfüllt. Für {U} selber erhält man aber {x(E(U)) = |U|/2 > (|U|-1)/2}.

Aufgabe 4: Benachbarte Ecken auf dem Perfekten-Matching-Polytop

Für diese Aufgabe haben wir die eine Richtung schon in der Übung gesehen: Wenn die symmetrische Differenz zwischen {M_0} und {M_1} ein Kreis ist, sind die beiden benachbart. Es fehlt die Rückrichtung: Wenn die symmetrische Differenz kein Kreis ist, sind sie nicht benachbart.

Dazu seien {M_0} und {M_1} perfekte Matchings, deren symmetrische Differenz aus den eckendisjunkten Kreisen {C_1,\dots,C_k} besteht. Man kann nun {2^k} verschiedene perfekte Matchings konstruieren, indem man für jeden der {k} Kreise entweder {M_0} nimmt oder {M_1}. Ist {\epsilon\in\{0,1\}^k}, so bezeichne {M_\epsilon} das entsprechende Matching. Wir rechnen nun nach

\displaystyle  \sum_{\epsilon\in\{0,1\}^k} 2^{-k} \chi(M_\epsilon) = \frac{1}{2}\chi(M_0) + \frac{1}{2}\chi(M_1).

Für Kanten, die entweder sowohl in {M_0} als auch in {M_1} sind oder die weder in {M_0} noch in {M_1} sind, ist die Gleichung offenbar wahr. Eine Kante in einem der Kreise ist in genau {2^{k-1}} der {2^k} Matchings, also ist ihr Koeffizient auf der linken Seite {1/2}, genauso wie auf der rechten.

VL-KombOpt: Einige Lösungen zu Blatt 6

Posted November 26, 2009 by dirkolivertheis
Categories: Komb. Opt. WS09/10, Teaching

Achtung: Beachte die Mitteilung im Kommentar zu Blatt 7

Aufgabe 1: Bipartite Matching als Min-Cost-Flow

Im Teil (b) war noch die Frage nach dem “dualen” Problem. Sowohl über das Min-Cost-Flow, wie auch durch direktes Hinschreiben erhält man die folgende LP-Formulierung: {min\ c^T x} unter den Nebenbedingungen {x(\delta(u)) = 1} für alle Knoten {u} von {G} und {x_e \ge 0} für alle Kanten {e} von {G}. Das duale Programm ist das folgende: {max\ \sum_u y_u} unter den Nebenbedingungen {y_u + y_v \le c_{uv}} für alle {uv\in E(G)}. Das duale Problem besteht also darin, eine reele “Knoten-{c}-Packung” {y} maximaler “reeler Kardinalität” zu finden. (Generell ist eine (nicht-negativ ganzzahlige mit {c=1}) “Knotenpackung” eine Auswahl von Ecken, so dass in jeder Kante nur eine Ecke gewählt wurde — mit anderen Worten, eine unabhängige Menge.)

Aufgabe 2: Level-Max-Flow

Teil (d): Wie bestimmt man in Zeit {O(|V||A|)} einen blockierenden Fluß im Level-Netzwerk?

Bequemer Algorithmus: Starte mit Fluß {f'=0} und Restkapaziät {c' := c_f}. Suche einen {s-t}-Weg in {D^L}, der nur Bögen {(u,v)} mit {c'(u,v)>0} benutzt. Existiert keiner, so sind wir fertig. Existiert einer, so erhöhe {f'} wie üblich, und verkleinere {c'}. Beachte, dass dadurch für einen Bogen {(u,v)} die Restkapazität {c'(u,v)} auf 0 fällt.

Es wird höchstens {|A|} mal ein {s}-{t}-Weg gesucht. Der Trick ist, dass man das Suchen eines solchen Weges in Zeit {O(|V|)} machen kann, denn jeder Knoten in {D^L} außer {s} hat einen Vorgänger im Level darüber.

Aufgabe 3: Satz von Tutte für Genügsame

(1) Wir zeigen zunächst: Wenn {G} ein perfektes Matching hat, so gilt für jede Eckenmenge {S \subset V(G)}, dass {G-S} höchstens {|S|} Zusammenhangskomponenten ungerader Kardinalität hat. Spasseshalber zeigen wir das für beliebige Graphen {G}.

Es sei {M} ein perfektes Matching und {S \subset V(G)}, und {H} eine ungerade (d.h. ungerade Kardinalität) Zusammenhangskomponente von {G-S}. Da {M} ein perfektes Matching ist und {|V(H)|} ungerade, verläuft mindestens eine Kante von {M} zwischen {H} und {S}. Bezeichnet man mit {s_H} die Endecke dieser Kante in {S}, so hat man, dass die {s_H} alle verschieden sind, und somit die gewünschte Ungleichung gilt.

(2) Offensichtlich ist, dass, wenn die Bedingung für alle Eckenmengen {S} gilt, sie auch für die einelementigen gilt.

(3) Wir zeigen, dass in Bäumen {G} (mit mindestens einer Kante(!)) folgendes gilt. Hat für jede Ecke {s\in V} der Wald {G-s} höchstens eine Zusammenhangskomponenten ungerader Kardinalität, so hat {G} ein perfektes Matching.

Aus der Bedingung folgt zunächst, dass {G} gerade viele Ecken hat (wähle für {s} eine Ecke, die zu einem Blatt benachbart ist).

Für die Existenz des perfekten Matching sei {M} ein Matching in {G}, und {s} eine exponierte Ecke von {G}. Da {G} gerade viele Ecken hat, gibt es eine Komponente {H} von {G-s} mit ungerader Kardinalität. Insbesondere ist {M\cap E(H)} kein perfektes Matching von {H}. Sei {v} eine exponierte Ecke von {H}, und {P} der eindeutige {s-v}-Weg in {G}. Dieser Weg beginnt mit einer Kante {\not\in M} und endet mit einer Kante {\not\in M}, und zwischen zwei Kanten {\in M} ist immer mindestens eine Kante {\not\in M}. Es gibt also auf {P} einen Teilweg {Q} mit der Eigenschaft, dass die erste und die letzte Kante nicht in {M} sind, und auf dem sich ansonsten {M}-Kanten und Nicht-{M}-Kanten abwechseln. Ändert man {M}, indem man jede {M}-Kante in {Q} aus {M} entfernt und dafür jede Nicht-{M}-Kante zu {M} hinzufügt, so erhält man ein Matching mit größerer Kardinalität.

Matchings, die Ecken exponiert lassen, haben also nie maximale Kardinalität. Ein Matching maximaler Kardinalität ist somit ein perfektes Matching.

Es gibt auch einen Beweis ohne augmentierende Wege, aber ich finde den hier eleganter, zumal er von der Augmentierende-Wege-Eigenschaft nur die trivale Richtung benutzt (wenn es einen augmentierenden Weg gibt, ist das Matching nicht kardinalitätsmaximal).

VL Komb-Opt: Programmierprojekt

Posted November 11, 2009 by dirkolivertheis
Categories: Komb. Opt. WS09/10, Teaching

Ein riesen Lob und Hurra an und über Matthias Walter, der die Datenstrukturen vorbereitet hat, und das gleich in Varianten für drei Entwicklungsumgebungen, aber mit allem Comfort! Und den Text unten hat er auch geschrieben (bis auf die Fehler, die ich reingewürgt habe, natürlich).

Leider konnte ich die nötigen Dateien (Datenstruktur mit Funktionen, Makefiles etc, Testgraphen) noch nicht hochladen, weil das mit WordPress nicht geht und ich keine andere Internetseite habe. Die Sachen kommen in den nächsten Tagen.

Problemstellung

Betrachtet wird das Maximum-Cardinality-Matching-Problem. Ihre Aufgaben sind wie folgt:

  1. Implementieren Sie Edmond’s Blossom Shrink Algorithm in C oder C++. Nutzen Sie dafür die bereitgestellte Datenstruktur für eine Adjazenzliste! Ihr Code soll den üblichen Standards entsprechend dokumentiert sein.
  2. Vergleichen Sie die theoretische asymptotische Laufzeit der Implementierung mit der aus der Vorlesung.
  3. Messen Sie die Laufzeit der Implementierung für die Beispiel-Graphen und vergleichen Sie diese mit den theoretischen Überlegungen.

Graphen & Matchings

Unter dem Link, der später im Kommentar nachgelifert wird, finden Sie eine Sammlung von Graphen, mit denen Sie ihren Code testen können. Dabei werden Graphen {G=(V,E)} mit {V = [n]}, {m = |E|} und {e_i = \{ u_i, v_i \}} wie folgt kodiert:

{n} {m}
{u_1} {v_1}
{u_2} {v_2}

{u_m} {v_m}

In den Dateien für das Projekt sind nun immer 2 Graphen hintereinander enthalten: Zunächst der eigentliche Graph, gefolgt vom Matching, welches ebenfalls als Graph aufgefasst ist. Die beiden Knotenzahlen müssen somit gleich sein und die Kantenzahl im Matching-Teil entspricht der Kardinalität dieses.

Hinweis: Sie können in ihrer Implementation nicht davon ausgehen, dass der Eingabegraph zusammenhängend ist!

Quellcode für die Adjazenzliste

Es stehen drei Varianten des zur Verfügung gestellten Codes zur Auswahl: Windows-Nutzer können den DevCpp verwenden, Linux-Nutzer das Makefile-Projekt, und Freunde der Eclipse C/C++ Development Tools kommen auch auf ihre Kosten.

Die entsprechenden Dateien werden in den nächsten Tagen auf Internet zur Verfügung gestellt. Ich schreibe dann einen Kommentar mit den Links.

In den Dateien “graph.h” und “graph.c” ist eine Adjazenzliste implementiert. Dabei wurden statt Listen jedoch dynamische Felder verwendet. Es gibt Routinen zum Erzeugen, Löschen, Ausgeben, Manipulieren, Lesen und Schreiben von Graphen.

Sie müssen diese Datenstruktur in ihrem Algorithmus verwenden!

In der “main.c” ist bereits etwas Code für das Hauptprogramm vorbereitet. Dieser liest oben beschriebene Dateien ein, ruft eine augment-Funktion in der Datei “algorithm.c” auf, die Sie noch mit Leben erfüllen dürfen und schreibt das konstruierte Matching zusammen mit dem Graphen in eine Ausgabe-Datei. Dabei wird u.a. die Laufzeit gemessen. Der Aufruf des Programms sieht wie folgt aus:

./KombOptMatching EINGABE-DATEI AUSGABE-DATEI

Auswertung

Zur Zeitmessung ist die clock-Funktion bereitgestellt. Die damit gemessene Prozessorzeit wird in der Summary-Zeile ausgegeben.

Nutzen Sie diese, um die asymptotische Laufzeit für reale Daten abzuschätzen und mit den theoretischen Überlegungen zu vergleichen.

Quellcode und Auswertung sind bis zum 14. Januar 2010 abzugeben.

Komb-Opt Übungsblatt 3

Posted November 8, 2009 by dirkolivertheis
Categories: Komb. Opt. WS09/10, Teaching

Aufgabe 4

In Blatt 3 gab es eine kleine Unstimmigkeit: in Aufgabe 4 muss man “{c}-kürzester {s}-{t}-Weg” durch “{c}-kürzester {s}-{t}-Pfad” ersetzen, da man natürlich nicht davon ausgehen kann, dass ein {c}-kürzester {s}-{t}-Pfad mit ungerader Länge überschneidungsfrei ist. Die sinnvollste Variante der Aufgabe würde nach einem kürzesten Kreis (überschneidungsfrei) mit ungerader Länge bei nicht-negativen Kantengewichten fragen.

Aufgabe 3

Hier noch mal die Lösung zur Aufgabe 3.c von Blatt 3, die wir in der Übung nicht beendet haben. Außerdem war in meinen Ausführungen an der Tafel ein Fehler.

Die Frage war nach den zulässigen Basen des linearen Programms

\displaystyle  \begin{array}{rcl}  \begin{pmatrix} A & 0 \\ I & I \end{pmatrix} \begin{pmatrix} f\\g \end{pmatrix} &=& \begin{pmatrix} 0\\1\\M \end{pmatrix},\\ f,g \ge 0, \end{array}

wobei {A} die {n\times m} Inzidenzmatrix ist, und {I} die {m\times m} Einheitsmatrix. Die Koeffizientenmatrix hat Rang {m+n-1}, (das ist immer der Fall, wenn man drei Matrize {A,B,C} hat ({A} über {B}, {B} neben {C}), und das Bild von {B} ist im Bild von {C} enthalten).

Zunächst mal zur Benennung der Spalten: Sowohl deren linke Hälfte als auch die rechte entsprechen gerade Bögen. Eine Menge von Spalten entspricht also zwei Mengen von Bögen {E}, {F}, sagen wir {E} für die linke Hälfte und {F} für die rechte.

Zunächst einmal die Basen, ohne “zulässig”. Damit eine Basis herauskommt, muss {|E|+|F|=m+n-1} sein. Außerdem muss in der unteren Hälfte der Matrix in jeder Zeile mal eine 1 vorkommen, also braucht man {\lvert E\cup F \rvert = m}. Aber man braucht auch, dass {E\cap F} keine Kreise enthält: denn sonst hätte man für die Matrix {A} eine Linearkombination der Null deren Träger (= nicht-null-Koeffizienten-Bögen) in {E\cap F} enthalten ist, und was dabei mit dem {I} links unten passiert, könnte man mit den entsprechenden Bögen in der rechten Hälfte der Koeffizientenmatrix reparieren, so dass auch in der unteren Hälfte der Koeffizientenmatrix Null herauskommt. Aus {m = |E\cup F| = |E| + |F| - |E\cap F| = m+n-1 - |E\cap F|} schließt man {|E\cap F| = n-1}, und schließlich, dass {E\cap F} die Bogenmenge eines aufspannenden Baumes bezeichnet (wir gehen mal davon aus, dass das Netzwerk zusammenhängend ist).

Zusammenfassend haben wir für die Konstruktion einer Basis nur die Freiheit, die Bogenmenge eines Baumes auszuwählen, diese Bögen sowohl in {E} als auch in {F} zu packen, und die übrigen Bögen zwischen {E} und {F} aufzuteilen.

Wann ist eine Basis nun zulässig?

Wenn wir das Gleichungssystem lösen, so sind die Werte der Variablen {f_{E\setminus F}} in der linken Hälfte, die zu {E\setminus F} gehören, und genauso die Werte der Variablen in der rechten Hälfte {g_{F\setminus E}}, die zu {F\setminus E} gehören, sofort ablesbar: Sie haben den gleichen Wert, wie die jeweilige rechte Seite in der zugehörigen Zeile der unteren Hälfte der Matrix, also {1} oder {M}.

Was den Rest angeht, so sind die Variablen {f} zu den Bögen im Baum {B:=E\cap F} in der linken Hälfte der Matrix dadurch bestimmt, dass die Gleichung

\displaystyle  A_{(\cdot,B)} f_B = - A_{(\cdot,E\setminus F)} f_{E\setminus F} \ \ \ \ \ (1)

gelten muss, denn {A_{(\cdot,B)}} hat vollen Spaltenrang. Die Werte der Variablen {g_B} zu den Bögen in {B} in der rechten Seite der Matrix ergeben sich dann direkt durch die untere Hälfte der Matrix.

Für die Zulässigkeit braucht man {f,g\ge 0}, wir müssen also sicherstellen, dass in~(1) ein {f_B \ge 0} herauskommt, und dass dieses dann zu einem {g_B \ge 0} führt. Letzteres ist äquivalent zu {f_B(a) \le 1} für {e\ne(s,t)} und {f_B(a) \le M} für {a=(t,s)}. Puh! Gibt’s eine kurze Lösung für die Aufgabe?!???

Also Frage: Für welche Bäume {B} kann man in {f} die Bögen im Komplement {\bar B} von {B} ({= E\setminus F}) auf die obere Schranke setzen, und erhält, wenn man {A_B f_B = -A_{E\setminus B} f_{\bar B}} nach {f_B} löst, ein {f_B} zwischen {0} und den oberen Schranken?

Dazu überlegen wir uns noch kurz, dass man in dieser Situation den Wert von {f} auf einem Baumbogen {a} folgendermaßen bestimmen kann: Entfernt man {a} aus dem Baum, so erhält man 2 Zusammenhangskomponenten, also eine Bipartition {V = U\uplus W} der Knotenmenge, sagen wir mit dem Anfangsknoten ({-1}-Inzidenzmatrixeintrag) von {a} in {U} und dem Zielknoten in {W}. Wegen {0 = f(U,W) = f_a + f(\bar B\cap (U,W))} gilt {f_a = - f(\bar B\cap (U,W))}. Ok, das war schneller ausgerechnet als ich dachte. Super. Wenn ich mich nicht irre (was eher wahrscheinlich ist) brauchen wir also für jeden Bogen {a} im Baum {B} die Eigenschaften

\displaystyle  \begin{array}{rcl}  &1 \ge |\delta^{in}(U)| - |\delta^{out}(U)\setminus\{a\}| \ge 0, \\ &1 \ge |\delta^{in}(U)| - |\delta^{out}(U)\setminus\{a\}| -M+1\ge 0, \\ &M \ge |\delta^{in}(U)| - |\delta^{out}(U)\setminus\{a\}| \ge 0, \\ &1 \ge |\delta^{in}(U)| +M-1 - |\delta^{out}(U)\setminus\{a\}| \ge 0, \end{array}

wobei die vier Zeilen den vier Fällen entsprechen: {s,t \in U} oder {s,t\in W}; {s \in U} und {t\in W}, {(s,t)\ne a}; {s \in U} und {t\in W}, {(s,t)= a}; {t \in U} und {s\in W}.

Weder die zweite noch die vierte Ungleichung ist erfüllbar ({M\gg m}), also entsprechen die zulässigen Basen Bäumen {B} mit der Eigenschaft, dass für jede Kante {a} des Baumes mit den Bezeichnungen wie oben {s,t \in U} oder {s,t\in W} oder {(s,t)=a} gilt und ausserdem

\displaystyle  \begin{array}{rcl}  &2 \ge |\delta^{in}(U)| - |\delta^{out}(U)| \ge 1, \\ &M+1 \ge |\delta^{in}(U)| - |\delta^{out}(U)| \ge 1, \end{array}

gilt, für die beiden Fälle, dass {s,t \in U} oder {s,t\in W}; oder {(s,t)= a}. Stimmts ?

Magdeburger Problem Solving Group

Posted November 1, 2009 by dirkolivertheis
Categories: Problem Solving Group, Teaching

Hier endlich mal ein Post zu unserer Problemlösegruppe.

Das Lösen von Mathe-Problemen in kleinen Gruppen ist eine meiner Top-Fun-Beschäftigungen. Die MD-PSG richtet sich an Studis, die auch Spaß am Lösen schwieriger mathematischer Probleme haben.

Wir treffen uns wöchentlich und grübeln über Probleme, die monatlich im American Mathematical Monthly, einer Publikation der Mathematical Association of America erscheinen. Diese Aufgaben kommen aus allen Bereichen der Mathematik. Obwohl sie nur undergraduate Kentnisse erfordern (Magdeburger Vordiplomkentnisse genügen), liegt ihr Schwierigkeitsgrad (meistens) jenseits von Übungsaufgabenniveau, und die Lösungen erfordern (in der Regel) einige relativ clevere Ideen.

Bei der MD-PSG steht der Fun-Faktor absolut im Fordergrund. Das Angebot zielt nicht auf Bildung eines Hypergenieclubs, sondern richtet sich vielmehr an diejenigen, denen das Grübeln an schwierigen mathematischen Problemen in einer Gruppe Spaß macht.

Die Gruppe betsteht zur Zeit aus ca. 5 Studis, im ca. 4. Semester Mathe/Wirtschaftsmathe/Computermathe.

Am vergangenen Donnerstag haben wir die folgende Aufgabe gelöst: Für jedes n, bestimme das Maximum der Funktion x\mapsto \min_{k<l} \lvert x_k-x_l\rvert über alle x in der n-dimensionalen (euklidischen) Einheitskugel.
Die Aufgabe entpuppte sich aber als Enttäschung: unsere Lösung besteht in der Beobachtung, dass für das Maximum nur Punkte in Frage kommen, die \sum_k x_k = 0 erfüllen, und für die (bei geeigneter Umnummerierung der Indizes) x_{k+1} - x_k konstant ist. Wenig beeindruckend.

Ein Problem, mit dem wir uns schon vorletzte Woche beschäftigt haben, und für das wir die Lösung noch nicht kennen ist das folgende: Gibt es zwei ganzzahlige symmetrische 2×2-Matrizen mit der Eigenschaft, dass alle Produkte, die man aus den beiden bilden kann, paarweise verschieden sind?

Wenn Sie Student in Magdeburg sind und Interesse an unserer PSG haben, kontaktieren Sie mich am besten per Email.

VL: Kombinatorische Optimierung

Posted October 12, 2009 by dirkolivertheis
Categories: Komb. Opt. WS09/10, Teaching

Liebe Übungsteilnehmer,

Auf dieser Seite werde ich Neuigkeiten zur Vorlesung in Form von Kommentaren posten.

Links auf die Übungsblätter finden sich auch in den Kommentaren.

Sie Ihrerseits sind willkommen, Fragen zu stellen und Kommentare abzugeben.

Viel Spaß bei der Vorlesung und den Übungen!

Dirk Oliver Theis

VL: Probabilistic Method

Posted July 16, 2009 by dirkolivertheis
Categories: Prob. Meth. WS09/10, Teaching

Hallo,

Im Wintersemester 2009/10 biete ich eine Vorlesung über Wahrscheinlichkeitstheoretische Methoden in der Kombinatorik an, oder, auf gut neu-deutsch: Probabilistic Method.

Die Grundidee der Probabilistic Method ist, kombinatorische Fragestellungen, wie sie in verschiedenen Bereichen der Mathematik immer wieder auftauchen, mit wahrscheinlichkeitstheoretischen Methoden anzugehen. Hier ein Beispiel.

Theorem. Eine “typische” natürliche Zahl n hat \log\log n + O(\sqrt(\log\log n)) Primteiler.

Die Formulierung hier ist natürlich informell. (Und die Bedeutung der O-Notation werde ich genau erklären.) Der Beweis dieses Theorems ist eine typische Anwendeung der Methode des zweiten Moments: Man rechnet zunächst, dass die durchschnittliche Zahl der Primteiler \log\log n + O(1) ist. Dann berechnet man die Standardabweichung, und kommt auf O(\sqrt{\log\log n}) +O(1). Schließlich wendet man die bekannte Chebyschev’she Ungleichung an, um die gewünschte formale Aussage zu erhalten.

Die Intention der Vorlesung liegt darin, die wahrscheinlichkeitstheoretischen Werkzeuge (im obigen Beispiel Chebyshev’sche Ungleichung) zu erlernen, und ihre Anwendung an Beispielen einzuüben.

Die Chebyshev’sche Ungleichung gehört zu den elementareren Werkzeugen, die wir kennenlernen werden. Ein anderes eher einfaches Werkzeug ist das sogenannte Local Lemma. Stellen Sie sich vor, sie sind in der folgenden Situation: Sie wollen die Existenz eines Objekts zeigen, das eine Reihe von unerwünschten Eigenschaften A_1,\dots,A_n nicht hat. Wenn die Eigenschaften “statistisch” unabhängig wären, würde man einfach argumentieren, dass das Produkt der Wahrscheinlichkeiten 1-Pr(A_j) (dass A_j nicht eintritt) strikt größer 0 ist. Aber was, wenn das Eintreten eines A_j einige andere A_i wahrscheinlicher macht? Das Local-Lemma gibt eine Antwort auf diese Frage: Unter bestimmten Bedingungen an die Abhängigkeiten und die Wahrscheinlichkeiten der A_j gibt es ein Objekt, das die unerwünschten Eigenschaften nicht hat.

Ein weiterer Bereich sind stochastische Prozesse. Der Höhepunkt dieses Bereichs (und der Vorlesung) ist die elegante Differentialgleichungsmethode nach Wormald. Sie ist anwendbar, wenn sich für die bedingten Erwartungen der Beobachtungsvariablen eines (diskreten) Zeitschritts eines stochastischen Prozesses ein System von gewöhnlichen Differentialgleichung aufstellen läßt. Unter gewissen Bedingungen kann man dann zeigen, dass sich nicht nur die Erwartungswerte, sondern die Beobachtungsvariablen selber “asymptotisch fast überall” wie die Lösung des Differentialgleichungssystems verhalten.

Kenntnis einer einführenden Vorlesung zur Wahrscheinlichkeitstheorie wird vorausgesetzt (und natürich der Grundvorlesungsstoff), aber alles Weitere werde ich in der Vorlesung genau erklären.

-DOT

VL Lineare Optimierung: Klausur

Posted June 25, 2009 by dirkolivertheis
Categories: Lin-Opt-SS09

Klausur:

Do 9. Juli, 17:00 Uhr in G16 159/300 Hörsaal H5.

Hier ein “Repetitorium” für die Vorlesung (nützlich auch zur Prüfungsvorbereitung): http://dirkolivertheis.files.wordpress.com/2009/07/repetitorium.pdf.

Die anonymisierten Klausurergebnisse sind hier: http://dirkolivertheis.files.wordpress.com/2009/07/klausur-anonym.pdf

Vielen Dank, dass Sie da waren, es hat Spaß gemacht!

-DOT

VL Lineare Optimierung: Übungsblatt 12

Posted June 24, 2009 by dirkolivertheis
Categories: Lin-Opt-SS09

Liebe Übungsteilnehmer,

Hier das Übungsblatt Nr. 12 mit Musterlösungen: http://dirkolivertheis.files.wordpress.com/2009/07/blatt12.pdf. Das war das letzte Übungsblatt, das für den Schein relevant ist.

In dieser Version mit den Lösungen sind im Vergleich zu der ausgeteilten Version die (mir bekannten) Tippfehler (*seufz*) berichtigt. Sorry!

DOT

VL Lineare Optimierung: Übungsblatt 11

Posted June 11, 2009 by dirkolivertheis
Categories: Lin-Opt-SS09

Liebe Übungsteilnehmer,

Hier das Blatt 11: http://dirkolivertheis.files.wordpress.com/2009/06/blatt111.pdf.

Leider ist diesmal keine herausfordernde Aufgabe dabei: Aufgabe 11.1 ist nur rechnen (ok, für viele ist das eine Herausforderung — mich z.B.); bei Aufgabe 11.2 übt man lediglich das Gedächtnis (was war noch gleich Cramer’sche Regel bzw. Hadamard’sche Ungleichung?); die Herausforderung bei Aufgabe 11.3 besteht im Verstehen der Definition (obwohl man etwas Phantasie braucht, um Beispiele für (c) und (e) zu finden); Aufgabe 11.4 ist auch nicht schwer.

Hier ist meine eigene Lösung: http://dirkolivertheis.files.wordpress.com/2009/06/blatt112.pdf. Achtung Änderung in der Aufgabenstellung: Bei Aufgabe 3 habe ich zusätzliche Bedingungen gefordert, um einige triviale Lösungen für die gesuchten Beispiele auszuschließen.

Viel Spass!

DOT