VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
MATEMATICKÁ TEORIE ROZHODOVÁNÍ Podklady k soustředění č. 1 Řešení úloh
1. dílčí téma: Řešení úloh ve stavovém prostoru Počáteční období výzkumu v oblasti umělé inteligence (50. a 60. léta) bylo charakterizováno představou, že několik jednoduchých ale mocných technik umožní vytvářet inteligentní „všeřešící“ programy. Používané techniky byly založeny na vnitřním (strojovém) modelu světa a na schopnosti vytvářet v tomto modelu plán pro řešení dané úlohy. Model světa byl obvykle založen na stavovém prostoru.
1.1 Základní definice Def. 1.1: Stavový prostor Sp = (S, Φ) je dvojce tvořená 1. množinou stavů S = {s} 2. množinou operátorů (přechodů mezi stavy) Φ = {φ} sk = φki(si) (sk se nazývá následník, si se nazývá předchůdce) Příkladem stavového prostoru jsou možná rozložení disků u hlavolamu „Hanojské věže“. Tento hlavolam je tvořen třemi tyčkami, na kterých je navlečeno několik různě velikých disků. Jeden stav tohoto prostoru je vidět na Obr. 1. Velikost stavového prostoru tohoto hlavolamu samozřejmě záleží na počtu disků, pro n disků je to 3n (každý z n disků může být na jedné ze tří tyček), pro tři disky je stavový prostor znázorněn na Obr. 2. Použitý formalismus kóduje pozicí velikost disku (první zleva je největší disk) a číslem tyčky (1 je levá krajní tyčka).
Obr. 1 Hanojské věže (stav (112))
1
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
Obr. 2 Stavový prostor hanojských věží
Operátory se odvodí na základě pravidla, že se postupně přesouvají disky mezi tyčkami, přičemž: 1. může se přesouvat vždy jeden disk, 2. větší disk se nemůže položit na menší. Celkem je k dispozici 6 operátorů: φ12, φ13, φ21, φ23, φ31, φ32, kde φki znamená přesuň volný disk z k na i. Jiným příkladem je rozložení osmi číslic v mřížce 3x3 u hlavolamu „lišák“ (Obr. 3). Tento stavový prostor obsahuje 9! = 362880 stavů.
2 8 3 1 6 4 7 _ 5 Obr. 3 Lišák
V tomto stavovém prostoru jsou definovány 4 operátory: •
φ1: když _ není v horním řádku, přesuň _ nahoru
•
φ2 když _ není v dolním řádku, přesuň _ dolů
•
φ3: když _ není v levém sloupci, přesuň _ vlevo
•
φ4: když _ není v pravém sloupci, přesuň _ vpravo
Def. 1.2: Úloha ve stavovém prostoru (Sp, s0, G) je definována jako stavový prostor, tj. 1. množina stavů S = {s} 2. množina přechodů mezi stavy Φ = {φ} plus
2
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
3. počáteční stav s0 4. množina koncových stavů G = {g} V případě Hanojské věže je počáteční stav na Obr. 4 a (jediný) koncový stav na
Obr. 5.
Obr. 5 Hanojské věže - koncový stav
Obr. 4 Hanojské věže - počáteční stav
V případě lišáka je počátečním stavem libovolné uspořádání číslic a jediným koncovým stavem stav z Obr. 6.
1 2 3 8 _ 4 7 6 5 Obr. 6 Lišák - koncový stav
V případě, že pomocí stavového prostoru chceme reprezentovat šachy, bude počátečním stavem výchozí rozložení figurek na šachovnici a množinou koncových stavů např. všechny pozice, ve kterých bílý dává mat. Velikost stavového prostoru je asi 35100 (průměrně 35 možností v každém tahu, průměrná délka partie 50 tahů). Def. 1.3: Řešení úlohy ve stavovém prostoru je nalezení posloupnosti operátorů φ1 φ2… φd takových, že s1 = φ1(s0) s2 = φ2(s1) s3 = φ3(s3) ... g = φd(sd-1) neboli nalezení cesty z počátečního stavu s0 do některého z koncových stavů g (d je délka cesty).
Def. 1.4: Řídící strategie je algoritmus, který v každém kroku volí vhodný operátor:
3
•
musí vést k prohledávání (musí zabraňovat cyklům)
•
musí být systematické
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
Def. 1.5: Strom řešení úlohy je grafová reprezentace procesu hledání řešení kde uzly odpovídají stavům a hrany odpovídají přechodům mezi stavy daným aplikací operátorů. Ve chvíli, kdy pro nějaký stav je použitelných více operátorů se stává klíčovou otázka, který operátor zvolit. Pro volbu prvního operátoru v případě hanojských věží ukazuje příslušný podstrom Obr. 7, pro volbu prvního operátoru v případě hlavolamu lišák ukazuje příslušný podstrom Obr. 8. Volba operátoru pro daný stav může být založena na myšlence postupně zkusit aplikovat všechny použitelné operátory, může být založena na nějakém kritériu, které hodnotí vhodnost jednotlivých operátorů, nebo může být volba operátoru náhodná.
Obr. 7 První krok Hanojské věže
Obr. 8 První krok lišák
1.2 Prohledávání stavového prostoru Metody prohledávání lze dělit do tří základních skupin:
4
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
•
slepé - úplné prohledávání nevyužívající žádné dodatečné informace – zde postupně aplikujeme všechny použitelné operátory,
•
heuristické - úplné nebo částečné prohledávání využívající hodnocení zvolené cesty – zde operátory vybíráme na základě nějakého kritéria,
•
náhodné – zde volíme operátory náhodně.
Systematické (nenáhodné) strategie (resp.algoritmy) jsou založeny na expanzi (rozvinutí) daného stavu (uzlu). Rozvinutím uzlu se myslí aplikace všech použitelných operátorů; získáme tak všechny následníky daného uzlu. Algoritmy obvykle využívají dva seznamy: seznam rozvinutých uzlů ROZVIN a seznam nerozvinutých uzlů NEROZVIN.
Slepé prohledávání do šířky Při prohledávání do šířky jsou následníci vybíráni pro expanzi ze seznamu typu fronta (Obr. 9). Postupně procházíme strom řešení po vrstvách a prohledáme všechny uzly, které mají menší hloubku než je hloubka koncového stavu. Každý uzel přitom navštívíme nejvýše jednou. Schematicky je tento způsob znázorněn na Obr. 10, postup algoritmu pak na Obr. 11. Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme optimální řešení (koncový stav s nejmenší hloubkou).
Obr. 9 Algoritmus prohledávání do šířky
5
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
Obr. 10 Schéma prohledávání do šířky
krok 1 2 3 4 Konec
NEROZVIN A B, C C, D, E D, E, F, G, H
ROZVIN Ø A A, B A, B, C
Obr. 11 Postup algoritmu „do šířky“
Obr. 12 Lišák - prohledávání do šířky (převzato z Chyba! Nenalezen zdroj odkazů.)
6
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
Slepé prohledávání do hloubky Při prohledávání do hloubky jsou následníci vybíráni pro expanzi ze seznamu typu zásobník (Obr. 13). Na rozdíl od prohledávání do šířky můžeme některými uzly procházet vícekrát, neboť se často musíme navracet (tzv. backtracking). Schematicky je tento způsob znázorněn na Obr. 14 , postup algoritmu na Obr. 15. Při tomto způsobu prohledávání nemusíme nalézt optimální řešení (koncový stav s nejmenší hloubkou) a dokonce žádné řešení (pokud má stavový prostor nekonečnou větev, do které „zabloudíme“). Pro úlohy s konečným stavovým prostorem a s jedním koncovým stavem ale nalezneme stejné řešení jako při prohledávání do šířky.
Obr. 13 Algoritmus prohledávání do hloubky
Obr. 14 Schéma prohledávání do hloubky
7
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
krok 1 2 3 4 5 6 7 8 Konec
NEROZVIN A B, C D, E, C I, J, E, C J, E, C E, C C F, G, H
ROZVIN Ø A A, B A, B, D A, B, D, I A, B, D, I, J A, B, D, I, J, E A, B, D, I, J, E, C
Obr. 15 Postup algoritmu "do hloubky"
Všimněme si, že pokud bychom při slepém prohledávání do hloubky místo „první zleva“, tak jak je znázorněno na Obr. 14 zvolili strategii „první zprava“, Nalezli bychom koncový stav podstatně rychleji (Obr. 16).
krok 1 2 3 Konec
NEROZVIN A C, B H, G, F, B
ROZVIN Ø A A, C
Obr. 16 Postup algoritmu "do hloubky" – zprava
Heuristické prohledávání Heuristické prohledávání je založeno na kritériu (heuristice), které umožňuje posoudit vhodnost použití jednotlivých operátorů aplikovatelných na daný stav. Vhodnost operátoru můžeme intuitivně chápat jako to, do jaké míry nás použití operátoru přiblíží ke koncovému stavu (řešení úlohy). Def. 1.6: Heuristická funkce je funkce, která každému stavu s přiřadí číslo, vyjadřující jeho kvalitu z hlediska řešení úlohy. Vhodnost operátoru (a tedy kvalita příslušného následníka) může být v dané úloze definována různě. Různé podoby kritéria samozřejmě ovlivní volbu operátorů a tím i dobu (počet kroků) potřebných k nalezení řešení. Vraťme se k hlavolamu lišák (Obr. 8), kde můžeme jako možné heuristiky uvažovat např.: H1: počet chybně umístěných číslic, H2: Manhattan vzdálenost od koncového stavu. Význam první heuristiky je zřejmý. Druhá heuristika vyjadřuje, kolik tahů (ve směru vodorovném resp. svislém) je každá chybně umístěná číslice vzdálena od své správné pozice. Podíváme-li se na volbu operátoru pro první tah dle Obr. 8, pak kvalitu stavů 1 až 4 pro obě heuristiky vidíme v Tab. 1. Obě heuristiky vyhodnotí jako nejlepší tah 1 → 3. Pro druhý tah už budou „doporučení“ obou heuristik odlišná (Tab. 2). Zatímco heuristika H1 vyhodnotí jako stejně kvalitní tahy 3 → 6 i 3 → 7 (a měli bychom tedy uvažovat obě možnosti), heuristika H2 vyhodnotí jako nejlepší tah 3 → 7, což je tah, skutečně vedoucí nejrychleji k řešení úlohy.
8
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
H1 H2
stav 1 4 5
stav 2 5 6
stav 3 3 4
stav 4 5 6
Tab. 1 Lišák - heuristiky pro první tah
stav 3 stav 6 stav 7 stav 8 3 H1 3 3 4 4 H2 5 3 5 Tab. 2 Lišák - heuristiky pro druhý tah
Gradientní prohledávání (hill climbing) Heuristické prohledávání do hloubky, kde heuristikou je odhad vzdálenosti ke koncovému stavu. Následníky rozvinutého uzlu nejprve uspořádáme dle heuristiky a pak zařadíme do zásobníku.
Obr. 17 Gradientní prohledávání
Lokální varianta tohoto algoritmu je založena na tom, že pro daný stav volíme dle heuristiky nejlepšího následníka a pracujeme pouze s ním. Seznam NEROZVIN je tedy jednoprvkový. Tato varianta tedy hledá „pouze“ lepší uzel, než je ten současný. To může způsobit řadu problémů:
9
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
•
uváznutí v lokálním extrému (žádný následník není lepší než rozvíjený uzel, který ale nepředstavuje řešení problému),
•
problém plošiny (rozvíjený uzel i jeho následníci jsou stejně kvalitní – není tedy jasné kterým směrem postupovat).
Problém uváznutí v lokálním extrému ilustruje na příkladě hlavolamu lišák Obr. 19. Žádný z následníků uvedeného stavu není ve smyslu heuristiky H1 lepší. Prohledávání by tedy skončilo.
Obr. 18 Lokální varianta gradientního prohledávání
a 2 b 8 _ 4 c 6 d Obr. 19 Lokální extrém hlavolamu lišák
10
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
2. dílčí téma: Teorie her Základy matematické teorie her položili v první pol. 20. století John von Neumann a Oskar Morgernstern. Teorie her je disciplína aplikované matematiky, která analyzuje široké spektrum konfliktních rozhodovacích situací, které mohou nastat kdekoliv, kde dochází ke střetu zájmů. Herněteoretické modely se pak snaží tyto konfliktní situace nejen analyzovat, ale sestavením matematického modelu daného konfliktu a pomocí výpočtů se snaží nalézt co nejlepší strategie pro konkrétní účastníky takových konfliktů. Teorie her se uplatňuje v mnoha oblastech lidské činnosti od ekonomie, přes politologii až například po sociologii a biologii.
2.1 Základní pojmy Základem většiny matematických modelů z oblasti teorie her je předpoklad racionality. Očekáváme, že každý hráč se chová tak, aby maximalizoval svůj zisk (výhru). To znamená, že: o
hráč si na základě stabilních preferencí stanovuje cíle a volí si strategie k co možná nejefektivnějšímu dosažení těchto cílů.
o
hráč je konfrontován s určitým počtem situací a dokáže si je seřadit podle svých preferencí od nejvýhodnější po nejméně výhodnou.
Toto seřazení musí být úplné, tj. musí pokrývat všechny situace, a tranzitivní, tj. pokud dá hráč přednost situaci A před situací B a situaci B před situací C, musí dát přednost situaci A před situací C. Na základě preferencí situací je odvozena užitková funkce (utility function) hráče. Jediným cílem hráče je potom maximalizace hodnoty užitkové funkce. Předpoklad racionality (každého hráče) je to, co odlišuje teorii her (a příslušné strategie) od teorie rozhodování. Jsou ale i pojetí, která chápou teorii rozhodování (popsanou v předcházející kapitole) jako speciální typ her, kdy jeden z hráčů je “příroda”, pro kterou předpoklad racionality neplatí. Budeme-li hledat analogii s teorií rozhodování, pak hráči jsou účastnící rozhodovacího problému, strategie jsou rozhodnutí a hodnoty užitkové funkce (výhry, výplaty) jsou důsledky rozhodnutí.
Typy her Hry (a jejich modely) můžeme posuzovat z celé řady hledisek. Jsou to •
počet hráčů – obvykle předpokládáme konečný počet hráčů; nejmenší možný počet je 2 a to budou hry na které se dále zaměříme (příkladem mohou být šachy, dáma, piškvorky, ale i bilaterální politická vyjednávání),
•
počet strategií – může být konečný i nekonečný; nás budou zajímat hry s konečným počtem strategií (šachy, dáma, piškvorky). U nekonečných strategií hraje roli i načasování jednotlivých „tahů“,
•
typ výhry – rozlišují se tzv. hry s konstantním součtem a hry s nekonstantním součtem; pro hry s konstantním součtem platí, že pro každou volbu strategií je součet výplatních funkcí (výher) všech hráčů konstantní speciálním případem her s konstantním součtem jsou hry s nulovým součtem, při kterých to, co jeden hráč vyhraje musí druhý hráč (v případě her o dvou hráčích) prohrát – příkladem jsou šachy, piškvorky apod. U her s nenulovým součtem zisk jednoho hráče nemusí pro jiného hráče nutně znamenat ztrátu (vězňovo dilema i různá vyjednávání).
•
11
počet tahů – hry strategické předpokládají, že hráči provedou jeden tah (rozhodnutí) současně (např. kámen-nůžky-papír nebo vězňovo dilema), hry tahové jsou založeny na sekvenci tahů, při kterých se hráči střídají (šachy, piškvorky)
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
•
dostupná informace – hry s úplnou informací (např. šachy) a hry s neúplnou informací (např. poker); v hrách s úplnými informacemi má každý hráč k dispozici stejné informace týkající se hry jako všichni ostatní.
•
spolupráce – u kooperativních hrách mohou hráči vytvářet koalice případně se mezi sebou domlouvat, u nekooperativních hrách to možné není
Ne všechny kombinace jednotlivých hledisek mohou nastat: každá hra dvou hráčů s konstantním součtem je nekooperativní – pro takovou hru se někdy používá termín antagonistická hra.
Hra v normálním tvaru Def. 3.7 Hra v normálním tvaru je definována množinou
{Q, X 1 ,..., X n , u1 ( x1 ,...x n ),..., u n ( x1 ,..., x n )} kde Q = {1,…,n} jsou hráči, množiny X1,…,Xn jsou množiny strategií a ui(x1,…,xn) jsou výhry hráče i pro jednotlivé strategie. Hra v normálním tvaru je obvykle znázorněna pomocí matice. Hru pro dva hráče vidíme na Obr. 20. Zde hráč číslo 1 vybírá ze strategií s1,…,sk a hráč číslo 2 vybírá ze strategií t1,…,tl. Předpokládejme, že se jedná o hru s nulovým součtem, v takové hře u1(si, tj) = -u2(si, tj) a proto stačí zapisovat jen hodnotu užitkové funkce (výhry) pro jednoho hráče.
hráč 2
hráč 1
t1 t 2 s1 ⎛ u11 u12 ⎜ s 2 ⎜ u 21 u 22 ⎜ ⎜ s k ⎜⎝ u k1 u k 2
tl … u1t ⎞ ⎟ … u 2t ⎟ ⎟ … ⎟ … u kl ⎟⎠
Obr. 20 Hra pro dva hráče v normálním tvaru.
Příklad hry kámen-nůžky-papír je na Obr. 21
hráč 2 K
hráč 1
N
P
K ⎛ 0 1 − 1⎞ ⎟ ⎜ N ⎜ −1 0 1 ⎟ P ⎜⎝ 1 − 1 0 ⎟⎠
Obr. 21 Hra kámen-nůžky-papír v normálním tvaru
Hra v explicitním tvaru Explicitní tvar hry bývá používána k formalizaci her, ve kterých hraje roli pořadí tahů. Hry jsou reprezentovány jako stromy (viz obrázek vlevo). Každý uzel zde reprezentuje místo, ve kterém některý z hráčů vybírá tah, každá hrana odpovídá možnému tahu.
12
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
Příklad 3.1: Tic-Tac-Toe (neboli americké piškvorky) se hrají na čtvercové síti 3x3 políčka. První z hráčů maluje křížky, druhý maluje kolečka. Hráči se střídají a vyhraje ten, komu se podaří umístit tři své symboly do řádku, do sloupce nebo na diagonálu. Hrubý odhad počtu pozic vychází z toho, že v každém z 9 polí může být o, x, nebo mezera, tedy 39 = 19683. Podobně hrubý odhad počtu různých partií vychází z toho, že první tah může být do některého z 9 polí, druhý tah do některého z 8 polí atd, tedy 9! = 362880 (Obr. 22). Hrací pole je ale symetrické a ne všechny možné kombinace symbolů je přípustná (např. devět ¨x¨). Je tedy 26830 různých partií (web).
Obr. 22 Tic-tac-toe bez uvažování symetrie
2.2 Optimální strategie Antagonistické hry Cílem každého racionálního hráče je vyhrát, jinými slovy maximalizovat svoji výhru. Zabývejme se pouze strategiemi antagonistických her dvou hráčů, které jsou zapsány v normálním tvaru (viz Obr. 20). Uvedený zápis vyjadřuje hodnoty výher (výplat) hráče č. 1. Tento hráč volí mezi svými strategiemi (řádky i matice u(si,tj)) tak, aby jeho výhra byla maximální. Přitom ví, že jeho protihráč, hráč č. 2 bude své strategie volit tak, aby výhru hráče č. 1 minimalizoval. Hráč č. 1 tedy volí takovou strategii s*, pro který minimální hodnota jeho výhry (v rámci tohoto řádku) bude ze všech řádků maximální: s* = maxi minj u(si,tj) Hráč. č. 2 postupuje analogicky. Mezi svými strategiemi (sloupci j matice u(si,tj)) volí tu strategii t*, pro kterou maximální hodnota jeho prohry (v rámci tohoto sloupce) bude ze všech sloupců minimální. t* = minj maxi u(si,tj)
13
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
Def. 3.2: Nechť u(s*,t*) = maxi minj u(si,tj) = minj maxi u(si,tj) Potom u(s*,t*) se nazývá sedlový bod matice a představuje tzv. cenu hry. Dvojce strategií (s*,t*) se nazývá rovnovážný bod. Teorie her se snaží nalézt v každé hře rovnovážný bod, v němž hráči volí takové strategie, že žádný z nich nemá důvod svou strategii změnit za předpokladu, že nikdo z ostatních svou strategii nezmění. Pokud rovnovážný bod existuje, optimální strategie obou hráčů se nazývají ryzí strategie. Příklad: Pro hru v normálním tvaru uvedenou na Obr. 23 má rovnovážný bod podobu (s2, t1). Pro prvního hráče je totiž min u(s1,tj) = 2 a min u(s2, tj) = 3 a tedy max min u(s,t) = u(s2, t1) což odpovídá strategii s2. Pro druhého hráče je pak max u(si, t1) = 3 a max u(si, t2) = 4 a tedy min max u(s,t) = u(s2, t1) což odpovídá strategii t1.
hráč 2 t1 t2 hráč 1
s1 ⎛ 2 3 ⎞ ⎜ ⎟ s 2 ⎜⎝ 3 4 ⎟⎠
Obr. 23 Příklad hry v normálním tvaru
Ne vždy ale rovnovážný bod a tedy ryzí strategie existuje. Uvažujme hru znázorněnou maticí z Obr. 24. Hráč č. 1 zvolí strategii s2, neboť pro ní je minj uij největší (je to prvek u21=7). Hráč č. 2 zvolí strategii t1, neboť pro ní je maxi uij nejmenší (je to prvek u21=9). Obě hodnoty se ale od sebe liší. Tato hra nemá rovnovážný bod a proto pro ní neexistuje ryzí strategie.
hráč 2 t1 t2 hráč 1
s1 ⎛11 5 ⎞ ⎜ ⎟ s 2 ⎜⎝ 7 9 ⎟⎠
Obr. 24 Hra bez sedlového bodu
Def. 3.3: Nechť máme maticovou hru popsanou maticí z Obr. 20. Nechť
p1 + p 2 +
+ p k = 1 a zároveň pi > 0
q1 + q 2 +
+ ql = 1 a zároveň qi > 0
Pak hru s výplatní funkcí k
l
π (p, q) = ∑∑ pi u ij q j i =1 j =1
nazveme smíšeným rozšířením původní hry. Stručně řečeno, smíšené rozšíření (a smíšené strategie) znamená, že každý z hráčů vybírá ze svých strategií s určitou pravděpodobností. Smíšenou strategii jednotlivých hráčů můžeme hledat jako extrém výplatní funkce, tedy jako hodnoty p a q pro které π(p, q) bude maximální (minimální). Ve výše uvedené hře tedy
14
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
π(p, q) = 11p1q1 + 5 p1(1- q1) + 7 q1(1- p1) + 9(1- p1) (1- q1) = 8 p1q1 – 4 p1 – 2 q1 + 9 z toho
∂π ( p, q ) = 8q1 − 4 = 0 a tedy q1 = 1/2 p1
∂π ( p, q) = 8 p1 − 2 = 0 a tedy p1 = 1/4 q1 Hráč č. 1 tedy volí strategii (1/4, 3/4) a hráč č. 2 volí strategii (1/2, 1/2). Pro tyto strategie je cena hry π(p, q) maximální a rovná se 8. Podobně nemá ryzí strategii ani hra kámen-nůžky-papír. Smíšená strategie pro oba hráče je (1/3, 1/3, 1/3).
Neantagonistické hry V případě neantagonistických her nejde výhra jednoho hráče na úkor hráčů ostatních. Hráči se o svých strategiích mohou (kooperativní hry) či nemohou (nekooperativní hry) domlouvat. Ukážeme se příklady hodnocení strategií her obou typů. Budeme opět uvažovat jen hry dvou hráčů, kterou můžeme tentokrát znázornit pomocí dvojmatice výplat (Obr. 25). Hodnota uij odpovídá výplatě prvního hráče v případě strategií si (první hráč) a tj (druhý hráč), hodnota vij odpovídá výplatě druhého hráče v případě strategií si (první hráč) a tj (druhý hráč). hráč 2
hráč 1
t1 t2 s1 ⎛ (u11 , v11 ) (u12 , v12 ) ⎜ s 2 ⎜ (u 21 , v21 ) (u 22 , v22 ) ⎜ ⎜ s k ⎜⎝ (u k1 , vk1 ) (u k 2 , vk 2 )
… … … …
tl (u1t , v1t ) ⎞ ⎟ (u 2t , v2t ) ⎟ ⎟ ⎟ (u kl , vkl ) ⎟⎠
Obr. 25 Dvojmaticová hra Def. 3.4: Dvojice strategií (s*, t*) se nazývá rovnovážný bod, právě když u(s,t*) < u(s*,t*) pro všechna s v(s*,t) < v(s*,t*) pro všechna t Věta 3.3: Nechť rovnovážnému bodu odpovídá prvek (uij,vij). Potom uij = maxk ukj vij = maxk vik Příklad: vězňovo dilema Vězňovo dilema patří k nejznámějším příkladům nekooperativních her. Dva vězni jsou obviněni ze stejného trestného činu. Pokud se oba přiznají (P), budou oba odsouzeni na 5 let (přiznání je polehčující okolnost). Pokud budou oba zapírat (Z), budou oba odsouzeni za menší delikt na 1 rok. Pokud se přizná jen jeden, bude v roli korunního svědka osvobozen, ale druhý obviněný bude odsouzen na 10 let. Příslušný zápis této hry v normálním tvaru je na Obr. 26. Čísla v dvojmatici udávají výši trestu. Cílem „hráčů“ je tuto hodnotu minimalizovat, neboli zvolit strategii, pro kterou bude maximální výše trestu (pro možné strategie spoluobviněného) minimální. Tedy
15
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
vězeň č. 1
s* = mini maxj uij
vězeň č. 2
t* = minj maxi vij
Z toho vychází rovnovážná strategie (s*, t*) = (přiznat, přiznat). Pohledem na dvojmatici ovšem zjistíme, že vhodnější (z hlediska výše trestu) by byla strategie (zapírat, zapírat), neboť v tomto případě by výše trestu pro oba byla nižší – proto název hry „dilema“. Žádný z obviněných totiž neví, zda jeho komplic nepodlehne pokušení přiznat se a vyváznout bez trestu. vězeň 2 P Z vězeň 1
Z ⎛ (1,1) (10,0) ⎞ ⎜ ⎟ P ⎜⎝ (0,10) (5,5) ⎟⎠
Obr. 26 Vězňovo dilema
Příklad: manželská domluva Manželé řeší otázku, jak strávit večer. Manžel by chtěl jít na fotbal, manželka preferuje divadlo. Večer však chtějí strávit společně. Tuto „hru“ můžeme znázornit maticí uvedenou na Obr. 27. manželka fotbal divadlo manžel
fotbal ⎛ (2,1) (0,0) ⎞ ⎜ ⎟ divadlo ⎜⎝ (0,0) (1,2) ⎟⎠
Obr. 27 Manželská domluva
Tato hra má dvě ryzí strategie v rovnovážných bodech (fotbal, fotbal) a (divadlo, divadlo). Platí totiž, že prvek (2,1) představuje maximum v prvním řádku i prvním sloupci a prvek (1,2) představuje maximum ve druhém řádku i druhém sloupci. Hra má i jednu smíšenou strategii.
2.3 Hledání vhodné strategie Minimaxová strategie
Za předpokladu racionality protihráče volím takový tah, aby následný nejlepší tah protihráče byl z mého pohledu nejméně nebezpečný. Minimaxovou strategii mohu hledat na základě zápisu hry v rozvinutém tvaru. Tento zápis je tvořen stromem, kde každému uzlu přiřadíme hodnoty na základě hodnot výher (hodnot funkce u) v podstromu daného uzlu. Jednotlivé uzly stromu se dělí do MAX úrovní (uzly se sudou hloubkou) a MIN úrovní (uzly s lichou hloubkou). Na každé MAX úrovni vybírá první hráč tah, který maximalizuje hodnotu určitého kritéria, na každé MIN úrovni vybírá druhý hráč tah, který minimalizuje hodnotu tohoto kritéria. (kritériu hodnotí tahy z pohledu prvního hráče). Tímto kritériem je tzv. MINIMAX hodnota:
pro n listový uzel ⎧ u (n) ⎪ MINIMAX (n) = ⎨max s MINMAX ( s ) pro n je MAX uzel ⎪ min MINMAX ( s ) pro n je MIN uzel s ⎩ kde s jsou všichni následníci uzlu n. Ohodnocování uzlů probíhá od spodu - od listů reprezentujících koncovou situaci hry směrem ke kořeni. Příklad takto ohodnoceného stromu vidíme na Obr. 28. Je zřejmé, že první hráč zvolí tah odpovídající první větvi zleva.
16
VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s.
Obr. 28 Volba strategie dle minimaxu
Aplikace minimaxového přístupu předpokládá, že známe celý strom řešení. V reálných hrách to může být nepřekonatelný problém. Jak již bylo zmíněno, hra tic-tac-toe má 26830 různých partií, strom řešení pro šachy pak může mít okolo 35100 uzlů (průměrný počet větvení 35, průměrná délka partie 50 tahů). Navíc, časová náročnost algoritmu O(bd), tedy exponenciální podle hloubky prohledávání (a paměťová náročnost je O(bd) – jde totiž o prohledávání do hloubky). Řešením je: • omezit hloubku prohledávání • pracovat pouze s odhady místo s přesnými hodnotami užitku pro jednotlivé uzly Příklad: Tic-Tac-Toe. Obr. 29 ukazuje volbu prvního tahu s využitím minimaxu pro hru tic-tac-toe. Kritérium, kterým se hodnotí jednotlivé uzly je počet možných vítězných pozic X minus počet možných vítězných pozic O.
Obr. 29 Tic-tac-toe volba prvního tahu dle minimaxu
17