Geneticky vyvíjené strategie Egyptská hra SENET



Podobné dokumenty
Genetické programování

Základy umělé inteligence

Algoritmy pro hraní tahových her

strategická desková hra pro dva hráče

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

Laser game. Návod ke hře. Manual ver. 1.1

Genetické programování 3. část

Algoritmy pro práci s neúplnou informací

27-SEP-10. Black Cyan Magenta Yellow. CÍL HRY Jako první vytlačit šest. v tazích - své kuličky lze posunout. pole.

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

Česká asociace squashe občanské sdružení IČ : Zátopkova 100/2, Praha 6 Strahov Tel./fax.: , 777/

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY ROČNÍKOVÝ PROJEKT KLOKAN. Informatika, II. ročník

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

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

Masarykova univerzita. Fakulta informatiky. Evoluce pohybu

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

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

Napínavé letecké závody pro dva chytré havrany od 10 let

Dokumentace programu piskvorek

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

HERNÍ KOMPONENTY 34 karet zakázek 132 karet palet 54 hexových žetonů palet a 1 startovní trojhexový žeton 4 karty nápovědy

Varianty Monte Carlo Tree Search

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

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

Úvod do teorie her

1. Úvod do genetických algoritmů (GA)

Habermaaß-hra Nešikovná čarodějnice

JAK HRÁT ON-LINE? 0. PŘIZPŮSOBTE SI SVŮJ ŠTÍT A SVÉ BARVY

Hledání správné cesty

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

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

PRAVIDLA HRY. Loris Games, s.r.o. Všechna práva vyhrazena.

A0M33EOA: Evoluční optimalizační algoritmy

Používají se standardní pravidla Pocket kulečníku, pokud se zde nestanoví výslovně jinak.

Martin Milata, Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už je od

9.5 Hlášené strky a potápění koulí

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

Teorie her. (ii) pouze triomina typu L:? 1 Ořechynelzejístpočástech.Např.zbývá-li11ořechů,sníhráč1,2nebo3kusy.

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.

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

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

Karty Prší. Anotace: Abstract: Gymnázium, Praha 6, Arabská 14 předmět Programování, vyučující Tomáš Obdržálek

Dobble HRA PLNÁ DIVOKÉ ATMOSFÉRY A RYCHLÝCH REFLEXŮ 2 AŽ 8 HRÁČŮ DOPORUČENÝ VĚK 6 A VÍCE LET. Pravidla

Informatika 8. třída/6

DUST SETUP. následně každý hráč odloží hranou kartu a začíná první kolo. HERNÍ KOLO

Evoluční výpočetní techniky (EVT)

Princes of Florence - Pro Ludo

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

TGH13 - Teorie her I.

Genetické algoritmy a jejich praktické využití

Zadání soutěžních úloh

ODDVILLE hra pro 2 4 hráče od 10 let

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

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

KUBB HRA PRO VŠECHNY. Pravidla světového šampionátu

ALTERNATIVNÍ SPORTOVNÍ HRY II.

Cvičení 1. Přednášející: Mgr. Rudolf B. Blažek, Ph.D. prof. RNDr. Roman Kotecký, DrSc.

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/

- Postranní čáry musí být 15 metrů dlouhé 7,5 metru na straně každého týmu.

Hra pro 2 10 hráčů od deseti let. OBSAH HRY CÍL HRY

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na:

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

JAK HRÁT Petr Vojtěch Jindřich Pavlásek

Gramatická evoluce a softwarový projekt AGE

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

VÝBĚR A JEHO REPREZENTATIVNOST

Ve zkratce. Průběh hry. Herní materiál. Akce posun figurky vpřed. Tisk částí hry. Akce posun figurky zpět. Příprava hry. 2 varianty hry Lipno a Hořice

Počet hráčů: 2 4 Věk hráčů: 10+ Doba hraní: min

ROZPIS TURNAJE. Brněnský hod 2018 HM ČR 2018

Možná umístění karet: Tento příklad nabízí pět možných umístění, kam je možné zahrát kartu Švýcarska. Německo Braniborská brána, Berlín

5.5 Evoluční algoritmy

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

Abstrakt. V příspěvku se budeme zabývat kombinatorickými hrami s úplnou informací

