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

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

Obsah: Hry 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. von Neumann, 1944 algoritmy perfektní hry Zuse, Wiener, Shannon, přibližné vyhodnocování

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

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. 72 studentů

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

Dokumentace programu piskvorek

Úvod do teorie her

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)

a4b33zui Základy umělé inteligence

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

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

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

Algoritmy pro práci s neúplnou informací

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

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

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

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

Obsah: Problém osmi dam

TGH13 - Teorie her I.

A4B33ZUI Základy umělé inteligence

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

Základy umělé inteligence

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

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

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

Monte Carlo Tree Search. Marika Ivanová

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

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

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

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

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

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

Heuristiky, best-first search, A* search

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

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

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

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

Datové struktury 2: Rozptylovací tabulky

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

Úvod do teorie grafů

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

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

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

Složitost her. Herní algoritmy. Otakar Trunda

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

Optimalizace & soft omezení: algoritmy

Globální matice konstrukce

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

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

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

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

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

Algoritmizace prostorových úloh

Statistická teorie učení

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

Geneticky vyvíjené strategie Egyptská hra SENET

Pokročilá implementace deskové hry Dáma

UNIVERZITA PARDUBICE

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

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

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

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

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í.

Základy matematické analýzy

Vzdálenost uzlů v neorientovaném grafu

4EK201 Matematické modelování. 10. Teorie rozhodování

Úvod do teorie her

Numerické metody a programování. Lekce 8

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

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

Dekompozice problému, AND/OR grafy

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

ALGORITMY A DATOVÉ STRUKTURY

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Popisná statistika kvantitativní veličiny

Usuzování za neurčitosti

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

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

OSA. maximalizace minimalizace 1/22

Zajímavé aplikace teorie grafů

Operační výzkum. Teorie her. Hra v normálním tvaru. Optimální strategie. Maticové hry.

Teorie rozhodování (decision theory)

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

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

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

Ú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ů

Transkript:

Úvod do umělé inteligence Připomínka průběžná písemka Hry a základní herní strategie PŘIPOMÍNKA PRŮBĚŽNÁ PÍSEMKA E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ Obsah: Připomínka průběžná písemka Algoritmus Minimax Hry s nepřesnými znalostmi termín příští přednášku,. listopadu, :00, D, na začátku přednášky náhradní termín: není příklady (formou testu odpovědi A, B, C, D, E, z látky probrané prvních pěti přednáškách, včetně dnešní): uveden příklad v Prologu, otázka Co řeší tento program? uveden příklad v Prologu a cíl, otázka Co je (návratová) hodnota výsledku? upravte (doplňte/zmeňte řádek) uvedený program tak, aby uvedeno několik tvrzení, potvrďte jejich pravdivost/nepravdivost porovnání vlastností několika algoritmů rozsah: příklady hodnocení: max. bodů za správnou odpověď 8 bodů, za žádnou odpověď 0 bodů, za špatnou odpověď - bodů. Úvod do umělé inteligence 7/ /6 Úvod do umělé inteligence 7/ /6 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, střídající se agenti, výsledek hry je vzájemně opačný nebo shoda HRY A UI HISTORIE Babbage, 86 počítač porovnává přínos různých herních tahů von Neumann, 9 algoritmy perfektní hry Zuse, Wiener, Shannon, 95 50 přibližné vyhodnocování Turing, 95 první šachový program (jen na papíře) Samuel, 95 57 strojové učení pro zpřesnění vyhodnocování McCarthy, 956 prořezávání pro možnost hlubšího prohledávání 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í řešení her je zajímavým předmětem studia je obtížné: průměrný faktor větvení v šachách b = 5 pro 50 tahů hráčů prohledávací strom 5 00 0 5 uzlů ( 0 0 stavů) Úvod do umělé inteligence 7/ /6 Úvod do umělé inteligence 7/ /6

