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

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

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

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:

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

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

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

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

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

Algoritmy pro hraní tahových her

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

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

Základy umělé inteligence

Úvod do teorie her

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

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

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

Varianty Monte Carlo Tree Search

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

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

Algoritmy pro práci s neúplnou informací

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

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

a4b33zui Základy umělé inteligence

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

Monte Carlo Tree Search. Marika Ivanová

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

A4B33ZUI Základy umělé inteligence

TGH13 - Teorie her I.

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

Složitost her. Herní algoritmy. Otakar Trunda

(Ne)kooperativní hry

UNIVERZITA PARDUBICE

Obsah: Problém osmi dam

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

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

Umělá inteligence a rozpoznávání

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

Dokumentace programu piskvorek

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

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Základy umělé inteligence

2016, Brno Teorie Her

Šachové algoritmy využívající hluboké neuronové sítě

Umělá inteligence. UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI. Letošní cena nadace Vize Joseph Weizenbaum

Zpětnovazební učení Michaela Walterová Jednoocí slepým,

Optimalizace & soft omezení: algoritmy

Úvod do teorie her

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

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

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

Geneticky vyvíjené strategie Egyptská hra SENET

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

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Předmět: Algoritmizace praktické aplikace

Pavel Veselý Proof-number search, Lambda search a jejich vylepšení

Binární vyhledávací stromy pokročilé partie

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

GENERAL GAME PLAYING Marika Ivanová Seminář Herní Algoritmy,

Heuristické řešení problémů. Seminář APS Tomáš Müller

INTELIGENTNÍ REAKTIVNÍ AGENT PRO HRU MS. PAC- MAN INTELLIGENT REACTIVE AGENT FOR THE GAME MS. PACMAN

NADANÝ ŽÁK A JEHO MOŽNOSTI ROZVOJE VE VOLNÉM ČASE

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY REVERSI REVERSI FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Prohledávání do šířky = algoritmus vlny

Teorie rozhodování (decision theory)

Gymnázium, Praha 6, Arabská 14. předmět Programování, vyučující Tomáš Obdržálek. Počítačová hra Fotbalový Manažer. ročníkový projekt.

Grafové algoritmy. Programovací techniky

Genetické programování

Úvod do teorie her. 6. Koaliční hry

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

Alfa-beta algoritmus pro umělou inteligenci hry šachy

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

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

TEORIE HER Meta hry PŘEDNÁŠKA. OPTIMALIZACE A ROZHODOVÁNÍ V DOPRAVĚ část druhá Přednáška 4. Zuzana Bělinová

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

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

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

TEORIE HER - ÚVOD PŘEDNÁŠKA. OPTIMALIZACE A ROZHODOVÁNÍ V DOPRAVĚ část druhá Přednáška 2. Zuzana Bělinová

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

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

Hledáme efektivní řešení úloh na grafu

OBECNÉ METODY VYROVNÁNÍ

Pokročilá implementace deskové hry Dáma

Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]

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

Lineární diskriminační funkce. Perceptronový algoritmus.

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

Rozhodovací procesy 10

Václav Matoušek KIV. Umělá inteligence a rozpoznávání. Václav Matoušek / KIV

Vhodné k testování AI technik protože a) není třeba množství znalostí b) snadno se měří úspěšnost (výhra/prohra)

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

Transkript:

