2016, Brno Teorie Her v kontextu umělé inteligence
Motivace strana 2 / 20 V kolik hodin budu zítra ráno vstávat? jednoduché rozhodování, pokud mám představu co chci dělat Mám dnes nakoupit další akcie své oblíbené firmy, vytvořím tak zisk? složitější rozhodování, velká míra neurčitosti Pepa a Klára odevzdali stejně vyplněný test, kdo je autorem a kdo opisoval? Pepa: Mám se přiznat nebo raději zatloukat? Z čeho budu mít větší užitek Pepa hledá vítěznou strategii ( Klára také :-)
strana 3 / 26 Motivace rubikova kostka Cube solving 11 11 11 https://www.youtube.com/watch?v=hoilnrgrksy Rubic cube solve 80 80 80 https://www.youtube.com/watch?v=97cmsfwdfho Rubic cube solve 1000 1000 1000 https://www.youtube.com/watch?v=0cedyw6jdsq Popis problematiky http://kti.mff.cuni.cz/~maj/cube.html Cvičný řešitel http://rcombs.me/cubes/
strana 4 / 26 Motivace hanojské věže Legenda o konci světa, klášter s 64 disky 4 disky, tzv. Reveho hádanka (Frame-Stewartův algoritmus), není známo optimální řešení ani nejnižší nutný počet kroků pro libovolný počet kotoučů Algoritmus pro libovolný počet věží (označme ho r): Zvolme celé číslo k, které je větší nebo rovno 1 a menší než n Přesuneme n k nejmenších kotoučů z počáteční věže na r-tou věž rekurzívním voláním tohoto algoritmu Přesuneme k zbylých kotoučů z počáteční věže na cílovou s využitím jen r 1 věží rekurzívním voláním tohoto algoritmu. (Je-li r 1=3, pak využijeme klasický algoritmus pro tři Hanojské věže.) Přesuneme n k nejmenších kotoučů z r-té věže na cílovou rekurzívním voláním tohoto algoritmu (http://cs.wikipedia.org/wiki/hanojsk%c3%a9_v%c4%9b%c5%bee)
strana 5 / 26 Motivace hanojské věže hanoi(n) :- presun(n,levy,stred,pravy),!. presun(0,_,_,_) :-!. presun(n,a,b,c) :- %presun z A na B za pouziti M is N-1,%pomocneho C presun(m,a,c,b), inform(a,b), presun(m,c,b,a). inform(a,b) :- write([presun,disk,z,a,na,b]), nl.
strana 6 / 26 Motivace šachy Legenda o konci světa, klášter s 64 disky 4 disky, tzv. Reveho hádanka (Frame-Stewartův algoritmus), není známo optimální řešení ani nejnižší nutný počet kroků pro libovolný počet kotoučů Algoritmus pro libovolný počet věží (označme ho r): Zvolme celé číslo k, které je větší nebo rovno 1 a menší než n Přesuneme n k nejmenších kotoučů z počáteční věže na r-tou věž rekurzívním voláním tohoto algoritmu Přesuneme k zbylých kotoučů z počáteční věže na cílovou s využitím jen r 1 věží rekurzívním voláním tohoto algoritmu. (Je-li r 1 = 3, pak využijeme klasický algoritmus pro tři Hanojské věže.) Přesuneme n k nejmenších kotoučů z r-té věže na cílovou rekurzívním voláním tohoto algoritmu (http://cs.wikipedia.org/wiki/hanojsk%c3%a9_v%c4%9b%c5%bee)
Co to je teorie her? strana 7 / 20 vědní disciplína aplikované matematiky tvorba modelů sloužících pro analýzu situace nalezení vítězných strategií jednotlivých účastníků ~ speciální případ rozhodování při výskytu neurčitostí široký praktický dosah 2012 Alvin Roth a Lloyd Shapley teorie stabilních tržních alokací 1994 John Forbes Nash kooperativní vs. nekooperativní hry
Co to není teorie her? strana 8 / 20 primárně nepopisuje využití UI v počítačových hrách, ale! nevytváří taxonomii her nepopisuje vliv hraní her na člověka Zdroj: www.garner-it.com Zdroj: www.ranker.com
Historie strana 9 / 20 analýzy herních chování (stovky let staré) 18. st Daniel Bernoulli základy teorie užitku r. 1838 Antoine Cournot popsal velkou část teorie užitku později různé modely duopulu (Bertrandův či Stackelbergův) r. 1944 Theory of Games and Economic Behavior od John von Neumann a Oskar Morgenstern
Klasifikace rozhodovacích situací strana 10 / 20 dle počtu charakteristik monokriteriální rozhodování: výsledky jsou subjektem hodnoceny na základě jedné charakteristiky, jednoho kritéria vícekriteriální rozhodování: výsledky jsou subjektem hodnoceny podle více charakteristik dle počtu rozhodovatelů s jedním účastníkem: rozhodování za jistoty x rizika x neurčitosti s alespoň dvěma účastníky = HRA = rozhodovací situace, jejíž výsledek ovlivňují alespoň 2 účastníci
Klasifikace her strana 11 / 20 dle počtu strategií konečné vs. nekonečné dle výskytu prvku náhody deterministické vs. nedeterministické dle informovanosti o stavu hry s úplnou informací vs. s neúplnou informací dle vzájemného vlivu a ztráty antagonistické co jeden hráč ztratí druhý získá neantagonistické
Hry řešené pomocí UI strana 12 / 20 Pro UI jsou zajímavé především hry: konečné (počet strategií) deterministické (prvek náhody) antagonistické (ztráta x zisk) s úplnou informací Zápis her v explicitní (extenzivní) formě v normální (normativní) formě Lze zápisy převádět?
Explicitní forma hry strana 13 / 20 používá se u her, kde hráči činní svá rozhodnutí postupně u tohoto zápisu je možné strategie hráčů popsat pomocí stromů Co je to strom? v následujících příkladech budeme uvažovat hry dvou hráčů A a B budeme se považovat za hráče A, hledáme proto vítěznou strategii hráče A vítězství hráče B považujeme za svoji prohru
Explicitní forma hry strana 14 / 20 příklady her: piškvorky šachy NIM příklady algoritmů hledajících vítěznou strategii minimax minimax + alfa-beta prořezávání and-or grafy: úplné vs. částečné funkce užitku (hodnotící funkce): čím kladnější tím lepší stav, perspektivnější pro hráče A
Prohledávání stavového prostoru Každá úloha v UI definována počátečním stavem, množinou koncových stavů a operátory, jenž dovolují tyto stavy měnit. Metody řešení říkají jak najít vhodnou posloupnost operátorů Nejčastěji používané metody Prohledávání stavového prostoru Metody řešení rozkladem na podproblém Metody hraní her
Prohledávání stavového prostoru Stavový prostor si představme jako orientovaný graf (strom), jehož uzly představují stavy úlohy Přechody mezi stavy jsou realizovány elementárními operátory. Cesta z počátečního stavu do jednoho z koncových stavů je řešením úlohy. Předchůdci Následovníci Hloubky Expanze Ohodnocení Generace
Použití při řešení Problém obchodního cestujícího Úloha o přelévání vody (dva džbány o objemu 3 a 4 litry, naplnit džbán 2 litry). Hanojské věže. Rubikova kostka. Úloha o misionářích (3 kanibalové, 3 misionáři, loďka pro 2, na žadném břehu nesmí být více kanibalů než misionářů). Úloha o vlku, koze a zelí
Rozdělení metod prohledávání a) slepé: Do šířky Do hloubky Metodou stejných cen b) heurestické (metody uspořádaného prohledávání)
Slepé prohledávání do šířky Cena uzlu rovná jeho hloubce, extrémním ohodnocením se považuje minimum. Uzly se expandují v pořadí v jakém byly vygenerovány. Metoda najde vždy nejkratší cestu k cíli, pokud existuje. Vhodné hledat řešení i od koncového stavu, nebo oba přístupy kombinovat.
Slepé prohledávání do šířky
Slepé prohledávání do hloubky Cena uzlu se rovná jeho hloubce, za extrémní ohodnocení se v základním algoritmu považuje maximum. Expandují se uzly v největší hloubce v pořadí, v jakém byly vygenerovány. Metoda vždy nalezne cestu k cíli, pokud existuje. Vhodné omezit podmínkou maximální hloubky, intuitivní.
Slepé prohledávání - do šířky (LIFO) Cena uzlu rovna jeho hloubce. Extrémní ohodnocení považováno minimum. Uzly expandovány v pořadí jak byly vygenerovány. Metoda nalezne nejkratší cestu k cíly, pokud existuje.
Slepé prohledávání - do šířky - kombinované prohledávání
Slepé prohledávání - do hloubky (FIFO) Cena uzlu rovna jeho hloubce. Extrémním ohodnocením algoritmu je maximum. Expandují se uzly v největší hloubce v pořadí v jakém byly vygenerovány. Metoda vždy nalezne cestu k cíli, pokud existuje. Vhodné omezit podmínkou maximální hloubky.
Slepé prohledávání metodou stejných cen Vychází z ohodnocení uzlů cenami odpovídajícím nákladům na vygenerování těchto uzlů. K expanzi vybrán uzel s minimálním ohodnocením. Jsou-li ohodnocení uzlu rovna jejich hloubce je metoda shodná s metodou prohledávání do šířky. Nevýhodou je velké množství uzlů jenž musí být generovány a testovány (náročné na paměť a procesorový čas). Pro složité problémy nepoužitelné.
Slepé prohledávání metodou stejných cen Úloha o nádobách Cíl: v nádobě o V = 3 l 2 l kapaliny
Heurestické prohledávání Metoda redukující kombinatorickou explozi na základě znalostí o řešené úloze. Dva přístupy řešení: a) zahrnutí znalostí do pravidel b) doplnění ohodnocující funkce o předpokládanou cenu cíle Obě metody prohledávání stavového prostoru urychlují, nezaručují ale nalezení řešení.
Heurestické Ad a) Vezmeme-li v potaz úlohu o naplnění džbánů, zaveďme si pravidlo, že naplnit oba džbány současně je nesmyslné. V úloze o misionářích a kanibalech resp. O koze a zelí se budou preferovat pravidla, která používají obsazenou loďku ve směru žádaného převozu a neobsazenou loďku ve směru opačném.
Heurestické Ad b) Doplňme ohodnocující funkci o předpokládanou cenu vedoucí k cíli: f*(i) = g*(i)+h*(i) f*(i) je ohodnocení uzlu i. g*(i) je dosavadní cena cesty z počátečního uzlu do uzlu i. h*(i) je předpokládaná cena ceny z uzlu i do cílového uzlu. Základní algoritmus prohledávání grafu s ohodnocením uzlů funkcí f*(x) se nazývá algoritmus A*
Pro optimální cestu platí f(x) = konst. a h(x) je monotonně klesající.
Metody řešení problému rozkladem na podproblém Řešení lze též znázornit grafem, uzly však neodpovídají stavům řešené úlohy, ale pod úlohám. Postupným rozkladem se dostáváme u grafu k listům, nastane stav jehož výsledkem je neřešitelnost úlohy, nebo rozklad na úlohu elementární.
Metody řešení problému rozkladem na podproblém Rozeznáváme dva typy bezprostředních následovníků uzly AND a OR Uzel (problém) je řešitelný, pokud jsou řešitelní i jeho bezprostřední následníci typu AND, nebo alespoň jeden OR. Vhodné pro řešení úloh typu hanojské věže. Metody rozkladu problému na podproblém jsou metody řešení grafu AND/OR. Jsou dělitelné na metody prohledávání do hloubky, šířky a heurestické metody.
Metody řešení problému rozkladem na podproblém slepé metody Algoritmus řešení obdobný základnímu algoritmu prohledávání stavového prostoru. Hry dvou hráčů vedou vždy na prohledávání AND/OR grafů. Z pohledu hráče A stačí k jeho výhře vedl alespoň jeden z možných tahů, ale musí k ní vést též všechny možné tahy hráče B.
Metody řešení problému rozkladem na podproblém heuristické metody Založeny na ohodnocení uzlu odhady cen jejich řešitelnosti a na určení nejsnadnějšího podstromu v prohledávaném grafu. Odhady se provádí pro listové uzly a přenáší se k předchůdcům. Pro bezprostřední následovníky typu OR h(k) = min (c(k, ki) + h(ki)) Pro bezprostřední následovníky typu AND h(k) = sum(c(k, ki) + h(ki)) H(k) je ohodnocením uzlu v k H(ki) je ohodnocením i-tého bezprostředního následníka uzlu k C(i, ki) je cena přechodu mezi uzly
Metody hrání her Jednodušší případy hraní her (dva protihráči) lze řešit za pomoci AND/OR grafů, u složitějších problému již však není je tato možnost teoretická, skrz kombinatorickou explozi časově neúnosné. Pro ilustraci u šachů by graf obsahoval 10 140 uzlů, při generování 1 uzlu 0,3 nanosekundy, 1 století ma 10 19 nanosekund Nejznámější metoda hraní her je minimaxová procedura.
Explicitní forma pomocí algoritmu minimax strana 40 / 20 metoda sestavuje strom v každém stavu hry, v němž se máme rozhodnout (my = hráč A) maximální hloubka stromu dle složitosti hry čím hlouběji se díváme tím lepší šance nalezení vítězné strategie tím větší paměťová a časová náročnost uzly hráče A jsou maximalizující, uzly hráče B minimalizující (antagonistické hry) Proč?
Explicitní forma pomocí algoritmu minimax strana 41 / 20 1. sestavíme strom pro aktuální stav hry 2. pomocí hodnotící funkce ohodnotíme listy 3. ohodnotíme zbylé uzly stromu, podle toho zda je uzel maximalizující či minimalizující 4. na základě ohodnoceného stromu rozhodneme o nejlepším tahu v aktuálním stavu hry 5. necháme hrát protihráče 6. pokud jsme nenarazili na cílový stav hry, pokračujeme krokem 1
Explicitní forma pomocí algoritmu minimax strana 42 / 20 Výhody: jednoduchá implementace při správném návrhu hodnotící funkce zajistí výhru Nevýhody: vyšší paměťová náročnost nemožnost využití pro řešení složitějších problémů netriviálnost návrhu hodnotící funkce
Alfa-beta prořezávání strana 43 / 20 Alfa-beta prořezávání lze využít v kombinaci s algoritmem minimax pro snížení paměťové náročnosti zamezuje vzniku podstromů, které nemohou vést ke zlepšení (predikce) k prořezávání se používají dvě meze alfa a beta Alfa = dolní mez v průběhu algoritmu se pouze zvětšuje, výchozí hodnota je +nekonečno Beta = horní mez - v průběhu algoritmu se pouze snižuje, výchozí hodnota je -nekonečno
Alfa-beta prořezávání strana 44 / 20 Výhody: výrazně snižuje paměťovou náročnost Nevýhody: náročnější implementace
Normální forma hry strana 45 / 20 normální forma se používá u her, ve kterých se hráči rozhodují (provádí tah) v jeden okamžik Nechť je dána konečná neprázdná n-prvková množina Q 1,2,..., n množin S1, S2,, Sn a n reálných funkcí u1, u2,, un definovaných na kartézském součinu pak. S1 S2 Sn
strana 46 / 20 pak hrou n hráčů v normálním tvaru budeme rozumět uspořádanou 2n + 1 tici : Q; S,, S ; u s,, s,, u s,, s, kde Q je množina hráčů, 1 n 1 1 n n 1 n S i je prostor strategie hráče i, prvek s i S je strategie hráče i, funkce u,, i s1 sn je výplatní funkce hráče i, ta může být pro daného hráče dávat kladné číslo (zisk) nebo záporné (ztráta)
Normální forma hry strana 47 / 20 speciální avšak velmi významný je případ hry dvou hráčů množina hráčů Q = 1,2 prostory strategií S 1 S 2 jsou konečné množiny všechny možné strategie je možné reprezentovat dvojmaticí n m řádky představují hráče 1 uplatňující alternativu 1 až n sloupce představují hráče 2 uplatňující alternativu 1 až m prvky matice uvádí možné zisky všech možných kombinací hráčů a výběrů
Zápis dvojmatice strana 48 / 20 A a11 a12 a1 n b11 b12 b1 n a21 a22 a2n b21 b22 b2 n B a a a b b b m1 m2 mn m1 m2 mn
Př.1 strana 49 / 20 Mějme dva trhy Českou Republiku (T1) a Slovenskou Republiku (T2) a mějme dvě instituce Mendelovu Univerzitu (M) a Vysoké Učení Technické (V). Obě instituce chtějí z obou zmíněných trhů přilákat ke studiu ekonomických oborů co nejvíce studentů. Na T1 je potenciálně 1200 uchazečů a na T2 je potenciálně 800 uchazečů. Obě instituce mají finanční prostředky na uspořádání velké reklamní kampaně na jejich přilákání na jednom z trhů, nebo na uspořádání menší kampaně na obou trzích. Účinnost kampaně je následující: pokud na trhu povede kampaň pouze jedna škola, získá ke studiu všechny studenty pokud na trhu povedou kampaň obě školy, získá každá polovinu studentů pokud na trhu povede jedna škola malou kampaň a druhá velkou kampaň, pak první získá 25% studentů a druhá 75% studentů. Jaké jsou jejich optimální strategie? Kritériem optimality je počet přilákaných studentů.
Smíšené strategie strana 50 Doposud zmiňované strategie se označují jako tzv. ryzí strategie V okamžiku, kdy je do hry zaveden prvek náhody, a tyto strategie se kombinují s pravděpodobností výskytu dané strategie, pak se hovoří o tzv. smíšené strategii smíšenou strategií se myslí vektor pravděpodobností příslušící konkrétnímu hráči, jehož i-tá složka udává pravděpodobnost, s jakou tento hráč zvolí i-tou strategií z množiny svých možných strategií
Smíšené strategie strana 51 nalezení rovnovážného bodu, resp. rovnovážných strategií, má velký praktický dosah zvolením jiné strategie nedocílíme většího užitku (zisku ne nezbytně finančního charakteru) pro nalezení rovnovážného bodu hry lze použít: eliminace dominovaných strategií vzájemně nejlepší odpovědi očekávané hodnoty výhry
Př. 2 strana 52 Dinners dilema: Adam jde na večeři s novou přítelkyní Zuzanou. Domluví se, že si každý objedná dle libosti a pak se o účet podělí rovným dílem, každý zaplatí polovinu. Uvažujme, že každý si může vybrat jedno z těchto tří jídel: zeleninová polévka 40Kč rýžové nudle se zeleninou 100Kč nadívané labutí krky 300Kč Jaké jídlo si má objednat Adam, jestliže chce co nejméně zaplatit za jídlo Zuzany?
Př. 3 strana 53 Město Brno vypsalo výběrové řízení na dvě stavební zakázky. Na rekonstrukci Náměstí Svobody (NS) a rozšíření silnice v Brně Pisárkách (BP). Z rekonstrukce lze očekávat zisk 8 milionů Kč a ze stavby silnice 5 milionů. Pro takto velké zakázky přichází v úvahu pouze dvě firmy z Jihomoravského kraje. Ani jedna z nich ovšem není schopná zajistit obě zakázky najednou. Každá z firem je schopná přihlásit se jen na jednu zakázku nebo nabídnout společnou kooperaci na obou zakázkách. Město Brno rozdělí zakázky v celkovém objemu 13 milionů tímto způsobem: Jestliže se o jednu stavbu uchází pouze jedna firma, pak získá celou zakázku. Jestliže se o jednu stavbu ucházejí obě firmy a o druhou žádná, nabídne město kooperaci obou firmám na obou stavbách s tím, že si práci i zisk rozdělí rovným dílem. Jestliže se jedna z firem uchází o jednu stavbu a druhá nabízí kooperaci na obou stavbách, pak firma, která nabízí realizaci celé stavby, získá 60% výnosu a druhá 40% výnosu, jedná-li se o NS. Respektive 80% a druhá 20%, jedná-li se o BP. Na zbylé stavbě budou firmy spolupracovat rovným dílem. Jaké nabídky mají firmy učinit městu, aby maximalizovali svůj zisk ze zakázek?
strana 54 / 26 https://is.mendelu.cz/eknihovna/opory/zobraz_c ast.pl?cast=37733