TITÁNI NEBES PŘÍBĚH. možnosti, začínajícím hráčům však doporučujeme hrát nejdříve základní hru a rozšíření zapojit do hry až později.

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

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

Česká asociace Sport pro všechny KOMISE REKREAČNÍCH SPORTŮ

Složitost her. Herní algoritmy. Otakar Trunda

Pokrytí šachovnice I

PRAVIDLA HRY. Kuraki Mura Wee Yee Chong

Rozhodovací procesy v ŽP HRY A SIMULAČNÍ MODELY

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

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.

Algoritmizace a programování

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

Číslo výrobku: Sada na pétanque. Návod na hraní. Tchibo GmbH D Hamburg 95091AB2X3VIII

UPPAAL příklady. Jiří Vyskočil 2010

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

P R O P O Z I C E halového turnaje starších přípravek FAIR PLAY CUP /26. ročník/

Věk: 6+ Jak hrát. Goro-Goro Zvířátkové Shogi. Japonská Shogi Asociace / Shogi.cz

Základní škola a Mateřská škola G.A.Lindnera Rožďalovice. Můj koníček - fotbal. Jméno a příjmení: Filip Rejda Třída: 5. A

Návod. Logická hra pro 2 5 hráčů. Hrací doba: přibližně 45 minut. Věk: od 7 let. Obsah balení:

úplně vás zelektrizuje! Markus Schleininger Reinhard Staupe Heinz Wüppen Počet hráčů: 1-12 Věk: od 8 let Herní doba: okolo 15 min.

distribuce alel v populaci je vlivem driftu náhodná a může dojít i k eliminaci nebo fixaci alel

Piškvorky. Gymnázium, Praha 6, Arabská 16. Kristofer Filip, 1.E. Květen Stránka 1. předmět programování, vyučující Tomáš Obdržálek

UNIVERZITA PARDUBICE

FAZOLE KOSTKOVÁ HRA POPIS

Skvělá příležitost pro dva obchodníky od dvanácti let

Rozšířený obchod. Náhrada za slabý list (karty v ruce)

Státnice odborné č. 20

Transkript:

Geneticky vyvíjené strategie Egyptská hra SENET Lukáš Rypáček, lukor@atrey.karlin.mff.cuni.cz Abstrakt V tomto dokumentu popíši jeden příklad použití genetických algoritmů pro počítačové hraní her. V tomto případě byla vybrána stará egyptská hra Senet a genetické algoritmy byly použity pro vyvíjení ohodnocovací funkce. Hra Senet v sobě zahrnuje jak taktické prvky tak i element náhody a s pomocí genetických algoritmů se podařilo ji uspokojivě hrát, i když dopředu nebyly známé žádné vhodné strategie. Informace jsou převzaty z článku [1] (G.J.Ferrer,W.N.Martin). Úvod Při vývoji počítačových strategií pro klasické deskové hry (šachy, dáma, ) obvykle využíváme toho, že o situaci na šachovnici, případně o jednotlivých tazích můžeme nějakým způsobem rozhodnout, jestli jsou pro vítězství vhodné nebo ne. Počítač pak může systematicky zkoušet všechny možné tahy a podle jejich kvality hodnoty ohodnocovací funkce pak vybrat ten nejlepší. Chceme-li vyvinout lepšího hráče s tímto modelem, máme dvě možnosti. Buď prozkoumat vetší množství tahů, více do budoucnosti a tak mít možnost se lépe rozhodnout (sem patří především různé metody pro prořezávání neperspektivních větví výpočtu, alfa-beta redukce apod.) nebo se snažit lépe ohodnotit jednotlivé tahy (nejlépe oboje). V tomto dokumentu je popsán pokus o vytvoření počítačového hráče starobylé hry Senet. Tato strategická hra bylo velmi oblíbená v dávném Egyptě již od roku 3100 B.C. a zřejmě v té době hrála podobnou roli jako dnešní šachy. Na rozdíl od šachu, a podobných her s úplnou znalostí, a podobně jako vrchcáby obsahuje Senet jak strategické prvky tak i notnou dávku náhody. Tento pravděpodobnostní prvek komplikuje běžné postupy procházení možných tahů. Autoři použili genetické algoritmy pro vyšlechtění ohodnocovací funkce z počáteční populace náhodných funkcí. Fitness jedinců bylo určována na základě turnajů a podařilo se vyvinout hráče, kteří tuto hru hrají relativně dobře. Algoritmus Ve hře Senet každý tah začíná házením dřívek, které určí množinu tahů, které musí hráč v jednom kole použít. Hráč pak musí vybrat kameny a pořadí v jakém tahy zahraje (pravidly hry můžete nalézt na konci podrobněji pak v [2]). Autoři reprezentují každého hráče jako funkci. Program pak může v každém kole vygenerovat množinu tahů, aplikovat ohodnocovací funkci na výsledné šachovnice a pak zahrát tahy v určeném pořadí. Jak navrhuje Koza v [3] jedinci jsou funkce v LISPu vytvoření ze základních funkcí a konstant. Autoři jako základní vybrali: 1

