Algoritmy pro hraní tahových her



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

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

Základy umělé inteligence

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

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

Varianty Monte Carlo Tree Search

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

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

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

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. agent musí brát v úvahu akce jiných agentů jak ovlivní jeho. vliv ostatních agentů prvek náhody. Hry: Obsah:

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

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

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

Dokumentace programu piskvorek

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

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

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. Hry vs. Prohledávání stavového prostoru. Obsah:

Hry a UI historie. 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

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

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

Šachy, vrhcáby (backgammon) & dáma

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

strategická desková hra pro dva hráče

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 práci s neúplnou informací

Úvod do teorie her

Geneticky vyvíjené strategie Egyptská hra SENET

Internetový čtrnáctideník pro šachové nadšence hledající zábavu i poučení.

CAS. Czech Association of Shogi

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

Mezinárodní dáma. Příručka základů hry pro školní workshopy

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

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

TEORIE HER

ŘEŠENÍ PŘÍKLADŮ Šachová cvičebnice, 7. díl ( lekce)

Mikyho šachové souboje v Chile

DOBRÝ A ŠPATNÝ STŘELEC

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

ŠK AD Jičín

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

Pravidla šachu FIDE platná od

Šachový turnaj TECHEM CUP

VĚŽOVÉ KONCOVKY V PRAXI

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

ŘEŠENÍ PŘÍKLADŮ Šachová cvičebnice, 2. díl ( lekce)

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

Po e5 se situace znovu mění. Černý vytváří hrozby obdobné jako bílý.

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

Král a pěšec proti králi

SEDMÁ A OSMÁ ŘADA. Seminární práce na školení trenérů III. třídy 2012

Složitost her. Herní algoritmy. Otakar Trunda

Kunovice B Staré Město H

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.

Přehled hry Délka hry: 5 minut Počet hráčů: 2 Každý hráč reprezentuje jeden klan, který usiluje o získání kontroly nad královstvím.

Čtvercové, krychlové a teseraktové minipiškvorky

ŠK AD Jičín

ŘEŠENÍ PŘÍKLADŮ Šachová cvičebnice, 5. díl ( lekce)

KPI, 4. kolo, Judrov-Uni, , 4:4. František Růžička - Tomáš Lakatoš

Analýza problému k vytvoření programu Dáma

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

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


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

Základní kurs pro začátečníky v kroužcích

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

UNIVERZITA PARDUBICE

HRACÍ STŮL NÁVOD K POUŽITÍ

Praktické partie. 1. Alapin S. Čigorin, St. Petersburg 1877

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

Pokročilá implementace deskové hry Dáma

Použití dalších heuristik

Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

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

ŘEŠENÍ PŘÍKLADŮ Šachová cvičebnice, 3. díl ( lekce)

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

Základy umělé inteligence

Obsah herní sady: 40x dřevěný kámen hrací deska návod

Monte Carlo Tree Search. Marika Ivanová

HRA GOMOKU FAKULTA INFORMAČNÍCH TECHNOLOGIÍ BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS

Velehrad ŠO Kunovice B 2-6

Optimalizace & soft omezení: algoritmy

Úvod do teorie grafů

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

TGH13 - Teorie her I.

Šachy do škol seminář učitelů Zlín. Připravil Jan Weiser

Základní pravidla hry Squash

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

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

šestice, str.1 Systém hry a pravidla:

PRAVIDLA: ÚROVEŇ 4 BALÍČEK VS BALÍČEK

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

O pohár starosty města Modřice

Dále jsou ke hře potřeba dvě sady kamenů (figur) bílé a černé. Každá sada obsahuje

Transkript:

Algoritmy pro hraní tahových her Klasické deskové hry pro dva hráče: Šachy Dáma Go Piškvorky Reversi Oba hráči mají úplnou znalost pozice (na rozdíl např. od Pokeru). 1

Základní princip Hraní tahových her je zcela přirozeně spojováno s představou prohledávání stavového prostoru, tj. jakéhosi zkoušení možných tahů. Téměř všichni lidé tímto způsobem hrají, přemýšlejí, co by soupeř mohl udělat, pokud provedou zvažovaný tah. Nejčastěji používané algoritmy jsou ty, které prohledávají stavový prostor systematicky do určité hloubky. 2

