Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht...

30
zoeken met opponent- modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk

Transcript of Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht...

Page 1: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

zoeken met opponent-modellen

Jeroen Donkers

IKAT, Vakgroep Informatica, Universiteit Maastricht

Promotor: H.J. van den Herik

Co-promotor: J.W.H.M. Uiterwijk

Page 2: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

InhoudInhoud

• Het domein

• Zoeken met opponent-modellen

• Onderzoeksvraag

• Theoretische en experimentele resultaten

• Conclusies

Page 3: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Het domeinHet domein• Kunstmatige Intelligentie =

het verrichten van taken door computers die als typisch menselijk worden (werden) gezien

• Het spelen van bordspelen zoals schaken is een geliefd studiedomein

• In dit domein zijn al grote successen behaald (denk aan Deep Blue)

Page 4: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Het domeinHet domein

• Spelen vormen een gesloten en goed beschreven domein (vanwege de spelregels)

• We beperken ons hier tot spelen:– voor twee spelers (die om de beurt zetten)– zonder verborgen informatie– zonder kansaspect (dobbelstenen)– waarbij als één speler wint, de ander verliest

• Bijv. Schaken, Lines of Action, Bao

Page 5: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Een voorbeeld: Nim-5Een voorbeeld: Nim-5

• Neem om de beurt 1, 2 of 3 lucifers

• Degene die de laatste lucifer pakt, wint

Page 6: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Een voorbeeld: Nim-5Een voorbeeld: Nim-5

Page 7: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Een voorbeeld: Nim-5Een voorbeeld: Nim-5

Page 8: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Een voorbeeld: Nim-5Een voorbeeld: Nim-5

Page 9: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Een voorbeeld: Nim-5Een voorbeeld: Nim-5

Winnaar

Page 10: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

ZoekboomZoekboom

• De computer speelt het spel door eerst alle mogelijkheden voor beide spelers in een boom-vorm te representeren:

Page 11: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

ZoekboomZoekboom

4 3 21 2 3

5

2 1 0 1 0 0

0

1 0 0 0

1

1

1

1

1

1

1 1 1 1

11

2 2 2

2 2

2

2

3

33

1 1

03

1 0 0 0 0

2 1 2 1 0 1

Stap 1: uitkomsten bepalen (vanuit speler “groen”)

Page 12: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

ZoekboomZoekboom

4 3 2

2 1 0 1 0 0

0

1 0 0 0

1

1

1

1

1

1

1

1 1 1 1

11

2

2 2 2

2 2

2

2

3

3

33

1 1

+1 +1 +1 +1 +1 +1–1 –1 –1 –1 –1

5

03

1 0 0 0 0

2 1 2 1 0 1

Stap 2: uitkomsten terugvoeren

+1 –1

Page 13: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

ZoekboomZoekboom

4 3 2

2 1 0 1 0 0

0

1 0 0 0

1

1

1

1

1

1

1

1 1 1 1

11

2

2 2 2

2 2

2

2

3

3

33

1 1

+1 –1 +1 +1 +1 +1 +1 +1–1 –1 –1 –1 –1

5

03

1 0 0 0 0

2 1 2 1 0 1

Page 14: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

ZoekboomZoekboom

+1 –1 +1 +1 +1 +1 +1 +1–1 –1 –1 –1 –1

1

11 1 1

+1 –1 –1

–1 –1 +1 –1 +1 +1

+1

–1 +1 +1 +1

1

1

1 1 1 1 1 1

11

2

2 2 2

2 2

2

2

3

3

33

+1

–1+1

+1 –1 –1 –1 –1

+1 +1 +1 +1 –1 +1

Groen kan altijd winnen!

Page 15: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

ZoekboomZoekboom

1

11 1 1

+1 –1 –1

–1 –1 +1 –1 +1 +1

+1

–1 +1 +1 +1

1

1

1 1 1 1 1 1

11

2

2 2 2

2 2

2

2

3

3

33

+1

–1+1

+1 –1 –1 –1 –1

+1 +1 +1 +1 –1 +1

Stap 3: optimale strategie bepalen

Page 16: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Heuristisch zoekenHeuristisch zoeken

• Voor interessante spelen zoals schaak kan de zoekboom onmogelijk volledig worden opgesteld

• Daarom wordt de boom “afgekapt” op een zekere diepte

