Tartalomjegyzék I. FOLYTONOS OPTIMALIZÁCIÓElőszó1. Játékelmélet (Szidarovszky Ferenc)1.1. Véges játékok1.1.1. Leszámlálás1.1.2. Véges fákkal ábrázolt játékok1.2. Folytonos játékok1.2.1. A legjobbválaszon alapuló fixpont módszerek1.2.2. A Fan-egyenlőtlenség alkalmazása1.2.3. A Kuhn–Tucker-feltételek megoldása1.2.4. Visszavezetés optimumszámítási feladatraVéges játékok kevert bővítéseBimátrixjátékokMátrixjátékok1.2.5. A fiktív lejátszás módszere1.2.6. Szimmetrikus mátrixjátékok1.2.7. Lineáris programozás és mátrixjátékok1.2.8. A Neumann-módszer1.2.9. Átlósan szigorúan konkáv játékokAz egyensúly egyértelműségének ellenőrzéseAz egyensúly iteratív kiszámítása1.3. Az oligopol feladat1.3.1. Legjobbválasz-leképezések1.3.2. Visszavezetés egydimenziós fixpont feladatra1.3.3. A Kuhn–Tuckerfeltételeken alapuló módszerek1.3.4. Visszavezetés komplementer feladatokra1.3.5. Lineáris oligopol játékok és kvadratikus programozásIrodalomjegyzékTárgymutatóNévmutató I. FOLYTONOS OPTIMALIZÁCIÓ Előszó Ebben a részben a folytonos optimalizáció néhány területét tekintjük át. Az első kötetbe a játékelmélettel foglalkozó nyolcadik fejezet került: ebben a fejezetben a véges játékokat, a folytonos játékokat és az oligopol játékokat elemezzük. A második kötetben fog megjelenni a sorbanállási modellekkel és algoritmusokkal, valamint a belsőpontos lineáris programozási feladatokkal foglalkozó rész. 1. Játékelmélet (Szidarovszky Ferenc) A műszaki és a gazdasági életben gyakori az olyan helyzet, melyben több döntéshozó egymással ellentétes érdekeit kell figyelembe venni egyidejűleg, és a helyzet alakulása függ a döntéshozók döntéseitől. Az ilyen helyzetek elemzésére az egyik legnépszerűbb módszer és modell a játékelméleten alapul. Jelölje N a döntéshozók (a továbbiakban játékosok) számát, és minden k=1,2,...,N számra legyen Pk a k -adik játékos és Sk a Pk játékos megengedett akcióinak halmaza. Az skSk elemeket Pk stratégiáinak nevezzük. Sk a Pk játékos stratégiahalmaza. A játék tetszőleges lejátszásában minden játékos választ egy stratégiát, ekkor az s=(s1,s2,...,sN) vektort a játékosok szimultán stratégiavektorának hívjuk, ahol skSk,k=1,2,...,N. Minden játékos megfeleltet minden sS=S1×S2××SN szimultán stratégiavektornak egy valós számot. Ez a valós szám minden játékos esetében tekinthető úgy, mint egy hasznossági függvény értéke, mely értéket a játékos a játék adott kimeneteléhez hozzárendeli. Ez a hasznossági függvény tükrözi az adott játékos értékelését a kimenetelekről. Legyen Pk tetszőleges játékos, ekkor ha fk(s) jelöli ezt az értéket, akkor az fk:SR függvényt a Pk játékos kifizetőfüggvényének, az fk(s) értéket Pk kifizetésének, az (f1(s),f2(s),...,fN(s)) vektort pedig kifizetővektornak nevezzük. Az N szám, az Sk halmazok, az fk kifizetőfüggvények (k=1,2,...,N) összessége teljes körűen meghatároz egy N személyes játékot. A továbbiakban az N személyes játék jelölésére a G={N;S1,S2,...,SN;f1,f2,...,fN} jelölést fogjuk használni. A G játék megoldása a Nash-egyensúly (a továbbiakban röviden egyensúly), amely egy olyan s*=(s1*,...,sN*) stratégiavektor, hogy minden k -ra 1. sk*Sk ; 2. Minden skSk -ra fk(s1*,s2*,...,sk1*,sk,sk+1*,...,sN*)fk(s1*,s2*,...,sk1*,sk*,sk+1*,...,sN*).(1.1)Az 1. feltétel szerint az egyensúly k-adik komponense megvalósítható stratégia Pk számára, míg a 2. feltétel szerint egyik játékos sem tudja növelni a kifizetését az által, hogy egyoldalúan eltér az egyensúlyi stratégiától. Más szavakkal, minden játékosnak az az érdeke, hogy tartsa az egyensúlyt, hiszen ha bármely játékos eltér (egyoldalúan) az egyensúlytól, akkor annak a kifizetése nem nő. 1.1. Véges játékok Egy G játékot végesnek nevezünk, ha minden Sk stratégiahalmaz véges sok stratégiát tartalmaz. (A játék definíciója szerint a játékosok száma is véges. A fordító.) A legismertebb kétszemélyes játék a fogoly dilemma, mely a következő példa tárgya. 1.1. példa. Fogoly dilemma. A két játékos két fogoly, akiket egy súlyos bűntett elkövetésének gyanújával vett őrizetbe a rendőrség, de az ügyészségnek még nincs elég bizonyítéka a vádemeléshez. A két fogoly két különböző cellában van fogva tartva, így nem tudnak egymással kommunikálni. Az ügyészség célja, hogy rávegye a foglyokat a hatóságokkal való együttműködésre, abból a célból, hogy a szükséges bizonyítékok meglegyenek a vádemeléshez. Tehát N=2, a stratégiahalmazok mindkét játékos esetén kételeműek: együttműködni (C), vagy nem együttműködni (N). Mindkét játékossal külön-külön közölték, hogy ha csak az egyikük tesz vallomást, akkor a vallomást tevő csak 1 éves, míg a másik 10 éves börtönbüntetést kap. Ha mind a ketten vallomást tesznek, akkor mindketten 5 éves börtönbüntetést kapnak, míg ha mindketten megtagadják a vallomást, akkor csak egy kevésbé súlyos bűncselekmény miatt ítélik el őket, és mindketten 2 éves börtönbüntetést kapnak. Mindkét játékosnak az a célja, hogy minimalizálja a börtönben töltött időt, vagy ami ezzel ekvivalens, maximalizálja a börtönben töltött idő ellentettjét. A kifizetésvektorokat a 1.1. ábra tartalmazza, ahol P1 stratégiáit a sorok, míg P2 stratégiáit az oszlopok tartalmazzák, és minden kifizetésvektorban az első érték P1 kifizetése, míg a második szám P2 kifizetése. 1.1. ábra. Fogoly dilemma. A kifizetéseket összehasonlítva világos, hogy csak a (C,C) stratégiapáros lehet egyensúly, mivel f2(N,N )=2<1=f2(N,C ),f1(N,C )=10<5=f1(C,C ),f2(C,N )=10<5=f2(C,C). A (C,C) stratégiapáros tényleg egyensúly, mivel f1(C,C )=5>10=f1(N,C ),f2(C,C )=5>10=f2(C,N ) Ebben a játékban egyetlen egyensúly van. Az egyensúly létezése általában nem garantált, és ha létezik egyensúly, akkor sem feltétlenül egyetlen. 1.2. példa. Játék, melyben nincs egyensúly. Módosítsuk a 1.1. ábra kifizetéseit úgy, ahogy az a 1.2. ábrán látható. Könnyen látható, hogy a módosított játékban nincs egyensúly: f1(N,N )=1<2=f1(C,N ),f2(C,N )=4<5=f2(C,C ),f1(C,C )=0<2=f1(N,C ),f2(N,C )=1<2=f2(N,N ). 1.2. ábra. Játék, melyben nincs egyensúly. Ha a kifizetések minden kimenetelre megegyeznek, akkor több egyensúly is van a játékban: minden stratégiapár egyensúly. 1.1.1. Leszámlálás Jelölje továbbra is N a játékosok számát, és – a kényelmes jelölés kedvéért – jelölje sk(1),...,sk(nk) a Pk játékos megengedett stratégiáit. Tehát Sk={sk(1),...,sk(nk)}. Egy s =(s1(i1),...,sN(iN)) stratégiavektor pontosan akkor egyensúly, ha minden k=1,2,...,N és minden j{1,2,...,nk}\ik esetén fk(s1(i1),...,sk1(ik1),sk(j),sk+1(ik+1),...,sN(iN))fk(s1(i1),...,sk1(ik1),sk(ik),sk+1(ik+1),...,sN(iN)).(1.2) Vegyük észre, hogy véges játékok esetén (1.1) leegyszerűsödik (1.2)-re. A leszámlálás alkalmazásakor ellenőrizzük a (1.2) egyenlőtlenséget az összes lehetséges s*=(s1(i1),...,sN(iN))N -esre úgy, hogy megvizsgáljuk a (1.2) egyenlőtlenség érvényességét minden k -ra, minden j -re. Ha az ellenőrzés sikeres, akkor s* egyensúly, ellenkező esetben s* nem egyensúly. Ha az ellenőrzés alatt egy rögzített s* -ra találunk olyan k -t és j -t, hogy (1.2) nem teljesül, akkor s* nem egyensúly, így elhagyhatjuk az ellenőrzést minden további k -ra és j -re. Ez egy nagyon egyszerű algoritmus, mely N+2, egymásba ágyazott, az i1,i2,...,iN,k és j változókat használó ciklusból áll. A szükséges összehasonlítások száma legfeljebb A gyakorlatban azonban az összehasonlítások száma ennél sokkal kisebb lehet, hiszen ha (1.2) nem teljesül valamilyen j-re, akkor az adott stratégiavektor esetén nem kell további összehasonlításokat tenni. Az algoritmus pszeudokódja a következő: A következőkben a kétszemélyes játékokat (N=2) vizsgáljuk, és bevezetjük az (n1×n2) -es A(1) és A(2) mátrixokat, melyek elemei A(1)(i,j)=f1(i,j), illetve A(2)(i,j)=f2(i,j). Az A(1),A(2) mátrixokat kifizetőmátrixoknak nevezzük. Az (s1(i1),s2(i2)) stratégiavektor pontosan akkor egyensúly, ha az (i1,i2) elem az A(1) mátrixban a saját oszlopában, és az A(2) mátrixban a saját sorában a legnagyobb. Ha f1=f2, akkor a játékot zérusösszegű játéknak nevezzük, és A(1)=A(2), tehát a játékot teljes körűen leírja A(1), a P1 játékos kifizetőmátrixa. Ebben a speciális esetben az (s1(i1),s2(i2)) stratégiavektor pontosan akkor egyensúly, ha az (i1,i2) elem az A(1) mátrixban a saját oszlopában a legnagyobb, és a saját sorában a legkisebb. A zérusösszegű játékok egyensúlyára a nyeregpont elnevezés is használatos. Világos, hogy ebben az esetben az egyensúly megtalálása a leszámlálás módszerével leegyszerűsödik, hiszen csak egy mátrixszal kell foglalkozni. Az egyszerűsített algoritmus a következő. 1.1.2. Véges fákkal ábrázolt játékok Számos véges játék rendelkezik azzal a tulajdonsággal, hogy ábrázolható olyan irányított véges fával, melynek a következő tulajdonságai vannak: 1. a fa gyökeres, és a játék ennél a csúcsnál kezdődik; 2. a fa minden csúcsához tartozik egy játékos, és ha a játék elér egy csúcsot, akkor a csúcshoz tartozó játékos kiválaszt egy élt, mely az adott csúcsból indul ki, így dönt arról, hogy miként folytatódik a játék. Ekkor a játék a kiválasztott él végpontjánál folytatódik; 3. minden levélhez tartozik egy valós, N komponensű vektor, mely vektor tartalmazza az egyes játékosok kifizetéseit, ha a játék ebben a levélben ér véget; 4. minden játékos ismeri a fát, tudja, hogy mely csúcsokhoz van rendelve, és tudja, hogy milyen kifizetések tartoznak az egyes levelekhez. Például a sakk játék rendelkezik a fenti tulajdonságokkal. A sakkot két játékos játssza (N=2), a csúcsok a lehetséges állások a sakktáblán, egyszer a világossal játszó, egyszer a sötéttel játszó játékos szempontjából. Adott csúcsból kiinduló élek jelentik azokat a lépéseket, melyeket a csúcshoz rendelt játékos (aki lép) megtehet. A levél olyan állás a sakktáblán, mellyel a játék véget ér. A kifizetések az {1,0,1} halmazból valók, ahol 1 azt jelenti, hogy világos győzelmével, 0 azt jelenti, hogy döntetlennel, -1 azt jelenti, hogy sötét győzelmével ért véget a játék. 1.1. tétel. Minden, véges fával ábrázolható játéknak van legalább egy egyensúlya. Bizonyítás. Abból a célból bizonyítjuk itt be ezt a tételt, hogy egy praktikus algoritmust mutassunk az egyensúly megtalálására. A bizonyítás indukción alapul, melyet annyiszor ismétlünk, amennyi a játék csúcsainak száma. Ha a játéknak csak egyetlen csúcsa van, akkor értelemszerűen ez az egyetlen csúcs egyensúly. Tegyük fel, hogy a tétel igaz minden olyan játékra, ahol a csúcsok száma kisebb, mint n (n2), és nézzük azt a T0 játékot, melynek n csúcsa van. Legyen r0 a T0 játék gyökere, és legyenek r1,r2,...,rm (m<n) azok a csúcsok, melyeket él köt össze r0-lal (r0 gyerekei ). Jelölje T1,T2,...,Tm a T0 olyan diszjunkt részfáit, melyek gyökerei r1,r2,...,rm a sorrendnek megfelelően (tehát r2T2 gyökere). Ekkor minden részfának kevesebb, mint n csúcsa van, így mindegyiknek van egyensúlya (indukciós feltevés). Tegyük fel, hogy Pk tartozik az r0 csúcshoz, legyenek e1,e2,...,em az egyes részfákhoz tartozó egyensúlyoknak a Pk játékoshoz tartozó kifizetései (tehát a Tm részfa egy egyensúlyában Pk-nak em a kifizetése), és legyen ej=max{e1,e2,...,em} . Ekkor a Pk játékos az rj csúcsba lép a gyökérből, és azután folytatódik a játék a Tj részfában létező egyensúllyal. (Nem minden egyensúly kapható meg ezzel a módszerrel, de az ezzel a módszerrel kapott egyensúlyok kifizetővektorai megegyeznek egymással. A fordító.). Az előző tétel bizonyítása egy dinamikus programozás típusú algoritmust sugall, mely algoritmust visszafelé indukciónaknevezünk. Az algoritmus kiterjeszthető általánosabb esetre is, mely esetben a fának véletlen csúcsai vannak, melyekből a játék egy rögzített, diszkrét eloszlásnak megfelelően véletlenszerűen folytatódik. A fenti algoritmus a következőképpen mutatható be formálisan. Tegyük fel, hogy a csúcsok úgy vannak megszámozva (természetes számokkal), hogy ha a j az i csúcs rákövetkezője, akkor i<j. A gyökérnek a legkisebb, az 1-es számot kell kapnia, a legnagyobb szám (n) az egyik levélhez tartozik. Jelölje J(i) azon j csúcsok halmazát, melyekre van olyan él, mely i-ből j-be megy (igyerekeinek halmaza ). Minden i levél esetén J(i) üres halmaz. Jelölje továbbá p(i)=(p1(i),...,pN(i)) a kifizetővektort, mely az i levélhez tartozik. Végül, ki vel jelöljük azt a játékost, aki az i csúcshoz tartozik. Az algoritmus az utolsó csúcsnál ( n-nél) kezdődik, majd visszafelé lépeget n,n1,n2,...,2 és 1 sorrendben. Vegyük észre, hogy n egy levél, és rendeljük hozzá a p(n) vektort. Ha az algoritmusban a következő csúcs (i) is levél, akkor rendeljük hozzá a p(i) vektort, ha i nem levél, akkor keressük meg a legnagyobb értékeket a pki(j),jJ(i) számok közül. Tegyük fel, hogy a legnagyobb érték a ji csúcsban van, ekkor hozzárendeljük a p(i)=p(ji) vektort az i csúcshoz, és továbblépünk az i1 csúcsba. Miután minden p(n),p(n1),...,p(2) és p(1) vektort meghatároztunk, a p(1) vektor tartalmazza a kifizetéseket az egyensúlyban, és az egyensúlyi út a következő csúcsok mentén halad: 1i1=j1i2=ji1i3=ji2..., amíg egy levélbe el nem értünk. Így megkaptuk az egyensúlyi utat. Minden csúcsnál az összehasonlítások száma a csúcsból kiinduló élek száma mínusz 1. Tehát az algoritmusban az összehasonlítások száma az élek száma mínusz n. Az algoritmus pszeudokódja a következő. 1.3. példa. Véges fa. A 1.3. ábrán egy véges fa látható. Minden belső csúcsnál egy kis kör látható, mely tartalmazza annak a játékosnak a jelét, aki az adott csúcshoz tartozik. A leveleknél láthatók a kifizetővektorok. Ebben a játékban három játékos van, tehát a kifizetővektoroknak három komponense van. Először megszámozzuk a csúcsokat úgy, hogy minden él kiindulópontjának kisebb legyen a száma, mint a végpontjának. Ezeket a számokat tartalmazzák a csúcsok alatt látható négyzetek. Minden i csúcs esetén igaz, hogy ha i11, akkor i levél, tehát a visszafelé indukciót a 10-es számú csúcsnál kezdjük. Mivel a 10-es csúcshoz P3 tartozik, így a (2,0,0) és az (1,0,1) kifizetővektorok harmadik komponenseit kell összehasonlítanunk, mivel ezen két kifizetővektor tartozik azokhoz a levelekhez, melyekbe megy él a 10-es csúcsból. Mivel 1>0, ezért P3 legjobb választása a 22 -es csúcs. Tehát j10=22, és p(10)=p(22)=(1,0,1). Ezután a 9-es csúcsot vizsgáljuk meg. A p(19) és a p(20) vektorok harmadik komponensét összehasonlítva világos, hogy P3 a 20-as csúcsot választja, így j9=20, és p(9)=p(20)=(4,1,4). Az ábrán a játékosok választásait a vastagított élek jelzik. Az eljárást a fenti logika szerint folytatva a 8,7,...,1 csúcsokra, végül megkapjuk az 1 -es csúcshoz tartozó p(1)=(4,1,4) kifizetővektort, és az 14920 egyensúlyi utat. 1.3. ábra. Egy játékfa. Gyakorlatok 1.1–1. Egy vállalkozó (E) belép a piacra, amelyet egy áruházlánc (C) tart ellenőrzése alatt. A két szereplő vetélkedése egy kétszemélyes játék. Az áruházlánc stratégiái a megengedés (S), amikor az áruházlánc megengedi, hogy a vállalkozó működjön a piacon, és az elutasítás (T), amikor igyekszik kiszorítani a vállalkozót a piacról. A vállalkozó stratégiái a maradás (I), amikor a vállalkozó a piacon marad, és a kilépés (L), amikor a vállalkozó elhagyja a piacot. A kifizetések a 1.4. ábrán láthatók. 1.4. ábra. A 1.1-1. gyakorlat adatai. Keressük meg az egyensúlyt. 1.1–2. Egy vásárló egy három darabból álló készüléket vásárol a következő feltételekkel: ha minden darab jó, akkor a vevő fizet az eladónak α forintot, egyébként az eladó fizet a vevőnek β forintot. Mielőtt az eladó eladná az árut, ellenőrizheti bármely darabot, de az ellenőrzés költsége darabonként γ forint. Tekintsünk egy kétszemélyes játékot, ahol az eladó a P1 játékos, stratégiái 0,1,2,3 (az ellenőrzött darabok száma), míg az áru a P2 játékos, stratégiái 0,1,2,3 (hány darab hibás). Mutassuk meg, hogy ha feltesszük, hogy minden darab azonos valószínűséggel hibás, akkor a 1.5. ábrán P1 kifizetőmátrixa látható. 1.5. ábra. A 1.1-2. gyakorlat adatai. 1.1–3. Tegyük fel, hogy a 1.1-2. gyakorlatban bevezetett játékot úgy módosítjuk, hogy P2 kifizetései P1 kifizetéseinek az ellentettjei. Adjuk meg az α,β,γ paraméterek függvényében az egyensúlyok számát. Határozzuk meg az egyensúlyt minden esetre. 1.1–4. Tegyük fel, hogy a 1.1-2. gyakorlatban bevezetett játékban P2 kifizetőfüggvénye az áru értéke ( V, ha minden darab jó, egyébként 0). Van-e egyensúlya ennek a játéknak? 1.1–5. Nézzük a 1.6. ábrán látható fát, mely a 1.1-1. gyakorlatban bevezetett játék fája. Keressük meg a fenti játék egyensúlyát visszafelé indukcióval. 1.6. ábra. A 1.1-5. gyakorlat játéka. 1.1–6. Mutassuk meg, hogy egy játékos esetében a visszafelé indukció a klasszikus dinamikus programozási módszerre egyszerűsödik. 1.1–7. Tegyük fel, hogy egy véges fával ábrázolt játékban néhány csúcs úgynevezett véletlen csúcs, ami azt jelenti, hogy a játék egy ilyen csúcsból egy következő csúcsba valamilyen rögzített valószínűséggel folytatódik. Mutassuk meg, hogy ebben az általánosabb esetben is létezik egyensúly. 1.1–8. Nézzük a 1.3. ábrán adott játékot. Kétszerezzük meg P1 kifizetéseit, változtassuk ellentettjeire P2 kifizetéseit, és ne változtassunk P3 kifizetésein. Keressük meg ennek a módosított játéknak az egyensúlyát. 1.2. Folytonos játékok Azokat a játékokat, ahol az Sk stratégiahalmazok egy Rnk euklideszi tér összefüggő részhalmazai, és a kifizetőfüggvények folytonosak, folytonos játékoknak nevezzük. 1.2.1. A legjobbválaszon alapuló fixpont módszerek Algoritmikus szemszögből nagyon intuitív és nagyon hasznos a következőkben újrafogalmazni az egyensúly fogalmát. Minden Pk játékosra és minden s=(s1,s2,...,sN)S=S1×S2××SN stratégiavektorra definiáljuk a következő leképezést: amely Pk legjobb választásainak halmaza, a többi játékos rögzített (s1,s2,...,sk1,sk+1,...,sN) stratégiái mellett. Vegyük észre, hogy Bk(s) nem függ sk -tól, Bk(s) csak a többi játékos stratégiáitól, sl -től (kl) függ. Vegyük észre továbbá, hogy nincs garancia arra, hogy minden sS1×S2××SN esetén létezik a maximum ()-ban. Legyen S olyan részhalmaza S -nek, hogy Bk(s) nemüres halmaz minden k -ra, minden s -ra. Az s*=(s1*,s2*,...,sN*) szimultán stratégiavektor pontosan akkor egyensúly, ha s*, és sk*Bk(s*) minden k -ra. Bevezetve a Bk(s)=(B1(s),...,BN(s)) legjobbválasz-leképezést, tovább egyszerűsíthető az egyensúly fogalmának formalizmusa. 1.2. tétel. Egy s* stratégiavektor pontosan akkor egyensúly, ha s* és s*B(s*). Tehát az N személyes játékok egyensúlyi problémája ekvivalens azzal a problémával, hogy megtaláljuk egy halmazértékű leképezés fixpontjait. A fixpont feladat számítási költsége függ a fixpont feladat típusától, méretétől és a választott számítási módszertől. Az egyensúlyra vonatkozó – leggyakrabban használt – egzisztencia tételek olyan fixponttételekre támaszkodnak, mint a Brouwer-, a Kakutani-, a Banach-, a Tarski–féle fixponttétel. Bármely fixpontkereső algoritmus sikeresen alkalmazható egyensúlyok meghatározására. A legnépszerűbb egzisztencia tétel a Kakutani-féle fixponttétel egy nyilvánvaló alkalmazása. 1.3. tétel. Ha egy N személyes játékra minden k-ra teljesül, hogy1. az Sk stratégiahalmazok egy véges dimenziós euklideszi tér nemüres, zárt, korlátos, konvex részhalmazai;2. az fk kifizetőfüggvények folytonosak S -en;3. az fk függvény konkáv az sk változó szerint, tehát rögzített (s1,...,sk1,sk+1,...,sN) mellett fk konkáv függvény, akkor a játéknak van legalább egy egyensúlya. 1.4. példa. Első kétszemélyes játék. Tekintsünk egy kétszemélyes játékot ( N=2 ), ahol a stratégiahalmazok S1=S2=[0,1], a kifizetőfüggvények f1(s1,s2)=s1s22s12+5, és f2(s1,s2)=s1s22s22+s2+3. Először mindkét játékos legjobbválasz-leképezéseit határozzuk meg. Mindkét kifizetőfüggvény lefelé nyitott parabola, melyek csúcspontjai: s1=s24 és s2=s1+14. Minden s1,s2[0,1] esetén ezek az értékek megvalósítható stratégiák, tehát B1(s)=s24 és B2(s)=s1+14. Tehát az (s1*,s2*) vektor pontosan akkor egyensúly, ha komponensei kielégítik a következő egyenlőségeket: s1*=s2*4 és s2*=s1*+14. Könnyen látható, hogy az egyenlőségek egyetlen megoldása: s1*=115 és s2*=415, tehát (s1*,s2*) a játék egyetlen egyensúlya. 1.5. példa.Tengeri csatorna. Tekintsük egy tengeri csatorna egy bizonyos részét a [0,1] intervallumnak. P2 egy tengeralattjáró, mely az s2[0,1] helyen rejtőzik. P1 egy repülőgép, mely bombázhat bármely s1[0,1] helyet. A bombázó a tengeralattjárónak αeβ(s1s2)2 kárt okoz. Így egy speciális kétszemélyes játékot definiáltunk, ahol S1=S2=[0,1] , f1(s1,s2)=αeβ(s1s2)2 és f2(s1,s2)=f1(s1,s2) . Ha rögzítjük s2 -t, akkor f1(s1,s2) felveszi maximumát az s1=s2 helyen, tehát P1 legjobbválasz-leképezése: B1(s)=s2.P2 minimalizálni akarja f1(s1,s2) -t, mely akkor következik be, ha |s1s2| a lehető legnagyobb. Ebből következik, hogy Világos, hogy nincs olyan s=(s1,s2)[0,1]×[0,1] vektor, hogy s1=B1(s) és s2B2(s), tehát nincs egyensúly. 1.2.2. A Fan-egyenlőtlenség alkalmazása Definiáljuk a H:S×SR összegzőfüggvényt a következőképpen: Hr(s,z)=k=1Nrkfk(s1,...,sk1,zk,sk+1,...,sN)(1.4) minden s =(s1,...,sN),z(z1,...,zN)S-re, ahol r =(r1,r2,...,rN)>0 tetszőleges, rögzített. 1.4. tétel. Az s*S vektor pontosan akkor egyensúly, ha Hr(s*,z)Hr(s*,s*)(1.5) minden zS -re. Bizonyítás. Először tegyük fel, hogy s* egyensúly. Ekkor a (1.1) egyenlőtlenség teljesül minden k -ra és minden skSk stratégiára. A (1.1) egyenlőtlenségeinek mindkét oldalát megszorozva az rk együtthatókkal és összeadva őket a k=1,2,...,N értékekre, megkapjuk (1.5)-öt. Most tegyük fel, hogy a (1.5) egyenlőtlenség teljesül minden zS -re. Tetszőleges k -ra és tetszőleges skSk -ra legyen z=(s1*,...,sk1*,sk,sk+1*,...,sN*), és alkalmazzuk (1.5)-öt. A k -adik tag kivételével minden tag egyenlő a két oldalon, így törölhetők, míg a megmaradó k -adik tag azt mutatja, hogy a (1.1) egyenlőtlenség teljesül. Tehát s* egyensúly. Vezessük be a következő függvényt: φ(s,z)=Hr(s,z)Hr(s,s). Világos, hogy s* pontosan akkor egyensúly, ha φ(s*,z)0(1.6) minden zS-re. A (1.6) egyenlőtlenséget Fan-egyenlőtlenségnek nevezzük. A (1.6) egyenlőtlenség átírható variációs egyenlőtlenséggé (lásd később a 1.2.9.2. pontban) vagy fixpont feladattá. A második átírási lehetőséget mutatjuk be itt. Minden sS -re legyen Φ(s)={z|zS,φ(s,z)=maxtSφ(s,t)}.(1.7) Mivel φ(s,s)=0 minden sS -re, így (1.6) egyenlőtlenség pontosan akkor teljesül, ha s*Φ(s*), így s* fixpontja a Φ:S2S halmazértékű leképezésnek. Tehát minden fixpontkereső módszer alkalmazható egyensúly számításra. A fixpont probléma számítási költsége függ a fixpont probléma típusától, méretétől és a választott számítási módszertől. 1.6. példa.Második kétszemélyes játék. Tekintsük a 1.4. példát. A mostani esetben: f1(z1,s2)=z1s22z12+5,f2(s1,z2)=s1z22z22+z2+3, így az összegzőfüggvény formája r1=r2=1 esetén: Hr(s,z)=z1s22z12+s1z22z22+z2+8. Tehát Hr(s,s)=2s1s22s122s22+s2+8, és φ(s,z)=z1s22z12+s1z22z22+z22s1s2+2s12+2s22s2. Vegyük észre, hogy a φ függvény szigorúan konkáv mind z1 szerint, mind z2 szerint, és φ szétválasztható változójú függvény. φ stacionárius pontja: φz1=s24z1=0φz2=s14z2+1=0. Mivel mindkét jobb oldal megvalósítható, így az optimum z1=s24 és z2=s1+14. A fixpontban: s1=s24 és s2=s1+14, melyből az egyetlen megoldás: s1=115 és s2=415. 1.2.3. A Kuhn–Tucker-feltételek megoldása Tegyük fel, hogy minden k -ra Sk={sk|gk(sk)0}, ahol gk:RnkRmk az OkSk nyílt halmazon folytonosan differenciálható, vektor változójú és vektor értékű függvény. Tegyük fel továbbá, hogy az fk függvény sk szerint folytonosan parciálisan deriválható Ok -n minden k -ra, tetszőleges rögzített s1,...,sk1,sk+1,...,sN esetén. Ha s*=(s1*,...,sN*) egyensúly, akkor minden k -ra sk* optimális megoldása a következő feladatnak: Feltéve, hogy a Kuhn–Tucker regularitási feltételek sk esetén teljesülnek, a megoldásnak teljesítenie kell a Kuhn–Tucker-féle szükséges feltételeket (k=1,2,...,N): ahol uk egy mk komponensű oszlopvektor, ukT jelöli uk transzponáltját, kfk az fksk szerinti gradiens függvénye (mint sorvektor), és kgk a gk függvény Jacobi-függvénye. 1.5. tétel. Ha s* egyensúly, akkor léteznek olyan uk* vektorok, hogy teljesül. A (8.9) relációi minden k=1,2,...,N -re feltételek (általában nagy) rendszerét adja az ismeretlen sk -ra és uk -ra. Ha létezik egyensúly, akkor az egyensúlynak teljesítenie kell (8.9)-et. Ha ráadásul minden k -ra gk minden komponense szerint konkáv és fk konkáv sk szerint, akkor a Kuhn–Tucker-feltételek elégségesek is, tehát (8.9) minden megoldása egyensúly. A (8.9) megoldásának számítási költsége (8.9) típusától, és a választott módszertől függ. Ha például (8.9) lineáris programozási feladat, melyet szimplex módszerrel oldunk meg, akkor a műveletek száma legrosszabb esetben exponenciális. Egyedi esetekben azonban a megoldás sokkal kevesebb művelettel is meghatározható. 1.7. példa. Harmadik kétszemélyes játék. Tekintsük ismét a 1.4. példa kétszemélyes játékát. Világos, hogy S1={s1|s10,1s10},S2={s2|s20,1s20}, amiből kapjuk, hogy g1(s1)=(s11s1) és g2(s2)=(s21s2). Deriválás után 1g1(s1)=(11),2g2(s2)=(11),1f1(s1,s2)=s24s1,2f2(s1,s2)=s14s2+1, tehát a Kuhn–Tucker-feltételek a következő formában írhatók fel: u1(1),u2(1)0s10s11s24s1+u1(1)u2(1)=0u1(1)s1+u2(1)(1s1)=0u1(2),u2(2)0s20s21s14s2+1+u1(2)u2(2)=0u1(2)s2+u2(2)(1s2)=0. Vegyük észre, hogy f1 konkáv s1 szerint, f2 konkáv s2 szerint, és minden feltétel lineáris, tehát ennek a feltételrendszernek minden megoldása egyensúly. Módszeresen vizsgálva az egyes lehetőségek kombinációit, azt kapjuk, hogy s1=0,0<s1<1,s1=1, és s2=0,0<s2<1,s2=1. Könnyen látható, hogy egyetlen megoldás van: u1(1)=u1(2)=u2(1)=u2(2)=0,s1=115,s2=415. Túlcsordulás és többlet változókat bevezetve a Kuhn–Tucker-feltételek átírhatók, mint egy nemnegatív rendszer. A nemnegativitási feltételek elhagyhatók, ha a változókat úgy tekintjük, mint valamely új változók négyzeteit, így a végeredmény egy plusz feltételek nélküli, (általában) nemlineáris egyenletrendszer. Számos numerikus módszer áll rendelkezésre az ilyen egyenletrendszerek megoldására. 1.2.4. Visszavezetés optimumszámítási feladatra Tegyük fel, hogy az előző alfejezet (8.9) feltételei teljesülnek. Tekintsük a következő optimumszámítási feladatot, ahol k=1,2,...,N: A két első feltétel miatt a célfüggvény nem negatív, így az optimális érték sem negatív. Ebből következik, hogy (8.9)-nek pontosan akkor van megengedett megoldása, ha (8.10)-ben a célfüggvény zéró. Ebben az esetben bármely optimális megoldás teljesíti (8.9)-et. 1.6. tétel. Egy N személyes játéknak csak akkor van egyensúlya, ha (8.10)-ben a célfüggvény optimális értéke nulla. Ha ráadásul gk minden komponense szerint konkáv, és fksk szerint konkáv minden k -ra, akkor (8.10) minden optimális megoldása egyensúly. Tehát egy N személyes játék egyensúlyának meghatározása visszavezethető a (8.10) (általában) nemlineáris optimumszámítási feladat megoldására. Bármely nemlineáris programozási módszer használható ennek a problémának a megoldására. (8.10) megoldásának számítási költsége (8.10) típusától, és a választott módszertől függ. Például, ha (8.10) egy lineáris programozási feladat, melyet a szimplex módszerrel oldunk meg, akkor a műveletek maximális száma exponenciális. Egyedi esetekben azonban a megoldás sokkal kevesebb művelettel is meghatározható. 1.8. példa. Negyedik kétszemélyes játék. A 1.7. példa esetén az optimumszámítási feladat a következő formában írható fel: u1(1)s1+u2(1)(1s1)+u1(2)s2+u2(2)(1s2) min u1(1),u1(2),u2(1),u2(2)0s10s11s20s21s24s1+u1(1)u2(1)=0s14s2+1+u1(2)u2(2)=0. Vegyük észre, hogy az u1(1)=u1(2)=u2(1)=u2(2)=0,s1=1/15 és s2=4/15 megoldás megengedett, a célfüggvény értéke zéró, így egyben optimális megoldás is. Ebből következik, hogy megoldása (8.9)-nek, így a 1.6. tétel miatt egyensúly. Véges játékok kevert bővítése Korábban láttuk, hogy egy véges játéknak nem feltétlenül van egyensúlya. Még ha egy véges játéknak van is egyensúlya, és sokszor játsszuk le az adott játékot, akkor is a játékosok szeretnek bevezetni némi véletlenszerűséget az akcióikba, abból a célból, hogy a többi játékost összezavarják, illetve azért, hogy keressenek egy sztochasztikus értelemben vett egyensúlyt. Ez a gondolat úgy modellezhető, hogy a játékosok stratégiáit valószínűség eloszlásokként vezetjük be, és a várható kifizetések lesznek a kifizetőfüggvények. A 1.1. alfejezet jelöléseit megtartjuk: N játékosunk van, az Sk={sk(1),...,sk(nk)} halmaz a Pk játékos véges stratégiahalmaza. Ennek a véges játéknak a kevert bővítésében minden játékos egy – a saját stratégiahalmazán értelmezett – diszkrét valószínűségeloszlást vesz, továbbá Sk elemeit a játék minden lejátszásában az adott diszkrét eloszlás szerint választja. Tehát Pk új stratégiahalmaza: S¯k={xk|xk=(xk(1),...,xk(nk)),i=1nkxk(i)=1,xk(i)0 minden i-re },(1.11) mely halmaz elemei nk komponensű valószínűségi vektorok. Pk új kifizető függvénye várható érték függvény Vegyük észre, hogy az xk=ek természetes bázisvektor választással az eredeti,,tiszta” stratégiához ( sk(i) ) tartozó kifizetés kapható meg. A kevert bővítéssel kapott játék folytonos játék, és a 1.2. tétel szerint van legalább egy egyensúlya. Tehát ha adott egy véges játék, melynek nincs egyensúlya, akkor a kevert bővítésének mindig van legalább egy egyensúlya, mely egyensúly az előző alfejezetben ismertetett módszerekkel megkapható. 1.9. példa. Ötödik kétszemélyes játék. Tekintsünk egy kétszemélyes játékot (N=2), ahol a 1.1. alfejezetben bevezetett A(1) és A(2) mátrixok (i,j) elemei f1(s1(i),s2(j)) és f2(s1(i),s2(j)). Ebben a speciális esetben f¯k(x1,x2)=i=1n1j=1n2aij(k)xi(1)xj(2)=x1TA(k)x2(k=1,2).(1.13) Az S¯k feltételei a következő formába írhatók át: xk(i)0(i=1,2,...,nk),1+i=1nkxk(i)0,1i=1nkxk(i)0. Tehát választhatjuk gk-t a következőképpen: A -ben adott optimumszámítási feladat a következő feladatra egyszerűsödik: ahol vkT=(uk(1),....uk(nk)),1kT=(1(1),...,1(nk)) és 0kT=(0(1),...,0(nk)) , k=1,2. Vegyük észre, hogy a fenti feladat egy kvadratikus programozási feladat. A számítási költség a választott módszertől függ. Azt is vegyük észre, hogy a fenti probléma általában nem konvex, így lehetséges, hogy az optimum keresése során beragadunk egy lokális optimumba. Bimátrix-játékok A kétszemélyes véges játékok kevert kiterjesztéseit bimátrix-játékoknak nevezzük. A 1.9. példában már vizsgáltunk ilyen játékot. A jelölés egységesítése érdekében a következő egyszerűsítő jelöléseket vezetjük be: A=A(1),B=A(2),x=x1,y=x2,m=n1 és n=n2. A következőkben azt mutatjuk meg, hogy a feladat átírható olyan kvadratikus programozási feladattá, melyben csak lineáris feltételek vannak. Tekintsük először a célfüggvényt. Legyenek α=u1(m+2)u1(m+1), és β=u2(n+2)u2(n+1), ekkor a célfüggvény a következő formába írható át: v1Tx+v2Tyα(1mTx1)β(1nTy1).(1.16)-ben az utolsó két feltétel szintén egyszerűsödik: yTAT+v1Tα1mT=0mT,xTB+v2Tβ1nT=0nT, amiből következik: v1T=α1mTyTAT és v2T=β1nTxTB.(1.17) Mivel 1mTx=1nTy=1, felírhatjuk a célfüggvényt egy újabb formában: (α1mTyTAT)x+(β1nTxTB)yα(1mTx1)β(1nTy1)=α+βxT(A+B)y. Tehát a következő kvadratikus programozási feladatot kapjuk: ahol a két utolsó feltétel a v1 , v2 vektorok nemnegativitásából és (1.17)-ből következik. 1.7. tétel. Az x* , y* vektorpár pontosan akkor egyensúlya az ( A,B ) bimátrix-játéknak, ha valamilyen α* -ra és β* -ra (x*,y*,α*,β*) optimális megoldása a feladatnak. Ekkor az optimumban a célfüggvény értéke nulla. Ez kvadratikus programozási feladat, ahol a számítási költség a választott módszertől függ. Általában nem konvex a feladat, így benneragadhatunk egy lokális optimumban. Mivel tudjuk, hogy a globális optimumban a célfüggvény értéke nulla, így ellenőrizni tudjuk az optimalitást. Ha A+B negatív szemidefinit, akkor a feladat konvex, tehát minden lokális optimum globális is. 1.10. példa.Első bimátrix-játék. Válasszuk A -t és B -t a következőképpen: Ekkor tehát () a következő formát ölti: 3x1y12x1y22x2y1+3x2y2αβ max x1,x2,y1,y20x1+x2=1y1+y2=12y1y2αy1+y2αx1x2βx1+2x2β, ahol x=(x1,x2)T és y=(y1,y2)T. A 1.7. tételből tudjuk, hogy az optimális célfüggvényérték nulla, így minden megengedett megoldás, melyre a célfüggvény értéke nulla, szükségszerűen optimális. Könnyen látható, hogy x=(10),y=(01),α=2,β=1,x=(01),y=(10),α=1,β=2,x=(0.60.4),y=(0.40.6),α=0.2,β=0.2 mind optimumok, tehát mindegyik meghatároz egy egyensúlyt. Alkalmazhatjuk ()-et egyensúly keresésre. Ahelyett, hogy megoldjuk a () optimumszámítási feladatot, megoldjuk az () feltételrendszert. A bimátrix-játékok esetén a () feladat a következő formára egyszerűsödik: mely feltételrendszer a kvadratikus programozási feladatnál látottakkal analóg módon vezethető le. A () feladat számítási költsége a választott módszertől függ. 1.11. példa.Második bimátrix-játék. Tekintsük ismét a 1.10. példát. Helyettesítsük a (1.19) feltételrendszer első és a második feltétele alapján α -t és β -t a harmadik és a negyedik feltételbe, ekkor 2y1y22x1y1x1y2x2y1+x2y2y1+y22x1y1x1y2x2y1+x2y2x1x2x1y1x1y2x2y1+2x2y2x1+2x2x1y1x1y2x2y1+2x2y2x1,x2,y1,y20x1+x2=y1+y2=1. Könnyen látható, hogy a 1.10. példában kapott megoldások kielégítik a fenti feltételrendszert, tehát egyensúlyok. A bimátrix-játék egyensúlyi feladatát átírhatjuk kevert változós feltételrendszerbe is. Tegyük fel, hogy A és B minden eleme 0 és 1 között van. Ez a feltevés nem túl erős, hiszen lineáris transzformációk használatával A¯=a1A+b11 és B¯=a2B+b21, ahol a1,a2>0,1 a csupa egyesekből álló m×n -es mátrix. Ekkor az egyensúly nem változik, és – megfelelő a1,b1,a2 és b2 értékek választásával – az A¯ és B¯ mátrixok minden eleme a [0,1] intervallumba esik. 1.8. tétel. Az x,y vektorpár pontosan akkor egyensúly, ha valamilyen α,β számokra és u,v nulla-egy vektorokra teljesül a egyenlőtlenség. Bizonyítás. Először tegyük fel, hogy az x,y vektorpár egyensúly, ekkor valamilyen α -ra, β -ra teljesül. Legyen Mivel az A és B mátrixok elemei [0,1] -ből valók, így α=xTAy és β=xTBy szintén nulla és egy közöttiek. Vegyük észre, hogy 0=xT(α1mAy)=yT(β1nBTx), melyből következik, hogy () teljesül. Most tegyük fel, hogy teljesül. Ekkor 0xu1m és 0yv1n. Ha ui=1, akkor αeiTAy=0, és ha ui=0, akkor xi=0. Tehát xT(α1mAy)=0, melyből következik, hogy α=xTAy. A β=xTBy egyenlőség érvényessége hasonlóan mutatható meg, így teljesül, tehát az x,y vektorpár egyensúly. A feladat számítási költsége a választott módszertől függ. 1.12. példa. Harmadik bimátrix-játék. A 1.10. példában bevezetett bimátrix-játék esetén a következő formát ölti: Vegyük észre, hogy a 1.10. példában adott három megoldás teljesíti a fenti feltételrendszert az u=(1,0),v=(0,1),u=(0,1),v=(1,0), és u=(1,1),v=(1,1) vektorpárokkal. Mátrixjátékok Azokat a bimátrix-játékokat, ahol B=A, mátrixjátékoknak nevezzük, és egy A mátrixszal jelöljük. Az ilyen játékokra néha A mátrixjátékként fogunk hivatkozni. Mivel A+B=0, a ()-bani kvadratikus programozási feladat lineáris: A fenti feladatból látható, hogy az egyensúlyok halmaza konvex poliéder. Vegyük észre, hogy (x,β) és (y,α) szétválasztható, amiből a következő eredmény vezethető le. 1.9. tétel. Az x* , y* vektorpár pontosan akkor egyensúlya az A mátrixjátéknak, ha valamilyen α* -ra, β* -ra (x*,β*) és (y*,α*) optimális megoldásai a következő lineáris programozási feladatpárnak: Vegyük észre, hogy az optimumban α+β=0. Az α optimális értékét a mátrixjáték értékének nevezzük. Ha a szimplex módszert alkalmazzuk (8.22) megoldására, akkor a műveletek száma exponenciális. Polinomiális algoritmussal (mint amilyen a belső pont módszer) a műveletek száma csak polinomiális. 1.13. példa. Első mátrixjáték. Tekintsük a következő mátrixjátékot: A (8.22)-t erre a feladatra felírva: A szimplex módszerrel megkaphatjuk a fenti feladatpár megoldását: α=9/7,y=(3/7,3/7,1/7),β=9/7, és x=(4/7,4/21,5/21). A (8.21) megoldását úgy is megkaphatjuk, hogy lineáris feltételek bizonyos halmazának megengedett megoldását keressük meg. Mivel -ben az optimumban α+β=0,x,y vektorok és α,β skalárok pontosan akkor alkotnak optimális megoldást, ha A (8.23) megoldásához a szimplex módszer első fázisa szükséges, mely a legkedvezőtlenebb esetben exponenciális számú műveletet igényel. A gyakorlatban általában sokkal kevesebb művelet szükséges. 1.14. példa. Második mátrixjáték. Nézzük megint a 1.13. példában bevezetett mátrixjátékot. Ha erre a játékra (8.23)-at felírjuk, akkor a következőt kapjuk: x1,x2,x3,y1,y2,y30x1+x2+x3=y1+y2+y3=12y1+y2α2y1+3y3αy1+3y2+3y3α2x1+2x2x3αx1+3x3α3x2+3x3α. Könnyen látható, hogy α=9/7,x =(4/7,4/21,5/21)T,y = (3/7,3/7,1/7)T kielégíti a () feltételrendszert, tehát az x,y vektorpár egyensúly. 1.2.5. A fiktív lejátszás módszere Tekintsünk most egy A mátrixjátékot. Az ezen alfejezetben tárgyalt módszer fő gondolata az, hogy lépésenként minden játékos meghatározza a saját legjobbválasz tiszta stratégiáját a másik játékos – az előzőekben választott – stratégiáinak átlaga mellett. Formálisan a módszer a következőképpen írható fel. Legyen x1 a P1 játékos kezdeti (kevert) stratégiája. Válasszuk úgy y1=ej1 t, hogy teljesüljön x1TAej1=minj{x1TAej}.(1.24)Bármely további k2 lépéskor legyen y¯k1=1k1((k2)y¯k2+yk1),(1.25) és válasszuk xk=eik-t úgy, hogy teljesüljön eikTAy¯k1=maxi{eiTAy¯k1}.(1.26) Ekkor legyen x¯k=1k((k1)x¯k1+xk),(1.27) és válasszuk yk=ejk -t úgy, hogy x¯kTAejk=minj{x¯kTAej}.(1.28) A fenti általános lépés megismétlése (k=2,3,...) -ra két sorozatot eredményez: {x¯k} -t, és {y¯k} -t. Ekkor a következő eredményt kapjuk: 1.10. tétel. Az ({x¯k},{y¯k}) sorozatpár tetszőleges torlódási pontja az A mátrixjáték egy egyensúlya. Bizonyítás. Mivel {x¯k} és {y¯k} valószínűségi vektorok, így korlátos, valós sorozatok, tehát van legalább egy torlódási pontjuk. Tegyük fel, hogy az A mátrix m×n -es. (1.24)-ben mn szorzásra van szükségünk. (1.25)-ben és (1.27)-ben m+n szorzás és osztás van. (1.26)-ban és (1.28)-ban mn szorzás van. Ha L iterációs lépést teszünk, akkor az osztások és szorzások száma: mn+L[2(m+n)+2mn]=Θ(Lmn). Az algoritmus pszeudokódja a következő (az algoritmusban ɛ>0 a felhasználó által megválasztott hibatűrés). 1.15. példa.Harmadik mátrixjáték. A fent tárgyalt módszert alkalmazzuk a 1.14. példában tárgyalt mátrixjátékra. A módszer kezdő állapota: x1=(1,0,0)T . 100 lépés után: x¯101=(0.446,0.287,0.267)T és y¯101=(0.386,0.436,0.178)T. Ha ezeket az értékeket az egyensúlyhoz hasonlítjuk, akkor azt tapasztaljuk, hogy az eltérés kisebb, mint 0.126, tehát a módszer lassan konvergál. 1.2.6. Szimmetrikus mátrixjátékok Az A mátrixjátékot, ahol A ferdén-szimmetrikus, szimmetrikus mátrixjátéknak nevezzük. Ebben az esetben AT=A és a két lineáris programozási feladat (8.22)-ben megegyezik. Ebből következik, hogy α=β=0 (a játék értéke 0), és tetszőleges egyensúlyban a két játékos stratégiái megegyeznek. Tehát a következő eredmény adódik. 1.11. tétel. Az x* vektor pontosan akkor egyensúlya az A szimmetrikus mátrixjátéknak, ha teljesül a egyenlőtlenség. (1.29) megoldásához a szimplex módszer első fázisa szükséges, ahol a legkedvezőtlenebb esetben a műveletek száma exponenciális. A gyakorlatban azonban általában sokkal kisebb számú műveletre van szükség () megoldásához. 1.16. példa. Szimmetrikus mátrixjáték. Tekintsük az szimmetrikus mátrixjátékot. Ekkor 1.29a következő formát ölti: x1,x20x1+x2=1x20x10. Könnyen látható, hogy az egyetlen megoldás: x1=1 és x2=0, ami az első tiszta stratégia. A következő fejezetben látni fogjuk, hogy egy lineáris programozási feladat ekvivalens egy szimmetrikus mátrixjáték egyensúlyi problémájával, tehát tetszőleges módszer, amely egy szimmetrikus mátrixjáték egyensúlyi problémájának megoldására alkalmas, alkalmas lineáris programozási feladat megoldására is, ezért az ilyen módszerek a szimplex módszer alternatíváiként szolgálnak. A következőkben azt mutatjuk meg, hogy a szimmetria nem túlságosan erős feltétel, mert tetszőleges mátrixjáték megfeleltethető egy vele ekvivalens szimmetrikus mátrixjátéknak. Tekintsük az A mátrixjátékot, és szerkesszük meg a következő ferdén-szimmetrikus P mátrixot: Az A és P mátrixjátékok a következő értelemben ekvivalensek. Tegyük fel, hogy A>0, ami nem túl erős feltétel, hiszen A elemeihez egy megfelelő konstanst hozzáadva A>0 elérhető, és az egyensúlyok nem változnak. 1.12. tétel. Legyen P szimmetrikus mátrixjáték, melyet A mátrixjátékból kaptunk, ekkor igaz a következő két állítás: 1. Ha egyensúlyi stratégiája a P szimmetrikus mátrixjátéknak, akkor az x=(1/a)u,y=(1/a)v vektorpár egyensúlya az A mátrixjátéknak, és az A mátrixjáték értéke: v=λ/a , ahol a=(1λ)/2. 2. Ha az x,y vektorpár egyensúlya az A mátrixjátéknak, és v az A mátrixjáték értéke, akkor a vektor egyensúlya a P szimmetrikus mátrixjátéknak. Bizonyítás. Először tegyük fel, hogy z egyensúly a P szimmetrikus mátrixjátékban (1. pont). Ekkor u0 , v0, és Pz0, tehát Először megmutatjuk, hogy λ(0,1), tehát a0. Tegyük fel, hogy λ=1, ekkor (mivel z valószínűségi vektor) u=0m és v=0n, ami ellentmond (1.30) második egyenlőtlenségének. Ha λ=0, akkor 1mTu+1nTv=1, és (1.30) harmadik egyenlőtlensége miatt v -nek van legalább egy pozitív komponense, mely ellentmond (1.30) első egyenlőtlenségének. Most megmutatjuk, hogy 1mTu=1nTv. (1.30)-ból azt kapjuk, hogy uTAvλuT1m0,vTATu+λvT1n0. A két egyenlőtlenséget összeadva kapjuk, hogy vT1nuT1m0. Ezt (1.30) harmadik egyenlőtlenségével kombinálva kapjuk, hogy 1mTu1nTv=0. Legyen a=(1λ)/20, ekkor 1mTu=1nTv=a, így mind x=u/a , mind y=v/a valószínűségi vektor, és (1.30)-ból következik, hogy: ATx=1aATuλa1n,Ay=1aAvλa1m. Legyenek α=λ/a és β=λ/a, ekkor x,y vektorpár megoldása (8.22)-nek és α+β=0, tehát x,y vektorpár egyensúlya az A mátrixjátéknak. A 2. pont hasonlóan látható be, itt nem részletezzük. 1.2.7. Lineáris programozás és mátrixjátékok Ebben az alfejezetben megmutatjuk, hogy egy lineáris programozási feladatot meg lehet oldani úgy, hogy egy szimmetrikus mátrixjáték egyensúlyi stratégiáit keressük meg. Tehát tetszőleges olyan módszer, mely alkalmas egy szimmetrikus mátrixjáték egyensúlyainak meghatározására, alkalmas a szimplex módszer kiváltására. Tekintsük a következő primál-duál lineáris programozási feladatpárt: Szerkesszük meg a következő ferdén-szimmetrikus mátrixot: 1.13. tétel. Tegyük fel, hogy egyensúlya a P szimmetrikus mátrixjátéknak, és λ>0. Ekkor x=1λv és y=1λu optimális megoldásai a 1.31primál-duál feladatpárnak ( x a primálnak, y a duálnak). Bizonyítás. Ha z egyensúly, akkor Pz0, azaz Mivel z0 és λ>0, így mind az x=(1/λ)v, mind az y=(1/λ)u vektor nemnegatív. Osszuk el első két egyenlőtlenségét λ -val, ekkor Axb és ATyc, ahonnan következik, hogy x megengedett megoldása a primál feladatnak, és y megengedett megoldása a duál feladatnak. () harmadik egyenlőtlenségéből azt kapjuk, hogy bTycTx. Tudjuk azonban bTy(xTAT)y=xT(ATy)xTc=cTx, tehát bTy=cTx, melyből az következik, hogy a primál feladat célfüggvénye x -ben és a duál feladat célfüggvénye y -ban egyenlő. Ekkor az erős dualitási tétel miatt x optimális megoldása a primál feladatnak és y optimális megoldása a duál feladatnak. 1.17. példa. Lineáris programozás. Tekintsük a következő lineáris programozási feladatot: Először fel kell írnunk a feladatot mint primál feladatot. Vezessünk be két új változót: és szorozzuk meg a második egyenlőtlenséget 1 -gyel. Ekkor a következő feladatot kapjuk: Így A P mátrix pedig a következő lesz: 1.2.8. A Neumann-módszer A fiktív lejátszás módszere egy iterációs algoritmus, ahol a játékosok minden lépésben hozzáigazítják stratégiáikat a többi játékos stratégiáihoz. Ez a módszer tehát úgy tekinthető, mint egy diszkrét rendszer megvalósulása, ahol a játékosok stratégiaválasztásai az állapotváltozók. Neumann János a szimmetrikus játékok esetére bevezetett egy folytonos megközelítést, ahol a játékosok folyamatosan módosítják a stratégiáikat. Ez a módszer alkalmazható tetszőleges mátrixjátékra, hiszen – amint korábban láttuk – bármely mátrixjáték ekvivalens egy szimmetrikus mátrixjátékkal. Ez a módszer szintén használható lineáris programozási feladatok megoldására, hiszen korábban láttuk, hogy minden primálduál feladatpár visszavezethető egy szimmetrikus mátrixjáték egyensúlyi problémájára. Legyen a továbbiakban P n -edrendű ferdén-szimmetrikus mátrix. A P2 játékos y(t) stratégiája egy függvény, mely a t0 idő változótól függ. Mielőtt a rendszer dinamikáját felírnánk, bevezetjük a következő jelöléseket: Oldjuk meg a következő nemlineáris kezdetiérték-feladatot tetszőleges y0 -ra: yj(t)=φ(uj(y(t)))Φ(y(t))yj(t),yj(0)=yj0(1jn).(1.34) Mivel a jobb oldalon lévő kifejezés folytonos, így (1.34)-nek van legalább egy megoldása. A jobb oldalon lévő kifejezés a következőképpen értelmezhető. Tegyük fel, hogy φ(uj(y(t)))>0. Ekkor ha P2 az y(t) stratégiát választja, akkor P1 pozitív kifizetést tud elérni az ej stratégia választásával, mely választás negatív kifizetést eredményez a P2 játékosnak. Ha azonban P2 egyre úgy növeli yj(t) -t, hogy ej stratégiát választ ő is, akkor az ejTPej kifizetése nullává válik, tehát megnő. Ebből következik, hogy P2 érdeke yj(t) növelése. Pontosan ezt fejezi ki a jobb oldali kifejezés első tagja. A második tag azt biztosítja, hogy y(t) valószínűségi vektor maradjon minden t0 -ra. (1.34) jobb oldalának kiszámításához minden t -re n2+n szorzásra van szükség. A teljes számítási költség függ a megoldás intervallumának a hosszától, a választott lépésnagyságtól, és a differenciálegyenletet megoldó módszer megválasztásától. 1.14. tétel. Tegyük fel, hogy t1,t2,... egy szigorúan növekedő nemkorlátos sorozat. Ekkor az y(tn) sorozat minden torlódási pontja egyensúlyi stratégia, és létezik egy olyan c konstans, melyre teljesül az eiTPy(tk)2nc+tk(i=1,2,...,n).(1.35) egyenlőtlenség. Bizonyítás. Először azt kell megmutatnunk, hogy y(t) valószínűségi vektor minden t0 -ra. Tegyük fel, hogy valamilyen j -re és t1>0 -ra yj(t1)<0. Legyen t0=sup{t|0<t<t1,yj(t)0}. Ekkor yj(t) folytonossága és yj(0)0 miatt yj(t0)=0 , és minden τ(t0,t1) re, yj(τ)<0. Az előzőekből következik, hogy minden τ(t0,t1] -re yj(τ)=φ(uj(y(τ)))Φ(y(τ))yj(τ)0. A Lagrange-középérték tétel miatt létezik τ(t0,t1), hogy yj(t1)=yj(t0)+yj(τ)(t1t0)0, ami ellentmondás. Tehát yj(t) nemnegatív minden t0 -ra. A következőkben megmutatjuk, hogy j=1nyj(t)=1 minden t0 -ra. Legyen f(t)=1j=1nyj(t), ekkor f(t)=j=1nyj(t)=j=1nφ(uj(y(t)))+Φ(y(t))(j=1nyj(t))=Φ(y(t))(1j=1nyj(t)), tehát f(t) megoldása a következő homogén rendszernek: f(t)=Φ(y(t))f(t) az f(0)=1j=1nyj0=0 kezdetiérték mellett. Tehát, minden t0 -ra f(t)=0 , ami azt jelenti, hogy y(t) valószínűségi vektor minden t0 -ra. Tegyük fel, hogy valamilyen t0 mellett yi(ui(y(t)))>0. Ekkor Szorozzuk meg mindkét oldalt φ(ui(y(t))) -vel, és adjuk össze az így kapott egyenlőségeket i=1,2,...,n-re: Mivel P ferdén-szimmetrikus, így az első tag nulla. Vegyük észre, hogy a fenti egyenlőség a töréspont (ahol φ(ui(y(t))) deriváltja nem létezik) kivételével akkor is érvényes marad, ha φ(ui(y(t)))=0, így igaz marad. Most tegyük fel, hogy valamilyen pozitív t -re Φ(y(t))=0. Ekkor minden i -re φ(ui(y(t)))=0. Mivel átírható 12ddtΨ(y(t))=Φ(y(t))Ψ(y(t))(1.38) formába, ahol Ψ:RnR és Ψ(y(t))=i=1nφ2(ui(y(t))), így látható, hogy Ψ(y(t)) kielégíti a homogén egyenletet nulla kezdetiérték mellett, tehát a megoldás nulla marad minden τt -re. Ebből következik, hogy φ(ui(y(τ)))=0 megoldásra Py(τ)0, azaz y(τ) egyensúly. Ha Φ(y(t))>0 minden t0 -ra, akkor Ψ(y(t))>0, és könnyen látható, hogy 12ddtΨ(y(t))2Ψ(y(t))Ψ(y(t)), azaz 12ddtΨ(y(t))(Ψ(y(t)))321. Mindkét oldalt a [0,t] intervallumon integrálva azt kapjuk, hogy Ψ(y(t))(1/2)+ct, ahol c=(Ψ(y(0)))(1/2), melyből következik (Ψ(y(t)))1/21c+t.(1.39) A Cauchy–Schwartz-egyenlőtlenség alkalmazásával kapjuk, hogy eiTPy(t)=ui(y(t))φ(ui(y(t)))Φ(y(t))2nΨ(y(t))2nc+t,(1.40) mely egyenlőtlenség az ui folytonossága miatt még a töréspontokban is igaz. Végül vegyük a következő sorozatot: {y(tk)} , ahol tk monoton növekedő nem korlátos sorozat. Mivel y(tk) -k valószínűségi vektorok, így korlátosak, tehát van legalább egy y* torlódási pontjuk. 1.40-ből tk -val a végtelenbe tartva azt kapjuk, hogy Py*0, tehát y* egyensúly. 1.18. példa.Negyedik mátrixjáték. Tekintsük a 1.13. példában bevezetett mátrixjátékot. A Neumann-módszer alkalmazásához először fel kell írni az ekvivalens szimmetrikus mátrixjátékot. Az átírás módszere, mely a 1.12. tételben található, megköveteli, hogy a mátrix elemei pozitívak legyenek. Anélkül, hogy az egyensúlyok megváltoznának, az A mátrix minden eleméhez hozzáadhatunk kettőt, ekkor a következő mátrixot kapjuk: és a fent említett módszer segítségével A (1.34) differenciálegyenletet a negyedrendű Runge–Kutta-módszerrel oldottuk meg a [0,100] intervallumon, h=0.01 lépésnagysággal az y (0)=(1,0,...,0)T kezdetiérték mellett. y(100)-ra kaptuk a következő közelítő értékeket: x (0.563619,0.232359,0.241988), y (0.485258,0.361633,0.115144). Ezen közelítés az eredeti játék egy egyensúlyának becslése. Hasonlítsuk össze ezeket az értékeket az egyensúlyi vektorpárral: x=(47,421,521) és y=(37,37,17). Látható, hogy a maximális hiba 0.067. 1.2.9. Átlósan szigorúan konkáv játékok Tekintsünk egy N személyes folytonos játékot, és tegyük fel, hogy a 1.2.3. pont feltevései teljesülnek. Tegyük fel továbbá, hogy minden Sk korlátos minden k ra, gk minden komponense szerint konkáv, és fk konkáv sk -ban tetszőlegesen rögzített s1,...,sk1,sk+1,...,N mellett. A 1.3. tétel miatt a fenti feltételek mellett a játéknak van legalább egy egyensúlya. Általában az egyensúly unicitása még akkor sem biztosított, ha minden fk szigorúan kvázi-konkáv sk szerint. A következő példa ezt a tényt mutatja be. 1.19. példa. Ellenpélda. Tekintsük a következő kétszemélyes játékot: S1=S2=[0,1] és f1(s1,s2)=f2(s1,s2)=1(s1s2)2 . Világos, hogy mindkét kifizetőfüggvény szigorúan konkáv, és mégis végtelen sok egyensúly van: s1*=s2*[0,1]. Válasszunk egy nemnegatív rRN vektort, és definiáljuk a következő függvényt: ahol M=k=1Nnk, és kfk az fk függvény sk szerinti gradiens(sor)vektora. Egy játékot átlósan szigorúan konkávnak hívunk, ha minden s(1),s(2)S , s(1)s(2) -re, és valamilyen r0 -ra (s(1)s(2))T(h(s(1),r)h(s(2),r))<0.(1.42) 1.15. tétel. Egy átlósan szigorúan konkáv játéknak pontosan egy egyensúlya van. Bizonyítás. A 1.3. tétel miatt létezik egyensúly. Az egyértelműség bizonyítása céljából tegyük fel, hogy s(1) és s(2) két egyensúly, melyek kielégítik feltételeket és s(1)s(2) . Ekkor l=1,2 -re uk(l)Tgk(sk(l))=0kfk(s(l))+uk(l)Tkgk(sk(l))=0T. A második egyenlőséget a következő formába lehet átírni: kfk(s(l))+j=1mkukj(l)kgkj(sk(l))=0,(1.43) ahol ukj(l) a uk(l) -nak, és gkj a gkj -edik komponense. Szorozzuk meg 1.43-at (rk(sk(2)sk(1))T) -tal l=1 esetén, és rk(sk(1)sk(2))T -tal l=2 esetén. Adjuk össze az így kapott egyenlőségeket k=1,2,...,N-re. Ekkor a következőt kapjuk: Vegyük észre, hogy az átlósan szigorú konkavitás miatt az első két tag összege pozitív, gk komponenseinek a konkavitása miatt pedig (sk(2)sk(1))Tkgkj(sk(1))gkj(sk(2))gkj(sk(1)) és (sk(1)sk(2))Tkgkj(sk(2))gkj(sk(1))gkj(sk(2)). Tudjuk, hogy minden k -ra, l -re 0=uk(l)Tgk(sk(l))=j=1mkukj(l)gkj(sk(l)), ekkor (8.44)-ből kapjuk, hogy ami nyilvánvaló ellentmondás, tehát s(1)=s(2). Az egyensúly egyértelműségének ellenőrzése A következő tételben egy olyan, a gyakorlati esetekben nagyon hasznos módszert mutatunk be, melynek segítségével ellenőrizhetjük egy N személyes játék átlósan szigorúan konkavitását. 1.16. tétel. Tegyük fel, hogy S konvex, fk kétszer folytonosan differenciálható minden k -ra, és létezik r0 , hogy J(s,r)+J(s,r)T negatív definit, ahol J(s,r) a h(s,r) Jakobi-mátrixa. Ekkor a játék átlósan szigorúan konkáv. Bizonyítás. Legyen s(1),s(2)S és s(1)s(2) . Ekkor minden α[0,1] -re s(α)=αs(1)+(1α)s(2)S és ddαh(s(α),r)=J(s(α),r)(s(1)s(2)). Mindkét oldalt [0,1] -en integrálva h(s(1),r)h(s(2),r)=01J(s(α),r)(s(1)s(2))dα, és mindkét oldalt újra megszorozva (s(1)s(2))T-tal tehát a bizonyítást befejeztük. 1.20. példa.Egyszerű kétszemélyes játék. Tekintsük a következő egyszerű kétszemélyes játékot, ahol S1=S2=[0,1] , és a kifizetőfüggvények: f1(s1,s2)=s12+s1s1s2 és f2(s1,s2)=s22+s2s1s2. Könnyen látható, hogy – az átlósan szigorú konkavitáson kívül – minden tulajdonság, amit ebben az alfejezetben feltettünk, teljesül. A 1.16. tételt használjuk a hiányzó tulajdonság megmutatására. Ebben az esetben 1f1(s1,s2)=2s1+1s2,2f2(s1,s2)=2s2+1s1, így h(s,r)=(r1(2s1+1s2)r2(2s2+1s1)). A Jakobi-mátrix: Megmutatjuk, hogy valamilyen r0 -ra a mátrix negatív definit. Legyen például r1=r2=1 , ekkor a fenti mátrix a karakterisztikus polinom: mely polinomnak a két gyöke λ1=2,λ2=6. Az egyensúly iteratív kiszámítása A 1.4. tételben láttuk, hogy s*S pontosan akkor egyensúly, ha minden sS -re, ahol a (1.4)-ben definiált összegzőfüggvény. A következőkben feltesszük, hogy az alfejezet elején feltett tulajdonságok érvényesek, és létezik olyan r0, hogy (1.42) érvényes. Először a variációs egyenlőtlenség és (1.45) ekvivalenciáját mutatjuk meg. 1.17. tétel. Egy s*S vektor pontosan akkor elégíti ki (1.45)-öt, ha h(s*,r)T(ss*)0(1.46) minden sS stratégiára, ahol h(s,r) -et (1.41)-ben definiáltuk. Bizonyítás. Tegyük fel, hogy s* kielégíti (1.45)-öt. Ekkor – mint s argumentumú függvény – felveszi a maximumát s=s* -ban, tehát minden sS stratégiára. Mivel így s* kielégíti (1.46)-ot. Most tegyük fel, hogy s* kielégíti (1.46)-ot. s szerinti konkavitása, és a játék átlósan szigorú konkavitása miatt tehát s* kielégíti (1.45)-öt. Látható, hogy bármely – a variációs egyenlőtlenség megoldására alkalmas – módszer használható a játék egyensúlyi problémájának megoldására. A következőkben definiálunk egy olyan speciális kétszemélyes, zérusösszegűjátékot, melynek egyensúlyi problémája ekvivalens az eredeti N személyes játék egyensúlyi problémájával. 1.18. tétel. Az s*S vektor pontosan akkor elégíti ki (1.46)-ot, ha (s*,s*) egyensúlya egy olyan kétszemélyes játéknak, ahol mindkét stratégiahalmaz S, a kifizetőfüggvények pedig f1(s,z)=f(s,z) és f2(s,z)=f(s,z), ahol f(s,z)=h(z,r)T(sz). Bizonyítás. Először tegyük fel, hogy s*S kielégíti (1.45)-t. Ekkor kielégíti (1.46)-ot is, így f(s,s*)0=f(s*,s*). Még azt kell megmutatnunk, hogy f(s*,s)0=f(s*,s*). Indirekt módon tegyük el, hogy valamilyen s -re f(s*,s)<0. . Ekkor (1.42) és (1.46) miatt 0>f(s*,s)=h(s,r)T(s*s)>h(s,r)T(s*s)+(ss*)T(h(s,r)h(s*,r))=h(s*,r)T(s*s)0, ami ellentmondás. Most tegyük fel, hogy (s*,s*) egyensúlya a tételben bevezetett játéknak. Ekkor tetszőleges s,zS -re f(s,s*)f(s*,s*)=0f(s,z). Az első egyenlőtlenség átírható a következő formába: h(s*,r)T(ss*)0, tehát (1.46) teljesül, így teljesül (1.45) is. Tekintsük a következő iterációs eljárást. Legyen s(1)S tetszőleges, és oldjuk meg a következő feladatot: Jelöljük s(2) -vel 1.47feladat megoldását, és legyen μ1=f(s(2),s(1)) . Ha μ1=0, akkor minden sS -re f(s,s(1))=h(s(1),r)T(ss(1))0, így a 1.17. tétel miatt s(1) egyensúly. Mivel f(s(1),s(1))=0, így feltesszük, hogy μ1>0.k2 általános lépésben már van k vektorunk s(1),s(2),...,s(k), és k1 skalárunk μ1,μ2,...,μk1>0. Ekkor a következő s(k+1) vektor és μk skalár megoldása a következő feladatnak: Vegyük észre, hogy f(s(k),s(i))μk10(i=1,2,...,k1) és f(s(k),s(k))=0. Ekkor tudjuk, hogy μk0. Az algoritmus pszeudokódja a következő. A fenti algoritmus konvergencia tételének tárgyalása előtt megjegyezzük, hogy abban a speciális esetben, amikor a stratégiahalmazok lineáris egyenlőtlenségekkel vannak megadva (tehát a gk függvények lineárisak), a 1.48feladat minden feladata lineáris, tehát minden iterációs lépésben egy lineáris programozási feladatot kell megoldanunk. Ha lineáris esetben a szimplex módszert alkalmazzuk minden iterációs lépésben, akkor a számítási költség exponenciális, tehát az egész eljárás számítási költsége exponenciális (rögzített lépésszám mellett). 1.19. tétel. Az {s(k)} fenti módszer által generált sorozatnak van olyan {s(ki)} részsorozata, mely az N személyes játék egyetlen egyensúlyához konvergál. Bizonyítás. A bizonyítás több lépésből áll. Először azt mutatjuk meg, hogy limkμk=0 . Mivel 1.48minden iterációban egy új feltétellel bővül, tehát {μk} nem lehet növekvő. Tudjuk azt is, hogy {μk} nemnegatív, tehát konvergens. Az {s(k)} sorozat korlátos, hiszen minden tagja a korlátos S halmazból való, így van egy {s(ki)} konvergens részsorozata. Vegyük észre, hogy 0μki1=min1kki1h(s(k),r)T(s(ki)s(k))h(s(ki1),r)T(s(ki)s(ki1)), ahol az egyenlőtlenség jobb oldala nullához tart. Tehát μki10 . Mivel {μk} monoton, így {μk}0. Most legyen s* az N -személyes játék egyensúlya, és legyen δ(t)=min{(h(s,r)h(z,r))T(zs)|szt,z,sS}.(1.49)1.42miatt δ(t)>0 minden (t>0) -ra. Definiáljuk a ki indexeket a következőképpen: δ(s(ki)s*)=min1kiδ(s(k)s*)(i=1,2,...). Ekkor minden k=1,2,...,i -re δ(s(ki)s*)(h(s(k),r)h(s*,r))T(s*s(k))=h(s(k),r)T(s*s(k))h(s*,r)T(s*s(k))h(s(k),r)T(s*s(k)), melyből 1.48miatt következik: δ(s(ki)s*)min1kih(s(k),r)T(s*s(k))maxsSmin1kih(s(k),r)T(ss(k))=min1kih(s(k),r)T(s(i+1)s(k))=μi. Ebből következik, hogy limiδ(s(ki)s*)0 . Végül vegyük észre azt, hogy δ(t) rendelkezik a következő tulajdonságokkal:1. δ(t) folytonos; 2. ha t>0 , akkor δ(t)>0 (ezt mutatja (1.49)); 3. ha egy {t(k)} konvergens sorozatra δ(t(k))0 , akkor szükségszerűen t(k)0. A 3. tulajdonság miatt s(ki)s*0 , így s(ki)s* . Gyakorlatok 1.2–1. Tekintsünk egy kétszemélyes játékot, ahol a stratégiahalmazok S1=S2=[0,1] , a kifizetőfüggvények: f1(x1,x2)=x12+x1x2+2 és f2(x1,x2)=x1+x2 . Mutassuk meg, hogy a játéknak egyetlen egyensúlya van, és számítsuk ki ezt az egyensúlyt. Mutassuk meg, hogy ebben a játékban a 1.3. tétel nem alkalmazható az egyensúly létezésének bizonyítására. 1.2–2. Tekintsük az,,árháború” játékot, melyben két vállalat ármeghatározó. Tegyük fel, hogy p1 a P1 , p2 pedig a P2 játékos egy stratégiája, ahol p1,p2[0,pmax] ( pmax egy rögzített pozitív valós szám), és a kifizetőfüggvények: ahol c<pmax rögzített. Van-e ennek a játéknak egyensúlya? Ha van egyensúlya, akkor hány van? 1.2–3. Egy tengeralattjáró rejtőzik a tenger egy részében. A tenger ezen része az egységnégyzettel modellezhető. A tengeralattjáró stratégiája az x[0,1]×[0,1] rejtőzködési helye. Egy repülőgép bombázza az y=[0,1]×[0,1] -t, a tenger egy bizonyos helyét. A bombázott hely megválasztása ezen játékos stratégiája. A repülőgép kifizetése a tengeralattjárónak okozott kár nagysága: f2(x,y)=αeβxy, míg a tengeralattjáró kifizetése a neki okozott kár ellentettje: f1(x,y)=f2(x,y) . Van-e ennek a kétszemélyes játéknak egyensúlya? 1.2–4. A második-legjobb ár aukcióban egy áru kerül eladásra az N licitálók valamelyikének. A licitálók különbözőképpen értékelik a árut: v1<v2<<vN . A licitálók egyidejűleg ajánlatot tesznek a árura úgy, hogy közben nem ismerik a többiek ajánlatát. A legmagasabb ajánlatot tevő kapja meg a árut, de a áruért csak a második legmagasabb ajánlatot kell fizetnie. Tehát a Pk játékos stratégiahalmaza [0,] , stratégiája xk[0,] , és a kifizetőfüggvénye: Határozzuk meg a Pk játékos legjobbválasz-leképezését. Vane a játéknak egyensúlya? 1.2–5. Írjuk fel a Fan-egyenlőtlenséget a 1.2-1. gyakorlatra. 1.2–6. Írjuk fel és oldjuk meg a Fan-egyenlőtlenséget a 1.2-2. gyakorlatra. 1.2–7. Írjuk fel és oldjuk meg a Fan-egyenlőtlenséget a 1.2-4. gyakorlatra. 1.2–8. Tekintsük azt a kétszemélyes játékot, ahol a stratégiahalmazok S1=S2=[0,1] , a kifizetőfüggvények pedig f1(x1,x2)=(x1x2)2+2x1x2+1f2(x1,x2)=(x12x2)22x1+x21 Írjuk fel a Fan-egyenlőtlenséget. 1.2–9. Legyenek N=2 , S1=S2=[0,10] , f1(x1,x2)=f2(x1,x2)=2x1+2x2(x1+x2)2 . Írjuk fel a Kuhn–Tucker-feltételeket, és keressük meg az egyensúlyokat. Oldjuk meg az így kapott feltételrendszert. 1.2–10. Tekintsünk egy háromszemélyes játékot, ahol S1=S2=S3=[0,1] , f1(x1,x2,x3)=(x1x2)2+x3 , f2(x1,x2,x3)=(x2x3)2+x1 és f3(x1,x2,x3)=(x3x1)2+x2 .Írjuk fel a Kuhn–Tucker-feltételeket. 1.2–11. Írjuk fel és oldjuk meg ()-et a 1.2-1. és a 1.2-8. gyakorlatokban bevezetett játékokra. 1.2–12. Írjuk át 1.2-8. gyakorlat Kuhn–Tucker-feltételeit () formába, és oldjuk meg őket. 1.2–13. Írjuk fel a 1.1-1. gyakorlatban bevezetett véges játék kevert bővítését. 1.2–14. Írjuk fel és oldjuk meg ()-et a 1.2-13. gyakorlatban bevezetett játékra. 1.2–15. Írjuk fel a 1.1-3. gyakorlatban bevezetett játék kevert bővítését. Írjuk fel és oldjuk meg az erre a játékra vonatkozó ()-t, ha α=5 és β=3. 1.2–16. Oldjuk meg a 1.2-15. gyakorlatban bevezetett mátrixjáték egyensúlyi problémáját a fiktív lejátszás módszerével. 1.2–17. Vegyük az és mátrixokkal adott bimátrix-játékot. Oldjuk meg ezt a bimátrix-játékot a 1-1. gyakorlatban meghatározott módszerrel. 1.2–18. Oldjuk meg az szimmetrikus mátrixjáték egyensúlyi problémáját lineáris programozással. 1.2–19. Oldjuk meg 1.2-18. gyakorlatot a fiktív lejátszás módszerével. 1.2–20. Írjuk fel a Kuhn–Tucker-feltételeket a 1.2-18. gyakorlatra. 1.2–21.* Tekintsük az mátrixjátékot. Oldjuk meg az A mátrixjáték egyensúlyi problémáját lineáris programozással, a fiktív lejátszás módszerével, és írjuk fel a Kuhn–Tucker-feltételeket. Útmutatás. Először határozzuk meg az ekvivalens szimmetrikus mátrixjátékot. 1.2–22. Írjuk fel lineáris programozási feladatként az mátrixjáték egyensúlyi problémáját. 1.2–23. Írjuk fel egy lineáris programozási feladat megoldását a fiktív lejátszás módszerével, és oldjuk meg az így kapott módszerrel a következő lineáris programozási feladatot: 1.2–24. Oldjuk meg a 1.2-21. gyakorlat lineáris programozási feladatát a fiktív lejátszás módszerével. 1.2–25. Oldjuk meg a 1.2-18. gyakorlatot a Neumann-módszerrel. 1.2–26. Oldjuk meg a 1.2-21. gyakorlatot a Neumann-módszerrel. 1.2–27. Oldjuk meg a 1.2-16. gyakorlatot a Neumann-módszerrel. 1.2–28.* Ellenőrizzük a 1.2-25. , 1.2-26. és 1.2-27. gyakorlatok eredményeit úgy, hogy a lineáris programozási feladat feltételrendszerének érvényességét megvizsgáljuk nulla célfüggvényérték mellett. Útmutatás. Minek válasszuk α -t és β -t? 1.2–29. Ismételjük meg a 1.2-23. gyakorlatot a Neumann-módszerrel. 1.2–30. Legyenek N=2,S1=S2=[0,10],f1(x1,x2)=f2(x1,x2)=2x1+2x2(x1+x2)2, Mutassuk meg, hogy mindkét kifizetőfüggvény szigorú konkáv ( x1 szerint f1, és x2 szerint f2 ). Bizonyítsuk be, hogy ennek a játéknak végtelen sok egyensúlya van, tehát a kifizetőfüggvények szigorú konkavitásából nem következik az egyensúly egyértelműsége. 1.2–31. Lehet-e egy mátrixjáték átlósan szigorúan konkáv? 1.2– 32. Tekintsük azt a kétszemélyes játékot, ahol a stratégiahalmazok S1=S2=[0,1], a kifizetőfüggvények f1(x1,x2)=2x12+x1(1x2),f2(x1,x2)=3x22+x2(1x1) . Mutassuk meg, hogy ez a játék kielégíti a 1.16. tétel feltételeit. 1.2–33. Oldjuk meg a 1.2-32. gyakorlatot a (1.47)–(1.48)-ban adott algoritmussal. 1.3. Az oligopol feladat Az eddigiekben általános módszereket mutattunk be az egyensúlyi probléma megoldására. Majdnem minden speciális játékosztályra vannak azonban olyan speciális módszerek, melyek az adott játékosztály tagjaira alkalmazhatók. Ezen fejezet további részében egy speciális játékot, az oligopol játékot vesszük górcső alá. Az oligopol játék egy olyan valós helyzetet ír le, amikor N vállalat azonos terméket gyárt vagy azonos szolgáltatást kínál. Ez a modell a klasszikus Cournot-modellként ismert. A játékosok stratégiái az xk gyártási mennyiségek, melyek az Sk=[0,Lk] stratégiahalmazokból valók, ahol Lk az adott játékos (vállalat) gyártási kapacitásának felső határa. Feltesszük, hogy a p(s) piaci ár az összesen gyártott s=x1+x2++xN mennyiségtől függ, és minden játékos ck(xk) gyártási költsége csak a saját gyártási szintjétől függ. A vállalatok profitfüggvényei: fk(x1,...,xN)=xkp(l=1Nxl)ck(xk).(1.50) Tehát definiáltuk a G={N;S1,...,SN;f1,...,fN} játékot. Fel szokás tenni, hogy a p és ck(k=1,2,...,N) függvények kétszer folytonosan differenciálhatók, továbbá 1. p(s)<0; 2. p(s)+xkp(s)0; 3. p(s)ck(xk)<0; minden k -ra, xk[0,Lk] -ra, és s[0,l=1NLl] -re. Az 1–3. feltételek mellett 1.3. tétel feltételei teljesülnek, tehát G -nek van legalább egy egyensúlya. 1.3.1. Legjobbválasz-leképezések Vegyük észre, hogy az sk=lkxl jelölés mellett a k játékos kifizetőfüggvénye átírható a következő formába: xkp(xk+sk)ck(xk).(1.51) Mivel Sk kompakt halmaz, és a kifizetőfüggvény szigorúan konkáv xk szerint, így rögzített sk mellett a Pk játékos profitmaximalizáló gyártási szintje egyértelmű, mely a k játékos legjobbválasza – jelöljük ezt Bk(sk) -val. Könnyen látható, hogy három eset lehetséges: Bk(sk)=0 , ha p(sk)ck(0)0,Bk(sk)=Lk , ha p(sk+Lk)+Lkp(sk+Lk)ck(Lk)0, egyébként Bk(sk) az egyetlen megoldása a következő monoton egyenletnek: p(sk+xk)+xkp(sk+xk)ck(xk)=0. Tegyük fel, hogy xk(0,Lk) . Ekkor sk szerinti implicit deriválással p(1+Bk)+Bkp+xkp(1+Bk)ckBk=0, ahonnan Bk(sk)=p+xkp2p+xkpck. Vegyük észre, hogy a 2–3. feltevések miatt 1<Bk(sk)0,(1.52) mely egyenlőtlenség a töréspontok kivételével a másik két esetben is igaz. A 1.2.1. pontnak megfelelően vezessük be a legjobbválasz-leképezést: B(x1,...,xN)=(B1(l1xl),...,BN(lNxl)).(1.53) A feladat a fenti leképezés fixpontjának megkeresése. Másik lehetőség, hogy bevezetünk egy dinamikus folyamatot, amely konvergál az egyensúlyhoz. A fiktív lejátszás diszkrét módszeréhez hasonló módszert dolgozunk ki, melyben minden vállalat kiválasztja a legjobb válaszát a versenytársai előző periódusban tett lépéseire: xk(t+1)=Bk(lkxl(t))(k=1,2,...,N).(1.54)1.52miatt látható, hogy (N=2) -re a jobb oldalon lévő leképezés R2R2 kontrakció, tehát konvergens. Azonban, ha N>2 , akkor a konvergenciát nem lehet garantálni. Tekintsük most a fenti rendszer nyilvánvaló módosítását valamilyen Kk>0 -val: xk(t+1)=xk(t)+Kk(Bk(lkxl(t))xk(t))(1.55) minden k=1,2,...,N -re. Világos, hogy a fenti rendszer minden stabil állapota egyensúly, és bizonyítható, hogy ha Kk megfelelően kicsi, akkor az xk(0),xk(1),xk(2),... sorozatok konvergensek minden k=1,2,...,N -ra, és az egyensúlyhoz konvergálnak. Tekintsük most a 1.55modell folytonos alkalmazását, ahol (a Neumannmódszerhez hasonlóan) folytonos időskálát tételezünk fel: x˙k(t)=Kk(Bk(lkxl(t))xk(t))(k=1,2,...,N).(1.56) A következő eredmény a fenti rendszer konvergenciájáról szól. 1.20. tétel. Az 1–3. feltevések mellett a (1.56) rendszer aszimptotikusan stabil, azaz ha az xk(0) kezdetiértéket az egyensúlyhoz elég közelre választjuk, ekkor xk(t) tart az egyensúlyhoz minden k -ra. Bizonyítás. Elég azt megmutatni, hogy a (1.56) rendszer Jakobimátrixának sajátértékei negatív valós számok. Látható, hogy a Jakobi-mátrix a következő: ahol bk=Bk(lkxl) az egyensúlyban. 1.52-ből tudjuk, hogy 1<bk0 minden k -ra. A J sajátértékeinek kiszámítása céljából szükségünk van egy nagyon egyszerű, ám annál hasznosabb tényre. Tegyük fel, hogy az a és a bN valós komponensű vektorok. Ekkor det (I+abT)=1+bTa,(1.58) ahol I az N -edrendű egységmátrix. (1.58) egyenlőtlenség teljes indukcióval könnyen bizonyítható. (1.58)-at felhasználva, a J mátrix karakterisztikus polinomja: φ(λ)= det (JλI)= det (D+abTλI)= det (DλI)det (I+(DλI)1abT)= det (DλI)[1+bT(DλI)1a]=Πk=1N(Kk(1+bk)λ)[1+k=1NKkbkKk(1+bk)λ], ahol a következő jelöléseket használtuk: Az első tényező gyökei negatívak: λ=Kk(1+bk) , a következő egyenlet gyökei adják a többi sajátértéket: 1+k=1NKkbkKk(1+bk)λ=0. Vegyük észre, hogy közös nevezőre hozva és a tagokat összeadva az 1+l=1mαkβk+λ=0(1.59) egyenlőség adódik, ahol αk,βk>0 , és β1<β2<<βm. Ha g(λ) jelöli a bal oldalt, akkor a λ=βk -k a pólushelyek és így g(λ) az értelmezési tartományának tetszőleges intervallumán szigorúan monoton fogyó. A függvény grafikonja a 1.7. ábrán látható. Vegyük észre, hogy 1.59ekvivalens egy m -edfokú polinom egyenletével, tehát m komplex (esetleg) valós gyöke van. A g(λ) függvény tulajdonságai miatt egy gyök kisebb mint β1 , és egy-egy gyök van βk és βk+1 között minden k=1,2,...,m1 esetén. Tehát minden gyök negatív valós szám. 1.7. ábra. A g(λ) függvény görbéje. (1.55) – az általános diszkrét modell – azonos módon vizsgálható. Ha Kk=1 minden k -ra, akkor (1.55) visszavezethető a (1.54) egyszerű dinamikus rendszerre. 1.21. példa. Első oligopol játék. Tekintsünk egy háromszemélyes oligopol játékot, ahol az árfüggvény a stratégiahalmazok S1=S2=S3=[0,1], a költségfüggvények ck(xk)=kxk3+xk(k=1,2,3). A Pk vállalat profitja a következő: xk(22ss2)(kxk3+xk)=xk(22xk2skxk22xksksk2)kxk3xk. A Pk vállalat legjobbválasz-függvényét a következőképpen kapjuk. A 1.3.1. alfejezet elején vázolt módszert követve, a következő három esetet különböztetjük meg. Ha 12sksk20 , akkor xk=0 a legjobbválasz. Ha (63k)6sksk20 , akkor xk=1 a legjobbválasz. Egyébként a legjobbválaszt a következő egyenlet adja meg: ahol az egyetlen pozitív megoldás xk=(4+4sk)+2(4+4sk)212(1+k)(sk2+2sk1)6(1+k). Miután a legjobbválaszokat megtaláltuk, könnyedén megkonstruálhatjuk bármelyik korábban bemutatott módszert. 1.3.2. Visszavezetés egydimenziós fixpont feladatra Tekintsünk egy N vállalatos ( N személyes) oligopol játékot, ahol p az árfüggvény, és a ck függvények a költségfüggvények k=1,2,...,N esetén. Vezessük be a Ψk(s,xk,tk)=tkp(sxk+tk)ck(tk),(1.60) függvényt és definiáljuk az Xk(s)={xk|xkSk,Ψk(s,xk,xk)=maxtkSkΨk(s,xk,tk)}(1.61) leképezést minden k=1,2,...,N -re. Legyen továbbá X(s)={u|u=k=1Nxk,xkXk(s),k=1,2,...,N}.(1.62) Vegyük észre, hogy ha s[0,k=1NLk], akkor X(s) minden komponense ebbe az intervallumba esik, tehát X egy egydimenziós pont-halmaz leképezés. Világos, hogy (x1*,...,xN*) pontosan akkor egyensúlya az N vállalatos oligopol játéknak, ha s*=k=1Nxk* fixpontja X -nek, és minden k -ra xk*Xk(s*) . Tehát az egyensúlyi problémát leegyszerűsítettük egy egydimenziós pont-halmaz leképezés fixpont problémájára. Ez jelentős egyszerűsítés, hiszen a legjobbválaszok N dimenziós leképezések. Ha az 1–3. feltételek teljesülnek, akkor Xk(s) értéke egy egyelemű halmaz minden s -re, k -ra: ahol z* a következő monoton egyenlet egyetlen megoldása a [0,Lk] intervallumon: p(s)+zp(s)ck(z)=0.(1.64) A harmadik esetben a bal oldali kifejezés pozitív z=0 -ban, és negatív z=Lk ban, a 2–3. feltételek miatt szigorúan fogyó, tehát egyetlen megoldás van. Az egész [0,k=1NLk] intervallumon Xk(s) nemnövekvő konstans az első két esetben, és szigorúan fogyó a harmadik esetben. Tekintsük végül az egydimenziós egyenletet: k=1NXk(s)s=0.(1.65)s=0 -ban a bal oldal nemnegatív, s=k=1NLk -ban nempozitív, szigorúan fogyó. Tehát egyetlen megoldás van (az X fixpontja), mely megoldás bármely egydimenziós egyenletmegoldó módszerrel megkapható. Legyen [0,Smax] a 1.65megoldásának értelmezési tartománya. K felező lépés után a pontosság smax/2K, mely kisebb, mint az ε>0 hibahatár, ha K>log2(Smax/ε) . 1.22. példa. Második oligopol játék. Tekintsük megint a 1.21. példában látott háromszemélyes oligopol játékot. 1.63-ból ahol z* a 3kz2+z(2s+2)+(1+2s+s2)=0 egyenlet egyetlen megoldása. Az első eset akkor következik be, ha s221 , a második eset soha nem következik be, míg a harmadik eset az egyetlen pozitív megoldás: z*=(2s+2)+2(2s+2)212k(1+2s+s2)6k.(1.66) Végül 1.65speciális formája k=13(s+1)+2(s+1)23k(1+2s+s2)3ks=0. Az intervallumfelezéses módszeren alapuló program a következő megoldást adja: s*0.2982. (1.66)-ból az egyensúlyi stratégiák: x1*0.1077,x2*0.0986,x3*0.0919. 1.3.3. A Kuhn–Tucker-feltételeken alapuló módszerek Vegyük észre, hogy az N személyes oligopol játékok esetében Sk={xk|xk0,Lkxk0}, tehát választhatjuk a gk(xk)=(xkLkxk)(1.67) függvényeket. Mivel a kifizetőfüggvények fk(x1,...,xN)=xkp(xk+sk)ck(xk),(1.68)a () Kuhn–Tucker-feltételek a következő formát öltik, ahol a két komponensű vektor uk komponensei uk(1) és uk(2) , és minden k=1,2,...,N indexre Két lehetőségünk van: vagy megkeressük (1.69) egy megengedett megoldását, vagy átírjuk (1.69)-et () alakú optimumszámítási feladattá, mely ebben a speciális esetben A (8.69) vagy (8.70) számítási költsége a p és a ck függvények típusától függ. Nem adható általános jellemzés. 1.23. példa. Harmadik oligopol játék. A 1.21. példában bevezetett játék esetén (8.70) alakja Egy professzionális optimalizációs program használatával a következő megoldást kaptuk: x1*0.1077,x2*0.0986,x3*0.0919, és uk(1)=uk(2)=0. 1.3.4. Visszavezetés komplementer feladatokra Ha (x1*,...,xN*) egyensúly egy N személyes oligopol játékban, akkor rögzített x1*,...,xk1*,xk+1*,...,xN* esetén xk=xk* maximumhelye a Pk játékos fk kifizetőfüggvényének. Tegyük fel, hogy az 1–3. feltételek teljesülnek, fk konkáv xk-ban, így xk* pontosan akkor maximumhelye fk-nak, ha az egyensúlyban Vezessük be a és a túlcsordulás változókat és legyen wk=Lkxk.(1.71)1.71az egyensúlyban átírható, mint fkxk(x)vk+zk=0.(1.72) A túlcsordulás változók definíciója miatt zkxk=0,(1.73)vkwk=0.(1.74) A nemnegativitási feltételt hozzávéve xk,zk,vk,wk0,(1.75) mely esetben a 1.711.75nemlineáris egyenlőtlenségrendszert kapjuk, mely ekvivalens az egyensúlyi feladattal. A következőkben megmutatjuk, hogy (1.71)–(1.75) átírható nemlineáris komplementer feladattá. Az ilyen feladatok megoldására vannak közismert módszerek. Vezessük be a következő jelöléseket: t=(xv), és g(t)=(h(x)+vLx). Ekkor a (1.72)–(1.75) rendszer átírható, mint A fenti feladat a nemlineáris komplementer feladatok szokásos formája. Vegyük észre, hogy az utolsó feltétel azt követeli meg, hogy komponensenként vagy t, vagy g(t), vagy mindkettő nulla legyen. (8.76) számítási költsége a benne lévő függvények típusától, és a választott módszertől függ. 1.24. példa.Negyedik oligopol játék. A 1.21. példában bevezetett háromszemélyes oligopol játék elemzéséből kapjuk: 1.3.5. Lineáris oligopol játékok és kvadratikus programozás Ebben a részben olyan N személyes oligopol játékokat fogunk vizsgálni, ahol mind az árfüggvény, mind a költségfüggvények lineárisak: p(s)=As+B,ck(xk)=bkxk+ck(k=1,2,...,N), ahol B,bk,ck>0, de A<0. Tegyük fel megint, hogy a stratégiahalmazok intervallumok: [0,Lk]. Ebben az esetben fk(x1,...,xN)=xk(Ax1++AxN+B)(bkxk+ck)(1.77) minden k -ra, így fkxk(x)=2Axk+Alkxl+Bbk.(1.78) A 1.711.75feltételek ebben az esetben (nem az eredeti sorrendben): Vezessük be a következő mátrixot és vektorokat: Foglaljuk össze a definiált egyenlőtlenségeket: A következőkben azt látjuk be, hogy Q negatív definit. Tetszőleges a=(ai) nemnulla vektorra ahonnan következik a feltevésünk. Vegyük észre, hogy ()-ben a következő, szigorúan konkáv kvadratikus feladat Kuhn–Tucker-feltételei vannak: Mivel a megengedett megoldások halmaza korlátos poliéder, és a célfüggvény szigorúan konkáv, így a Kuhn–Tucker-feltételek szükségesek és elégségesek is egyben. Következésképpen, az x* vektor pontosan akkor egyensúly, ha egyetlen optimális megoldása. megoldására közismert módszerek találhatók az irodalomban. Mivel () egy konvex kvadratikus feladat, így annak megoldására ismeretesek módszerek. A módszerek költsége különböző, tehát () számítási költsége a választott módszertől függ. 1.25. példa.Kétszemélyes oligopol játék. Tekintsünk egy duopol játékot (kétszemélyes oligopol játékot), ahol az árfüggvény p(s)=10s, a költségfüggvények c1(x1)=4x1+1 és c2(x2)=x2+1, a kapacitáskorlátok L1=L2=5. Azaz B=10,A=1,b1=4,b2=1,c1=c2=1. Tehát, A kvadratikus programozási feladat: Egyszerű deriválással látható, hogy a célfüggvény feltételek nélküli globális maximumát az (x1*,x2*)T=(1,4)T pontban veszi fel. Mivel ez a pont benne van a megengedett megoldások halmazában, így optimális megoldása a feladatnak, tehát a duopol játék egyetlen egyensúlya. Gyakorlatok 1.3–1. Tekintsünk egy duopol játékot, ahol S1=S2=[0,1],p(s)=2s és c1(x)=c2(x)=x2+1. Vizsgáljuk meg az 1.55-ben megadott iterációs eljárás konvergenciáját. 1.3–2. Legyen N=2,S1=S2=[0,1.5],ck(xk)=1.5xk(k=1,2) és Mutassuk meg, hogy végtelen sok egyensúly van: {(x1*,x2*)|0.5x11,0.5x21,x1+x2=1.5}. 1.3–3. Tekintsük a 1.3-1. gyakorlatban bevezetett duopol játékot. a. Írjuk fel a legjobbválasz-függvényeket, és határozzuk meg az egyensúlyt. b. Tekintsük a (1.62)-ben bevezetett egydimenziós fixpont feladatot, és határozzuk meg segítségével az egyensúlyt. c. Írjuk fel a (1.69) Kuhn–Tuckerfeltételeket. d. Írjuk fel a (1.76) komplementer feladatot. Feladatok 1-1. Fiktív lejátszás bimátrix-játékokra Általánosítsuk a fiktív lejátszás módszerét bimátrix-játékokra. 1-2. Fiktív lejátszás véges játékokra Általánosítsuk a fiktív lejátszás módszerét véges játékokra. Megjegyzések a fejezethez A játékelmélet témakörében eddig csak 1994-ben osztottak (közgazdasági) Nobeldíjat. A díjazottak között volt John Nash, aki a róla elnevezett Nash-egyensúly fogalmáért kapta a díjat. Ezt a fogalmat Nash 1951-ben vezette be [14]. Egy másik, szűkebb egyensúlyfogalmat alkalmaz a visszafelé indukció algoritmusa. Ezen algoritmus Kuhn nevéhez köthető és megtalálható Kuhn és Tucker cikkében [9]. Mivel ezen algoritmus a Nash-egyensúlynál szigorúbb feltételű egyensúlyt határoz meg, az ezen módszerrel kapott egyensúly egyben Nash-egyensúly is. Az egyensúly megtalálásának problémája, illetve magának az egyensúly létezésének problémája matematikailag a fixpontproblémának feleltethető meg. A különböző fixponttételek – mint a Brouwer-féle [2], a Kakutani-féle [5], a Tarski-féle [25] – segítségével bizonyítható az egyensúly létezése bizonyos játékosztályokban. Az egyensúly létezésének bizonyítására Kakutani-féle fixponttétellel lásd a [16] cikket. Magának a fixpontnak (vagy fixpontoknak) a megkeresésére is ismertek módszerek, lásd például a [24] és [3] könyveket. A legnépszerűbb létezési eredmény Nikaido és Isoda nevéhez fűződik [16]. A Fan-egyenlőtlenséget, mely szerepet játszik a folytonos játékok egyensúlyának jellemzésében, részletesen tárgyalja könyvében Aubin [1]. A Kuhn–Tucker-feltételek leírása megtalálható Martos Béla könyvében [11]. A Kuhn–Tucker-feltételek eltérésváltozókkal átírhatók nemnegatív egyenletrendszerré, mely rendszerek megoldására [24]és [11] tartalmaznak numerikus módszereket. A bimátrix-játékok egyensúlyi problémájának átírása kevert változós feladattá megtalálható Mills [12] és Shapiro [21] cikkében. A bimátrix-játékok egyensúlyi problémája felírható kvadratikus programozási feladatként is (lásd Mangasarian cikkét [10]). A fiktív lejátszás módszere megtalálható részletesen Robinson cikkében [19]. A Neumann-módszer alkalmazásakor differenciálegyenletet kell megoldanunk – ehhez a Runge–Kuttamódszert használtuk. Ennek a módszernek a leírása megtalálható a [24] könyvben. Az átlósan szigorú konkáv játékok leírása Rosen cikkében [20] található meg. Az N személyes játékok egyensúlyának numerikus meghatározására Zuhovitzky, Polyak és Primak [26] javasoltak numerikus módszert. A klasszikus Cournot-modell általánosítására nézve lásd Okuguchi és Szidarovszky könyveit [17] [18]. A 1.20. tétel bizonyítása a [22]cikkben található meg. A 1.58. lemma bizonyítására lásd a [18] monográfiát. Az intervallumfelezéses módszer leírását [24] tartalmazza. [6] olyan módszereket ír le, melyek alkalmasak nemlineáris komplementaritási feladatok megoldására. A (8.80) feladat megoldása megtalálható Hadley monográfiájában [4]. A nemlineáris programozással foglalkozik magyar nyelven Kovács Margit könyve [8]. A játékelmélet klasszikus tankönyve Neumann János és Oscar Morgenstern műve [15]. Magyar nyelven 1986-ban Szidarovszky Ferenc és Molnár Sándor [23], 1999-ben Kiss Béla és Krebsz Anna [7], 2004-ben pedig Mészáros József [13] adtak közre tankönyvet. Irodalomjegyzék [1] J-P. Aubin. Mathematical Methods of Game and Economic Theory . North-Holland, 1979. [2] L. E. J. Brouwer. Über Abbildung von Manningfaltigkeiten . Mathematische Annalen, pages 97–115, 1912. [3] F. Forgó, J. Szép, és F. Szidarovszky. Introduction to the Theory of Games: Concepts, Methods and Applications . Kluwer Academic Publishers, 1999. [4] G. Hadley. Nonlinear and Dynamic Programming . Addison -Wesley, 1964. [5] S. Kakutani. A generalization of Brouwer’s fixed point theorem . Duke Mathematical Journal, 8:457–459, 1941. [6] S. Karamardian. The nonlinear complementarity problems with applications. I, II. Journal of Optimization Theory and Applications, 4:87–98 and 167–181, 1969. [7] B. Kiss és A. Krebsz. Játékelmélet (Game Theory) . Széchenyi István Főiskola, 1999. [8] M. Kovács. Nemlineáris programozás (Nonlinear Programming) . Typotex, 1997. [9] H. W. Kuhn és A. Tucker, editors. Contributions to the Theory of Games. II . Princeton University Press, 1953. [10] O. Mangasarian és H. Stone. Two-person zero-sum games and quadratic programming . Journal of Mathematical Analysis and its Applications, 9:348–355, 1964. [11] B. Martos. Nonlinear Programming Theory and Methods . Akadémiai Kiadó, 1975. [12] H. Mills. Equilibrium points of finite games . SIAM Journal of Applied Mathematics, 8:397–402, 1976. [13] J. Mészáros. Játékelmélet (Game Theory) . Gondolat Kiadó, 2004. [14] J. Nash. Noncooperative games . Annals of Mathematics, 54:286–295, 1951. [15] J. Neumann és O. Morgenstern. Theory of Games and Economical Behaviour . Princeton University Press, 1947 (2. kiadás). [16] H. Nikaido és K. Isoda. Note on noncooperative games . Pacific Journal of Mathematics, 5:807–815, 1955. [17] K. Okuguchi. Expectation and Stability of Oligopoly Models . Springer, 1976. [18] K. Okuguchi és F. Szidarovszky. The Theory of Oligopoly with Multi-Product Firms . Springer, 1999 (2. kiadás). [19] J. Robinson. An iterative method of solving a game . Annals of Mathematics, 154:296–301, 1951. [20] J. Rosen. Existence and uniqueness of equilibrium points for concave N -person games . Econometrica, 33:520–534, 1965. [21] H. N. Shapiro. Note on a computation method in the theory of games . Communications on Pure and Applied Mathematics, 11:587–593, 1958. [22] F. Szidarovszky és C. Chiarella. Dynamic oligopolies, stability and bifurcation . Cubo Mathemática Educational, 3(2):267–284, 2001. [23] F. Szidarovszky és S. Molnár. Játékelmélet műszaki alkalmazásokkal: Többcélú programozás, klasszikus és differenciáljátékok (Game Theory with Technical Applications: Programming with Multiple Aims, Classical and Differential Games) . Műszaki Könyvkiadó, 1986. [24] F. Szidarovszky és S. Yakowitz. Principles and Procedures of Numerical Analysis . Plenum Press, 1998. [25] A. Tarski. A lattice-theoretical fixpoint theorem and its application . Pacific Journal of Mathematics, 5:285–308, 1955. [26] S. I. Zuhovitsky, R. A. Polyak, és M. E. Primak. Concave N -person games (numerical methods) . Ékonomika i Matematicheskie Methody, 7:888–900, 1971 (oroszul). Tárgymutató A, Áátlósan szigorúan konkáv Bbimátrix-játék E, Éegyértelmű egyensúly érték FFA-EGYENSÚLYA Fan-egyenlőtlenség FIKTÍV-LEJÁTSZÁS fixpont módszerek fogoly dilemma , * I, ÍITERÁL Jjáték, véges fával ábrázolt játékos Kkifizetés kifizetőfüggvény kifizetőmátrix kifizetővektor klasszikus Cournot-modell komplementer feladat Kuhn–Tucker-feltételek Llegjobbválasz LESZÁMLÁL leszámlálás Mmátrixjáték megengedett akciók halmaza NNash-egyensúly nemlineáris komplementer feladat Neumann-módszer NYnyeregpont , * O, Óoligopol játék optimumszámítási feladat Ö, Őösszegzőfüggvény Sstratégia stratégiahalmaz SZszimmetrikus mátrixjáték szimultán stratégiavektor Vvéges játék visszafelé indukció Névmutató A, ÁAubin, Jean-Pierre BBanach, Stephan (1892–1945) Brouwer, Luitzer Egbertus Jan (1881–1966) , * CCauchy, Augustin-Louis (1789–1857) Chiarella, Carl Cournot Antoine Augustin (1801–1877) , * FFan, Ky , * , * , * Forgó Ferenc HHadley, George F. JJacobi, Carl Gustav Jacob (1804–1851) , * KKakutani, Shizou , * Kovács Margit Kuhn, Harold W. , * Kutta Wilhelm Martin (1867–1947) LLagrange, Joseph Louis (1736–1813) MMangasarian, Olvi L. Martos Béla , * Morgenstern, Oscar NNash, John F., Jr. , * Neumann János (1903–1957) , * , * Nikaido, Hukukane O, ÓOkuguchi, Koji PPolyak, Roman A. Primak, M. E. RRobinson, Julia Rosen, J. B. Runge, Carl David Tolmé (1856–1927) SSchwartz, Jacob Theodore SZSzép Jenő Szidarovszky Ferenc , * TTarski, Alfred , * Tucker, Albert W. , * YYakowitz, Sidney ZZuhovitsky, S. I.