Stavový prostor (Konečný) strom, kde vrcholy jsou pozice hry hrany odpovídají všem možným tahům v dané pozici potomek je pozice vzniklá provedením jednoho tahu listy jsou koncové pozice Pozice, ve které je na tahu 1. hráč Pozice, ve kterých je na tahu 2. hráč..... 3

Existence vítěze (první hráč) R V P R R V V P R P P V 4

Existence vítěze (druhý hráč) R P P R P P V P P P P V 5

Optimální strategie pro klasické hry Piškvorky - klasická varianta, cílem je vytvořit souvislý pás 5-ti značek Existuje neprohrávající strategie pro začínajícího hráče. Důkaz sporem: první tah můžeme zahodit následně ukradnout vítěznou strategii druhého hráče 15x15 dokázáno, že pro začínajícího hráče existuje vítězná strategie 6

Optimální strategie pro klasické hry Dáma Optimální hra obou hráčů vede k remíze Dokázáno v roce 2007 za použití velké výpočetní síly Chinook nejsilnější počítačový program na dámu Nebylo zanalyzováno, jakým způsobem hrát, pokud se protihráč odchýlí od optimální strategie 7

Optimální strategie pro klasické hry Reversi 8x8: otázka optimální strategie dosud nevyřešena hypotéza: opt. strategie vede k remíze 4x4, 6x6: nezačínající hráč vyhraje Nejlepší počítačové programy na Reversi snadno porážejí lidské soupeře. Šachy, Go: velmi komplexní hry, příliš mnoho pozic, výsledek optimální strategie neznámý 8

Stavový prostor omezený hloubkou Nelze prohledat kompletní stavový prostor. Omezíme se na určitou hloubku Zavedeme ohodnocení pozic reprezentovaných v listech ohodnocení pozice je reálné číslo : r r r r > 0 < 0 = 0 pozice je výhodnější pro prvního hráče pozice je výhodnější pro druhého hráče pozice je nerozhodná 5.2 0-3 9

Algoritmus minimaxu 1 MAX 1 0-3 MIN 2 1 0 7 3 0-3 MAX -5 2 1-8 2 5 7 3 0-4 -3-6 10

Je nutné procházet všechny vrcholy? 7 MAX 7 6 08 MIN 9 8 7 6 9 2 8 0-3 11

Algoritmus alfa-beta ořezávání V průběhu prohledávání stavového prostoru udržujeme dvě hodnoty: alfa reprezentuje ohodnocení garantované pro prvního hráče beta ohodnocení garantované pro druhého hráče Na počátku je alfa = -, beta = + Funkce (s návratovou hodnotou ohodnocení pro node ): alphabeta(node, depth, α, β, player) Iniciální volání: alphabeta(root, max_depth, -, +, MAX_PLAYER); 12

Algoritmus alfa-beta ořezávání alphabeta(node, depth, α, β, player): if depth = 0 node is leaf return score(node); if player = MAX_PLAYER for each child of node do α := max(α, alphabeta(child, depth-1, α, β, not(player))); if β α break; // β-ořezání return α; else for each child of node do β := min(β, alphabeta(child, depth-1, α, β, not(player))); if β α break; // α-ořezání return β; 13

Jaké je zlepšení oproti minimaxu 1. V nejhorším případě neořežeme nic. 2. V nejlepším případě prohledáme ve stejném čase strom do dvojnásobné hloubky. 3. V průměrném případě zvětšíme hloubku o jednu třetinu. 7 MAX -1 2 7 MIN 1 3-1 6 2 2 7 0-3 14

Další možnosti pro vylepšení Heuristiky: Přednostně je dobré procházet ty části stromu, které co nejdříve vynutí alfa-beta ořezání. Tahy, ve kterých se berou figury. Pozice, které získaly vysoké ohodnocení v předchozím kole. Tah, který v předchozím kole způsobil β-ořezání. Jiné algoritmy: Negascout závislý na vhodném uspořádání vrcholů, v průměrném případě zlepšení o 10%, šachové algoritmy jej používají nejčastěji SCOUT, MTD-f 15