• Bovendien wordt er in de boom “gesnoeid” om de efficiëntie te verhogen

Page 17: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Heuristisch zoekenHeuristisch zoeken

.25 –1 –1

1

1 11

2

2 22

3

33

.25

–1.25 .33 .5 .33 .5 –1 .5

Bij het afkappen van de boom wordt een heuristische evaluatiefunctie gebruikt in plaats van de echte uitkomst

Page 18: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Opponent-modellenOpponent-modellen• De evaluatiefunctie bepaalt in grote mate de

strategie van een speler• De evaluatiefunctie kan daarom als

opponent-model dienen

• Stel dat we de evaluatiefunctie van de tegenstander kennen, kunnen we er dan ons voordeel mee doen?

Page 19: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Opponent-Model SearchOpponent-Model Search

• Iida et al (`93) Carmel & Markovitch (`93)

• Een zoekmethode die er vanuit gaat dat de evaluatiefunctie van de opponent bekend is:– voorspelt eerst welke zet een opponent zou

doen met deze evaluatiefunctie– kiest dan op basis van de eigen evaluatiefunctie

welke eigen zet het beste lijkt

Page 20: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

ProbabilisticOpponent-Model SearchProbabilisticOpponent-Model Search• Donkers et al (2000)

• Het opponent-model is een mix van een aantal opponent-types, ieder met een eigen evaluatiefunctie

• De werking is verder ongeveer gelijk aan die van Opponent-Model Search: eerst voorspellen en dan een eigen keuze maken

Page 21: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

OnderzoeksvraagOnderzoeksvraag

• Onder welke condities kunnen OM search en PrOM search het spelen door computers verbeteren

• Er is zowel theoretisch als empirisch onderzoek gedaan

Page 22: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Theoretische resultatenTheoretische resultaten

• Er bestaat een manier om beide zoekmethoden efficiënt te programmeren, maar:

• PrOM Search kost meer rekentijd dan OM Search voor de zelfde zoekboom

• Beide methoden kosten veel meer rekentijd dan de traditionele aanpak

Page 23: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Theoretische resultatenTheoretische resultaten

• OM Search heeft last van risico’s, een aantal daarvan waren al bekend:– het opponent-model kan verkeerd zijn– de voorspellingen kunnen fout zijn– de eigen evaluatiefunctie kan slechter zijn dan

die van de tegenstander

• Maar er is een extra risico:

Page 24: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Theoretische resultatenTheoretische resultaten• Overschattingen in de eigen

evaluatiefunctie kunnen leiden tot rampen:– de opponent wordt gelokt naar een positie

waarvan je onterecht verwacht dat die heel aantrekkelijk is

– de opponent weet wel beter en gaat fluitend met je mee

– hoe groter de overschatting, hoe liever je er heen wilt...

Page 25: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Experimentele resultatenExperimentele resultaten

• Wanneer je OM Search onbezonnen toepast, zijn de resultaten zeer slecht, vergeleken met de traditionele aanpak:– kost meer rekentijd– je verliest vaker, zelfs met perfecte kennis van

de opponent

• PrOM Search is wel veiliger, maar kost ook veel meer rekentijd

Page 26: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Experimentele resultatenExperimentele resultaten• OM Search werkt redelijk als:

– je absolute kennis hebt (eindspel)– je perfecte kennis van de opponent hebt– je niet zomaar overschattingen maakt– je extra tijd hebt om goed te voorspellen

• PrOM Search presteert dan over het algemeen beter dan OM Search, heel soms zelfs beter dan de traditionele aanpak

Page 27: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

ConclusiesConclusies

• Onbezonnen toepassen van OM Search en PrOM search is onverstandig

• Het is niet alleen belangrijk de opponent goed te kennen (Nosce Hostem), je moet ook je eigen evaluatiefunctie goed kennen (Nosce Te Ipsum)

Page 28: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Thales van Milete (640 vC)Thales van Milete (640 vC)

Page 29: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.

Soen Tzoe (500 vC)Soen Tzoe (500 vC)

“Ken uw vijand, ken u zelfen uw overwinning is onbedreigd.”

Page 30: Zoeken met opponent-modellen Jeroen Donkers IKAT, Vakgroep Informatica, Universiteit Maastricht Promotor: H.J. van den Herik Co-promotor: J.W.H.M. Uiterwijk.