- podmínka if - logické operátory and, or, not - skupiny funkcí pro zjišťování informací o šachovnici, jako je obsah konkrétních polí šachovnice, počet možných tahů, funkce pro zjištění počátečního bodu tahu a jeho délky, apod. - konstanty 1 až 30 pro očíslování políček šachovnice a pro vyjádření dalších numerických vztahů - aritmetické operátory +,-, * Fitness jedinců byla určována na základě turnaje. Náhodně byly vybráni dva jedinci, byly sehrány tři zápasy a ten jedinec, který vyhrál dvakrát byl prohlášen za vítěze a pokračoval do dalšího kola turnaje. Poražení v každém kole měli stejnou fitness. Protože Senet může teoreticky trvat neomezeně dlouho, byla uměle délka hry zkrácena na 500 kol, v případě, že hra do té doby neskončila, byl vítěz určen náhodně (na testovacím vzorku 38 000 her se ale ukázala průměrná délka hry kolem 150 kol, takže omezení na 500 je s rezervou). Selekce pro reprodukci a křížení pak byla prováděna poměrně k fitness, přičemž jedna osmina populace byle reprodukována z předchozí populace (elita) a zbytek doplněn křížením. Pro každého reprodukovaného jedince byla navíc šance jedna osmina, že dojde k mutaci. Při mutaci byl náhodně vybrán podstrom ve funkci jedince a byl nahrazen náhodnou funkci (vytvořenou stejným způsobem jako při inicializaci populace). Operátor křížení vybral náhodně jednoho z rodičů jako základního. Kořen funkce tohoto rodiče bude mít alespoň dva podstromy. Jeden bude vybrán, pokud je to terminál, dojde v tomto místě ke křížení a podstrom bude nahrazen náhodným podstromem z druhého rodiče. Pokud ne, je šance na křížení jedna třetina, pokud k tomu nedojde, je prohlášen za kořen a celý proces pokračuje u jeho synů. Iniciální populace byla vytvořena náhodně a to tak, že za kořen každého jedince byla zvolena funkce se dvěma parametry, parametry byly dosazeny náhodně. Pokud to byly opět funkce, náhodně byly vybrány další parametry, Celý proces končí, když funkce končí terminály, což jsou konstanty 1..30 nebo funkce, které už nepotřebují žádné argumenty. Délka jedince nebyla nijak omezena. Všechny populace měli 512 jedinců. Poznámka: autoři článku úmyslně neomezili délku jedince, prý z experimentálních důvodů. To ovšem vedlo k tomu, že vznikali nadměrně dlouzí jedinci a tak celý proces končil po cca 30 generacích přetečením paměti. Výsledky Jak hodnotit výsledky hry, pro kterou nejsou známé žádné klasické metody, které by posloužily jako objektivní porovnání? Pro účely turnajů soupeřili hráči mezi sebou, ale jak zjistit, že poslední vítěz hraje hru skutečně nějak objektivně dobře? Pro porovnání kvality konečného řešení byli vytvořeni referenční hráči. Nejprve 8 náhodných jedinců (RND1 až RND8) a pak ještě pět ručně vytvořených hráčů (HC1 až HC5). Tito hráči používají kombinace následujících strategií (viz pravidla hry): 2

