allard kamphuisen hado van hasselt wilco broeders n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Allard Kamphuisen Hado van Hasselt Wilco Broeders PowerPoint Presentation
Download Presentation
Allard Kamphuisen Hado van Hasselt Wilco Broeders

Loading in 2 Seconds...

play fullscreen
1 / 22

Allard Kamphuisen Hado van Hasselt Wilco Broeders - PowerPoint PPT Presentation


  • 144 Views
  • Uploaded on

"Othello exposed". Allard Kamphuisen Hado van Hasselt Wilco Broeders. Inhoud presentatie. Wilco: Korte uitleg spelregels Othello voor beginners Allard: De gebruikte heuristieken De representaties van de heuristieken Het zoekalgoritme Hado: Ervaring als heuristiek

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Allard Kamphuisen Hado van Hasselt Wilco Broeders' - mardi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
allard kamphuisen hado van hasselt wilco broeders

"Othello exposed"

Allard Kamphuisen

Hado van Hasselt

Wilco Broeders

inhoud presentatie
Inhoud presentatie

Wilco:

  • Korte uitleg spelregels
  • Othello voor beginners

Allard:

  • De gebruikte heuristieken
  • De representaties van de heuristieken
  • Het zoekalgoritme

Hado:

  • Ervaring als heuristiek
  • De voor en nadelen van een simpel lerend systeem
othello spelregels
Othello spelregels
  • 2 spelers zetten om en om een steen
  • Stenen veranderen van kleur door insluiting
  • Iedere zet minstens één steen insluiten
  • Eindsituatie: als niet meer gezet kan worden
  • Winnaar: degene met dan de meeste stenen
maximum disc strategie
Maximum disc strategie

Verkeerde strategie, gebruikt door velebeginners, waarbij men probeert in één beurt zoveel mogelijk stenen om te draaien.

Stabiele stenen

Stenen die op geen enkele manier kunnen worden veranderd, bijvoorbeeld de hoekstenen

mobiliteit
Mobiliteit

Een speler heeft een goede mobiliteit als hij een groot aantal mogelijke zetten tot zijn beschikking heeft.

Grenzen

De set van stenen die naast lege vakken staan.

slide6
De gebruikte heuristieken
  • De representaties van de heuristieken
  • Het zoekalgoritme
de gebruikte heuristieken
De gebruikte heuristieken
  • Het verschil van de stenen
  • De potentiële mobiliteit
  • De werkelijke mobiliteit
  • De gewogen vakjes
4 gebruikte representaties om de heuristieken te verwezenlijken
4 gebruikte representaties om de heuristieken te verwezenlijken
  • Rep1: geeft de spelsituatie weer
  • Rep2: levert de potentiële mobiliteit voor speler 1
  • Rep3: levert de potentiële mobiliteit voor speler 2
  • Rep4: houdt de gewogen vakjes bij
representatie 1

0

0

0

0

0

0

0

0

0

0

0

0

2

0

0

0

0

0

1

1

1

0

0

0

0

0

0

2

1

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Representatie 1

werkelijke situatie

Rep1 (0=leeg, 1=zwart, 2=wit)

slide10

Representatie 2

0

0

0

1

1

1

0

0

0

0

0

1

2

1

0

0

0

0

2

2

2

1

0

0

0

0

1

2

2

0

0

0

0

0

1

2

2

1

1

0

0

0

0

0

1

2

1

0

0

0

0

0

1

1

1

0

0

0

0

0

0

0

0

0

werkelijke situatie

Rep2 (0=leeg en geen mogelijke zet, 1=potentiële zet, 2=bezet)

Door alle éénen van rep2 bij elkaar op te tellen, kan de potentiële mobiliteit van speler 1 worden berekend

slide11

Representatie 3

0

0

0

0

0

0

0

0

0

1

1

1

2

1

0

0

0

1

2

2

2

1

0

0

0

1

1

2

2

1

0

0

0

0

1

2

2

1

0

0

0

0

1

1

1

2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

werkelijke situatie

Rep3 (0=leeg en geen mogelijke zet, 1=potentiële zet, 2=bezet)

