Obsah: Hry Prohledávání stavového prostoru. Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi

Podobné dokumenty
Hry a UI historie. agent musí brát v úvahu akce jiných agentů jak ovlivní jeho. vliv ostatních agentů prvek náhody. Hry: Obsah:

Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi

HRY A UI HISTORIE. Hry vs. Prohledávání stavového prostoru. Obsah:

Hry a UI historie. von Neumann, 1944 algoritmy perfektní hry Zuse, Wiener, Shannon, přibližné vyhodnocování

Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi

Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi

Hry a UI historie. Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi

Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi

Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi. 72 studentů

Hry a UI historie. Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi

Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax. Nedeterministické hry Hry s nepřesnými znalostmi

Obsah: Algoritmus Minimax. 7 9 Nedeterministick і hry 7 9 Hry s nep 0 0esn 0 5mi znalostmi

! Kyberne(ka!a!umělá!inteligence! 8.!Hraní!dvouhráčových!her,!adversariální! prohledávání!stavového!prostoru!!!!

Umělá inteligence I. Roman Barták, KTIML.

Department of Cybernetics Czech Technical University in Prague. pechouc/kui/games.pdf

Algoritmy pro hraní tahových her

Základy umělé inteligence

Varianty Monte Carlo Tree Search

Úvod do teorie her

Dokumentace programu piskvorek

Uvažujeme jen hry s nulovým součtem, tj. zisk jednoho. Střídá se náš tah, kde maximalizujeme svůj zisk, s tahem

2. Řešení úloh hraní her Hraní her (Teorie a algoritmy hraní her)

Algoritmy pro práci s neúplnou informací

Hraní her. (Teorie a algoritmy hraní her) Řešení úloh hraní her. Václav Matoušek /

a4b33zui Základy umělé inteligence

Teorie her a ekonomické rozhodování. 7. Hry s neúplnou informací

Prohledávání do šířky a do hloubky. Jan Hnilica Počítačové modelování 15

Počítačové šachy. Otakar Trunda

Teorie her a ekonomické rozhodování. 4. Hry v rozvinutém tvaru

TGH13 - Teorie her I.

Osadníci z Katanu. a Monte Carlo Tree Search. David Pěgřímek. MFF UK (2013) 1 / 24

Anotace. Středník II!! programování her.

Obsah: Problém osmi dam

Základy umělé inteligence

Teorie her a ekonomické rozhodování. 2. Maticové hry

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

A4B33ZUI Základy umělé inteligence

Teorie her a ekonomické rozhodování. 8. Vyjednávací hry

Monte Carlo Tree Search. Marika Ivanová

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2016

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

Heuristiky, best-first search, A* search

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

"Agent Hledač" (3. přednáška)

Úvod do teorie grafů

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

Neinformované metody prohledávání stavového prostoru Michal Pěchouček, Milan Rollo. Department of Cybernetics Czech Technical University in Prague

IUVENTAS Soukromé gymnázium a Střední odborná škola, s. r. o. Umělá inteligence. Jméno: Třída: Rok:

}w!"#$%&'()+,-./012345<ya

Stručný úvod do teorie her. Michal Bulant

Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE

Seminář z umělé inteligence. Otakar Trunda

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

PROBLÉM OSMI DAM II. Problém osmi dam. Obsah:

Uvažujeme jen hry s nulovým součtem, tj. zisk jednoho. Střídá se náš tah, kde maximalizujeme svůj zisk, s tahem

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

Složitost her. Herní algoritmy. Otakar Trunda

Optimalizace & soft omezení: algoritmy

Úvod Game designer Struktura hry Formální a dramatické elementy Dynamika her Konec. Úvod do game designu 1 / 37

Neinformované metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

Umělá inteligence I. Roman Barták, KTIML.

Umělá inteligence I. Roman Barták, KTIML.

Vzdálenost uzlů v neorientovaném grafu

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

UNIVERZITA PARDUBICE

Numerické metody 6. května FJFI ČVUT v Praze

Datové struktury 2: Rozptylovací tabulky

Pravděpodobnost a statistika (BI-PST) Cvičení č. 1

ŠACHOVÉ ENGINY. Semestrální práce pro předmět 4IZ430 Principy inteligentních systémů

Příručka k měsíčním zprávám ING fondů

Statistická teorie učení

ALGORITMY A DATOVÉ STRUKTURY

Pokročilá implementace deskové hry Dáma