HRY A UI AKTUÁLNÍ VÝSLEDKY dáma 99 program Chinook porazil světovou šampionku Marion Tinsley. Používá úplnou databázi tahů pro 8 figur ( 78 0 7 pozic). šachy 997 porazil stroj Deep Blue světového šampiona Gary Kasparova / /. Stroj počítá 00 mil. pozic/s, sofistikované vyhodnocování a nezveřejněné metody pro prozkoumávání některých tahů až do hloubky 0 tahů. 006 porazil program Deep Fritz na PC světového šampiona Vladimíra Kramnika. V současnosti vyhrávají turnaje i programy na slabším hardware mobilních telefonů s 0 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 008 světoví šampioni odmítali hrát s počítači, protože stroje jsou příliš slabé. V Go je b > 00, takže počítače mohou používat téměř pouze znalostní bázi vzorových her. od 009 první programy dosahují pokročilejší amatérské úrovně (zejména na desce 9 9, nižší úroveň i na9 9). perfektní znalosti nepřesné znalosti TYPY HER deterministické s náhodou šachy, dáma, Go, Othello backgammon, monopoly bridge, poker, scrabble Úvod do umělé inteligence 7/ 5/6 Úvod do umělé inteligence 7/ 6/6 HLEDÁNÍ OPTIMÁLNÍHO TAHU pokrač. počáteční stav a přechodová funkce definují herní strom: HLEDÁNÍ OPTIMÁLNÍHO TAHU MA () hráči MA a, MA je první na tahu a pak se střídají až do konce hry hra = prohledávací problém: (O) počáteční stav počáteční herní situace + kdo je na tahu MA () O O O přechodová funkce vrací dvojice(legální tah, výsledný stav) ukončovací podmínka určuje, kdy hra končí, označuje koncové stavy (O) O O O utilitární funkce numerické ohodnocení koncových stavů koncové stavy utilitární funkce O O O O O O O O O O 0 + Úvod do umělé inteligence 7/ 7/6 Úvod do umělé inteligence 7/ 8/6

Algoritmus Minimax Algoritmus Minimax ALGORITMUS IMA pokrač. ALGORITMUS IMA příklad hra jen na jedno kolo = tahy (půlkola) MA ( ) musí prohledat herní strom pro zjištění nejlepšího tahu proti ( ) MA zjistit nejlepší hodnotu minimax zajišťuje nejlepší výsledek proti nejlepšímu protivníkovi a a a utility(n) pro koncový stav n Hodnota minimax(n) = max s moves(n) Hodnota minimax(s) pro MA uzeln min s moves(n) Hodnota minimax(s) pro uzeln MA util.funkce b b b 8 c c c 6 d d 5 d Úvod do umělé inteligence 7/ 9/6 Úvod do umělé inteligence 7/ 0/6 Algoritmus Minimax Algoritmus Minimax ALGORITMUS IMA 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( [Pos PosList], BestPos, BestVal) : minimax( Pos,, Val), best( PosList, Pos, Val), betterof( Pos, Val, Pos, Val, BestPos, BestVal). betterof( Pos0, Val0, Pos, Val, Pos0, Val0) : % Pos0 je lepší než Pos min to move( Pos0), % na tahu v Pos0 Val0 > Val,! % MA chce nejvyšší hodnotu ; max to move( Pos0), % MA na tahu v Pos0 Val0 < Val,!. % chce nejmenší hodnotu betterof( Pos0, Val0, Pos, Val, Pos, Val). % jinak je Pos lepší než Pos0 ALGORITMUS IMA 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 5,m 00 přesné řešení není možné např. b m = 0 6,b = 5 m -tahy člověk-nováček 8-tahů člověk-mistr, typické PC -tahů Deep Blue, Kasparov Úvod do umělé inteligence 7/ /6 Úvod do umělé inteligence 7/ /6

Algoritmus Minimax ALGORITMUS ALFA-BETA PROŘEZÁVÁNÍ Příklad stromu, který zpracuje predikát minmax ČASOVÉ OMEZENÍ Alfa-Beta odřízne expanzi některý uzlů Alfa-Beta procedura je efektivnější variantou minimaxu předpokládejme, že máme 00 sekund + prozkoumáme0 uzlů/s 0 6 uzlů na tah MA řešení: ohodnocovací funkce odhad přínosu pozice ořezávací test (cutoff test) např. hloubka nebo hodnota ohodnocovací funkce MA 5 5 Úvod do umělé inteligence 7/ /6 Úvod do umělé inteligence 7/ /6 ALGORITMUS ALFA-BETA VLASTNOSTI ALGORITMUS ALFA-BETA PROŘEZÁVÁNÍ 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/ ) 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,α,β) = β 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, Pos, Val), betterof( Pos, Val, Pos, Val, 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, Pos, Val, Pos, Val) : min to move( Pos), Val > Val,! ; max to move( Pos), Val < Val,!. % Pos je lepší než Pos betterof(,, Pos, Val, Pos, Val). % jinak je lepší Pos Úvod do umělé inteligence 7/ 5/6 Úvod do umělé inteligence 7/ 6/6

