Zoekproblemen met tegenstanders. Zoekalgoritmen ( ) College 9: Zoeken met een tegenstander (I) Een zoekprobleem met een tegenstander

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

Computationale Intelligentie Dirk Thierens

Kosten. Zoekalgoritmen ( ) College 5: Zoeken met kosten. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route

Kosten. Computationale Intelligentie. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route. Zoeken met kosten.

Zoeken met beperkt geheugen. Zoekalgoritmen ( ) College 7: Zoeken met beperkt geheugen. Een representatie van het kleuringsprobleem

Recapitulatie: Ongeïnformeerd zoeken. Zoekalgoritmen ( ) College 2: Ongeïnformeerd zoeken. Dynamische breadth-first search

Computationele Intelligentie

Computationele Intelligentie

Constraint satisfaction. Zoekalgoritmen ( ) College 11: Constraint Satisfaction. Voorbeelden. Een constraint satisfaction probleem

Lokaal zoeken. Computationele Intelligentie. Een representatie van het kleuringsprobleem. Impliciete doeltoestanden. Lokaal zoeken

Duration: 2 hrs; Total points: 100 No documents allowed. Use of electronic devices, such as calculators, smartphones, smartwatches is forbidden.

Constraint satisfaction. Computationele Intelligentie. Voorbeelden. Een constraint satisfaction probleem. Constraint Satisfaction

Duration: 2 hrs; Total points: 100 No documents allowed. You can use a regular calculator.

Derde college algoritmiek. 18 februari Toestand-actie-ruimte

Derde college algoritmiek. 23 februari Toestand-actie-ruimte

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Derde college algoritmiek. 16/17 februari Toestand-actie-ruimte

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

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

Examen Datastructuren en Algoritmen II

Opgaven Kunstmatige Intelligentie 1 maart 2017

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Aan de tafel! Ga je mee om de wonderlijke wereld van de tafels te ontdekken? Bedacht en ontwikkeld door Linda van de Weerd.

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Breukenpizza! Ga je mee om de wonderlijke wereld van de breuken te ontdekken? Bedacht en ontwikkeld door Linda van de Weerd.

Datastructuren en Algoritmen

Branch-and-Bound en Cutting Planes

Uitwerking tentamen Algoritmiek 9 juni :00 17:00

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur

Het minimale aantal sleutels op niveau h is derhalve

Examen Datastructuren en Algoritmen II

Twaalfde college complexiteit. 11 mei Overzicht, MST

Examen Datastructuren en Algoritmen II

Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde. vrijdag 31 januari 2014, 8:30 12:30. Auditorium L.00.07

Opgaven Kunstmatige intelligentie 4 mei 2012

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur

Vierde college complexiteit. 14 februari Beslissingsbomen

8. Complexiteit van algoritmen:

5 VWO SPELEN OP EEN SLIMME MANIER

Heuristisch zoeken. Computationele Intelligentie. Een heuristische functie op de toestandsruimte. Voorbeelden van kennis. Heuristisch zoeken

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

KLOK MONOPOLY. Iedere speler heeft 1 pion en de 32 huisjes in dezelfde kleur nodig. Je neemt dus maar de helft van de paarse kaartjes uit de doos!

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Derde college algoritmiek. 23 februari Complexiteit Toestand-actie-ruimte

Je kunt de kansen met wiskunde technieken berekenen (bijvoorbeeld boomdiagramman), maar je kunt ook deze door simulaties achterhalen.

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

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

Derde college algoritmiek. 22 februari Complexiteit Toestand-actie-ruimte

Examen Datastructuren en Algoritmen II

Opgave 2 ( = 12 ptn.)

Examen Datastructuren en Algoritmen II

Examen Algoritmen en Datastructuren III

Datastructuren: stapels, rijen en binaire bomen

Kunstmatige Intelligentie (AI) Hoofdstuk 6 van Russell/Norvig = [RN] Constrained Satisfaction Problemen (CSP s) voorjaar 2015 College 7, 31 maart 2015

Datastructuren: stapels, rijen en binaire bomen

Tentamen Inleiding Speltheorie

Oefeningen voor de oefeningenles. Oefening 1

-

Materiaal. Voorbereiding. spelverloop. deelnemers spel begeleiding. aantal leeftijd doelgroep spelsoort duur aantal. bosspel

Algoritmiek. 15 februari Grafen en bomen

Maak automatisch een geschikte configuratie van een softwaresysteem;

Spelsystemen sjoelen. Combinatie-IV (First Loss)... 9 Combinatie-V... 9 Libre One Hundred And Eighty Moyenne Moyenne-2...

Jijbent.nl: spelregels Rozenkoning. Dirk Henn Copyright 2019 Jijbent.nl

Examen Datastructuren en Algoritmen II

Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument

Impartiële spellen. Marie Beth van Egmond, Lisa Steverink. 12 juli Project wiskunde 2 Begeleiding: dr. Roland van der Veen

Examen Datastructuren en Algoritmen II

M. E. J. N. B. K. E. B. S. S. Sluipwegtikkertje DAS BEURS 2018

Hoofdstuk 1. Inleiding. Het binomiaalgetal ( n

Combinatoriek en rekenregels

Examen G0U13 Bewijzen en Redeneren Bachelor of Science Fysica en Wiskunde. vrijdag 3 februari 2012, 8:30 12:30

Oude tentamens Kunstmatige intelligentie Universiteit Leiden Informatica 2005

Automaten en Berekenbaarheid 2016 Oplossingen #4

Overzicht. 1. Definities. 2. Basisalgoritme. 3. Label setting methoden. 4. Label correcting methoden. 5. Ondergrenzen. 6.

Indexen.

20 witte Doelvakjes. Raster voor solovariant Strafpunten Eindscore

Module Limieten van de berekenbaarheid : antwoorden

Overzicht Fourier-theorie

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search

Examen Datastructuren en Algoritmen II

Het stappenplan om snel en goed iets nieuws in te studeren

Datastructuren Uitwerking jan

5 VWO SPELEN OP EEN SLIMME MANIER

(vi) Als u een stelling, eigenschap,... gebruikt, formuleer die dan, toon aan dat de voorwaarden vervuld zijn, maar bewijs die niet.

Algoritmen, Datastructuren en Complexiteit ( en ) Uitwerkingen

Dynamisch Programmeren III. Algoritmiek

Automaten en Berekenbaarheid

Regels REVERSI. Figuur 1: Bord met beginpositie.

Choice RESTTABEL SOMMENTABEL DOBBELWORPEN. KHBO-Spellenarchief p p p

blok 11 groep 4 Malmberg s-hertogenbosch

Sorteer netjes! 1. Knip de kaartjes van bijlage 1 uit. Sorteer

Het Queens n 2 graafkleuring probleem

Examen Datastructuren en Algoritmen II

Spelregels IK BOX spel (3 of 4 personen)

De regels van het spel

TW2020 Optimalisering

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

Reglement Diksmuidse zevenkamp caféspelen

Transcriptie:

Zoekproblemen met tegenstanders Zoekalgoritmen (29 2) College 9: Zoeken met een tegenstander (I) Dirk Thierens, Tekst: Linda van der Gaag Zoekproblemen met meer dan één partij worden gekenmerkt door interventies door andere partijen; onzekerheid over het gedrag van de andere partijen; een beperking van de tijd die aan het zoeken besteed kan worden. Andere aspecten die bij dergelijke problemen een rol kunnen spelen, zijn volledige of onvolledige informatie over een probleemtoestand; de aan- of afwezigheid van een kanselement in de toegestane operatoren; twee of meer partijen; coöperatie of competitie tussen de verschillende partijen. Zoekalgoritmen: Zoeken met tegenstander 226 / 353 Zoekalgoritmen: Zoeken met tegenstander Inleiding 22 / 353 Een zoekprobleem met een tegenstander Een zoekprobleem voor een speler MAX met een tegenstander MIN is een tupel P = (T, B, E, O MAX O MIN, u, s) met T is de verzameling van probleemtoestanden; B T is de verzameling van begintoestanden; E T is de verzameling van eindtoestanden; O MAX P(T T) is de verzameling van operatoren voor de speler en O MIN is die voor de tegenstander; u: E IN is de (symmetrische) utiliteitsfunctie van de speler; s {MAX, MIN} is de partij die de eerste operator toepast. De speler en de tegenstander genereren een reeks probleemtoestanden door om de beurt een operator toe te passen. Beschouw het boter-kaas-en-eieren spel: een probleemtoestand is een plaatsing van i kruisjes en j nulletjes in de vakjes van het raam, met i j en i + j 9: de begintoestand is het raam met negen lege vakjes: een eindtoestand is een probleemtoestand waarin geen lege vakjes voorkomen; Zoekalgoritmen: Zoeken met tegenstander Definitie 228 / 353 Zoekalgoritmen: Zoeken met tegenstander Definitie 229 / 353

vervolg Zoeken met een tegenstander de operator voor de speler is het plaatsen van een kruisje in een leeg vakje; de operator voor de tegenstander is het plaatsen van een nulletje in een leeg vakje; een utiliteitsfunctie u voor de speler is u(t) = als de eindtoestand t drie kruisjes op een rij bevat; u(t) = als de eindtoestand t drie nulletjes op een rij bevat; u(t) = anders. een optimaal algoritme voor zoeken met een tegenstander zoekt een uitputtende strategie voor de speler: de strategie schrijft voor elke mogelijke toestand na een zet van de tegenstander, voor welke zet de speler moet doen; de strategie maximaliseert de (verwachte) utiliteit voor de speler; enkele algoritmen voor zoeken met een tegenstander zijn: minimax search; expectiminimax search. Zoekalgoritmen: Zoeken met tegenstander Definitie 23 / 353 Zoekalgoritmen: Zoeken met tegenstander Definitie 23 / 353 vervolg Veronderstel dat het nim-spel met zeven stenen wordt gespeeld en dat de tegenstander begint: Beschouw het nim-spel: het spel begint met een enkele stapel stenen; in elke zet mag een partij één stapel stenen in twee stapels van ongelijke grootte verdelen; het spel eindigt als elke stapel maximaal twee stenen bevat; de partij die het spel in een eindtoestand brengt, is de winnaar. Een zoekalgoritme moet een optimale strategie voor de speler vinden. 6, 5, 2 5,, 4, 2, 3, 2, 2 3, 3, 4,,, 3, 2,, 2, 2, 2, 3,,,, 2, 2,,, 2,,,,, De zoekgraaf bevat alle reeksen probleemtoestanden die door de speler en de tegenstander gegenereerd kunnen worden. Zoekalgoritmen: Zoeken met tegenstander Definitie 232 / 353 Zoekalgoritmen: Zoeken met tegenstander Definitie 233 / 353

vervolg Het idee van minimax search 6, 5, 2 5,, 4, 2, 3, 2, 2 3, 3, 4,,, 3, 2,, 2, 2, 2, 3,,,, 2, 2,,, 2,,,,, Het idee van minimax search is het algoritme berekent voor elke knoop in de zoekboom de maximaal voor de speler te bereiken utiliteit onder de aannamen: de speler doet altijd de beste zet; de tegenstander doet altijd de voor de speler slechtste zet; het algoritme voert hiertoe een uitputtende depth-first search uit op de zoekboom. De optimale strategie voor de speler is als volgt: als de tegenstander de zet 6, doet, doe dan de zet 4, 2, ; als de tegenstander de zet 5, 2 doet, doe dan de zet 4, 2, ; als de tegenstander de zet doet, doe dan de zet 3, 3, ;... Zoekalgoritmen: Zoeken met tegenstander Definitie 234 / 353 Zoekalgoritmen: Zoeken met tegenstander Minimax search 235 / 353 Minimax search Beschouw nogmaals Beschouw een zoekprobleem met een tegenstander: minimax search construeert de gehele zoekboom van het probleem; minimax search berekent minimax(t) voor elke knoop t in de zoekboom: minimax(t) = u(t) als t een eindtoestand is; minimax(t) = max s succ(t) {minimax(s)} als t een toestand is waarin de speler aan zet is; minimax(t) = mins succ(t) {minimax(s)} als t een toestand is waarin de tegenstander aan zet is; minimax search construeert vervolgens een optimale strategie voor de speler. 6, 5, 2 5,, 4, 2, 3, 2, 2 3, 3, 4,,, 3, 2,, 2, 2, 2, 3,,,, 2, 2,,, 2,,,,, De minimax-waarde van een eindtoestand is de utiliteit van die toestand en geeft de wenselijkheid voor de speler weer. Zoekalgoritmen: Zoeken met tegenstander Minimax search 236 / 353 Zoekalgoritmen: Zoeken met tegenstander Minimax search 23 / 353

vervolg vervolg 6, 5, 2 6, 5, 2 5,, 4, 2, 3, 2, 2 3, 3, 5,, 4, 2, 3, 2, 2 3, 3, 4,,, 3, 2,, 2, 2, 2, 4,,, 3, 2,, 2, 2, 2, 3,,,, 2, 2,,, 3,,,, 2, 2,,, 2,,,,, de minimax-waarde van een toestand waarin de speler aan zet is, veronderstelt dat de speler de beste zet doet; de minimax-waarde van een toestand waarin de tegenstander aan zet is, veronderstelt dat deze de voor de speler slechtste zet doet. Zoekalgoritmen: Zoeken met tegenstander Minimax search 238 / 353 2,,,,, De optimale strategie schrijft voor elke toestand waarin de speler aan zet is, de zet met de hoogste minimax-waarde voor: als de tegenstander de zet 6, doet, doe dan de zet 4, 2, ; als de tegenstander de zet 5, 2 doet, doe dan de zet 4, 2, ; Zoekalgoritmen: Zoeken met tegenstander Minimax search 239 / 353 De veronderstelling Minimax search is gebaseerd op de veronderstelling dat de tegenstander ook een optimale strategie hanteert. Voorbeeld In het volgende spel begint de speler: t De bruikbaarheid van minimax Beschouw een spel met een zoekboom met diepte d en vertakkingsfactor b: de rekentijd van het minimax algoritme is ruwweg van de orde b d ; het geheugenbeslag van de berekende strategie is ruwweg van de orde b d : t t 2 5 t 3 t 4 t 5 t 6 t 5 t 8 t 9 5 Gebaseerd op de veronderstelling schrijft de strategie de zet naar t voor: de beste eindtoestand t wordt al bij voorbaat opgegeven! Zoekalgoritmen: Zoeken met tegenstander Minimax search 24 / 353 De zoekboom voor boter-kaas-en-eieren heeft al 9! = 362 88 bladeren... Zoekalgoritmen: Zoeken met tegenstander Minimax search 24 / 353...

Het gebruik van een dieptegrens Het minimax basisalgoritme wordt meestal uitgebreid met een dieptegrens: de dieptegrens specificieert een maximum aan de diepte van de te genereren zoekboom; het gebruik van de dieptegrens heeft als doel de rekentijd van minimax search te beperken; een concrete dieptegrens wordt gekozen op basis van de beschikbare rekentijd; kennis van de winnende probleemtoestanden van het onderhavige spel. Het minimax algoritme schrijft nu uitsluitend de eerstvolgende zet voor. Beschouw het boter-kaas-en-eieren spel en veronderstel dat de speler begint met het plaatsen van een kruisje: o o o o o o o o o o o Minimax search met diepte 2 genereert de bovenstaande zoekboom (rekening houdend met symmetrieën). Zoekalgoritmen: Zoeken met tegenstander Minimax search 242 / 353 Zoekalgoritmen: Zoeken met tegenstander Minimax search 243 / 353 De heuristische functie Op de verzameling probleemtoestanden van een spel wordt een heuristische functie gedefinieerd: de heuristische waarde van een toestand is een inschatting van de wenselijkheid van de toestand voor de speler; de heuristische functie is gebaseerd op kennis van het spel en van de winnende toestanden. De heuristische waarde van een toestand moet eenvoudig, zonder grote computationele kosten te berekenen zijn. Op de toestandsruimte van het boter-kaas-en-eieren spel definiëren we de volgende heuristische functie:, als t drie kruisjes op een rij bevat h(t) =, als t drie nulletjes op een rij bevat max(t) min(t), anders met max(t) = min(t) = het aantal open winnende rijen voor de speler het aantal open winnende rijen voor de tegenstander Zoekalgoritmen: Zoeken met tegenstander Minimax search 244 / 353 Zoekalgoritmen: Zoeken met tegenstander Minimax search 245 / 353

vervolg Minimax search met begrensde diepte Beschouw de gegeven heuristische functie op de toestandsruimte van het boter-kaas-en-eieren spel. Dan geldt h(t) = 6 5 = h(t) = 4 6 = 2 Minimax search met begrensde diepte is in essentie gelijk aan het minimax basisalgoritme. Echter, minimax search met diepte n construeert voor een probleem een begrensde zoekboom tot en met diepte n; minimax search met diepte n berekent een heuristische minimax-waarde h-minimax(t) voor elke toestand t in de begrensde boom: h-minimax(t) = h(t) als t een blad van de begrensde boom is; h-minimax(t) wordt berekend met dezelfde rekenregels als minimax(t) voorheen; minimax search met begrensde diepte n selecteert als eerstvolgende zet een zet die in de hoogste h-minimax waarde resulteert. Zoekalgoritmen: Zoeken met tegenstander Minimax search 246 / 353 Zoekalgoritmen: Zoeken met tegenstander Minimax search 24 / 353 vervolg vervolg Beschouw nogmaals het boter-kaas-en-eieren spel en veronderstel dat de speler begint met het plaatsen van een kruisje: Beschouw nogmaals 2 o o o o o o o o o o o o 2 2 Minimax search met begrensde diepte gebruikt de heuristische functie voor het berekenen van de h-minimax waarden voor de bladeren van de begrensde boom. o o o o o o o o o o o o 2 2 Minimax search met begrensde diepte berekent de h-minimax waarden voor de overige toestanden volgens de rekenregels van het basisalgoritme. Zoekalgoritmen: Zoeken met tegenstander Minimax search 248 / 353 Zoekalgoritmen: Zoeken met tegenstander Minimax search 249 / 353

De veronderstelling Minimax search met begrensde diepte veronderstelt dat voor een interne toestand t in de boom geldt dat h-minimax(t) een betere inschatting geeft van de wenselijkheid van t voor de speler dan h(t) Vergelijk bijvoorbeeld de volgende zetten voor de speler: h(t) = 4 = 3 h(t) = 4 = 3 Zoekalgoritmen: Zoeken met tegenstander Minimax search 25 / 353