UNIVERZITA PALACKÉHO V OLOMOUCI KATEDRA INFORMATIKY. ALGORITMY REALIZUJÍCÍ v jednoduchých deskových hrách

Geneticky vyvíjené strategie Egyptská hra SENET

Numerické metody a programování. Lekce 8

Úvod do teorie her

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Globální matice konstrukce

Algoritmizace prostorových úloh

Usuzování za neurčitosti

Dokažte Větu 2(Minimax) ze třetího dílu seriálu pro libovolnou hru s nulovým součtem, ve kterémákaždýhráčnavýběrprávězedvoustrategií.

Příručka k měsíčním zprávám ING fondů

OSA. maximalizace minimalizace 1/22

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Pravidla vybraných deskových her pro potřeby předmětů Projektový seminář 1 a 2 v roce 2011/2012. Tomáš Kühr

STATISTICKÉ ZJIŠŤOVÁNÍ

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

Multirobotická kooperativní inspekce

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

e erz vaná v aco rozpr

Školení pro místní samosprávu Téma: Hazardní hry Obecné představení hazardních her a jejich regulace Druhy her základní přehled

Pokročilé operace s obrazem

Obsah: CLP Constraint Logic Programming. u odpovědí typu A, B, C, D, E: jako 0)

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

3. ANTAGONISTICKÉ HRY

Přijímací zkouška - matematika

Věc: Rozšířené stanovisko Ministerstva financí k tzv. Kvízomatům

ANTAGONISTICKE HRY 172

Transkript:

Hry a základní herní strategie Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ Obsah: Hry vs. Prohledávání stavového prostoru Algoritmus Minimax Algoritmus Alfa-Beta prořezávání Nedeterministické hry Hry s nepřesnými znalostmi Úvod do umělé inteligence 7/12 1 / 25 Hry vs. Prohledávání stavového prostoru Hry Prohledávání stavového prostoru Multiagentní prostředí: agent musí brát v úvahu akce jiných agentů jak ovlivní jeho vlastní prospěch vliv ostatních agentů prvek náhody kooperativní soupeřící multiagentní prostředí (MP) Hry: matematická teorie her (odvětví ekonomie) kooperativní i soupeřící MP, kde vliv všech agentů je významný hra v UI = obv. deterministické MP, 2 střídající se agenti, výsledek hry je vzájemně opačný nebo shoda Algoritmy soupeřícího prohledávání (adversarial search): oponent dělá dopředu neurčitelné tahy řešením je strategie, která počítá se všemi možnými tahy protivníka časový limit zřejmě nenajdeme optimální řešení hledáme lokálně optimální řešení Úvod do umělé inteligence 7/12 2 / 25

Hry vs. Prohledávání stavového prostoru Hry a UI historie Hry a UI historie Babbage, 1846 počítač porovnává přínos různých herních tahů von Neumann, 1944 algoritmy perfektní hry Zuse, Wiener, Shannon, 1945 50 přibližné vyhodnocování Turing, 1951 první šachový program (jen na papíře) Samuel, 1952 57 strojové učení pro zpřesnění vyhodnocování McCarthy, 1956 prořezávání pro možnost hlubšího prohledávání řešení her je zajímavým předmětem studia je obtížné: průměrný faktor větvení v šachách b = 35 pro 50 tahů 2 hráčů... prohledávací strom 35 100 10 154 uzlů ( 10 40 stavů) Úvod do umělé inteligence 7/12 3 / 25 Hry vs. Prohledávání stavového prostoru Hry a UI aktuální výsledky Hry a UI aktuální výsledky dáma 1994 program Chinook porazil světovou šampionku Marion Tinsley. Používá úplnou databázi tahů pro 8 figur (443748401247 pozic). šachy 1997 porazil stroj Deep Blue světového šampiona Gary Kasparova 3 1 /2 2 1 /2. Stroj počítá 200 mil. pozic/s, sofistikované vyhodnocování a nezveřejněné metody pro prozkoumávání některých tahů až do hloubky 40 tahů. 2006 porazil program Deep Fritz na PC světového šampiona Vladimíra Kramnika 2 4. V současnosti vyhrávají turnaje i programy na slabším hardware mobilních telefonů s 20 tis. pozic/s. Othello světoví šampioni odmítají hrát s počítači, protože stroje jsou příliš dobré. Othello (též Reversi) pro dva hráče na desce 8 8 snaží se mezi své dva kameny uzavřít soupeřovy, které se přebarví. Až se zaplní deska, spočítají se kameny. Go do roku 2008 světoví šampioni odmítali hrát s počítači, protože stroje jsou příliš slabé. V Go je b > 300, takže počítače mohou používat téměř pouze znalostní bázi vzorových her. od 2009 první programy dosahují pokročilejší amatérské úrovně (zejména na desce 9 9, nižší úroveň i na 19 19). Úvod do umělé inteligence 7/12 4 / 25