OHODNOCOVACÍ FUNKCE MOŽNOSTI VYLEPŠENÍ IMAU minimax cutoff je stejný jako minimax kromě:. koncový test ořezávací test. utilitární funkce ohodnocovací funkce další možnosti vylepšení: vyhodnocovat pouze klidné stavy (quiescent search) Černý na tahu Bílý ma o něco lepší pozici Bílý na tahu Černý vítězí při vyhodnocování počítat s efektem horizontu zvraty mimo prohledanou oblast Pro šachy typicky lineární vážený součet rysů dopředné ořezávání některé stavy se ihned zahazují bezpečné např. pro symetrické tahy nebo pro tahy hluboko ve stromu Eval(s) = w f (s)+w f (s)+...+w n f n (s) = n i= w if i (s) např. w = 9 f (s) = (počet bílých královen) (počet černých královen) Úvod do umělé inteligence 7/ 7/6 Úvod do umělé inteligence 7/ 8/6 NEDETERISTICKÉ HRY OHODNOCOVACÍ FUNKCE ODCHYLKY hod kostkou, hod mincí, míchání karet MA 0 příklad tah s házení mincí: MA 0-0 0 00 chová se stejně pro libovolnou monotónní transformaci funkce Eval 0 - záleží pouze na uspořádání ohodnocení v deterministické hře funguje jako ordinální funkce 7 6 0 5 - Úvod do umělé inteligence 7/ 9/6 Úvod do umělé inteligence 7/ 0/6

PROŘEZÁVÁNÍ V NEDETERISTICKÝCH HRÁCH ALGORITMUS IMA PRO NEDETERISTICKÉ HRY je možné použít upravené Alfa-Beta prořezávání expect minimax počítá perfektní hru s přihlédnutím k náhodě MA.5 rozdíl je pouze v započítání uzlů : utility(n) pro koncový stav n max s moves(n) expect minimax(s) pro MA uzeln expect minimax(n) = min s moves(n) expect minimax(s) pro uzeln s moves(n) P(s) expect minimax(s) pro uzel náhodyn [,] [.5,.5] [,] [0,0] [, 0.5] [, ] 0 Úvod do umělé inteligence 7/ /6 Úvod do umělé inteligence 7/ /6 PROŘEZÁVÁNÍ V NEDETERISTICKÝCH HRÁCH pokrač. pokud je možno dopředu stanovit limity na ohodnocení listů ořezávání je větší NEDETERISTICKÉ HRY V PRAI MA.5 hody kostkou zvyšují b se dvěma kostkami možných výsledků backgammon 0 legálních tahů: [.5,.5] [, ] hloubka = 0 ( 0). 0 9 jak se zvyšuje hloubka pravděpodobnost dosažení zvoleného uzlu klesá význam prohledávání se snižuje [,] [,] [, 0] [, ] alfa-beta prořezávání je mnohem méně efektivní program TDGammon používá prohledávání do hloubky + velice dobrou Eval funkci dosahuje úrovně světového šampionátu 0 Úvod do umělé inteligence 7/ /6 Úvod do umělé inteligence 7/ /6

Hry s nepřesnými znalostmi ODCHYLKA V OHODNOCENÍ NEDETERISTICKÝCH HER MA. 0 HRY S NEPŘESNÝMI ZNALOSTMI např. karetní hry neznáme počáteční namíchání karet oponenta.. 0 obvykle můžeme spočítat pravděpodobnost každého možného rozdání.. 0. 0. 00 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:. generuje 00 rozdání karet konzistentních s daným podáním 0 0 0 0 00 00. vybírá akci, která je v průměru nejlepší V roce 006 porazil Jack na soutěži ze 7 top holandských hráčských párů. 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/ 5/6 Úvod do umělé inteligence 7/ 6/6