- minimalizuj počet protivníkových kamenů - maximalizuj počet vlastních kamenů - vyhni se pasti - umísti protivníka do pasti - maximalizuj vzdálenost mezi protivníkem a cílem - seber protivníkův kamen - vytvoř barikádu Na následujících grafech můžeme vidět jak si jedinci vedli. Porovnání bylo nejprve uděláno s vítězi dvou populací náhodných hráčů (First Unseeded, Second Unseeded). Porovnávaní hráči byli vítězi po 33 resp. 30 generacích (pak už došlo k přetečení paměti). Hráči vítězili nejméně v 145 z 200 zápasů s náhodnými jedinci. Na druhém obrázku jsou vidět výsledky zápasů s ručně vytvořenými jedinci. Podstatně lepších výsledků dosáhli ale jedinci kteří byli vytvořeni z populace, kam bylo zaneseno 8 ručně vytvořených hráčů. Na obrázku jsou tito jedinci označeni jako First Seeded, resp. Second Seeded. 3

Závěr Byly použity genetické algoritmy pro vytvoření ohodnocovacích funkcí pro hraní neznámé hry Senet. Přestože bylo použito jen cca 30 generací, byli výslední hráči lepší než referenční hráči a než náhodní hráči, i když ne moc výrazně. Asi můžeme očekávat, že by výsledky byly lepší, kdyby vývoj mohl pokračovat větší počet generací. To bohužel nebylo možné, protože jedinci brzy narostli tak, že zahltili dostupnou paměť. Autoři se ale přesto domnívají, že tento experiment ukázal, že genetické algoritmy jsou schopné vyvinout dostatečně dobré hráče i tam, kde o hře a její strategii nemáme moc informací. Reference [1] Gabriel J. Ferrer, W. N. Martin. Using Genetic Programming to Evolve Board Evaluation Functions, http://www.cs.virginia.edu/~gjf2a/research/papers/senet.ps [2] Catherine Soubeyrand. The Game of Senet, http://www.gamecabinet.com/history/senet.html [3] John R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, 1992. [4] Kendall Timothy, Passing Through the Netherworld : The Meaning and Play of Senet, an Ancient Egyptian Funerary Game, 1978 Belmont, The Kirk Game Compagny 4

Pravidly hry Senet Pravidla hry a další informace o Senet nejlépe najdete na Webu [2]. Následuje stručný přepis pravidel podle Kendalla, tak jak jsem je pochopil ja. Rozmístění - hra pro dva hráče, dvě sady kamenů bílé a černé - hraje se na šachovnici 3 x 10 polí - na začátku je všech 7 kamenů každého hráče umístěno střídavě na začátku šachovnice - kameny postupují po šachovnici nejprve zprava doleva, v druhé řadě zpátky a v poslední zase opačně Cíl hry - dostat všechny své kameny mimo šachovnici Určení tahů - používají se 4 házecí dřívka, nebo mince - možné výsledky jsou: 1110: posuň o jedno pole a další hod 1100: posuň o dvě pole, konec kola 1000: posuň o tři pole, konec kola 0000: posuň o čtyři pole a další hod 1111: posuň o pět polí a další hod Tahy - hráč může táhnout jen na prázdné pole, nebo na pole, kde je nechráněný soupeřův kámen - kámen je chráněný má vedle sebe (hned před sebou, nebo hned za sebou) souseda stejné barvy - pokud je nechráněný kámen zasažen, vymění si místo s protivníkovým - pokud hráč nemůže táhnout dopředu, musí táhnout dozadu o stejný počet polí, pokud při tom zasáhne soupeřův kámen, vymění si s ním místo Konec hry - speciální pravidla pro pole 26 až 30 - hráč se musí zastavit na poli 26 (Beautiful House) - z něj se může dostat na základě těchto pravidel: hodí-li 5: jde hned ven 4: jde na 30, libovolným dalším tahem ven 3: jde na 29, ven dalším hodem 2 2: jde na 28, ven dalším hoden 3 Water House Water house je pole 27. Je to past. Hráč se sem může dostat, pokud hodí 1 z pole 26, nebo pokud ho vystrčí protivník. Pokud je hráč v pasti, ztrácí kolo. Pokud v dalším kole hodí 4, jde kamen rovnou z šachovnice pryč, jinak je přesunut na pole 15 nebo na nejbližší volné pole před ním. Navíc, v té době má hráč všechny ostatní kameny nechráněné. 5