Mátrixjátékok ismétlés: Mátrixjátékok megoldásáról (ismétlés) Legyen adott két játékos, A és B. A két játékos véges stratégia halmazból választ. Jelölje A stratégia vektorát u U, míg B stratégia vektorát v V. A P kifizetési mátrix p ij eleme azt mondja meg, hogy ha az A játékos az i. a B játékos pedig a j. stratégiát választja, akkor B mennyit fizet A-nak. Adott stratégiák esetén ekkor a játék várható értéke. w = u T P v A célja: lehető legnagyobb nyereség, vagyis maximalizálja w-t B célja: lehető legkisebb veszteség, vagyis minimalizálja w-t A tiszta stratégiával a biztosan elérhető nyereség: A esetén α = max i min j p ij B esetén β = min j max i p ij Ha α = β, akkor nyilván van tiszta egyensúlyi stratégia. Ha α < β (a nyilvánvaló) akkor Neumann tétele alapján létezik várható értékben egyensúlyi stratégia.
Dominánált stratégiák Minden esetben érdemes elhagyni a domináns stratégiákat. Ez elsősorban hatékonysági kérdés, ha benn maradnak akkor az optimális megoldásban nulla súllyal fognak szerepelni. Összetett dominanciát (mikor kever stratégia együttesek dominálnak más stratégiákat) már nem érdemes keresni, hiszen általánosan az ugyanolyan költséges mint maga az egyensúly megkeresése. Tekintsük példaként a stratégia mátrixot. 2 1 3-1 3 0 1 1 4 Ebben a 3. oszlop dominált. Elhagyva viszont a 3. sor válik azzá, így a redukált feladat egyszerűen [ 2 1 ] -1 3 alakban írható. Érdekességképpen megjegyezzük, hogy 2 2-es feladatokra egzakt képlet adható (mivel a stratégiák felírhatók (λ, 1 λ) alakban).
Az egyensúlyi stratégia megfogalmazása lineáris programozási feladatként Neumann tételének bizonyításakor láttuk, hogy bármely u U stratégia, és optimális u U és v V stratégiák esetén u T P v u T P v = w A fenti összefüggés pontosan akkor áll fenn minden u kevert stratégiára, ha az egység vektorokra fennáll. Vagyis ha P v w 1 A B játékos olyan optimális v stratégiát keres, melyre w minimális (hiszen ennyit fizet A-nak). Tudjuk, hogy a kevert stratégiákat olyan nemnegatív vektorok, melyek koordinátáinak összege 1. A B játékos optimális (egyensúlyi) stratégiáját a következő lineáris programozási feladat adja meg: min w P v w 1 1 T v = 1 v 0
A feladat átfogalmazása Tegyük fel egy pillanatra hogy w > 0. Ekkor az x = 1 T x = w 1, a következő rendszert kapjuk. min w P v w 1 1 T v = 1 v 0 1 w u új ismeretlent használva, mivel max 1 T x P x 1 x 0 Hasonlóan járhatunk el az A játékos egyensúlyi stratégiájának keresésekor. A következő rendszer adódik, az analóg átírás után: max w u T P w 1 1 T u = 1 u 0 min 1 T y y T P 1 T y 0 Az optimális stratégiát nyilván a w -al való vissza szorzás után kapjuk. Vegyük észre azonban, hogy a két fenti átskálázott feladat egymásnak primál-duál párja, így elég az egyik feladatot megoldani, abból mindkét játékos stratégiáját megkapjuk (mint primál megoldás, és mint duál változók).
A skálázásról és az eljárás összefoglalása Az átírásnál felhasználtuk hogy w > 0. Ha α = β teljesült, vagyis volt tiszta stratégia, akkor természetesen nem érdemes felírni a lineáris programozási feladatot, így α < w < β feltehető. Ha α 0 készen vagyunk. Ha α < 0 akkor P minden eleméhez ugyanazt a kellően nagy pozitív c konstansot adva egy olyan feladatot nyerünk, melynek egyensúlyi megoldásai megegyeznek az eredeti feladatéval, azonban α 0 teljesül. Vegyük észre, hogy ugyanezen eljárással tetszőleges mátrix játékot igazságossá lehet tenni. A mátrix játékok megoldását tehát az alábbiakban foglalhatjuk össze: 1. Megkeressük és elhagyjuk a dominált stratégiákat. 2. Kiszámítjuk az α és a β értékeket. 3. Ha α = β akkor van tiszta stratégia, melyeket a min max formula megoldása egyben meg is határozott. 4. Ha nem, konstans eltolással elérjük hogy w > 0 teljesüljön. 5. Felírjuk a megfelelő lineáris programozási feladatot, melynek optimális primál-duál megoldás párja megadja az optimális stratégiák szerkezetét. 6. Visszaskálázunk w -val. Ne feledjük, hogy a felírt lineáris programozási feladatnak mindíg van optimális megoldása.
A két ujjas malom játék megoldása (ismétlés) Emlékezzünk vissza, hogy a kétujjas malomjáték kifizetés mátrixa ferdén szimmetrikus, tehát a játék értéke w = 0, ezért, ha a játékot lineáris programozási modell segítségével szeretnénk megoldani, akkor a kifizetési mátrix elemeit növelni kell. Legyen ˆP = P + E = 1 3 2 1 1 1 1 4 4 1 1 3 1 2 5 1 a módosított mátrix (minden eleméhez 1-et adtunk hozzá). Ekkor a játék értéke 1 lesz. MATLAB Felírva a lineáris programozási feladatot a látott módon, majd megoldva azt az x = y = (0, 35, 25 ), 0 optimális stratégiákat kapjuk. Mivel a játék szimmetrikus volt, nem meglepő hogy a stratégiák is azonosak. Megjegyezzük, hogy természetesen lehetnének alternatív optimális stratégiák is, így ez a jelenség nem törvényszerű. Valóban a jelenlegi feladatnak is van alternatív optimuma: x 2 = y2 = (0, 47, 37 ), 0 Ezen stratégiák tetszőleges konvex kombinációja optimális.
First Prev Next Last Go Back Full Screen Close Quit A Blotto játék megoldása Emlékezzünk vissza a Blotto játékra: Blotto generálisnak m, az ellenségnek n hadosztálya van, r számú (különböző vagy azonos értékű) célpont elfoglalására (legyen m n). A hadosztályok tovább nem oszthatók és a célpontok bármely túlerővel elfoglalhatók. Egyenlő erők esetén a célpont egyik fél birtokába sem kerül. Hogyan ossza meg Blotto (és az ellenség) az erőit, ha a játékosok által elfoglalt célpont-együttesek értékösszegét tekintve a különbség maximalizálása (illetve az ellenség részéről a minimalizálása) a cél? Legyen c 1, c 2,..., c r a célpontok értéke, melyekre fennáll a c 1 > c 2 > > c r reláció. Ekkor ha Blotto a B játékos, akkor stratégiáit a {m 1,..., m r }, m 1,..., m r N, m 1 + + m r = m alakú sorozatok határozzák meg, ahol m i azt adja meg, hogy az i. célponthoz hány hadosztályt küld. Hasonlóan az ellenség (A játékos) stratégiái ekkor {n 1,..., n r }, n 1,..., n r N, N 1 + + n r = n alakúak. Könnyen látható, hogy B stratégiáinak a száma m + r 1 m Legyen B és A stratégia választásai A i = m (i) 1,..., m(i) r Ekkor a kifizetési mátrix megfelelő eleme p ij = m (i) k >n(j) k c k m (i) k <n(j) k c k = k «, míg A esetén n + r 1 n illetve B j = n (j) 1,..., n(j) r. c k ( m (i) k ) n(j) k «. hiszen az egyes célpontok elfoglalása csak a túlerő meglétén vagy hiányán múlik.
Blotto: m = 2, n = 3, r = 2, c 1 = 2, c 2 = 1. (volt 1-es HF) A látott képlet segítségével az optimális stratégiákat könnyen meghatározhatjuk. Mivel A 1 = {3, 0} A 2 = {2, 1} A 3 = {1, 2} A 4 = {0, 3} B 1 = {4, 0} 2 1 1 1 B 2 = {3, 1} 1 2 1 1 B 3 = {2, 2} 1 1 2 1 B 4 = {1, 3} 1 1 1 2 B 5 = {1, 4} 1 1 1 1 β = max{1, 1, 1, 1, 1} = 1, α = min{2, 2, 2, 2} = 2 vagyis a játéknak nincs tiszta egyensúlyi stratégiája, így megoldjuk a játékhoz tartozó lineáris programozási feladatot (miután elhagyjuk utolsó sort, mely dominált stratégia). MATLAB Az optimális megoldás (u Blotto esetén és v az ellenség esetén). A játék értéke 1.1. ( 5 u = 10, 3 10, 1 10, 1 ) ( 1 10, 0, v = 10, 1 10, 3 10, 5 ). 10 Vagyis nem meglepő módon, Blottonak elsősorban a legértékesebb célpontot kell támadnia (hiszen az esetek felében erejének megosztása nélkül azt támadja). Figyeljük meg továbbá, hogy a tiszta stratégia 1 egység nyereséget garantált volna, míg a kevert stratégia várható értékben ennél 10%-al nagyobb nyereséget eredményez. First Prev Next Last Go Back Full Screen Close Quit
Párbaj játékok A játék során a két játékos s számú pozíciót foglalhat el egymással szemben. Az első, kezdő pozícióban vannak egymástól a legtávolabb, ebben a pozícióban a legkisebb a találati valószínűség. A játékosok bármely pozícióban kilőhetnek egy golyót ellenfelükre. Ha valamely pozícióban nincsen lövés, vagy van lövés, de nincsen találat, akkor a játék a következő pozícióban - egymáshoz közeledvén - folytatódik egészen addig, amíg találat nem esik, vagy már egyik játékosnak sem marad golyója. A kifizetések: +1, ha csak a J 1 játékos talál, és -1, ha csak a J 2 játékos talál, egyébként (egyik sem, vagy mindkettő talál) zérus. A lövések optimális időzítése a kérdés: magasabb sorszámú pozícióban (kisebb távolságról) nő a találati valószínűség, viszont nő annak a valószínűsége is, hogy az ellenfél talál. Legyen az A játékos találati valószínűsége: 0 < p 1 < p 2 <... < p s 1 míg a B játékos találati valószínűsége: 0 < q 1 < q 2 <... < q s 1. csendes párbaj: a játékosnak nincsen tudomásuk arról, hogy az ellenfél lőtt, de célt tévesztett hangos párbaj: a játékosnak tudomásuk van arról, hogy az ellenfél lőtt, de célt tévesztet A hangos párbajok általában nyeregpontos játékok (gondoljunk arra, hogy ha az ellenfél lövését hallottuk de mi még nem lőttünk, akkor nyilván mi közvetlen közelről ki fogjuk végezni ellenfelünk). A párbaj játéknak ismert több golyós változata is, mikor a játékosok adott számú golyóval gazdálkodhatnak. Érdemes elgondolkodni hogy mit is jelent egy kevert stratégia egy párbaj esetén, ahol jó eséllyel csak 1 forduló van. Gondoljunk arra, hogy ellenfelünk lehet gyakorlott párbajozó, aki már kitapasztalta az áldozataira jellemző viselkedést!
A párbaj kifizetési mátrixa Tekintsük az 1 1 golyós csendes párbajt (az összes többi eset hasonlóan kezelhető, csupán több golyós esetben a képletek bonyolultabbak). 1. Ha i < j akkor előbb az A játékos lő. A találat valószínűsége p i, a céltévesztésé 1 p i. Nyilván, a B játékos már csak akkor lőhet, és találhat q j valószínűséggel, ha túlélte A lövését. Így a kifizetés p ij = p i (1 p j )q j. 2. Ha i > j esetén hasonló gondolatmenettel p ij = q j + (1 q j )p i. 3. Ha i = j akkor a két fél egyszerre lő. Mivel a kifizetés csak akkor nem zérus ha csak az egyik fél talál, így p ij = p i (1 q i ) q i (1 p j ) = p i q i.
Egy konkrét csendes, 1 1 golyós párbaj Tegyük fel hogy két párbajozó A és B közül A jobban céloz. Mi lehet ekkor B legjobb esélye? A találati valószínűségek legyenek { 1 P A = 4, 1 2, 3 } 4, 1 A kifizetés mátrix Mivel így itt sincs tiszta stratégia. P = P B = 0 0 1 8 1 2 1 8 5 16 1 2 1 6 1 6 1 { 1 4, 1 3, 1 } 2, 1 1 4 0 1 1 4 2 3 0 0 α = max { 12, 0, 16 }, 0 = 1 { 1 6, β = min 2, 1 3, 1 4, 1 } = 1 2 4, Megfigyelhetjük, hogy az első és a második sor dominált. A megmaradó kifizetési mátrix első és negyedik oszlopa szintén dominált, így elég lenne egy 2 2-es mátrixú feladatot megoldanunk, azonban próbáljuk most ki mi történik ha ezeket a feladatban hagyjuk. MATLAB
A párbaj folytatása A játék értéke 0.2, vagyis ahogy azt gondolhattuk, a két fél nem azonos esélyekkel indul. Az optimális stratégiák (u A esetén és v az ellenfél esetén) ( u = 0, 0, 4 5, 1 ), v = (0, 35 5, 25 ), 0. Vagyis a gyengébben célzó játékosnak, ahogy azt vártuk közelebb kell mennie, vagyis a 2-es vagy 3-as pozícióról lőnie, míg a jobban célzó játékos 1 4 eséllyel már a kezdő 4. pozícióról megpróbálhatja eltalálni ellenfelét. Megfigyelhetjük, hogy a dominált stratégiák értéke a kapott megoldásban természetesen nulla értékűek. A következőkben röviden ismertetünk (átismétlünk?) néhány egyszerű, klasszikus eljárást lineáris programozási feladatok megoldására.
A (primál) szimplex módszer START Elõfeldolgozás bemenő adatok: a kanonikus (P) feladat A B primál megengedett bázisához tartozó T B (rövid) bázis tábla begin I := {i I N c i < 0}; while (I ) do legyen q I tetszőleges; if(t q 0) then STOP: a feladat nem korlátos; else { } legyen ϑ := min bi t iq : i I B, t iq > 0 legyen p I B tetszőleges, melyre bp t pq = ϑ; endif pivotálás: I B := I B {q} \ {p}; az I indexhalmaz meghatározása; endwhile I = akkor optimális megoldásnál vagyunk; end ciklusmag: Kezdõbázis meghatározása I meghatározása I I = optimális megoldás STOP hamis q I tetszõleges tq 0 hamis Pivotálás a tqs elemen i IB,tiq > 0 I meghatározása igaz igaz primál hányadosteszt min{ bi : i IB tiq > 0} tiq ciklusmag STOP: A feladat nem korlátos 1. ábra. Szimplex módszer.
Példa a szimplex algoritmusra Oldjuk meg a következő feladatot (Előbb át kell alakítanunk a fenti feladatot kanonikus LPfeladattá): min( x 1 2x 2 4x 3 x 4 ) x 1 + x 3 + x 4 5 x 1 + x 2 + x 4 6 x 3 7 min( x 1 2x 2 4x 3 x 4 ) x 1 + x 3 + x 4 + u 1 = 5 x 1 + x 2 + x 4 + u 2 = 6 (1) x 3 + u 3 = 7 x 1, x 2, x 3, x 4 0 x 1, x 2, x 3, x 4, u 1, u 2, u 3 0 Megoldás a Szimplex-algoritmussal (balról-jobbra, fentről-lefele): u 1 1 0 1 1 1 0 0 5 u 2 1 1 0 1 0 1 0 6 u 3 0 0 1 0 0 0 1 7 c -1-2 -4-1 0 0 0 0 x 1 1 0 1 1 1 0 0 5 x 2 0 1-1 0-1 1 0 1 u 3 0 0 1 0 0 0 1 7 c 0 0-5 0-1 2 0 7 x 1 1 0 1 1 1 0 0 5 u 2 0 1-1 0-1 1 0 1 u 3 0 0 1 0 0 0 1 7 c 0-2 -3 0 1 0 0 5 x 3 1 0 1 1 1 0 0 5 x 2 1 1 0 1 0 1 0 6 u 3-1 0 0-1 -1 0 1 2 c 5 0 0 5 4 2 0 32 Tehát a keresett megoldás az x 1 = 0, x 2 = 6 és x 3 = 5. A minimális célfüggvény érték 32. Ha a célfüggvény(c) sorában pozitív szám szerepel és nincs fölötte pozitív, akkor nincs megoldása a feladatnak.
Az MBU szimplex módszer START bemenő adatok: a kanonikus (P) feladat A B primál megengedett bázisához tartozó T B (rövid) bázis tábla begin I := {i I N c i < 0}; while(i )do legyen s I tetszőleges vezető változó; while(s I )do legyen K s = {i I B t is > 0}; if(k s = ) then STOP: a D = ; else legyen ϑ := min{ t xi is i K s }; end r I B tetszőleges, melyre t br rs J = {i I c i 0}, és q I N : θ 2 = cq t rq if (J = ) θ 2 := = ϑ és θ 1 := cs t rs ; else θ 1 := min{ ci t ri i J }, q I N : θ 2 = cq t rs ; endif if(θ 1 θ 2 ) then pivotálás a t rs elemen else pivotálás a t rq elemen endif határozzuk meg az I halmazt; endif endwhile endwhile I = akkor optimális megoldásnál vagyunk; ciklusmag: s I vezérváltozó kiválasztása s I Elõfeldolgozás Kezdõbázis meghatározása I meghatározása hamis I hamis I = optimális megoldás STOP igaz ciklusmag Ks = {i IB tis > 0} meghatározása hamis hamis hamis pivotálás a trq elemen I meghatározása STOP: D = Duál nem megengedett feladat First Prev Next Last Go Back Full Screen Close Quit igaz Ks = θ1 := cs trs θ2 = cq trq J = {i I ci 0} J = θ1 := min{ ci tri i J } θ2 = cq trs θ1 θ2 igaz igaz igaz θ2 := pivotálás a trs elemen
Példa az MBU szimplex algritmusra A simplex algoritmusnál látott példából indulunk, ugyanazon átalakítás után. Megoldás az MBUszimplex algoritmussal: min( x 1 2x 2 4x 3 x 4 ) u x 1 + x 3 + x 4 5 1 1 0 1 1 1 0 0 5 u 2 1 1 0 1 0 1 0 6 x 1 + x 2 + x 4 6 u 3 0 0 1 0 0 0 1 7 x 3 7 x 1, x 2, x 3, x 4 0 c -1-2 -4-1 0 0 0 0 Folytatás az MBU Szimplex-algoritmussal (balról-jobbra, fentről-lefele): x 1 1 0 1 1 1 0 0 5 u 2 0 1-1 0-1 1 0 1 u 3 0 0 1 0 0 0 1 7 c 0-2 -3 0 1 0 0 5 x 2 1 1 0 1 0 1 0 6 u 1 1 0 1 1 1 0 0 5 u 3 0 0 1 0 0 0 1 7 c 1 0-4 1 0 2 0 12 x 1 1 1 0 1 0 1 0 6 u 1 0-1 1 0 1-1 0-1 u 3 0 0 1 0 0 0 1 7 c 0-1 -4 0 0 1 0 6 x 2 1 1 0 1 0 1 0 6 u 1 1 0 1 1 1 0 0 5 u 3-1 0 0-1 -1 0 1 2 c 5 0 0 5 4 2 0 32 Tehát a megoldás x 2 = 6 és x 3 = 5. Így a minimális érték 32, ahogy ezt már a Szimplexalgoritmusnál is megkaptuk. First Prev Next Last Go Back Full Screen Close Quit
Megengedett induló bázis előállítása Tegyük fel, hogy a megoldandó feladatunk Ax = b, x, b 0 alakú. Ha kezdetben nem ilyen a feladat, akkor ún. slack változók bevezetésével (hozzáadásával, kivonásával) ilyen alakra hozzuk. A megengedett megoldás az alábbi feladat megoldásával kereshető: max 1 T Ax, Ax + Iu = b, x, u 0, ahol u jelöli a bevezetett mesterséges slack változókat. Ennek a feladatnak létezik optimális megoldása, ugyanis (1 T A)x 1 T b. A min(1 T A)x = 1 T b akkor és csak akkor, ha létezik olyan x vektor, hogy Ax = b, x 0. Ekkor a beágyazott feladatnak az (x, u) optimális megoldása, akkor és csak akkor ha u = 0. Ilyen esetekben lépünk át a primál szimplex módszerben a második fázisba, és ekkor elhagyjuk a slack változók oszlopát, illetve a másodlagos célfüggvény sorát. A következőkben megismerkedünk a criss-cross algoritmussal, hol nincs szükség első fázis feladatra.
A Criss-Cross módszer bemenő adatok: egy (P) feladat rövid (bázis) táblája, nem megengedett változók I indexhalmaza begin while (I ) do p := min{i I B : b i < 0}; q := min{j I N : c j < 0}; r := min{p, q}; if(r = p) then if (t (p) 0) then STOP: a P = ; else legyen q := min{j I N : t pj < 0}; endif else if(t rq 0) then STOP: a D = ; else legyen p := min{i I B : t iq > 0}; endif endif pivotálás a (p,q) pozíción; I B := I B {q} \ {p}; határozzuk meg az I halmazt; endwhile STOP: optimális megoldásnál vagyunk; end ciklusmag: STOP: D = duál nem megengedett a feladat START Elõfeldolgozás Bázis meghatározása I meghatározása hamis I = optimális megoldás STOP p := min{i IB : bi < 0} q := min{j IN : cj < 0} r := min{p,q} igaz I r = p trq 0 igaz hamis hamis p := min{i IB : tiq > 0} meghatározása pivotálás a (p,q) pozíción I meghatározása igaz ciklusmag t (p) 0 hamis igaz q := min{j IN : tpj < 0} meghatározása 1. ábra. Criss-Cross-módszer. STOP: P = primál nem megengedett a feladat First Prev Next Last Go Back Full Screen Close Quit
Példa a Criss-Cross algoritmusra A már jól ismert példánkat oldjuk meg ez alkalommal a Criss-Cross algoritmussal. Megoldás (balról-jobbra, fentről-lefele): u 1 1 0 1 1 1 0 0 5 u 2 1 1 0 1 0 1 0 6 u 3 0 0 1 0 0 0 1 7-1 -2-4 -1 0 0 0 0 x 1 1 0 1 1 1 0 0 5 x 2 0 1-1 0-1 1 0 1 u 3 0 0 1 0 0 0 1 7 0 0-5 0-1 2 0 7 min( x 1 2x 2 4x 3 x 4 ) x 1 + x 3 + x 4 5 x 1 + x 2 + x 4 6 x 3 7 x 1, x 2, x 3, x 4 0 A megoldás az x 2 = 6 és x 3 = 5 és a minimális érték 32. x 1 1 0 1 1 1 0 0 5 u 2 0 1-1 0-1 1 0 1 u 3 0 0 1 0 0 0 1 7 0-2 -3 0 1 0 0 5 x 3 1 0 1 1 1 0 0 5 x 2 1 1 0 1 0 1 0 6 u 3-1 0 0-1 -1 0-1 2 5 0 0 5 4 2 0 32
Bimátrix játékok Egy bimátrix játékban a két játékos A és B hasonlóan mint eddig, véges stratégia halmazból választ, azonban a kifizetések nem szimmetrikusak, hanem egy A és B kifizetési mátrix írja le azokat a két játékos saját szemszögéből. Tipikus ilyen feladat volt a fogoly dilemma: gyanúsítottak J 1 és J 2 nincsen elegendő bizonyíték a gyanúsítottak elkülönítik és kihallgatják ha valamelyikük vall (és a másik tagad), akkor az, aki vallott, enyhébb büntetést kap, esetleg szabadlábra kerül, sőt jutalmat is kaphat az együttműködésért a játékosok lehetséges stratégia halmazai S 1 = {V, T } és S 2 = {V, T } Táblázatban rendszerezve a hasznosságfüggvény eredményét kifizetési mátrixot kapunk. 1. 2. V T V (-2,-2) (3,-3) T (-3,3) (2,2) Megmutatjuk, hogyan lehet a bimátrix játékokat átírni lineáris komplementaritási feladattá.
Szokás szerint jelölje x és y játékosaink kevert stratégiáját. Könnyű látni, hogy a várható nyereség a játékosok ezen stratégiája mellett éppen az x T Ay illetve az x T By. Hasonlóan mint korábban, az x T Ay x T Ay minden x n esetén feltétel ekvivalens az x T Ay A i y, minden i {1,..., n} esetén, ahol A i az A mátrix i. sora. A feltételeket összevonva: (x T Ay )e m Ay ahol e m = (1,..., 1) T R m. Hasonló gondolatmenettel adódik, hogy (x,y ) n m egyensúlyi pár, akkor és csak akkor, ha (x T Ay )e n Ay (x T By )e m (x T B) T = B T x Láttuk, feltehető hogy A és B minden eleme pozitív (+c). Emiatt (x T Ay ) > 0 és (x T By ) > 0 is feltehető. Bevezetve a ξ = x /(x T By ), illetve η = y /(x T Ay ) változókat, illetve az u, v eltérés változókat, a következő rendszert kapjuk: ( ) ( ) ( ) u 0 A ξ + v B T 0 η ( ) ( ) u ξ v η ( ) ( ) u ξ, v η Megmutatható, hogy az x = ξ/ ( n i=1 ξ ( i), illetve az y = η/ m i=1 η i) egyensúlyi pontja az eredeti feladatnak. = = 0 0 ( en e m ) First Prev Next Last Go Back Full Screen Close Quit
Megjegyzések A bimátrix játékokat szokták kvadratikus feladattá átírni. Ennek előnye, hogy a (konvex) kvadratikus feladatokat kezelni képes megoldók lényegesen elterjedtebbek mint a lineáris komplementaritási feladatoké. Az előbbiekben levezetett lineáris komplementaritási feladatot például a híres Lemke algoritmussal lehet megoldani. A bemutatott pivot eljárások kis méretben nagytáblás megvalósítás esetben is képesek megoldani a feladatokat. Nagyobb méretben azonban fejlettebb technikákra van szükség, mint amilyen a módosított szimplex algoritmus, vagy a numerikus ɛ kerekítési hiba korlátok finom összehangolása.