Matroids Matheplanet Forum Index
Moderiert von matroid
Mathematik » Numerik & Optimierung » Beweis eines Farkas Lemma
Autor
Universität/Hochschule J Beweis eines Farkas Lemma
lochi
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 19.08.2002
Mitteilungen: 1484
Wohnort: Allgäu
  Themenstart: 2004-02-14

Hallo zusammen, ich möchte folgende Variante eines Farkas Lemma per Induktion über die Spalten von A mittels Fourier-Motzkin-Elimination beweisen: \frame Ein lineares Ungleichungssystem A|x<=b hat eine Lösung x genau dann, wenn es keinen Vektor y gibt mit y >= 0 und y^T|A=0 und y^T|b<0 Der Induktionsanfang für eine einspaltige Matrix A ist klar. Beim Induktionsschritt von n-1 Spalten auf n Spalten bin ich bisher so weit gekommen. Sei A\el\IR^(m\cross n) und b\el\IR^m. Dann hat A|x<=b genau dann eine Lösung, wenn A'|x<=b' eine Lösung hat, wobei A' die Matrix ist, die man aus A erhält, wenn man die Zeilen nach der letzten Spalte sortiert, wobei zuerst die positiven Einträge, dann die negativen und zum Schluss die Nullen kommen. b' ist der Vektor, den man aus b erhält, wenn man dessen Elemente genau so vertauscht wie die Zeilen von A in A' vertauscht sind. Sei \a die Zahl der positiven Einträge in der n-ten Spalte von A', \b die der negativen und \g die der Nullen. Und a_ij bezeichne den Eintrag von A' an Zeile i und Spalte j. Dann kann man die Ungleichungen i=1,..\a so schreiben x_n <= (1/a_in)|(b_i-sum(a_ik|x_k,k=1,n-1)) Entsprechend für j=\a+1,...,\a+\b: x_n >= (1/a_jn)|(b_j-sum(a_jk|x_k,k=1,n-1)) Nach Fourier-Motzkin-Elimination ist A'|x<=b ist genau dann lösbar, wenn (1/a_jn)|(b_j-sum(a_jk|x_k,k=1,n-1))<=(1/a_in)|(b_i-sum(a_ik|x_k,k=1,n-1)) für i=1,...,\a und j=\a+1,...,\a+\b eine Lösung in (x_1\,...\,x_(n-1)) hat. Diese Ungleichungen lassen sich wiederum umschreiben und man erhält dann folgendes Ungleichungssystem: A''|x<=b'' wobei (A'')_ij=\fdef(a_(\p_1(\r)(i))\,n)|a_(\p_2(\r)(i))\,j)-a_(\p_2(\r(i))\,n)|a_(\p_1(\r(i))\,j),i<=\a|\b;a_(i-(\a|\b-\a-\b)),i>\a|\b) \r eine Bijektion menge(1\,...\,\a*\b) -> menge(1\,...\,\a)\cross\menge(\a+1,...,\b) \p_k die Projektion auf die k-te Komponente (b'')_i=\fdef(a_(\p_1(\r(i))\,n)|b_(\p_2(\r(i)))-a_(\p_2(\r(i))\,n)|b_(\p_1(\r(i))),i<=\a|\b;b_(i-(\a|\b-\a-\b)),i>\a|\b) Da A''\el\IR^(\a|\b+\g)\cross(n-1) ist, kann man darauf die Induktionsvoraussetzung anwenden. Damit erhält man dann: (\exists x\el\IR^n A|x<=b)<=>(\not(\exists y\el\IR^(\a|\b+\g) y>=0 \and y^T|A''=0 \and y^T|b'' < 0)) Zum Abschluss des Induktionsschritts fehlt jetzt nur noch, dass ich beweise, dass gilt: (\exists y\el\IR^(\a|\b+\g) y>=0 \and y^T|A''=0 \and y^T|b'' < 0)<=>(\exists y\el\IR^m y>=0 \and y^T|A'=0 \and y^T|b' < 0) Mein Problem ist jetzt nur, dass ich keine Möglichkeit sehe, von dem einen y das andere zu konstruieren. Hat vielleicht jemand eine Idee, wie das gehen könnte (oder wo ich in meinem bisherigen Rechenweg etwas ändern sollte, damit es einfacher geht?) Danke schon mal im Voraus, Lochi


   Profil
Siah
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 19.05.2002
Mitteilungen: 3539
Wohnort: Trier
  Beitrag No.1, eingetragen 2004-02-14

Hallo Lochi, Ich kann Dir leider nicht wirklich bei deinem Problem weiterhelfen, aber wenn es Dir lediglich um einen Beweis geht, da gibts es einen schönen kurzen aus der Dualitätstheorie. Ich erzähle Dir wahrscheinlich nichts neues, aber man weiss ja nie. beste Grüße Siah


   Profil
lochi
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 19.08.2002
Mitteilungen: 1484
Wohnort: Allgäu
  Beitrag No.2, vom Themenstarter, eingetragen 2004-02-14

Hallo Siah, danke für den Hinweis, aber die Aufgabe lautet, dass man es eben genau mit diesem Verfahren beweisen soll. Viele Grüße, Lochi


   Profil
Siah
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 19.05.2002
Mitteilungen: 3539
Wohnort: Trier
  Beitrag No.3, eingetragen 2004-02-14

Oh, dann entschuldige ich mich, da kann ich leider nichts beitragen. beste Grüße Siah


   Profil