! Kyberne(ka!a!umělá!inteligence! 8.!Hraní!dvouhráčových!her,!adversariální! prohledávání!stavového!prostoru!!!! Ing.%Michal%Pěchouček,%Ph.D.% Katedra%kyberne;ky% ČVUT%v%Praze,%FEL% Evropský!sociální!fond! Praha!&!EU:!Investujeme!do!vaší!budoucnos(!

Hraní dvouhráčových her, adversariální prohledávání stavového prostoru Michal Pěchouček Department of Cybernetics Czech Technical University in Prague http://labe.felk.cvut.cz/ pechouc/kui/games.pdf

ppoužitá literatura pro umělou inteligenci :: Artificial Intelligence: A Modern Approach (Second Edition) by Stuart Russell and Peter Norvig, 2002 Prentice Hall. http://aima.cs.berkeley.edu/

pprohledávání při hraní dvouhráčových her adversariální prohledávání (adversarial search) stavového prostoru (hraní her), implementuje inteligencí rozhodování v komutativním prostředí, kde dva nebo více agentů mají konfliktní cíle. teorie her komplikovaná vědní discipĺına, součást ekonomiky která analyzuje chování jednotlivých hráčů a výhodnost jejich strategíı (především s ohledem na stabilitu, maximalizaci společného zisku, atp.) ve vícehráčovém prostředí. /Úvod

pprohledávání při hraní dvouhráčových her adversariální prohledávání (adversarial search) stavového prostoru (hraní her), implementuje inteligencí rozhodování v komutativním prostředí, kde dva nebo více agentů mají konfliktní cíle. teorie her komplikovaná vědní discipĺına, součást ekonomiky která analyzuje chování jednotlivých hráčů a výhodnost jejich strategíı (především s ohledem na stabilitu, maximalizaci společného zisku, atp.) ve vícehráčovém prostředí. V umělé inteligence budeme především pracovat s následujícím typem her: deterministické s prvkem náhody s úplnou informací šachy, go, reversi backgamon s neúplnou informací stratego, wargaming bridge, poker, scrabble /Úvod

pprohledávání při hraní dvouhráčových her adversariální prohledávání (adversarial search) stavového prostoru (hraní her), implementuje inteligencí rozhodování v komutativním prostředí, kde dva nebo více agentů mají konfliktní cíle. teorie her komplikovaná vědní discipĺına, součást ekonomiky která analyzuje chování jednotlivých hráčů a výhodnost jejich strategíı (především s ohledem na stabilitu, maximalizaci společného zisku, atp.) ve vícehráčovém prostředí. V umělé inteligence budeme především pracovat s následujícím typem her: deterministické s prvkem náhody s úplnou informací šachy, go, reversi backgamon s neúplnou informací stratego, wargaming bridge, poker, scrabble Stavový prostor hry (herní strom) je dán opět počátečním stavem, stavovým operátorem, testem na ukončení hry a užitkovou funkcí. Cílem adversariálního prohledávání je nalézt nikoliv stav prostoru, nýbrž herní strategii. Strategie vybere nejvhodnější tah s ohledem na racionalitu protihráče. Optimální herní strategie je taková strategie (nepřesně), pro kterou neexistuje žádná lepší strategie, která by vedla k lepšímu výsledku při hře s bezchybným oponentem. /Úvod

O O O... O O O............... O O O O O O O O O O 1 0 +1...

pminimax Algoritmus MINIMA algoritmus děĺı stavový prostor do MA a MIN úrovní. Na každé MA úrovni hráč A vybere tah s maximálním užitkem a na každé MIN úrovni vybere protihráč tah naopak minimalizující užitek hráče A. http://ai-depot.com/logicgames/minimax.html /Úvod

MA () MIN (O) MA () O O O... MIN (O) O O O............... TERMINAL Utility O O O O O O O O O O 1 0 +1... /Úvod

pminimax Algoritmus MINIMA algoritmus děĺı stavový prostor do MA a MIN úrovní. Na každé MA úrovni hráč A vybere tah s maximálním užitkem a na každé MIN úrovni vybere protihráč tah naopak minimalizující užitek hráče A. http://ai-depot.com/logicgames/minimax.html Každý uzel ohodnotíme tzv. MINIMA hodnotou: 8 < utility(n) minimax(n) = max : s2successors(n) minimax(n) min s2successors(n) minimax(n) pro n terminalni uzel pro n je MA uzel pro n je MIN uzel /Úvod

pminimax Algoritmus MA 3 A a 1 a 2 a 3 MIN B C D 3 2 2 b1 b2 b3 c1 c2 c3 d 1 d 2 d 3 3 12 8 2 4 6 14 5 2 /Úvod

pminimax Algoritmus to move A ( 1, 2, 6) B ( 1, 2, 6) ( 1, 5, 2) C ( 1, 2, 6) ( 6, 1, 2) ( 1, 5, 2) ( 5, 4, 5) A ( 1, 2, 6) ( 4, 2, 3) ( 6, 1, 2) ( 7, 4, 1) ( 5, 1, 1) ( 1, 5, 2) (7, 7, 1) ( 5, 4, 5) /Úvod

pminimax algoritmus function Minimax-Decision(state) returns an action inputs: state, current state in game return the a in Actions(state) maximizing Min-Value(Result(a, state)) function Max-Value(state) returns a utility value if Terminal-Test(state) then return Utility(state) v for a, s in Successors(state) do v Max(v, Min-Value(s)) return v function Min-Value(state) returns a utility value if Terminal-Test(state) then return Utility(state) v for a, s in Successors(state) do v Min(v, Max-Value(s)) return v /Úvod

pvlastnosti Algoritmu MinMax ú p l n é :ANO(je-liprostorkonečné) čas:

pvlastnosti Algoritmu MinMax ú p l n é :ANO(je-liprostorkonečné) čas: O(b d ) paměť:

pvlastnosti Algoritmu MinMax ú p l n é :ANO(je-liprostorkonečné) čas: O(b d ) paměť: O(bd) optimální:

pvlastnosti Algoritmu MinMax ú p l n é :ANO(je-liprostorkonečné) čas: O(b d ) paměť: O(bd) optimální: ano

pcut-o search Problém minimaxu je, že počet stavů hry roste exponenciálně s počtem tahů. V reálných hrách je prostor hry ohromný a nelze ho celý prohledat v rozumném čase. Tento problém lze řešit pomocí: omezením hloubky d terminal test nahradíme cut off test odhadu místo přesné hodnoty užitku v případě, že d<b utility nahradíme eval. příklad funkce eval může být: počet vyřazených figurek vážený součet počtu vyřazených figurek vážený součet vhodnosti strategickém umístěni každé figurky /Úvod

pcut-o search Problém minimaxu je, že počet stavů hry roste exponenciálně s počtem tahů. V reálných hrách je prostor hry ohromný a nelze ho celý prohledat v rozumném čase. Tento problém lze řešit pomocí: omezením hloubky d terminal test nahradíme cut off test odhadu místo přesné hodnoty užitku v případě, že d<b utility nahradíme eval. příklad funkce eval může být: počet vyřazených figurek vážený součet počtu vyřazených figurek vážený součet vhodnosti strategickém umístěni každé figurky eval(s) =w 1 f 1 (s)+w 2 f 2 (s)+... + w n f n (s) = i=1 n w i f i (s) např., pro w 1 =9, f 1 (s) = (number of white queens) - (number of black queens) /Úvod

pcut-o search Problém minimaxu je, že počet stavů hry roste exponenciálně s počtem tahů. V reálných hrách je prostor hry ohromný a nelze ho celý prohledat v rozumném čase. Tento problém lze řešit pomocí: omezením hloubky d terminal test nahradíme cut off test odhadu místo přesné hodnoty užitku v případě, že d<b utility nahradíme eval. příklad funkce eval může být: počet vyřazených figurek vážený součet počtu vyřazených figurek vážený součet vhodnosti strategickém umístěni každé figurky /Úvod

pcut-o search degrese: přesné hodnoty eval nejsou důležité - korektní chování algoritmu je zachováno při libovolné monotónní transformaci /Úvod

pcut-o search degrese: přesné hodnoty eval nejsou důležité - korektní chování algoritmu je zachováno při libovolné monotónní transformaci MA MIN 1 2 1 20 1 2 2 4 1 20 20 400 /Úvod

pcut-o search degrese: přesné hodnoty eval nejsou důležité - korektní chování algoritmu je zachováno při libovolné monotónní transformaci problémy, zlepšení: /Úvod

pcut-o search degrese: přesné hodnoty eval nejsou důležité - korektní chování algoritmu je zachováno při libovolné monotónní transformaci problémy, zlepšení: je třeba ohodnocovat pomocí eval jen klidné (quiescent) stavy stavy, které nezpůsobí následnou výraznou změnu v hodnotě /Úvod

pcut-o search degrese: přesné hodnoty eval nejsou důležité - korektní chování algoritmu je zachováno při libovolné monotónní transformaci problémy, zlepšení: je třeba ohodnocovat pomocí eval jen klidné (quiescent) stavy stavy, které nezpůsobí následnou výraznou změnu v hodnotě je třeba zabránit horizontálnímu efektu situaci, kdy program musí udělat tah, který způsobí velkou ztrátu /Úvod

pcut-o search degrese: přesné hodnoty eval nejsou důležité - korektní chování algoritmu je zachováno při libovolné monotónní transformaci problémy, zlepšení: je třeba ohodnocovat pomocí eval jen klidné (quiescent) stavy stavy, které nezpůsobí následnou výraznou změnu v hodnotě je třeba zabránit horizontálnímu efektu situaci, kdy program musí udělat tah, který způsobí velkou ztrátu /Úvod

pcut-o search degrese: přesné hodnoty eval nejsou důležité - korektní chování algoritmu je zachováno při libovolné monotónní transformaci problémy, zlepšení: je třeba ohodnocovat pomocí eval jen klidné (quiescent) stavy stavy, které nezpůsobí následnou výraznou změnu v hodnotě je třeba zabránit horizontálnímu efektu situaci, kdy program musí udělat tah, který způsobí velkou ztrátu lze použít singulární extenzi tah, který jde za cut-off, ale jasně zlepšuje eval hodnotu (podobné jako quiescent prohledávání ale s b =1) /Úvod

pcut-o search degrese: přesné hodnoty eval nejsou důležité - korektní chování algoritmu je zachováno při libovolné monotónní transformaci problémy, zlepšení: je třeba ohodnocovat pomocí eval jen klidné (quiescent) stavy stavy, které nezpůsobí následnou výraznou změnu v hodnotě je třeba zabránit horizontálnímu efektu situaci, kdy program musí udělat tah, který způsobí velkou ztrátu lze použít singulární extenzi tah, který jde za cut-off, ale jasně zlepšuje eval hodnotu (podobné jako quiescent prohledávání ale s b =1) Mějme k dispozici 3 minuty s a uvažujme 10 6 operací za sekundu. Můžeme tedy prohledat 50 10 6 uzlů na tah což je 35 5. V šachách můžeme tedy pracovat s hloubkou 5. /Úvod

palfa-beta Prořezávání Velikost stavového prostoru hry lze rovněž efektivně zmenšit pomocí metody alfa-beta prořezávání. Tato metoda umožní identifikovat části stavového prostoru, které jsou nalezení optimálního řešení neelegantně. Při aplikaci na standardní stavový prostor vrátí stejnou strategii jako Minimax a prořeže nerelevantní části prostoru. /Úvod

palfa-beta Prořezávání Velikost stavového prostoru hry lze rovněž efektivně zmenšit pomocí metody alfa-beta prořezávání. Tato metoda umožní identifikovat části stavového prostoru, které jsou nalezení optimálního řešení neelegantně. Při aplikaci na standardní stavový prostor vrátí stejnou strategii jako Minimax a prořeže nerelevantní části prostoru. MA 3 A a 1 a 2 a 3 MIN B C D 3 2 2 b1 b2 b3 c1 c2 c3 d 1 d 2 d 3 3 12 8 2 4 6 14 5 2 min-max(a) = max(min(3, 12, 8), min(2, 4, 6), min(14, 5, 2)) = max(3, min(2, x, y), 2) = max(3,z,2),z apple 2 /Úvod

palfa-beta Prořezávání Velikost stavového prostoru hry lze rovněž efektivně zmenšit pomocí metody alfa-beta prořezávání. Tato metoda umožní identifikovat části stavového prostoru, které jsou nalezení optimálního řešení neelegantně. Při aplikaci na standardní stavový prostor vrátí stejnou strategii jako Minimax a prořeže nerelevantní části prostoru. Klasický Minimax algoritmus rozšíříme následujícím způsobem: zavedeme hodnotu: nejlepší známá hodnota pro uzel MA nejlepší známá hodnota pro uzel MIN na každé MA úrovni před tím než ohodnotíme následníky, rovnáme minmax hodnotu s hodnotou. je-li minmax > pak se tato část stromu se neprohledává na každé MIN úrovni před tím než ohodnotíme následníky, rovnáme minmax hodnotu s hodnotou. je-li minmax < pak se tato část stromu se neprohledává /Úvod

palfa-beta Prořezávání function Alpha-Beta-Decision(state) returns an action return the a in Actions(state) maximizing Min-Value(Result(a, state)) function Max-Value(state, α, β) returns a utility value inputs: state, current state in game α, the value of the best alternative for max along the path to state β, the value of the best alternative for min along the path to state if Terminal-Test(state) then return Utility(state) v for a, s in Successors(state) do v Max(v, Min-Value(s, α, β)) if v β then return v α Max(α, v) return v function Min-Value(state, α, β) returns a utility value same as Max-Value but with roles of α, β reversed /Úvod

(a) [, + ] A (b) [, + ] A [, 3 ] B [, 3 ] B 3 3 12 (c) [ 3, + ] A (d) [ 3, + ] A [ 3, 3 ] B [ 3, 3 ] B [, 2 ] C 3 12 8 3 12 8 2 (e) [ 3, 14 ] A (f) [ 3, 3 ] A [ 3, 3 ] [, 2 ] [, 14 ] B C D [ 3, 3 ] [, 2 ] [ 2, 2 ] B C D 3 12 8 2 14 3 12 8 2 14 5 2

palfa-beta Prořezávání Player Opponent m...... Player Opponent n /Úvod

pvlastnosti Alpha-Beta Prořezávání prořezávání nemá vliv na výsledek /Úvod

pvlastnosti Alpha-Beta Prořezávání prořezávání nemá vliv na výsledek lze dokázat, že časová náročnost klesne na O(b d/2 ) v případě, že vždy vybere nejlepší expandand (to implikuje možnost zdvojnásobit hloubku prohledávání) /Úvod

pvlastnosti Alpha-Beta Prořezávání prořezávání nemá vliv na výsledek lze dokázat, že časová náročnost klesne na O(b d/2 ) v případě, že vždy vybere nejlepší expandand (to implikuje možnost zdvojnásobit hloubku prohledávání) při náhodném výběru časová náročnost klesne na O(b 3d/4 ) /Úvod

ṕuspěšné herní algoritmy Dáma: v roce 1994 porazil poprvé po 40 letech algoritmus chinook mistryni světa v dámě Marion Tinsley. Bylo použito databáze koncových tahů pro všechny pozice, které zahrnovali 8 a méně kamenů na šachovnici. Koncových tahů bylo celkem 443,748,401,247 Šachy: v roce 1997 porazil Deep Blue Garyho Kasparova v šestikolovém zápasu. Deep Blue prohledal 200 million pozic za vteřinu a použil velmi sofistikované (a tajné) metody evaluace, které místy umožnily prohledávání do hloubky 40 tahů Othello: lidé odmítají hrát s počítačem... Go: lidé odmítají hrát s počítačem... (je přespříliš dobrý). V Go je b>300. Většina algoritmu používá databáze tahů. /Úvod

phry s prvkem náhody Aplikace klasické metody MINIMAU, kdy MINIMA hodnoty jsou nahrazeny očekávanými hodnotami EMINMA: /Úvod

phry s prvkem náhody 0 1 2 3 4 5 6 7 8 9 10 11 12 25 24 23 22 21 20 19 18 17 16 15 14 13

phry s prvkem náhody Aplikace klasické metody MINIMAU, kdy MINIMA hodnoty jsou nahrazeny očekávanými hodnotami EMINMA: /Úvod

phry s prvkem náhody Aplikace klasické metody MINIMAU, kdy MINIMA hodnoty jsou nahrazeny očekávanými hodnotami EMINMA: eminimax(n) = 8 >< >: utility(n) max s2successors(n) eminimax min s2successors(n) eminimax P s2successors(n) P (s).eminimax pro n terminalni uzel pro n je MA uzel pro n je MIN uzel pro n je uzel nahody /Úvod

phry s prvkem náhody Aplikace klasické metody MINIMAU, kdy MINIMA hodnoty jsou nahrazeny očekávanými hodnotami EMINMA: MA CHANCE MIN B............ 1/36 1,1 1/18 1,2......... 1/18 1/36 6,5 6,6...... CHANCE C............ MA 1/36 1,1... 1/18 1,2... 1/18 1/36 6,5 6,6...... TERMINAL 2 1 1 1 1 /Úvod

phry s prvkem náhody hod kostkou zvyšuje b 21 možných hodů se 2 kostkami. Backgammon má cca 20 legálních tahů. depth 4 = 20 (21 20) 3 1.2 10 9 se vzrůstající hloubkou klesá pravěpodobnost dosažení daného uzlu ) význam predikce klesá / prořezávání je velmi efektivní TDGammon prohledává do hloubky 2 a používá velmi dobrou funkci eval mistrovská úroveň /Úvod