Door alle éénen van rep3 bij elkaar op te tellen, kan de potentiële mobiliteit van speler 2 worden berekend

representatie 4

3000

-100

200

200

200

200

-100

3000

-100

-1000

-100

-100

-100

-100

-1000

-100

200

-100

0

0

0

0

-100

200

200

-100

0

0

0

0

-100

200

200

-100

0

0

0

0

-100

200

200

-100

0

0

0

0

-100

200

-100

-1000

-100

-100

-100

-100

-1000

-100

3000

-100

200

200

200

200

-100

3000

Representatie 4
  • Merk op:
  • hoeken zijn erg positief (3000)
  • vakjes omgrenzend aan de hoeken zijn negatief (-100 en -1000)
  • randen zijn positief (200)

De waarden van rep4 zorgen voor een grote voorkeur voor de hoeken en randen, maar een afkeur voor de vakjes daar net omheen

samenvatting
Samenvatting
  • Het stenen verschil wordt dus m.b.v. rep1 berekend, de potentiële mobiliteit voor beide spelers m.b.v. rep2 en rep3, en rep4 zorgt voor de gewogen vakjes.

Note: De werkelijke mobiliteit heeft geen aparte representatie nodig maar kan m.b.v. rep1 worden berekend.

het zoekalgoritme
Het zoekalgoritme

Om een aantal zetten vooruit te kunnen kijken wordt er gebruik gemaakt van een minimax algoritme (met Alpha-Beta pruning) welke gebruik maakt van een zoekboom.

Onderaan de boom (bij de leaves) wordt een evaluatie van de situatie (van iedere specifieke leaf) uitgevoerd m.b.v de bovengenoemde heuristieken. Hier komt een waarde uit welke vervolgens omhoog wordt geminimaxt om zo de beste zet te bepalen.

minimax voorbeeld matrix

1

2

3

4

5

6

7

8

A

B

C

D

E

F

G

H

Minimax voorbeeld (matrix)

Codering van de tekstvakken

minimax voorbeeld boom
Minimax voorbeeld (boom)

Huidige situatie

  • Zet vooruit (speler 1: maximum)
  • Zetten vooruit (speler 2: minimum)

Evaluatie van spel -2530 +80 -210

situatie na 2e zet

Conclusie: F4 heeft de hoogste waarde, dus is waarschijnlijk de beste zet.

slide17

Een Andere Aanpak:

Een Lerend Systeem

slide18

In een data-bestandje, bv 1.txt:

“..+00+00+00..”

“..+00-01+00..”

slide19

Voorbeeld: 50ste Zet

+35 -6 +5 -2 +0 +0 +2 +59

-10 -23 -2 +0 +0 -1 -19 -2

+2 +0 +0 +0 +0 +0 +0 +3

-2 +0 +0 +0 +0 +0 +0 +1

+3 +0 +0 +0 +0 +0 +0 +2

-4 +0 +2 +0 +0 +0 +0 +3

-5 -29 -5 +0 -1 -2 -33 -2

+24 -12 -4 +10 -4 -3 +2 +16

slide20

De cumulatieve waardes per veld voor alle zetten:

+1020 -120 -10 +60 +60 -10 -120 +1020

-120 -330 -30 -40 -40 -30 -330 -120

-10 -30 +60 0 0 +60 -30 -10

+60 -40 0 0 0 0 -40 +60

+60 -40 0 0 0 0 -40 +60

-10 -30 +60 0 0 +60 -30 -10

-120 -330 -30 -40 -40 -30 -330 -120

+1020 -120 -10 +60 +60 -10 -120 +1020

slide21

Kan deze versie goed Othello spelen?

  • Tegen ieder NIET lerend systeem wint dit systeem
  • Tegen willekeur is het niet zo sterk
  • Tegen mensen is het niet sterk

Oplossing problemen:

Een systeem met Heuristieken EN een lerend systeem

slide22

Conclusie:

Ons programma (niet-lerend) kan redelijk spelen:

- Verslaat menselijke spelers

- Redelijk tegen goede progamma’s

- Denkt (gecompileerd) 4 a 5 plies diep.