lochi
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 19.08.2002
Mitteilungen: 1484
Wohnort: Allgäu
  Beitrag No.4, vom Themenstarter, eingetragen 2004-02-15

*hochschieb*


   Profil
Buri
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2003
Mitteilungen: 46890
Wohnort: Dresden
  Beitrag No.5, eingetragen 2004-02-15

Hi lochi, ich werfe mal die Bijektion und die Projektionen als unnötigen Ballast weg, dann besagt die Induktionsvoraussetzung, dass es im Falle der Lösbarkeit des eliminierten Ungleichungssystems Zahlen uij und vl gibt mit sum(sum(u_ij*(a_in*a_jk-a_jn*a_ik),j=\a+1,\a+\b),i=1,\a)+sum(v_l*a_lk,l=\a+\b+1,m)=0 und sum(sum(u_ij*(a_in*b_j-a_jn*b_i),j=\a+1,\a+\b),i=1,\a)+sum(v_l*b_l,l=\a+\b+1,m)<0. Dann kann man y_i=sum(u_ij*(-a_jn),j=\a+1,\a+\b) für i=1,...,\a, y_j=sum(u_ij*a_in,i=1,\a) für j=\a+1,...,\a+\b und y_l=v_l für l=\a+\b+1,...,n setzen. Offensichtlich ist dann y >= 0 und yT A = 0 und yT b < 0 erfüllt. Für die andere Richtung ist der Vektor y >= 0 vorgegeben, und man muß daraus die uij und vl konstruieren. Aus der Gleichung yT A = 0 folgt, dass sum(y_i*a_in,i=1,\a)+sum(y_j*a_jn,j=\a+1,\a+\b)=0 ist. In eine Tabelle mit \a Zeilen und \b Spalten kann man dann nichtnegative Zahlen so eintragen, dass die Summe in der i\-ten Zeile gleich y_i*a_in und die Summe in der (j-\a)\-ten Spalte gleich -y_j*a_jn ist. Die notwendige und hinreichende Bedingung dafür, dass das möglich ist, lautet, dass die vorgegebenen Zeilen\- und Spaltensummen >= 0 sind und die Summe der Spaltensummen mit der Summe der Zeilensummen übereinstimmt. Das ist hier erfüllt. Dann kann man u_ij gleich dem Element in der i\-ten Zeile und (j-\a)\-ten Zeile einer solchen Tabelle, dividiert durch - a_in*a_jn setzen. Ferner wird v_l=y_l für alle l=\a+\b+1,...,n festgesetzt. Dann haben die u_ij und v_l die geforderten Eigenschaften. Schöne Aufgabe war das, hat mir Spaß gemacht! Gruß Buri [ Nachricht wurde editiert von Buri am 2004-02-15 17:51 ]


   Profil
lochi
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 19.08.2002
Mitteilungen: 1484
Wohnort: Allgäu
  Beitrag No.6, vom Themenstarter, eingetragen 2004-02-15

Super! Danke Buri. Nur noch so ne Frage: Wie kommst du auf die erste Konstruktion (der yi)? Die ist doch nicht vom Himmel gefallen, oder? Ich hab immer versucht, ein Gleichungssystem zwischen y_i und u_ij aufzustellen. Sobald ich dann eine Lösung für y hatte, war die dann aber nicht mehr unabhängig von der betrachteten Spalte in A. Ciao, Andreas


   Profil
Buri
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2003
Mitteilungen: 46890
Wohnort: Dresden
  Beitrag No.7, eingetragen 2004-02-15

Hi lochi, Die Formel für den ersten Teil fällt nicht vom Himmel, sie ergibt sich doch daraus, was man hat: sum(u_ij*(a_in*a_jk-a_jn*a_ik))+sum(z_l*a_lk)=0. Hier habe ich einfach die Beiträge zu aik und ajk gesammelt, und so habe ich meine yi. Der zweite Teil ist mir schwerer gefallen, ich hatte plötzlich die Idee mit der Tabelle. Hierfür ist die Begründung aber auch nicht ganz trivial, ich reiche sie hiermit nach: Wir haben die Zeilensummen zi >= 0 und die Spaltensummen sj >= 0 gegeben. Auf einer Geraden zeichnen wir eine Strecke der Länge sum(z_i,i=1,\a)=sum(s_j,j=1,\b). Wir können sie einerseits in Intervalle A_1\.,...,A_\a der Längen z_1\.,...,z_\a und andererseits in Intervalle B_1\.,...,B_\b der Längen s_1\.,...,s_\b zerlegen. Die Länge des Durchschnitts der Intervalle A_i und B_j (sofern nichtleer), sonst Null, ergibt dann die vorgegebenen Zeilen\- und Spaltensummen. Gruß Buri [ Nachricht wurde editiert von Buri am 2004-02-15 19:32 ]


   Profil
lochi
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 19.08.2002
Mitteilungen: 1484
Wohnort: Allgäu
  Beitrag No.8, vom Themenstarter, eingetragen 2004-02-15

Hallo Buri, ja, das mit den Beträgen hatte ich auch mal versucht, mich aber hoffnungslos verstrickt. Und die Begründung für die Tabelle ist einfach umwerfend einleuchtend wie genial. Danke noch mal, Lochi


   Profil
lochi hat die Antworten auf ihre/seine Frage gesehen.
lochi hat selbst das Ok-Häkchen gesetzt.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]