Jak ohodnotit pozici Šachy: Koncová pozice: výhra +, prohra, remíza 0 Jinak kombinace následujícího 1. Hodnota všech figur hráče (mínus hodnota soupeře) 2. Počet ohrožovaných polí 3. Speciální konfigurace (dvojpěšec, volný pěšec, ovládnutý volný sloupec) 1 3 3 5 9 = 16

Vyladění algoritmu Jakým způsobem kombinovat faktory při ohodnocování pozice? zavedení vah: α + 1F1 + α 2F2 α3f3 Kolik času přidělit na prohledávání do hloubky a kolik na ohodnocování? Můžeme vytvořit několik verzí algoritmu, nechat je hrát proti sobě a vybrat vítěze. Lze i hledat optimální nastavení parametrů automaticky, například s využitím genetických algoritmů. 17

Kdy je potřeba dohledávat Situace: List minimaxového stromu reprezentuje pozici, ve které 1. hráč v posledním tahu sebral dámou soupeřova střelce. Takováto pozice získá dobré ohodnocení. Střelec byl ale pravděpodobně krytý a v následujícím tahu může 1. hráč přijít o dámu. Řešení: z uvedené pozice provedeme opět prohledání do omezené hloubky a zjistí, jakým způsobem se výměna figur může vyvíjet. 18

Jaké tahy lze předpočítat 1. Zahájení knihovna několika prvních tahů, které nevedou k nevýhodné pozici Sicilská obrana (Najdorfova varianta) 1. e4 c5 2. Jf3 d6 3. d4 cxd4 4. Jxd4 Jf6 5. Jc3 a6 19

Jaké tahy lze předpočítat 2. Koncovky jak hrát optimálně v poslední fázi hry Šachy, dáma: zbývá několik málo figur Reversi: zbývá položit posledních pár kamenů Nemá smysl uvažovat pozice, které rychle dořešíme do konce minimaxním stromem. 20

Šachové koncovky Některé klasické situace král a věž proti králi král a dáma proti králi král a pěšec proti králi pravidlo opozice: Postup k vítězství může být zdlouhavý, prohledávání do omezené hloubky jej nemusí vůbec odhalit, je proto lepší aplikovat patřičnou strategii. 21

Tabulky šachových koncovek Endgame tablebase optimální tahy pro všechny situace, kdy na šachovnici zbývá maximálně 6 figur Vygenerováno pomocí retrográdní analýzy, postupuje se od koncové pozice zpět Nalimovovy tabulky: 5 a méně figur: 7.05 GB (použita speciální komprese) 6 figur: 1.2 TB 7 figur: více paměti, než je na světě k dispozici Shredder bitová varianta tabulek pro 5 a méně figur, má velikost 157 MB 22

Šachy - člověk proti počítači vs. G.Kasparov Deep Blue (IBM) 1996, výsledek 4-2 (3 výhry, 2 remízy, 1 prohra) 1997, výsledek 2½-3½ (1 výhra, 3 remízy, 2 prohry) - světový šampion poprvé poražen v zápase se strojem - ohodnoceno 200 mil. pozic za sekundu 23

Šachy - člověk proti počítači V.Kramnik vs. Deep Fritz 2002, 4-4 (2 výhry, 4 remízy, 2 prohry) 2006, 2-4 (0 výher, 4 remízy, 2 prohry) - ohodnoceno 8 mil. pozic za sekundu 2006, 2. partie černý na tahu (Kramnik) zahrál De3 24

Srovnání předností člověka a programu Program: + je silný v komplikovaných situacích s množstvím kombinací + obrovská znalost zahájení a koncovek + nevnímá hluk, stres, únavu, psychický tlak - malá znalost strategie - neodhalí plán na několik kol dopředu, efekt horizontu - obvykle zaměřen na materiální výhodu, neobětuje figuru, pokud se mu to brzy nevyplatí 25