Hry vs. Prohledávání stavového prostoru Typy her Typy her perfektní znalosti nepřesné znalosti deterministické šachy, dáma, Go, Othello s náhodou backgammon, monopoly bridge, poker, scrabble Úvod do umělé inteligence 7/12 5 / 25 Hry vs. Prohledávání stavového prostoru Hledání optimálního tahu Hledání optimálního tahu 2 hráči MA ( ) a ( ) MA je první na tahu a pak se střídají až do konce hry hra = prohledávací problém: počáteční stav počáteční herní situace + kdo je na tahu přechodová funkce vrací dvojice (legální tah, výsledný stav) ukončovací podmínka určuje, kdy hra končí, označuje koncové stavy utilitární funkce numerické ohodnocení koncových stavů Úvod do umělé inteligence 7/12 6 / 25

Hry vs. Prohledávání stavového prostoru Hledání optimálního tahu Hledání optimálního tahu pokrač. počáteční stav a přechodová funkce definují herní strom: MA () (O) MA () O O O... (O) O O O............... koncové stavy utilitární funkce O O O O O O O O O O 1 0 +1... Algoritmus Minimax Úvod do umělé inteligence 7/12 7 / 25 Algoritmus Minimax Hráč MA ( ) musí prohledat herní strom pro zjištění nejlepšího tahu proti hráči ( ) zjistit nejlepší hodnotu minimax zajišt uje nejlepší výsledek proti nejlepšímu protivníkovi Hodnota minimax(n) = utility(n), pro koncový stav n max s moves(n) Hodnota minimax(s), pro MA uzel n min s moves(n) Hodnota minimax(s), pro uzel n Úvod do umělé inteligence 7/12 8 / 25

Algoritmus Minimax Algoritmus Minimax pokrač. příklad hra jen na jedno kolo = 2 tahy (půlkola) MA 3 a 1 a 2 a 3 3 2 2 b 1 b 2 b 3 c 1 c 2 c 3 d 1 d 2 d 3 MA util.funkce 3 12 8 2 4 6 14 5 2 Úvod do umělé inteligence 7/12 9 / 25 Algoritmus Minimax Algoritmus Minimax pokrač. % minimax( +Pos, BestSucc, Val): % Pos je rozložení figur, Val je minimaxová hodnota tohoto rozložení; % nejlepší tah z Pos vede do rozložení BestSucc minimax( Pos, BestSucc, Val) :- moves( Pos, PosList),!, % PosList je seznam legálních tahů z Pos best( PosList, BestSucc, Val) ; staticval( Pos, Val). % Pos nemá následníky: ohodnotíme staticky best( [Pos], Pos, Val) :- minimax( Pos,, Val),!. best( [Pos1 PosList], BestPos, BestVal) :- minimax( Pos1,, Val1), best( PosList, Pos2, Val2), betterof( Pos1, Val1, Pos2, Val2, BestPos, BestVal). betterof( Pos0, Val0, Pos1, Val1, Pos0, Val0) :- % Pos0 je lepší než Pos1 min to move( Pos0), % na tahu v Pos0 Val0 > Val1,! % MA chce nejvyšší hodnotu ; max to move( Pos0), % MA na tahu v Pos0 Val0 < Val1,!. % chce nejmenší hodnotu betterof( Pos0, Val0, Pos1, Val1, Pos1, Val1). % jinak je Pos1 lepší než Pos0 Úvod do umělé inteligence 7/12 10 / 25

Algoritmus Minimax Algoritmus Minimax vlastnosti úplnost úplný pouze pro konečné stromy optimálnost je optimální proti optimálnímu oponentovi časová složitost O(b m ) prostorová složitost O(bm), prohledávání do hloubky šachy... b 35,m 100 přesné řešení není možné např. b m = 10 6,b = 35 m 4 4-tahy člověk-nováček 8-tahů člověk-mistr, typické PC 12-tahů Deep Blue, Kasparov Časové omezení Úvod do umělé inteligence 7/12 11 / 25 Algoritmus Minimax Časové omezení předpokládejme, že máme 100 sekund + prozkoumáme 10 4 uzlů/s 10 6 uzlů na 1 tah řešení minimax cutoff: ohodnocovací funkce odhad přínosu pozice nahradí utilitární funkci ořezávací test (cutoff test) např. hloubka nebo hodnota ohodnocovací funkce nahradí koncový test Úvod do umělé inteligence 7/12 12 / 25

