Halma Bot: Monte Carlo versus Alpha-Beta

Vergelijkbare documenten
Spelregels schaken. Doel van het spel

-

Jijbent.nl: spelregels schaken. Jan Willem Schoonhoven Copyright 2009 Jijbent.nl

Inleiding 2. 1 Spelregels Pünct 3

KAART EN SPELAVOND Club 250 Ouderraad Sint-Lodewijkscollege. Initiatie Schaken

Jijbent.nl: spelregels Shogi. Bram Schoonhoven Copyright 2017 Jijbent.nl

Jijbent.nl: spelregels Xiangqi. Bram Schoonhoven Copyright 2017 Jijbent.nl

Mijn project noemt Het Wari-spel. De doelgroep van mijn programma is iedereen die houdt van strategische spelen.

Intelligente Spelen. Pieter Spronck. TouW Informatica Symposium, Open Universiteit, Universiteit van Tilburg

Inhoud. Introductie tot de cursus

HET SCHAAKSPEL OPGELOST Cees Timmer

Implementatie Vier Op een Rij

Artificiële Intelligentie En De Menselijke Maatschappij

Schaken op de basisschool Werkboek 1, les P1: Loop van de stukken en de beginstelling

1 e druk. Uitgever: vzw Schaakschool. Tekeningen: Jo Goigne. Website: Copyright 2014: Peter D hondt

SWKGroep schaaktoernooi 2019

Jijbent.nl: spelregels Jungle. Mark Steere Copyright 2019 Marksteeregames.com

SPION OP JE PAD HANDLEIDING SPELLEIDER

-

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Practicum Reversi. Pieter van Ede, Thomas Elschot, Wesley Kok, Groep april Start van het programma

Als de spelsituatie zodanig is dat schaakmat of ( mat ) niet meer mogelijk is, dan eindigt de partij op een gelijkspel ( pat of remise ).

Workshop Handleiding. Dammen doe je zo! wat is jouw talent?

Schaaklessen Dr. Plesmanschool. Diagram 2. de beginstand

Een voorbeeld. Computationele Intelligentie Zoeken met een tegenstander. Een voorbeeld vervolg. Een zoekprobleem met een tegenstander

Wedstrijden Dinsdag 17 januari Poule A Twan - Jona Jonas - Laura Poule B Levi - Thijs Jasper - Iris

Het schaakspel wordt beschouwd als het moeilijkste bordspel. Het stereotiepe beeld is bij iedereen bekend.

144 Samenvatting. Onderzoeksvraag 1: Hoe kunnen we Monte-Carlo Tree Search aanpassen

69. De racebaan (<6) Verwante activiteiten - de kikkers - de autoracebaan - de getalkaartjes

Cursusbijeenkomst 1 Talent, Techniek en Energie Introductie op het programma

PRIME CLIMB. Speeltijd Ongeveer 10 minuten per speler.

Spellen bij kern 2 Spel 1: Stickers plakken Spel 2: Wie maakt de meeste woorden? Spel 3: Woorden maken Spel 4: Zelf typen Spel 5: Letterboek maken

Kunstmatige Intelligentie

Beginnerscursus schaken

Kraters slaan. Rekenoefening groep 5&6. Doel. Materiaal. Voorbereiding. Beschrijving. groep 5&6 - Kraters slaan

Ogame leren spelen met reinforcement learning

Schaken op de basisschool Werkboek 1, les 2: De Dame, Koning en het Paard

Functioneel Ontwerp PlastiCats

Regels REVERSI. Figuur 1: Bord met beginpositie.

Informatie voor de leerkracht Introductie nieuw concept (pagina 1) Programmeren met Bomberbot (pagina 1)

Rapid Fire: De Betoverde Doolhof

Het handboek van KReversi

WELKOM BIJ BOMBERBOT! LES 2: SEQUENTIES I LES 2: SEQUENTIES I WAAR GAAT DEZE LES OVER? INTRODUCTIE

Doel: Opzet: Spelregels: De speler met de groene pion begint.