Algoritmus Alfa-Beta prořezávání Algoritmus Alfa-Beta prořezávání Příklad stromu, který zpracuje predikát minmax Alfa-Beta odřízne expanzi některý uzlů Alfa-Beta procedura je efektivnější variantou minimaxu MA 4 4 2 MA 4 5 2 1 4 5 2 1 Úvod do umělé inteligence 7/12 13 / 25 Algoritmus Alfa-Beta prořezávání Algoritmus Alfa-Beta prořezávání vlastnosti prořezávání neovlivní výsledek je stejný jako u minimaxu dobré uspořádání přechodů (možných tahů) ovlivní efektivitu prořezávání v případě nejlepšího uspořádání časová složitost= O(b m/2 ) zdvojí hloubku prohledávání může snadno dosáhnout hloubky 8 v šachu, což už je použitelná úroveň označení α β: α... doposud nejlepší hodnota pro MAe β... doposud nejlepší hodnota pro a <α,β>... interval ohodnocovací funkce v průběhu výpočtu (na začátku <, >) minimax...v(p) α β...v(p,α,β) když V(P) α V(P,α,β) = α když α < V(P) < β V(P,α,β) = V(P) když V(P) β V(P,α,β) = β Úvod do umělé inteligence 7/12 14 / 25

Algoritmus Alfa-Beta prořezávání Algoritmus Alfa-Beta prořezávání alphabeta( Pos, Alpha, Beta, GoodPos, Val) :- moves( Pos, PosList),!, boundedbest( PosList, Alpha, Beta, GoodPos, Val) ; staticval( Pos, Val). % statické ohodnocení Pos boundedbest( [Pos PosList], Alpha, Beta, GoodPos, GoodVal) :- alphabeta( Pos, Alpha, Beta,, Val), goodenough( PosList, Alpha, Beta, Pos, Val, GoodPos, GoodVal). goodenough( [],,, Pos, Val, Pos, Val) :-!. % nejsou další kandidáti goodenough(, Alpha, Beta, Pos, Val, Pos, Val) :- min to move( Pos), Val > Beta,! % MA dosáhl horní hranici ; max to move( Pos), Val < Alpha,!. % dosáhl dolní hranici goodenough( PosList, Alpha, Beta, Pos, Val, GoodPos, GoodVal) :- newbounds( Alpha, Beta, Pos, Val, NewAlpha, NewBeta), % uprav hranice boundedbest( PosList, NewAlpha, NewBeta, Pos1, Val1), betterof( Pos, Val, Pos1, Val1, GoodPos, GoodVal). newbounds( Alpha, Beta, Pos, Val, Val, Beta) :- min to move( Pos), Val > Alpha,!. % newbounds( Alpha, Beta, Pos, Val, Alpha, Val) :- max to move( Pos), Val < Beta,!. % newbounds( Alpha, Beta,,, Alpha, Beta). % MA zvýšil dolní hranici snížil horní hranici jinak hranice nezměněny betterof( Pos, Val, Pos1, Val1, Pos, Val) :- min to move( Pos), Val > Val1,! ; max to move( Pos), Val < Val1,!. % Pos je lepší než Pos1 betterof(,, Pos1, Val1, Pos1, Val1). % jinak je lepší Pos1 Úvod do umělé inteligence 7/12 15 / 25 Algoritmus Alfa-Beta prořezávání Možnosti vylepšení Minimax/Alpha-Beta Možnosti vylepšení Minimax/Alpha-Beta vyhodnocovat pouze klidné stavy (quiescent search) při vyhodnocování počítat s efektem horizontu zvraty mimo prohledanou oblast dopředné ořezávání některé stavy se ihned zahazují bezpečné např. pro symetrické tahy nebo pro tahy hluboko ve stromu Úvod do umělé inteligence 7/12 16 / 25