Fischer Random (

Introductieles schaken voor beginners Voor groepen 3 en 4 op de basisschool

Challenge 2: The Path Conceptdocument. Groep 1 Maikel Haas Robbert Lokhorst Daniël Sneijers Vincent Wielders

Balance Me. Arschoot Elien. Herhaling boekhouden. 3 de jaar ASO. D hauwers Fien. Leerlingenhandleiding. (Afbeelding: persoon met vergrootglas, sd)

Kern 2: teen - een - neus - buik - oog. Spellen bij kern 2. In deze kern leert uw kind: Letters: t n b oo ee Woorden: teen - een - neus - buik - oog

Figuur 1. Schematisch overzicht van de structuur van het twee-stadia recourse model.

DONOR IN HART EN NIEREN

2de bach HIB. Systeemanalyse. Volledige samenvatting. uickprinter Koningstraat Antwerpen ,70

Computationale Intelligentie Dirk Thierens

SPELREGELS. Benodigdheden: Het speelbord, de dobbelsteen, de zandloper, pionnen, vragenkaarten, kwartetkaarten en Match-it! kaarten.

Ik leer schaken. KVDC Karel van Delft

vraag a1 vraag a2 vraag a3 vraag a4

Enkele problemen uit de Arabische schaaktraditie, 1

Aan het begin verliet Tony Campmans ons team, we hebben dus het hele project met één persoon minder gewerkt.

Je kan dit ook spelen wanneer de paarden elkaar wél kunnen slaan. Pas op dat je stukken niet worden geslagen!

Schaken op de basisschool Werkboek 1, les 1: De beginstelling, de Toren en de Loper

Mauritius Mokka Bombay Ceylon Batavia. Kaap de Goede Hoop (de veilige haven)

Het spelbord Het spelbord bestaat uit een kaart van een deel van de wereld met daarop de handelshavens van Oost-Indiё en hun lokale goederen:

Dirk Wuytack april 2017 Master thesis

Ontsluiten van gesproken documenten. Arjan van Hessen

MSO Eindproject. 17 Oktober 2015

From Alife Agents to a Kingdom of Queens

Figuur 1. Sleutelvelden: b4, c4, d4. Wit aan zet.

DRIBBELEN IN VAK CARS

Schaken op de basisschool Werkboek 1, Les P2: Extra oefenen veilige zetten, aanvallen, schaak

RESEARCH PROJECT CONTEXT DOELGROEP NADIA GROENEWALD 13 MAART 2016 G&I1B GROEP 5

Gebruik van 3D CAD/CAM in de orthopedische Praktijk New Age versus Old School

Schaken op de basisschool Werkboek 1, les 4: Veilig (1) zet je eigen stukken veilig

Kunstmatige Intelligentie. Informatica en Informatiekunde

Jijbent.nl: spelregels Egelrace. Frank Nestel Copyright 2017 University Games

En dit alles met als hoofddoel: het verbeteren van de prestaties op het veld en een zo hoog mogelijke eindklassering op de ranglijst die seizoen!

ontwerpdocumentatie doelgroep

Leren en presteren in de sport: evidence based practice RAÔUL OUDEJANS

Schaken op de basisschool Werkboek 1, les 1: de beginstelling, de Toren en de Loper

Universiteit Gent Faculteit Ingenieurswetenschappen. AIBO Game Player door Sammy De Figueiredo

Klonen. Het doel is om de appel op te eten. Iedere keer dat de slang de appel eet, groeit hij één vakje langer.

Schaken op de basisschool Werkboek 1, les 2: De Dame, Koning en het Paard

Opgaven Kunstmatige Intelligentie 1 maart 2017

Examen Datastructuren en Algoritmen II

Het Queens n 2 graafkleuring probleem

Verslag Opdracht 4: Magische Vierkanten

AI en Software Testing op de lange termijn

Artificial Intelligence in uw dagelijkse praktijk. Hilversum, 22 September 2016

Eskapo hét strategisch dobbelspel

Jijbent.nl: spelregels dammen. Bram Schoonhoven Copyright 2017 Jijbent.nl

SPELREGELS. o Wanneer een actieve speler een vliegende pijl kan

7: Mat in één (1) Chess Tutor Stap Mat

AXIOM. Spelconcept en ontwerp door Michael Seal. World Copyright 1988 / 1993 All rights reserved

RPA & AI; hoe motiveer je medewerkers als hun baan op het spel staat? Muriël Serrurier Schepper, Applied AI 31 oktober 2017

Op een leuke manier de tafels stampen

HET VERTROUWEN IN INSTITUTIES NEEMT AF, MENSEN ZOEKEN VERTROUWEN BIJ ELKAAR Het vertrouwen in instituties zoals de media, vakbonden, grote

Monte Carlo Stratego

LES 3. GROEP: 3 t/m 8 BADMINTON

Robots en leerkrachten: Een explosieve mix? Platform L Antwerpen 21 november 2018

Gezelschapsspelen (0182) Solitaire houten spel in reisuitvoering. Tangram. Klassiek houten bordspel dammen

Transcriptie:

: Monte Carlo versus Alpha-Beta Inleiding Marijn Biekart-11032278, Artemis Çapari-11336390, Jesper van Duuren-10780793, Jochem Hölscher-11007729 en Reitze Jansen-11045442 Zoeken, Sturen en Bewegen 30 juni 2017 Voor het vak Zoeken, Sturen, Bewegen kregen wij de opdracht een vernieuwend ding te maken. Zo was er bijvoorbeeld de keuze om met één van de robots in het Robolab op Science Park aan de slag te gaan, of een algoritme te implementeren dat een spel op kan lossen. Wij hebben voor het laatste gekozen en besloten een Halma bot te maken. Dit is een simulator op de computer waar men het bordspel Halma, ook wel bekend als Chinees dammen, mee kan spelen. Het doel van het spel is de eigen pionnen zo snel mogelijk aan de diagonale overkant van het bord te krijgen. Om de beurt doen de spelers een zet, waarbij er bewogen mag worden in elke richting. Een speler heeft de keuze om te springen over een eigen of vijandelijke pion. Als een pion gesprongen heeft, mag deze in dezelfde beurt nog meer sprongen maken in alle mogelijke richtingen. Elke sprong mag echter over slechts één pion gaan. Wij maakten voor ons onderzoek gebruik van de fast-paced versie van Halma, wat betekent dat een pion niet direct voor een andere pion hoeft te staan om eroverheen te kunnen springen. Het is echter van belang dat de afstand tussen de beginpositie van de pion en de pion waar overheen wordt gesprongen gelijk is aan de afstand tussen de laatstgenoemde en de eindpositie van de pion. Het springen heeft verder geen effect voor de pion waar overheen gesprongen wordt. De speler die als eerste al zijn pionnen aan de overkant heeft weten te brengen, is de winnaar van het spel. De Halma bot is maatschappelijk relevant te noemen, omdat hij er voor zorgt dat mensen altijd Halma kunnen spelen, ook als er geen fysieke tegenstander in de buurt is. Dit zou bijvoorbeeld eenzame ouderen kunnen helpen Zoeken, Sturen en Bewegen 1

zich minder eenzaam te voelen. Er zijn verschillende algoritmes die voor het implementeren van een spel gebruikt kunnen worden. Wij hebben er voor ons onderzoek twee gebruikt en ze met elkaar vergeleken. Ten eerste hebben wij Alpha-Beta pruning gebruikt. Dit is een algortime sneller dan minimax, terwijl er geen informatie verloren gaat [2]. Dit wordt gerealiseerd door het aantal staten die in de zoekboom geëvalueerd worden te minimaliseren. Ten tweede gebruikten wij het Monte Carlo algoritme. Dit algoritme slaat alle succesvolle staten op in een database en kan zo op basis van winstpercentage steeds betere keuzes maken voor een volgende zet. In ons onderzoek hebben wij deze twee algoritmes tegenover elkaar gezet, om te kijken welk algoritme meer geschikt was voor de Halma bot. Onze onderzoeksvraag luidde dan ook: Welke van de twee algoritmes (Alpha-Beta en Monte Carlo) kan beter Halma spelen? De hypothese was dat het Monte Carlo algoritme beter zou presteren. Dit was onze verwachting, omdat Alpha-Beta pruning minder de diepte in gaat en een meer oppervlakkig algoritme blijft. Op het eerste gezicht zal het lijken alsof Alpha-Beta pruning beter werkt, maar omdat het Monte Carlo algoritme beter gaat presteren naarmate hij vaker doorlopen wordt, zal blijken dat dit algoritme onder dezelfde omstandigheden toch betere resultaten op zal leveren dan Alpha-Beta pruning [1] [3]. Methode Voor het maken van de Halma bot moesten er aan verschillende aspecten gedacht worden. Allereerst is er een programma geschreven dat de spelregels van Halma genereert. Dit programma genereert een board-class die het spelbord bijhoudt en verschillende player-classes, voor de verschillende algoritmes en de menselijke speler. In de board-class worden door middel van self.get move players(player) legale zetten verzameld voor een bepaalde speler en kan hiermee getoetst worden of de zetten van de speler legaal zijn. Dit alles is geschreven in Python. Ten tweede is er voor gezorgd dat de simulator de juiste fysieke kenmerken heeft. Deze kenmerken zijn een extensie van de visuals waar wij mee gewerkt hebben in de schaak-opdracht. Dit programma genereert een 3D spelbord met pionnen en is geschreven in VPython. De twee belangrijke algoritmes die zijn gebruikt, zijn Alpha-Beta en Monte Carlo. Het Alpha-Beta algoritme heeft als doel het aantal te evalueren staten Zoeken, Sturen en Bewegen 2

in een zoekboom te minimaliseren. Het volgende voorbeeld geeft pseudocode weer om het Alpha-Beta algoritme te illustreren. De pseudo-code is in het Engels, omdat onze code ook in het Engels geschreven is. [4]. Ons Alpha-Beta algoritme werkt met een diepte van twee. Het Monte Carlo algoritme is een leer-algoritme en kan op basis van heuristiek steeds betere keuzes maken. Hier volgt pseudo-code voor het algoritme. Zoeken, Sturen en Bewegen 3

Beide algoritmes zijn geschreven in Python. Om de werking van de verschillende algoritmes met elkaar te vergelijken, is gekeken naar het winstpercentage van de algoritmes en de tijd die een algoritme nodig heeft om een volgende zet te bepalen. In de discussie zal verder in worden gegaan op andere aspecten waar eventueel rekening mee gehouden kan worden. Zoeken, Sturen en Bewegen 4

Resultaten Na het testen van beide algoritmes is gebleken dat de allebei de algoritmes niet zo goed werkten als we verwacht hadden. Monte Carlo deed er gemiddeld 0.01 seconde over om een volgende zet te bedenken, terwijl Alpha-Beta daar gemiddeld 3.1 seconden voor nodig had. Na 58 keer Alpha-Beta tegen Monte Carlo te laten spelen, is gebleken dat Alpha-Beta 26 keer heeft gewonnen. Het is hierbij opgevallen dat Alpha-Beta in het begin meer won, terwijl Monte Carlo aan het einde beter presteerde. Discussie Het is dus gebleken dat het Monte Carlo algoritme sneller een beslissing kan nemen dan het Alpha-Beta algoritme. Verder heeft het Monte Carlo algoritme een hoger winstpercentage. De verwachting was dat het winstpercentage van Monte Carlo echter nog hoger zou zijn. Een mogelijke verklaring voor de tijdmetingen is dat het Alpha-Beta algoritme maar twee zetten vooruit kijkt. Monte Carlo heeft daarentegen een eigen geleerde database met zetten tot zijn beschikking. Toch is het ook een redelijk opvallend resultaat, omdat Alpha-Beta als doel heeft het zoekproces te versnellen [2]. Waarschijnlijk komt dit in ons geval omdat onze implementatie van Alpha-Beta niet optimaal is en maar twee diep kan gaan. Het redelijk lage winstpercentage van Monte Carlo kan worden verklaard door het feit dat wij het algoritme niet erg lang hebben kunnen laten trainen. Als wij hiervoor meer tijd hadden gehad, had het algoritme wellicht beter gepresteerd. De reden dat Monte Carlo aan het einde van het testen beter presteerde dan aan het begin, is waarschijnlijk dat het heeft geleerd van spelen tegen Alpha-Beta. Bij het vergelijken van de resultaten is met een aantal aspecten geen rekening gehouden. Zo werkt het Monte Carlo algoritme uiteindelijk sneller, maar duurt het langer om het algoritme te trainen. Zonder die training is het verschil tussen Monte Carlo en Alpha-Beta een stuk minder groot. Verder is Monte Carlo een duurder algoritme als er gekeken wordt naar de opslagruimte die nodig is voor de database. Omdat het algoritme alle zetten opslaat die leiden tot winst, groeit de database erg snel. Als men hier rekening mee houdt, valt er dus ook voor Alpha-Beta iets te zeggen. Kortom, als er puur gekeken wordt naar de benodigde tijd en het winstper- Zoeken, Sturen en Bewegen 5

centage, is Monte Carlo een beter algoritme dan Alpha-Beta voor het spelen van Halma. Het is echter de vraag hoe de trainingsduur en benodigde opslagruimte van Monte Carlo opwegen tegen de prestatie van het Alpha-Beta algoritme. Referenties [1] Guillaume Chaslot et al. Monte-Carlo Tree Search: A New Framework for Game AI. In: AIIDE. 2008. [2] Donald E Knuth and Ronald W Moore. An analysis of alpha-beta pruning. In: Artificial intelligence 6.4 (1975), pp. 293 326. [3] Levente Kocsis and Csaba Szepesvári. Bandit based monte-carlo planning. In: European conference on machine learning. Springer. 2006, pp. 282 293. [4] Stuart J Russel and Peter Norvig. A Modern Approach (2nd ed.) In: Artificial Intelligence (2003). Zoeken, Sturen en Bewegen 6