Algoritmus Alfa-Beta prořezávání Ohodnocovací funkce Ohodnocovací funkce Černý na tahu Bílý ma o něco lepší pozici Bílý na tahu Černý vítězí Pro šachy typicky lineární vážený součet rysů Eval(s) = w 1 f 1 (s)+w 2 f 2 (s)+...+w n f n (s) = n i=1 w if i (s) např. w 1 = 9 f 1 (s) = (počet bílých královen) (počet černých královen)... Úvod do umělé inteligence 7/12 17 / 25 Algoritmus Alfa-Beta prořezávání Ohodnocovací funkce odchylky Ohodnocovací funkce odchylky MA 2 20 1 2 1 20 MA 1 2 2 4 1 20 20 400 chová se stejně pro libovolnou monotónní transformaci funkce Eval záleží pouze na uspořádání ohodnocení v deterministické hře funguje jako ordinální funkce Úvod do umělé inteligence 7/12 18 / 25

Nedeterministické hry Nedeterministické hry náhoda hod kostkou, hod mincí, míchání karet příklad 1 tah s házením mincí: MA 3 náhoda 3-1 /0.5 /0.5 /0.5 /0.5 2 4 0-2 2 4 7 4 6 0 5-2 Úvod do umělé inteligence 7/12 19 / 25 Nedeterministické hry Algoritmus Minimax pro nedeterministické hry Algoritmus Minimax pro nedeterministické hry expect minimax... počítá perfektní hru s přihlédnutím k náhodě rozdíl je pouze v započítání uzlů náhoda: utility(n) pro koncový stav n max s moves(n) expect minimax(s) pro MA uzel n expect minimax(n) = min s moves(n) expect minimax(s) pro uzel n s moves(n) P(s) expect minimax(s) pro uzel náhody n Úvod do umělé inteligence 7/12 20 / 25

Nedeterministické hry Prořezávání v nedeterministických hrách Prořezávání v nedeterministických hrách je možné použít upravené Alfa-Beta prořezávání MA 1.5 náhoda [1.5, 1.5] [, 0.5] /0.5 /0.5 /0.5 /0.5 [2,2] [1,1] [0, 0] [, 1] 2 2 2 1 0 1 1 Úvod do umělé inteligence 7/12 21 / 25 Nedeterministické hry Prořezávání v nedeterministických hrách Prořezávání v nedeterministických hrách pokrač. pokud je možno dopředu stanovit limity na ohodnocení listů ořezávání je větší MA 1.5 náhoda [1.5, 1.5] [ 2, 1] /0.5 /0.5 /0.5 /0.5 [2,2] [1,1] [ 2, 0] [ 2, 2] 2 2 2 1 0 Úvod do umělé inteligence 7/12 22 / 25

Nedeterministické hry Nedeterministické hry v praxi Nedeterministické hry v praxi hody kostkou zvyšují b se dvěma kostkami 21 možných výsledků backgammon 20 legálních tahů: hloubka 4 = 20 (21 20) 3 1.2 10 9 jak se zvyšuje hloubka pravděpodobnost dosažení zvoleného uzlu klesá význam prohledávání se snižuje alfa-beta prořezávání je mnohem méně efektivní program TDGammon používá prohledávání do hloubky 2 + velice dobrou Eval funkci dosahuje úrovně světového šampionátu Úvod do umělé inteligence 7/12 23 / 25 Nedeterministické hry Odchylka v ohodnocení nedeterministických her Odchylka v ohodnocení nedeterministických her MA 2.1 40.9 náhoda 2.1 1.3 21 40.9.9.1.9.1.9.1.9.1 2 3 1 4 20 30 1 400 2 2 3 3 1 1 4 4 20 20 30 30 1 1 400 400 chování je zachováno pouze pro pozitivní lineární transformaci funkce Eval Eval u nedeterministických her by tedy měla proporcionálně odpovídat očekávanému výnosu Úvod do umělé inteligence 7/12 24 / 25

Hry s nepřesnými znalostmi Hry s nepřesnými znalostmi např. karetní hry neznáme počáteční namíchání karet oponenta obvykle můžeme spočítat pravděpodobnost každého možného rozdání zjednodušeně jako jeden velký hod kostkou na začátku prohledáváme ovšem ne reálný stavový prostor, ale domnělý stavový prostor program Jack, nejčastější vítěz počítačových šampionátů v bridgi: 1. generuje 100 rozdání karet konzistentních s daným podáním 2. vybírá akci, která je v průměru nejlepší V roce 2006 porazil Jack na soutěži 3 ze 7 top holandských hráčských párů. Úvod do umělé inteligence 7/12 25 / 25