Spellen en zoeken met tegenstanders

Leer hoe programma's zetten kiezen in spellen tegen tegenstanders. Modelleer een spel als zoekprobleem en teken de spelboom, vind de beste zet met minimax en versnel het zoeken met alfa-bètasnoei en een goede zetordening. Ontwerp evaluatiefuncties voor zoekacties die vroeg moeten stoppen, houd met expectimax rekening met dobbelstenen en onvoorspelbare tegenstanders, geef elke speler een eigen nutsfunctie in spellen met meerdere spelers en schat zetten op basis van gesimuleerde spellen met Monte-Carlo-boomzoeken en UCB1.

GemiddeldLes 4 van 10 in Cursus Kunstmatige intelligentie

Wat je leert

  1. Formaliseer een spel waarin spelers om de beurt spelen, deel het in op basis van de eigenschappen die bepalen welke zoekmethode past, en geef het mogelijke spelverloop weer als spelboom.
    • Formaliseer een spel en bepaal het speltype
      Schrijf de onderdelen op die een spel definiëren en onderscheid deterministische en stochastische spellen, spellen met volmaakte en onvolmaakte informatie, nulsomspellen en spellen met variabele som.
    • Bouw een spelboom op en lees die af
      Teken de boom van zetten voor een spel, gebruik halve zetten, diepte en vertakkingsfactor correct en schat hoe groot een volledige spelboom wordt.
  2. Bereken minimaxwaarden om de beste zet te vinden tegen een tegenstander die volmaakt speelt, implementeer het algoritme en breid het idee uit naar spellen met meerdere spelers en een eigen nutsfunctie per speler.
    • Bereken minimaxwaarden en de minimaxbeslissing
      Werk waarden terug vanaf de bladeren van een spelboom om de minimaxwaarde van elke positie te vinden en de zet die MAX moet spelen.
    • Implementeer minimaxzoeken
      Zet de minimaxdefinitie om in een recursief diepte-eerstalgoritme, geef de tijd- en geheugenkosten en vermijd de gebruikelijke implementatiefouten.
    • Doorzoek spellen met meerdere spelers en een eigen nutsfunctie per speler
      Gebruik nutsvectoren om zetten te kiezen wanneer meer dan twee spelers deelnemen of wanneer de belangen van de spelers niet strikt tegengesteld zijn.
  3. Sla delen van de spelboom over die de beslissing niet kunnen veranderen, doorloop alfa-bètasnoei met de hand en orden zetten zodat snoeien zo veel mogelijk werk bespaart.
    • Doorloop alfa-bètasnoei stap voor stap
      Houd alfa en bèta bij tijdens het zoeken, herken wanneer een deelboom kan worden gesnoeid en leg uit waarom het resultaat overeenkomt met minimax.
    • Orden zetten om effectief te snoeien
      Leg uit hoe de zetvolgorde bepaalt hoeveel alfa-bètasnoei bespaart en gebruik ordeningsheuristieken, iteratieve verdieping en transpositietabellen.
  4. Stop het zoeken voor het einde van het spel, schat de waarde van onvoltooide posities met een evaluatiefunctie en behandel de fouten die een dieptelimiet veroorzaakt.
    • Ontwerp een evaluatiefunctie
      Bouw een evaluatiefunctie op uit kenmerken van een positie, bereken de functie voor concrete posities en controleer of die aan de eisen voor een goede evaluatie voldoet.
    • Breek het zoeken verantwoord af
      Vervang de eindtoestandstest door een afbreektest, zoek dieper binnen een tijdslimiet en herken en verminder het horizoneffect en andere fouten door een dieptelimiet.
  5. Voeg toevalsknopen toe aan spelbomen, bereken expectiminimax- en expectimaxwaarden en ontwerp evaluatiefuncties die hun betekenis behouden wanneer uitkomsten worden gemiddeld.
    • Doorzoek bomen met toevalsknopen
      Modelleer dobbelsteenworpen en willekeurig spelende tegenstanders met toevalsknopen, bereken expectiminimaxwaarden stap voor stap en weet wanneer snoeien nog mogelijk is.
    • Schaal evaluatiewaarden en kies tussen minimax en expectimax
      Leg uit waarom verwachtingswaarden correct geschaalde evaluatiewaarden nodig hebben, toets welke transformaties beslissingen behouden en kies een tegenstandersmodel dat bij de situatie past.
  6. Schat zetwaarden op basis van gesimuleerde spellen, breng het verkennen van nieuwe zetten en het benutten van goede zetten in evenwicht met UCB1 en beoordeel wanneer Monte-Carlo-boomzoeken of alfa-bètasnoei beter bij een spel past.
    • Voer de vier fasen van Monte-Carlo-boomzoeken uit
      Bouw een zoekboom op met selectie, expansie, simulatie en terugkoppeling van simulatieresultaten, werk bezoek- en winsttotalen bij en kies de uiteindelijke zet.
    • Breng exploratie en exploitatie in evenwicht met UCB1
      Pas tijdens de selectie de UCB1-formule toe, bereken die voor concrete aantallen en zie hoe de exploratieconstante de keuze verandert.
    • Vergelijk MCTS met alfa-bètasnoei en kies een methode
      Weeg de sterke en zwakke punten van alfa-bètasnoei en Monte-Carlo-boomzoeken af, verbind ze aan baanbrekende spelprogramma's en kies een methode op basis van de eigenschappen van een spel.

Zoeken met tegenstanders: uitleg

6 hoofdstukken

1

Maak van een spel een zoekprobleem

Een programma heeft een nauwkeurige beschrijving van een spel nodig voordat het een zet kan kiezen. De beschrijving moet aangeven wie handelt, wat er vervolgens kan gebeuren en hoe een voltooid spel wordt beoordeeld. De spelboom geeft vervolgens de mogelijke voortzettingen weer. Om die boom te lezen houd je de beurten, de diepte en herhaalde posities bij, terwijl je bedenkt dat een tegenstander een deel van de takken bepaalt.

1.1 Toestanden, regels en spelers

Zoeken in een spel begint met een toestand: genoeg informatie om te bepalen wat er vervolgens kan gebeuren. Bij boter-kaas-en-eieren betekent dat het bord en de speler die aan zet is. Het bord alleen is onvolledig, omdat het volgende teken afhangt van wie aan de beurt is.

Definieer de zes onderdelen

Een spelmodel bevat:

  • Een begintoestand, S0.
  • Een functie, Aan-zet(s), die de speler aanwijst die in toestand s handelt.
  • De toegestane zetten, Acties(s).
  • Een overgangsmodel, Resultaat(s,a), dat de toestand na actie a geeft.
  • Een eindtoestandstest, Is-eindtoestand(s), die het einde van het spel vaststelt.
  • Een nutsfunctie, Nut(s,p), die speler p in een eindtoestand een numerieke opbrengst geeft.

Bij boter-kaas-en-eieren begin je met een leeg bord van 3×3 en X aan zet. Een actie kiest een leeg vakje. De overgang plaatst het teken van de huidige speler en wisselt de beurt. Het spel eindigt zodra iemand een rij, kolom of diagonaal van drie maakt, of als een vol bord gelijkspel oplevert. Geef vanuit het perspectief van X winst de score +1, gelijkspel 0 en verlies −1. De eindtoestandstest moet worden uitgevoerd voordat nog een teken wordt geplaatst: na winst gaat het spel niet verder.

Deel het spel langs afzonderlijke dimensies in
EigenschapBetekenisVoorbeeld
DeterministischEen toestand en zet bepalen de volgende toestand zonder toevalsgebeurtenis.Schaken
StochastischToevalsgebeurtenissen bepalen mede wat er gebeurt.Backgammon
Volmaakte informatieElke speler kan de volledige speltoestand waarnemen.Go
Onvolmaakte informatieEen deel van de relevante toestand is verborgen.Poker
Twee of meerdere spelersHet aantal spelers bepaalt hoeveel belangen moeten worden gemodelleerd.Schaken of een spel met drie spelers
Nulsomspel of spel met variabele somBelangen zijn strikt tegengesteld, of spelers kunnen samen voordeel behalen.Spel met winst of verlies, of gedeelde beloningen

Deze dimensies zijn onafhankelijk. Dobbelstenen maken backgammon stochastisch, ook al is het bord zichtbaar. Verborgen kaarten gaan over informatie, niet over de vraag of een actie zelf willekeurig is. In een spel met verborgen informatie redeneert een speler over de mogelijke toestanden die overeenkomen met zijn waarnemingen; dit heet een kennistoestand.

Houd het perspectief voor de opbrengst vast

In een nulsomspel met twee spelers is de winst van de ene speler het verlies van de andere. Scores met een constante som gedragen zich op dezelfde manier: winst 1, verlies 0 en gelijkspel ½ voor elk tellen altijd op tot 1. Eén getal volstaat om de tegenstelling uit te drukken. Noem de speler die een grotere waarde wil MAX en de speler die een kleinere waarde wil MIN. Dit zijn rollen; MAX hoeft niet altijd wit of X te zijn.

Bij gewoon zoeken kan elke actie langs een pad worden gekozen. Een spelende agent moet reageren op zetten die hij niet bepaalt. Zijn oplossing is een strategie, die aangeeft wat hij moet doen in elke situatie waarmee hij te maken kan krijgen. Een plan dat alleen werkt als de tegenstander een gunstig antwoord geeft, is niet genoeg.

Belangrijkste punten

  • Leg de speler die aan zet is vast als onderdeel van de toestand.
  • Definieer toegestane acties, overgangen, het einde van het spel en nutswaarden voordat je zoekt.
  • Toeval en verborgen informatie zijn afzonderlijke eigenschappen.
  • MAX en MIN vergelijken één nutswaarde vanuit het perspectief van MAX.
  • Een strategie moet rekening houden met de mogelijke antwoorden van de tegenstander.

1.2 Lees de grootte en vorm van een spelboom af

Een spelboom begint bij de huidige toestand. Elke uitgaande tak stelt één toegestane zet voor en de bijbehorende kindknoop is de resulterende toestand. Geef elke niet-terminale knoop de speler die daar handelt als label. In een spel met twee spelers die om de beurt spelen, wisselen MAX- en MIN-niveaus elkaar af.

Tel afzonderlijke beurten

Een halve zet is één zet van één speler. Bij schaken omvat een volledige zet meestal één beurt van wit en één van zwart, dus twee halve zetten. Een zoekactie tot diepte 4 vanaf de beurt van wit bereikt posities nadat wit, zwart, wit en zwart hebben gehandeld. Tel de takken vanaf de wortel, waarvan de diepte nul is.

Laat b de vertakkingsfactor en m de maximale diepte zijn. Een uniforme boom heeft bd knopen op diepte d en bm bladeren. Het totale aantal knopen is:

1+b+b2+⋯+bm.

Voor b>1 overheersen de diepste niveaus, wat exponentiële groei oplevert. Met vier zetten per positie heeft diepte 3 64 bladeren; diepte 4 heeft er 256. Eén extra halve zet vermenigvuldigt het aantal bladeren met vier, niet met één.

Onderscheid partijen van posities

Boter-kaas-en-eieren heeft maximaal 9!=362.880 volgorden om het bord te vullen. Veel volgorden zouden doorgaan na een eerdere overwinning en zijn geen volledige toegestane partijen. Als het spel direct stopt bij winst, zijn er 255.168 volledige partijen: 131.184 keer winst voor X, 77.904 keer winst voor O en 46.080 keer gelijkspel. In toegestane spelverlopen zijn er slechts 5.478 verschillende bordposities, inclusief het lege bord.

Het verschil komt deels door zetverwisselingen: verschillende zetvolgorden die dezelfde toestand bereiken. X kan een hoek spelen, O het midden en X de tegenoverliggende hoek, of X kan die twee hoeken in omgekeerde volgorde spelen. Beide paden eindigen met hetzelfde bord en dezelfde speler aan zet. Een boom bewaart beide paden; een spelgraaf kan hun gedeelde toestand eenmaal opslaan. Om werk te hergebruiken moet je volledige toestanden herkennen, niet alleen borden die er hetzelfde uitzien.

Zie waarom volledig zoeken vastloopt

Schaken wordt vaak gemodelleerd met ongeveer 35 toegestane zetten per positie en een partij van 100 halve zetten, ofwel 50 zetten per speler. Dat geeft bij benadering de grootteorde:

35100≈10154.

Werkelijke takken eindigen op verschillende diepten en hebben verschillende aantallen zetten, maar deze schatting verklaart al waarom het onpraktisch is om een volledige schaakspelboom te enumereren. Op een leeg gobord van 19×19 heeft alleen de eerste steen al 361 mogelijke punten.

De zoekboom is wat een algoritme daadwerkelijk genereert. Gewone minimax genereert de volledige spelboom onder de toestand voor een eindig spel dat volledig wordt doorzocht. Snoeien, dieptelimieten en selectieve simulatie genereren minder. Een blad waar het zoeken wordt afgebroken kan daarom een onvoltooide positie zijn, terwijl een blad van de volledige spelboom een eindtoestand is.

Stel je een strategie binnen de boom voor

Een strategiedeelboom voor MAX behoudt één gekozen tak bij elke MAX-knoop en elke toegestane tak bij elke MIN-knoop. MAX kiest zijn eigen actie, maar moet een antwoord behouden op elke zet van de tegenstander. Eén pad van wortel naar blad beschrijft slechts één mogelijk spelverloop. Het kan niet laten zien dat het gekozen plan ook tegen de andere antwoorden standhoudt.

Belangrijkste punten

  • Een halve zet is de zet van één speler; de diepte van de wortel is nul.
  • Een uniforme boom heeft ongeveer b tot de macht m bladeren.
  • Bij zetverwisselingen worden toestanden herhaald die via verschillende zetvolgorden zijn bereikt.
  • Een strategie behoudt een reactie op elk antwoord van de tegenstander.
2

Kies zetten tegen een tegenstander

De beste einduitkomst die je ziet, is misschien onbereikbaar omdat een tegenstander een ander antwoord kan kiezen. Minimax werkt vanaf uitkomsten terug om te vinden wat elke speler kan afdwingen. De recursieve vorm zet die redenering om in een programma. Wanneer spelers verschillende belangen hebben, moet hetzelfde terugwaartse proces voor elke speler een opbrengst bijhouden en de voorkeur gebruiken van degene die vervolgens handelt.

2.1 Werk minimaxwaarden terug

Minimax kiest het beste resultaat dat MAX tegen optimaal tegenspel kan veiligstellen. Elk bladnut wordt voor MAX gemeten. Een groot getal is gunstig voor MAX, ook wanneer de geëvalueerde knoop bij MIN hoort.

Werk van de bladeren naar de wortel

Geef bij een eindknoop het nut terug. Geef bij een MAX-knoop de grootste waarde van de kindknopen terug. Geef bij een MIN-knoop de kleinste terug. Ga door totdat de wortel een waarde krijgt:

V(s)={Nut(s,MAX)als s een eindtoestand ismaxaV(Resultaat(s,a))als MAX handeltminaV(Resultaat(s,a))als MIN handelt.

Een waarde van een kindknoop vat het optimale vervolg vanaf die kindknoop al samen. Daarom vergelijkt een ouderknoop de teruggegeven waarden in plaats van elk onderliggend blad opnieuw te bekijken. De recursie werkt door een willekeurig aantal afwisselende niveaus heen.

Doorloop een beslissing van twee halve zetten

MAX heeft drie zetten, die elk naar een MIN-knoop leiden:

Zet van MAXBeschikbare eindnutswaarden voor MINTeruggewerkte waarde
A4, 9, 64
B2, 15, 132
C5, 8, 105

Neem eerst het minimum binnen elke rij. MIN kan A 4 waard maken, B 2 en C 5. Daarna neemt MAX het maximum van die drie resultaten:

max⁡(4,2,5)=5.

De minimaxwaarde is 5. De minimaxbeslissing is de zet naar C. Het ene is een getal dat de positie beschrijft; het andere is een actie die het programma kan spelen.

Het grootste blad, 15, ligt onder B, maar MAX bepaalt niet welk antwoord dat blad bereikt. MIN zou 2 kiezen. Het gemiddelde van de bladeren van B is 10, wat er ook aantrekkelijk uitziet, maar middelen modelleert een willekeurige keuze met passende kansen. Optimaal tegenspel vraagt om een minimum.

Lees de hoofdvariant af

De hoofdvariant is het spelverloop dat wordt gevolgd wanneer de spelers optimale zetten kiezen. Hier speelt MAX C en kiest MIN zijn blad met waarde 5. Volg in een diepere boom op elk niveau het gekozen maximum of minimum. Het eindnut op dat pad komt overeen met de wortelwaarde. Als meerdere zetten gelijk eindigen, kan meer dan één optimaal spelverloop bestaan.

Begrijp de garantie

Voor een eindig deterministisch nulsomspel met twee spelers en volmaakte informatie garandeert het volgen van de minimaxstrategie ten minste de wortelwaarde. Een optimale tegenstander beperkt MAX tot die waarde. Een fout van de tegenstander kan een beter resultaat mogelijk maken, dus 5 is een ondergrens, geen voorspelling dat elke partij op precies 5 moet eindigen.

Een programma kan zwakte uitbuiten en die ondergrens behouden. Als twee zetten allebei minimaxwaarde 5 hebben, kan het de voorkeur geven aan de zet die de tegenstander meer kansen op een fout biedt. Een zet met minimaxwaarde 2 kiezen omdat daar een verleidelijke 15 onder ligt, geeft de garantie van 5 op. Het verschil is of de zet de beste waarde voor het slechtste geval behoudt.

Belangrijkste punten

  • Werk bij MIN-knopen een minimum en bij MAX-knopen een maximum terug.
  • De minimaxwaarde is een getal; de beslissing is een zet.
  • Het grootste blad alleen kan de beste zet niet aanwijzen.
  • Een hoofdvariant volgt op elk niveau optimale keuzes.
  • Volledige minimax garandeert zijn waarde tegen optimaal tegenspel.
  • Een zwakkere tegenstander kan een resultaat boven die garantie mogelijk maken.

2.2 Schrijf een recursief minimaxprogramma

De minimaxdefinitie is al een recursief programma. Een waardefunctie neemt een toestand en geeft een getal terug. Een zoekfunctie vergelijkt de mogelijke eerste zetten en geeft de te spelen actie terug.

Scheid zetkeuze van waardeberekening

De volgende pseudocode gaat ervan uit dat MAX bij de wortel handelt en dat de beurten afwisselen:

MINIMAX-SEARCH(s):
    if Is-Terminal(s): return no action
    bestMove = no action
    bestValue = -infinity
    for a in Actions(s):
        value = MIN-VALUE(Result(s, a))
        if value > bestValue:
            bestValue = value
            bestMove = a
    return bestMove

MAX-VALUE(s):
    if Is-Terminal(s): return Utility(s, MAX)
    v = -infinity
    for a in Actions(s):
        v = max(v, MIN-VALUE(Result(s, a)))
    return v

MIN-VALUE(s):
    if Is-Terminal(s): return Utility(s, MAX)
    v = +infinity
    for a in Actions(s):
        v = min(v, MAX-VALUE(Result(s, a)))
    return v

Initialiseer MAX met min oneindig zodat elke kindknoop die waarde verbetert; initialiseer MIN met plus oneindig. Test of het spel is geëindigd voordat je opvolgers genereert. Een vol bord bij boter-kaas-en-eieren zonder rij van drie is gelijkspel, geen niet-terminale positie waarvan de beste zet uit een lege lijst moet worden gekozen.

Volg wat de recursie ontdekt

Bekijk dit bord voor boter-kaas-en-eieren, met X aan zet en een punt voor een leeg vakje:

X O X
. O .
. . .

O dreigt de middelste kolom te vullen. Als X ergens anders dan middenonder speelt, kan O de volgende beurt winnen. Die zetten hebben waarde −1 voor X. Middenonder spelen blokkeert de onmiddellijke winst en maakt gelijkspel mogelijk bij optimaal spel, met waarde 0. De wortel geeft middenonder terug. Het algoritme heeft geen afzonderlijke instructie nodig die deze dreiging benoemt: de einduitkomsten bepalen de waarden.

Begroot tijd en geheugen

Diepte-eerstminimax bekijkt O(bm) knopen bij vertakkingsfactor b en maximale diepte m. Het opslaan van alle gegenereerde knopen met dezelfde ouder op elk actief niveau vereist O(bm) geheugen. Opvolgers één voor één genereren vermindert de opslag voor het actieve zoeken tot O(m), afgezien van de toestandsrepresentatie. Exponentiële tijd, niet de recursiestapel, is meestal het grootste obstakel.

Behoud de scoreconventie

In MAX/MIN-code geeft elke aanroep het nut van MAX terug. Draai het teken niet om alleen omdat MIN daarna handelt. Negamax gebruikt een andere conventie: elke waarde is vanuit het perspectief van de huidige speler, zodat een waarde van een kindknoop wordt ontkend voordat de ouderknoop die maximaliseert:

V(s)=max⁡a(−V(Resultaat(s,a))).

Voor een spel dat in minder dan 100 halve zetten eindigt, kan de timing worden meegenomen door winst voor MAX op diepte d te scoren als 100−d, verlies als −100+d en gelijkspel als 0. Snellere winst scoort dan hoger en uitgesteld verlies is minder negatief. De strikte dieptelimiet houdt elke winst positief en elk verlies negatief.

Zo scoren overwinningen bij halve zet 3 en 7 respectievelijk 97 en 93, zodat de snellere winst de voorkeur krijgt. Verliezen op die diepten scoren −97 en −93, waardoor het latere verlies de voorkeur krijgt terwijl beide slechter blijven dan gelijkspel.

Belangrijkste punten

  • Test op eindtoestanden voordat je zetten expandeert.
  • Geef acties terug vanuit de zoekfunctie en getallen vanuit de waardefuncties.
  • Diepte-eerstminimax kost exponentiële tijd.
  • Alle MAX/MIN-nutswaarden behouden het perspectief van MAX.
  • Negamax wisselt van perspectief en ontkent elke teruggegeven waarde van een kindknoop.

2.3 Houd voor elke speler een opbrengst bij

Eén nutswaarde voor MAX werkt wanneer de belangen van twee spelers strikt tegengesteld zijn. Bij meerdere spelers of overlappende belangen houd je een nutsvector bij. Voor spelers A, B en C geeft de vector (1, 2, 6) hun opbrengsten in die volgorde.

Selecteer op basis van het element van de actieve speler

Vergelijk bij een knoop waar C handelt de derde elementen van de kindvectoren. Geef de volledige vector terug van de kindknoop die C verkiest. Vergelijk bij een B-knoop de tweede elementen van die teruggegeven vectoren; vergelijk bij een A-knoop de eerste.

Maximaliseer niet elk element onafhankelijk. Als de beschikbare uitkomsten (1, 2, 6) en (4, 2, 3) zijn, kiest C (1, 2, 6). De combinatie (4, 2, 6) is geen beschikbare uitkomst en kan niet worden teruggewerkt.

Werk terug door drie spelers

A zet eerst, dan B en dan C. Na de linkerzet van A kiest B tussen twee C-knopen:

  • De eerste heeft bladeren (1, 2, 6) en (4, 2, 3). C kiest (1, 2, 6).
  • De tweede heeft bladeren (6, 1, 2) en (7, 4, 1). C kiest (6, 1, 2).

B vergelijkt de tweede elementen 2 en 1, dus de linkertak geeft (1, 2, 6) terug.

Na de rechterzet van A:

  • C kiest (5, 4, 5) boven (2, 5, 4), omdat 5 groter is dan 4 in het derde element.
  • C kiest (5, 2, 4) boven (7, 7, 1), omdat 4 groter is dan 1 in het derde element.

B vergelijkt de tweede elementen 4 en 2, dus de rechtertak geeft (5, 4, 5) terug. Ten slotte vergelijkt A de eerste elementen 1 en 5 en kiest rechts. De wortel krijgt de volledige vector (5, 4, 5).

Geef aan hoe gelijke waarden worden afgehandeld

Als C (2, 3, 4) of (6, 1, 4) kan kiezen, leveren beide C 4 op. De uiteindelijke opbrengst van A kan 2 of 6 zijn. Een voorspelling vereist een keuzeregel bij gelijke waarden of een model van de keuze van C. Dat een andere speler geen voorkeur heeft, hoeft voor de speler bij de wortel niet onschadelijk te zijn.

ModelWaar elke andere speler de voorkeur aan geeft
Terugwerken van nutsvectorenEen grotere waarde in het eigen vectorelement
Meerdere MIN-tegenstandersEen kleinere waarde van de ene nutswaarde van MAX
Paranoïde zoekenElke andere speler wordt gemodelleerd als deel van een coalitie tegen de speler bij de wortel

Als twee achtervolgers allebei willen dat MAX wordt gevangen, heeft een ronde één MAX-laag en een MIN-laag voor elke achtervolger. Met twee achtervolgers is één ronde drie halve zetten. Dit model verschilt van drie onafhankelijke spelers die hun eigen beloningen nastreven.

Laat belangen overlappen

In een spel met variabele som kunnen beide spelers de voorkeur geven aan (100, 100) boven lagere gezamenlijke opbrengsten. Spelers kunnen ook tijdelijk voordeel hebben bij het aanvallen van een gemeenschappelijke koploper. Zulk gedrag dat op een bondgenootschap lijkt, kan uit hun eigen voorkeuren volgen en veranderen wanneer de positie verandert.

Gewone alfa-bèta-afbrekingen berusten op tegengestelde belangen en zijn niet direct overdraagbaar op nutsvectoren. Het paranoïde model herstelt een tegenstelling tussen twee spelers, waardoor alfa-bètazoeken mogelijk is, maar kan gecoördineerde vijandigheid voorspellen waarvoor de andere spelers in werkelijkheid niet zouden kiezen.

Belangrijkste punten

  • Een nutsvector houdt één opbrengst per speler bij.
  • De actieve speler kiest op basis van het eigen element en geeft de hele vector terug.
  • Bij gelijke waarden is een regel nodig wanneer de gelijke keuzes andere spelers verschillend beïnvloeden.
  • Meerdere MIN-lagen passen bij tegenstanders die het doel delen om het nut van MAX te verlagen.
  • Het paranoïde model gaat uit van een coalitie tegen de speler bij de wortel.
3

Sla takken over die de keuze niet kunnen veranderen

Minimax kan het grootste deel van zijn tijd besteden aan het bevestigen van keuzes die een speler nooit zou toestaan. Alfa-bètasnoei geeft grenzen door langs het huidige pad, zodat die zoekacties vroeg kunnen stoppen. De zetvolgorde bepaalt hoe snel bruikbare grenzen verschijnen. Iteratieve verdieping en opgeslagen resultaten helpen een programma die volgorde te vinden en eerder werk te hergebruiken zonder een onvoltooide schatting voor een exacte waarde aan te zien.

3.1 Volg alfa en bèta door de boom

Alfa-bètasnoei geeft dezelfde wortelwaarde als minimax op dezelfde boom met dezelfde bladwaarden. De methode bespaart werk door te bewijzen dat sommige takken de keuze niet kunnen verbeteren. Optimale zetten met gelijke waarden kunnen in een andere volgorde worden teruggegeven.

Geef een zoekvenster langs het pad door

Twee grenzen beschrijven de beschikbare keuzes boven de huidige knoop:

  • α is de beste beschikbare waarde voor MAX langs het pad: MAX kan al ten minste deze waarde behalen.
  • β is de beste beschikbare waarde voor MIN langs het pad: MIN kan MAX al tot hoogstens deze waarde beperken.

Begin bij de wortel met min en plus oneindig. Elke recursieve kindknoop ontvangt de huidige grenzen. Het zijn lokale argumenten, geen globale getallen die tussen onafhankelijke zoekacties in knopen met dezelfde ouder worden gedeeld.

Houd bij een MAX-knoop de grootste waargenomen waarde van de kindknopen bij. Stop wanneer die bèta bereikt of overschrijdt: MIN hoger in de boom heeft al een alternatief dat niet groter is dan bèta. Verhoog anders alfa wanneer MAX een verbetering vindt. Houd bij een MIN-knoop de kleinste waargenomen waarde van de kindknopen bij. Stop wanneer die alfa bereikt of daaronder komt: MAX hoger in de boom heeft al een alternatief dat minstens even goed is. Verlaag anders bèta.

MAX-VALUE(s, alpha, beta):
    if Is-Terminal(s): return Utility(s, MAX)
    v = -infinity
    for a in Actions(s):
        v = max(v, MIN-VALUE(Result(s, a), alpha, beta))
        if v >= beta: return v
        alpha = max(alpha, v)
    return v

MIN-VALUE(s, alpha, beta):
    if Is-Terminal(s): return Utility(s, MAX)
    v = +infinity
    for a in Actions(s):
        v = min(v, MAX-VALUE(Result(s, a), alpha, beta))
        if v <= alpha: return v
        beta = min(beta, v)
    return v

De wortel vergelijkt acties en behoudt alfa tussen de acties:

ALPHA-BETA-SEARCH(s):
    if Is-Terminal(s): return no action
    alpha = -infinity
    beta = +infinity
    bestMove = no action
    for a in Actions(s):
        v = MIN-VALUE(Result(s, a), alpha, beta)
        if v > alpha:
            alpha = v
            bestMove = a
    return bestMove
Doorloop een afbreking bij MIN

Doorzoek de MIN-takken A = (4, 9, 6), B = (2, 15, 13) en C = (5, 8, 10), van links naar rechts. A moet alle drie de bladeren bekijken en geeft 4 terug. De wortel heeft nu alfa 4. Het eerste blad van B is 2. Het uiteindelijke minimum kan alleen op 2 blijven of dalen, dus B kan A niet overtreffen. Sla de twee resterende bladeren van B over. C bekijkt alle drie de bladeren en geeft 5 terug. De wortel kiest C na zeven van de negen bladeren te hebben bekeken.

Doorloop een afbreking bij MAX

Stel dat een MIN-ouderknoop al een kindknoop met waarde 3 heeft, waardoor bèta op 3 staat. Zijn volgende MAX-kindknoop vindt een blad met waarde 6. De waarde van die kindknoop is minstens 6, dus MIN geeft de voorkeur aan de al gevonden 3. Sla de resterende kindknopen van die MAX-knoop over. De redenering voor de afbreking gebruikt het alternatief van MIN, ook al is de huidige knoop een MAX-knoop.

Een gesnoeide MIN-knoop kan een bovengrens teruggeven; een gesnoeide MAX-knoop kan een ondergrens teruggeven. Hun exacte waarden blijven onbekend. De voltooide wortelwaarde is exact voor de doorzochte boom. Ook gelijkheid staat een afbreking toe, omdat een tak die hoogstens gelijk kan eindigen de huidige beste waarde niet kan verbeteren.

Belangrijkste punten

  • Alfa is de beschikbare ondergrens van MAX; bèta is de beschikbare bovengrens van MIN.
  • MAX verhoogt alfa en breekt af bij bèta.
  • MIN verlaagt bèta en breekt af bij alfa.
  • Geef grenzen naar beneden door als lokale argumenten.
  • Een resultaat na een afbreking kan een grens zijn in plaats van een exacte knoopwaarde.
  • Snoeien behoudt de minimaxwaarde van de wortel, ook bij afbrekingen op gelijkheid.

3.2 Vind vroeg bruikbare grenzen en hergebruik zoekresultaten

Alfa-bètasnoei bespaart het meeste werk wanneer sterke zetten vroeg worden doorzocht. De waarden veranderen niet met de zetvolgorde; het moment waarop de zoekmethode een afbreking kan bewijzen wel.

Vergelijk twee volgorden

Voor de drie MIN-takken A = (4, 9, 6), B = (2, 15, 13) en C = (5, 8, 10) worden bij een begin met A zeven bladeren bekeken. Begin in plaats daarvan met C. Zijn drie bladeren stellen alfa 5 vast. A vindt dan direct 4 en breekt af; B vindt direct 2 en breekt af. Slechts vijf bladeren worden geëvalueerd en het antwoord blijft C met waarde 5.

Voor een uniforme boom met volmaakte ordening is het aantal bladeren:

b⌈m/2⌉+b⌊m/2⌋−1.

Dit is ongeveer O(bm/2) in plaats van de O(bm) van minimax. De effectieve vertakkingsfactor daalt tot ongeveer b, waardoor bij een vergelijkbaar budget ongeveer tweemaal de diepte mogelijk is. Bij b=35 evalueert een zoekactie tot diepte 8 met volmaakte ordening 3.001.249 bladeren; gewone minimax tot diepte 4 heeft 1.500.625 bladeren. De vergelijking gaat over de grootteorde, niet over een identieke looptijd.

OrdeningBenaderde kosten in bladeren
VolmaaktO(bm/2)
Willekeurig, bij matige vertakkingsfactorenOngeveer O(b3m/4)
Slechtste gevalO(bm)

Bij de slechtste volgorde kan alfa-bètasnoei elk minimaxblad bekijken. De extra grenscontroles kosten tijd, ook als ze geen bladeren besparen.

Gebruik goedkope aanwijzingen voor de ordening

De exacte beste zet is vóór het zoeken onbekend. Programma's gebruiken snelle schattingen. Bij schaken kunnen ze slagzetten proberen, dan dreigingen en dan rustige zetten. Een killerzet veroorzaakte elders op dezelfde zoekdiepte een afbreking en wordt vroeg in een andere positie geprobeerd. Deze aanwijzingen beïnvloeden de efficiëntie; ze rechtvaardigen niet dat de andere toegestane zetten worden weggegooid.

Iteratieve verdieping zoekt tot diepte 1, dan 2, dan 3 enzovoort. Een sterke zet uit de vorige iteratie wordt een vroege kandidaat in de volgende. Het diepste voltooide resultaat ligt ook klaar als de tijd verstrijkt.

Het herhaalde werk heeft verschillende kosten afhankelijk van het snoeien. Bij ongesnoeid uniform zoeken met vertakkingsfactor 35 voegen alle ondiepere iteraties ongeveer 1/(35−1)≈2,9% toe aan de laatste zoekactie. Bij alfa-bètasnoei met volmaakte ordening evalueren diepten 1 tot en met 7 samen 1.677.159 bladeren, ongeveer 56% van het aantal op diepte 8. Betere ordening kan het totale proces nog steeds de moeite waard maken.

Sla posities op met hun betekenis

Een transpositietabel slaat resultaten op met de volledige speltoestand als sleutel. Als een andere zetvolgorde die toestand bereikt, kan het programma een geschikt item hergebruiken. Sla de doorzochte diepte op en of het resultaat exact is, een ondergrens of een bovengrens. Een ondiep item vervangt niet de informatie die een diepere zoekactie vereist. Een grens kan een venster versmallen of een afbreking rechtvaardigen, maar mag niet als exacte waarde worden behandeld.

Belangrijkste punten

  • De zetvolgorde verandert de hoeveelheid werk van alfa-bètasnoei, niet de wortelwaarde.
  • Volmaakte ordening vermindert de exponentiële kosten tot ongeveer b tot de macht m/2.
  • Iteratieve verdieping levert een voltooide zet en verbetert de ordening.
  • Een transpositietabelitem heeft de diepte nodig en een aanduiding voor exact, ondergrens of bovengrens.
4

Evalueer onvoltooide posities binnen een tijdslimiet

Grote spellen dwingen een zoekactie te stoppen terwijl het spel nog niet is afgelopen. Een evaluatiefunctie geeft die posities aan het zoekfront bruikbare scores, en de zoekmethode werkt die terug via de keuzes van de spelers. De stopregel is even belangrijk als de score: een positie midden in een slagwisseling kan misleidend sterk lijken. Selectieve zoekverdiepingen en exacte opzoekresultaten helpen een programma zijn beperkte tijd te besteden waar het resultaat het gevoeligst is.

4.1 Bouw en interpreteer een evaluatiefunctie

Een evaluatiefunctie schat hoe gunstig een onvoltooide positie voor MAX is. Ze maakt zoeken met een dieptelimiet mogelijk: het zoekfront krijgt geschatte waarden die door minimax of alfa-bètasnoei kunnen worden teruggewerkt.

Maak scores bruikbaar voor het zoeken

Een goede evaluator is snel, komt overeen met de ordening van werkelijke einduitkomsten en hangt bij niet-terminale posities samen met succes. Eindtoestanden zelf moeten hun exacte nut krijgen. Een overwinning van MAX moet hoger scoren dan elke niet-terminale schatting, zodat stukken verzamelen niet aantrekkelijker kan worden dan winnen.

Een manier om naar evaluatie te kijken is posities te groeperen op gedeelde kenmerken. Als zo'n groep 72% winst, 8% gelijkspel en 20% verlies oplevert, met nutswaarden 1, ½ en 0, is het gemiddelde nut:

0,72×1+0,08×0,5+0,20×0=0,76.

Deze interpretatie hangt af van hoe posities en voortzettingen zijn geselecteerd. Het is een schatting van de kwaliteit van de uitkomst, geen bewijs van een afgedwongen overwinning.

Tel gewogen kenmerken op

Een veelgebruikt ontwerp is een gewogen som:

Eval(s)=∑i=1nwifi(s).

Elk kenmerk fi(s) meet een eigenschap van de positie; elk gewicht wi geeft aan hoeveel het bijdraagt. Verschillen tussen de spelers houden het perspectief helder. Een positief materiaalverschil betekent dat MAX meer materiaal heeft.

Traditionele schaakwaarden zijn pion 1, paard 3, loper 3, toren 5 en dame 9. Aan de koning wordt geen materiaalwaarde als te slaan stuk toegekend. Stel dat MAX wit is. Wit heeft een dame, twee torens, een loper en zes pionnen:

9+2×5+3+6=28.

Zwart heeft twee torens, twee paarden, een loper en zeven pionnen:

2×5+2×3+3+7=26.

Het materiaalkenmerk is daarom 28−26=2. Als wit 30 toegestane zetten heeft en zwart 24, is het mobiliteitsverschil 6. Met materiaalgewicht 1 en mobiliteitsgewicht 0,1:

Eval=1×2+0,1×6=2,6.

Die 2,6 is een kenmerkscore, geen winstkans van 260%. De gewichten bepalen de schaal ervan.

Houd rekening met kenmerken die op elkaar inwerken

Een eenvoudige lineaire som geeft elk kenmerk een vaste bijdrage onafhankelijk van de andere. De werkelijke spelwaarde kan afhangen van combinaties: een paar lopers kan meer waard zijn dan de som van hun afzonderlijke effecten, en het belang van een pion kan in een eindspel veranderen. Gecombineerde kenmerken, gewichten die afhangen van de spelfase of niet-lineaire evaluatoren kunnen deze effecten vastleggen. Gewichten kunnen op basis van een inschatting worden gekozen of worden aangepast aan uitkomsten van vastgelegde partijen.

Meer kenmerken kosten ook tijd. Een uitgebreide evaluator die een extra nuttige halve zoekzet verhindert, kan de beslissing verslechteren, zelfs als de afzonderlijke schattingen beter worden.

Stem de schaal af op de regel voor terugwerken

Bij deterministische minimax behouden consequent toegepaste strikt stijgende transformaties de ordening via maxima en minima. Als alle scores positief zijn, behoudt kwadrateren bijvoorbeeld hun volgorde. Willekeurige scores met een positief of negatief teken kwadrateren doet dat niet. Bij toevalsknopen zijn de werkelijke afstanden tussen nutswaarden van belang omdat de waarden worden gemiddeld. Een score die alleen is ontworpen om posities te rangschikken, moet worden gekalibreerd voordat die verwacht nut kan weergeven.

Belangrijkste punten

  • Evalueer niet-terminale toestanden aan het zoekfront en gebruik exact nut bij eindtoestanden.
  • Een echte overwinning moet hoger staan dan elke niet-terminale schatting.
  • Een gewogen evaluator telt gemeten kenmerken op, vermenigvuldigd met hun gewichten.
  • Kenmerkscores hoeven geen kansen te zijn.
  • Interacties kunnen gecombineerde kenmerken of veranderende gewichten vereisen.
  • Toevalsknopen hebben nutswaarden op een betekenisvolle schaal nodig.

4.2 Kies waar je stopt en waar je dieper zoekt

Heuristische minimax stopt voordat het spel eindigt. Het antwoord is optimaal voor de doorzochte boom met de toegekende scores aan het zoekfront. De methode kan in het werkelijke spel toch een verliezende zet kiezen als die schattingen missen wat er daarna gebeurt.

Onderscheid eindtoestanden van afbreekpunten

Een eindtoestand heeft een bekende uitkomst. Bij een afbreking op de dieptelimiet is het spel nog niet afgelopen en is een schatting nodig. Test ze in die volgorde:

H-MINIMAX(s, d):
    if Is-Terminal(s): return Utility(s, MAX)
    if Is-Cutoff(s, d): return Eval(s)
    if To-Move(s) == MAX:
        return max over a of H-MINIMAX(Result(s, a), d + 1)
    return min over a of H-MINIMAX(Result(s, a), d + 1)

De afbreektest controleert meestal of de diepte een limiet heeft bereikt. Alfa-bètasnoei kan deze heuristische boom op dezelfde manier snoeien. Het snoeien blijft exact ten opzichte van die waarden aan het zoekfront; het verandert schattingen niet in werkelijke speluitkomsten.

Binnen een tijdslimiet behoudt iteratieve verdieping de actie uit de diepste voltooide iteratie. Bij een gedeeltelijk doorzochte diepere wortel kan de eerste tak de voorkeur krijgen, alleen doordat de alternatieven nog niet zijn geëvalueerd.

Maak een tactische slagwisseling af

Een rustige positie is rustig genoeg dat een korte gedwongen voortzetting de evaluatie waarschijnlijk niet sterk verandert. Rustzoeken gaat in onrustige posities voorbij de normale diepte door, meestal door slagzetten te volgen totdat de slagwisseling voorbij is.

Stel dat de witte dame precies op de dieptelimiet een pion slaat. De materiaalscore verbetert met 1. Maar zwart kan de dame in de volgende halve zet terugslaan. De nettoverandering in materiaal is:

1−9=−8.

Stoppen na de eerste slagzet meldt +1; een korte zoekverdieping met slagzetten onthult −8. Het probleem is evalueren midden in een slagwisseling, niet een tekortkoming van de regel waarmee minimax waarden terugwerkt.

Herken uitgesteld verlies

Het horizoneffect treedt op wanneer een programma een onvermijdelijk verlies uitstelt tot voorbij de zoekdiepte. Een ingesloten loper kan na enkele schaakzetten met pionnen alsnog verloren gaan. Als de zoekmethode de schaakzetten ziet maar stopt voordat de loper wordt geslagen, kan het programma pionnen weggeven om dat toekomstige verlies te verhullen.

Een singuliere zoekverdieping zoekt dieper langs een zet die duidelijk boven de alternatieven uitsteekt. Programma's zoeken ook verder na dwingende schaakzetten of terugslagen. Zoekverdiepingen besteden extra diepte aan geselecteerde spelverlopen; ze vereisen een budget zodat een zoekactie nog kan worden voltooid.

TechniekReden om minder of meer werk te doen
Alfa-bètasnoeiEen grens bewijst dat een tak de beslissing niet kan verbeteren.
Voorwaarts snoeienEen heuristiek voorspelt dat sommige zetten onbelangrijk zijn.
Rustzoeken of tactische zoekverdiepingEen onrustig of dwingend spelverloop heeft meer diepte nodig.

Voorwaarts snoeien, zoals alleen enkele beste zetten behouden, kan de winnende zet weggooien. De besparing gaat niet gepaard met de garantie van alfa-bètasnoei.

Vervang zoeken door exact opgeslagen kennis

Een openingsboek levert bestudeerde openingszetten. Eindspeldatabases werken met retrograde analyse terug vanaf bekende uitkomsten. Schaakeindspeldatabases voor zeven stukken omvatten de twee koningen en leveren exacte resultaten voor de eindspelen die ze bestrijken. De regels en toestandsinformatie van een opzoekresultaat moeten overeenkomen met het gespeelde spel.

Belangrijkste punten

  • Gebruik exact nut voor eindtoestanden en evaluatie voor onvoltooide afbreektoestanden.
  • Speel de beste actie uit de diepste voltooide iteratie.
  • Rustzoeken maakt tactische slagwisselingen af vóór de evaluatie.
  • Het horizoneffect kan het verspillen van materiaal belonen om een onvermijdelijk verlies uit te stellen.
  • Voorwaarts snoeien kan de beste zet verliezen; alfa-bètasnoei bewijst dat de afbrekingen veilig zijn.
  • Openingsboeken en eindspeldatabases leveren opgeslagen kennis in plaats van een nieuwe zoekactie.
5

Werk toevalsuitkomsten terug met kansen

Sommige takken worden door een speler gekozen; andere door toeval. De regel voor terugwerken moet bij elke knoop met dat verschil rekening houden. Gewogen gemiddelden laten een programma dobbelstenen of een model van onvoorspelbaar gedrag verwerken, maar maken ook de numerieke schaal van de evaluator belangrijk. De juiste keuze hangt af van zowel de spelregels als de nauwkeurigheid waarmee het programma zijn tegenstander modelleert.

5.1 Bereken waarden via toevalsknopen

Een toevalsknoop stelt een toevalsgebeurtenis voor. De takken geven mogelijke uitkomsten en hun kansen weer, die optellen tot 1. Geen enkele speler kiest de gunstigste tak.

Gebruik de regel die bij elke knoop hoort
KnoopTeruggewerkte waarde
EindknoopHet nut van de knoop
MAXDe grootste waarde van de kindknopen
MINDe kleinste waarde van de kindknopen
ToevalHet kansgewogen gemiddelde van de waarden van de kindknopen

Voor uitkomsten r heeft een toevalsknoop de waarde:

∑rP(r)V(Resultaat(s,r)).

Expectiminimax combineert alle vier de regels. Expectimax gebruikt MAX en toeval wanneer er geen minimaliserende speler is. Een kansmodel van een willekeurig spelende tegenstander kan zelfs in een spel met deterministische zetregels toevalstakken opleveren.

Werk terug door toeval en tegenspel

MAX kiest L of R. Elke zet leidt tot een toevalsgebeurtenis, gevolgd door een keuze van MIN.

Na L levert een zuivere muntworp twee MIN-knopen op. Hun bladeren zijn (3, 7) en (8, 4). MIN geeft 3 en 4 terug. De toevalsknoop geeft dan:

0,5×3+0,5×4=3,5.

Na R leiden kansen 0,25 en 0,75 naar MIN-knopen met bladeren (10, 1) en (6, 5). Hun waarden zijn 1 en 5, dus:

0,25×1+0,75×5=4.

MAX kiest R omdat 4 groter is dan 3,5. Als je eerst de oorspronkelijke eindbladeren zou middelen, zou toeval de beslissing van MIN vervangen. Verwerk elke knoop nadat de kindknopen zijn afgehandeld.

Ken de juiste kansen toe

Twee zuivere dobbelstenen hebben 36 even waarschijnlijke geordende uitkomsten. Backgammon groepeert omgekeerde volgorden, zoals 3–5 en 5–3, als dezelfde worp. Dat geeft 21 verschillende worpen: zes dubbele worpen met elk kans 1/36 en 15 niet-dubbele worpen met elk kans 1/18. De controle is:

6×136+15×118=1.

Alle 21 worpen kans 1/21 geven zou dubbele worpen te zwaar en niet-dubbele worpen te licht laten meetellen. Takken die er gelijk uitzien, hoeven geen gelijke kansen te hebben.

Als elke beslissingsfase b toegestane zetten en een toevalsgebeurtenis met n uitkomsten heeft, kost het doorzoeken van m zulke fasen ongeveer O(bmnm). De diepteconventie moet rekening houden met hoe vaak toeval optreedt. Met ongeveer 20 toegestane zetten en 21 worpen beperken de extra toevalstakken bij backgammon al snel hoe ver volledig vooruit kan worden gekeken.

Zo leveren twee fasen met elk 21 toevalsuitkomsten en 20 acties (21×20)2=176.400 paden op. Tel de toevalsgebeurtenissen afzonderlijk van de halve zetten van spelers wanneer je die kosten schat.

Snoei alleen als ongeziene uitkomsten begrensd zijn

Een gedeeltelijk gemiddelde is geen minimaxgrens. Als nutswaarden tussen 0 en 10 liggen en de eerste van twee even waarschijnlijke uitkomsten 2 waard is, ligt de waarde van de hele knoop tussen 1 en 6. In het bijzonder:

V≤0,5×2+0,5×10=6.

Als MAX al een andere zet met waarde 7 heeft, kan deze toevalsknoop die niet overtreffen en kan de resterende uitkomst worden overgeslagen. Zonder een geschikte grens voor ongeziene waarden kan een extreme uitkomst het gemiddelde nog genoeg veranderen om de keuze om te keren.

Belangrijkste punten

  • Toevalsknopen geven gewogen gemiddelden terug, geen maxima of minima.
  • Handel kindknopen af voordat je ze bij hun ouderknoop combineert.
  • Controleer of de kansen van de toevalsuitkomsten optellen tot 1.
  • Dubbele en niet-dubbele worpen hebben bij backgammon verschillende kansen.
  • Vertakkingen door toeval vermenigvuldigen de zoekkosten.
  • Grenzen voor niet-bekeken uitkomsten kunnen een afbreking bij een toevalsknoop rechtvaardigen.

5.2 Kies een nutsschaal en een tegenstandersmodel

Minimax vraagt welk resultaat een tegenstander kan afdwingen. Expectimax vraagt welk gemiddeld nut uit een kansmodel volgt. Hun beslissingen kunnen zelfs op dezelfde boom verschillen, omdat ze verschillend gedrag weergeven.

Vergelijk optimaal en willekeurig tegenspel

Voor MIN-takken A = (4, 9, 6), B = (2, 15, 13) en C = (5, 8, 10) kiest minimax C met een garantie van 5. Als de tegenstander daarentegen elk antwoord uniform willekeurig kiest, zijn de verwachtingswaarden ongeveer 6,33, 10 en 7,67. Expectimax kiest B.

Dat is verstandig volgens het uniforme model, maar een vaardige tegenstander kan B met 2 beantwoorden. Expectimax neemt niet aan dat de tegenstander een gemiddelde minimaliseert. Het gebruikt de opgegeven kansen. Met een correct model maximaliseert het het verwachte nut; de bescherming in het slechtste geval is zwakker dan die van minimax. De gemiddelde prestatie kan gelijk zijn aan die van minimax wanneer beide dezelfde zet aanbevelen.

Een boom kan modellen combineren. De knoop van een vijandige agent neemt een minimum, terwijl de knoop van een willekeurig spelende agent een gewogen gemiddelde neemt. Gebruik de regel voor de agent die bij die knoop handelt, niet één regel voor elke laag die geen MAX-laag is.

Zie waarom alleen de volgorde niet volstaat

Stel dat zet A 2 geeft met kans 0,6 en 3 met kans 0,4. Zet B geeft 1 met kans 0,6 en 4 met kans 0,4:

E[A]=0,6×2+0,4×3=2,4, E[B]=0,6×1+0,4×4=2,2.

A heeft de grotere verwachtingswaarde. Verhef nu elke eindwaarde tot de derde macht. Hun rangorde blijft hetzelfde, maar de verwachtingswaarden worden:

E[A3]=0,6×8+0,4×27=15,6, E[B3]=0,6×1+0,4×64=26,2.

B wint nu de vergelijking. Getransformeerde uitkomsten middelen is iets anders dan hun gemiddelde transformeren. Verheffen tot de derde macht versterkt het voordeel van de hoge uitkomst van B genoeg om de beslissing te veranderen.

Behoud beslissingen met de juiste transformaties
Regel voor terugwerkenTransformatie die beslissingen behoudt
MinimaxElke consequent toegepaste strikt stijgende transformatie
Verwacht nutEen positieve affiene transformatie, ax+c met a>0

Een positieve affiene transformatie vermenigvuldigt elke verwachtingswaarde met hetzelfde positieve getal en telt dezelfde constante op. Toepassing van 10x+5 geeft A waarde 29 en B waarde 27, zodat A de voorkeur houdt.

Als A en B MIN-knopen waren, zouden hun waarden 2 en 1 zijn vóór het verheffen tot de derde macht en 8 en 1 daarna. Hun volgorde zou ongewijzigd zijn. Maxima en minima selecteren een waarde van een kindknoop; gemiddelden combineren de grootte van meerdere waarden.

Een evaluator die bij toeval wordt gebruikt, moet daarom het bedoelde verwachte nut op een consistente schaal schatten, zoals de winstkans of een positieve affiene transformatie daarvan. Een niet-lineaire rangschikkingsscore kan geschikt zijn voor deterministische minimax, maar bij toeval tot verkeerde afwegingen van risico leiden.

Belangrijkste punten

  • Kies minimax voor optimaal tegenspel en verwachtingswaarden voor een kansmodel.
  • Een correct kansmodel optimaliseert het gemiddelde nut, met zwakkere bescherming in het slechtste geval.
  • Strikt stijgende transformaties behouden minimaxbeslissingen.
  • Positieve affiene transformaties behouden beslissingen op basis van verwacht nut.
  • Een niet-lineaire transformatie kan een keuze op basis van gemiddelden veranderen.
6

Gebruik simulaties om een groeiende zoekboom te sturen

Wanneer de ruimte van mogelijke zetten enorm is, kan een programma uitkomsten schatten door voortzettingen te simuleren en later werk op bruikbare takken te richten. Monte-Carlo-boomzoeken slaat die resultaten op in een groeiende boom. De selectieregel brengt zetten die er al sterk uitzien in evenwicht met zetten waarvan de schattingen nog onzeker zijn. Voor de uiteindelijke actie beoordeel je het verzamelde bewijs en houd je rekening met tactische antwoorden die simulatie kan missen.

6.1 Voer een iteratie van Monte-Carlo-boomzoeken uit

Monte-Carlo-boomzoeken, of MCTS, schat zetten op basis van gesimuleerde spellen en bouwt daarbij een boom die toekomstige simulaties stuurt. Een gesimuleerde voortzetting tot het einde is een spelsimulatie of gesimuleerde partij. Het simulatiebeleid kan willekeurige toegestane zetten kiezen of goedkope kennis gebruiken om verstandiger spel te produceren.

Sla bij elke knoop gegevens op

Houd een bezoekaantal N(n) en een cumulatieve beloning U(n) bij. Gebruik in een spel met twee spelers en winst of verlies de overwinningen voor de speler die de zet naar knoop n maakte. Een gelijkspel telt meestal als een halve overwinning. Dan schat U(n)/N(n) het succespercentage van die speler.

De wortel heeft geen inkomende zet. Zijn bezoeken tellen nog steeds elke iteratie; overwinningen bij de wortel kunnen zo nodig vanuit het perspectief van de speler bij de wortel worden bijgehouden. Scores van kindknopen, die de selectie sturen, moeten steeds het perspectief gebruiken van de speler die de inkomende zet maakte.

Herhaal de vier fasen
  1. Selectie: volg vanaf de wortel een selectiebeleid door bestaande kindknopen totdat je een eindknoop of een knoop met een niet-uitgeprobeerde zet bereikt.
  2. Expansie: voeg bij een niet-terminale knoop één kindknoop toe voor een niet-uitgeprobeerde toegestane zet.
  3. Simulatie: voer vanaf die kindknoop een spelsimulatie uit tot een einduitkomst.
  4. Terugkoppeling van simulatieresultaten: werk bezoeken en beloningen bij voor knopen op het geselecteerde pad.

Als selectie een eindknoop bereikt, sla je expansie en simulatie over. De bekende uitkomst kan direct worden teruggewerkt. De tijdelijke voortzetting van een spelsimulatie hoeft niet als nieuwe boomknopen te worden opgeslagen: gewone expansie voegt één kindknoop per iteratie toe.

Volg een bijwerking van de beloning

Wit handelt bij de wortel. Selectie en expansie volgen:

  • n1, bereikt met een zet van wit;
  • n2, bereikt met een zet van zwart;
  • n3, bereikt met een zet van wit.

De spelsimulatie eindigt met winst voor zwart. Verhoog het aantal bezoeken met één bij de wortel en bij n1, n2 en n3. Verhoog van deze drie kindknopen alleen bij n2 het aantal overwinningen, omdat zwart de inkomende zet naar n2 maakte. De kindknopen van wit krijgen geen extra overwinning. Als je bij de wortel het perspectief van de speler bij de wortel gebruikt, blijft ook het eigen winsttotaal van de wortel ongewijzigd.

Een gelijkspel zou 0,5 toevoegen aan de beloning van elke kindknoop. De overwinning van zwart bij elke knoop als succes tellen zou wit zetten laten kiezen die zwart helpen.

Laat de boom ongelijkmatig groeien

Herhaalde iteraties concentreren simulaties op veelbelovende of onzekere takken. Zetten die sterk lijken krijgen doorgaans grotere deelbomen, terwijl slechte zetten minder werk krijgen. De zoekmethode legt niet één vaste diepte op aan elk spelverloop. Zodra een toegestane zet beschikbaar is, kan de methode bij een tijdslimiet stoppen en de verzamelde statistieken gebruiken.

De uiteindelijke actie is meestal de kindknoop van de wortel met de meeste bezoeken. Een zet met twee overwinningen uit twee simulaties heeft een volmaakt waargenomen percentage, maar weinig bewijs. Een vaak bezochte zet weerspiegelt veel meer onderzoek door de zoekmethode.

Zuiver Monte-Carlo-zoeken geeft zetten bij de wortel onafhankelijke spelsimulaties zonder een beslissingsboom op te bouwen. Het kan herhaaldelijk één sterk antwoord van de tegenstander missen, omdat latere zetten door het simulatiebeleid bepaald blijven. MCTS leert waar het dieper moet vertakken naarmate het gegevens verzamelt, al kan een zeldzame tactische weerlegging nog steeds tijd kosten om te ontdekken.

Belangrijkste punten

  • MCTS slaat bezoekaantallen en cumulatieve beloningen op in een groeiende boom.
  • Gebruik selectie, expansie, simulatie en terugkoppeling van simulatieresultaten.
  • Bij een geselecteerde eindknoop hoeft alleen de bekende uitkomst te worden teruggewerkt.
  • Beloningen bij een kindknoop tellen succes voor de speler die de zet naar die kindknoop maakte.
  • De uiteindelijke actie is meestal de meest bezochte kindknoop van de wortel.

6.2 Weeg bekende beloningen af tegen onzekere zetten

MCTS moet beslissen waar een extra simulatie het nuttigst is. Exploitatie bezoekt zetten die er al sterk uitzien opnieuw. Exploratie onderzoekt zetten waarvoor minder gegevens beschikbaar zijn en die beter kunnen blijken. Altijd het grootste waargenomen winstpercentage najagen kan het zoeken vastzetten op een vroeg resultaat dat door geluk ontstond.

Bereken een UCB1-score

De score voor de bovengrens van het betrouwbaarheidsinterval voor kindknoop n is:

UCB1(n)=U(n)N(n)+Cln⁡N(Ouder(n))N(n).

De eerste term is het waargenomen winstpercentage. De tweede is een exploratiebonus. Die groeit naarmate de ouderknoop meer bezoeken verzamelt en krimpt naarmate de kindknoop meer bezoeken krijgt. De logaritme is natuurlijk. Kies tijdens de selectie de kindknoop met de grootste gecombineerde score.

Behandel een niet-bezochte kindknoop alsof die oneindige prioriteit heeft in plaats van door nul te delen. Elke toegestane zet bij een knoop wordt geprobeerd voordat selectie herhaaldelijk de voorkeur geeft aan bezochte alternatieven. MCTS met deze selectieregel heet UCT, bovengrenzen van betrouwbaarheidsintervallen toegepast op bomen.

Vergelijk drie kindknopen

Een ouderknoop heeft 50 bezoeken. Zijn kindknopen hebben winst- en bezoekaantallen 21/30, 7/12 en 3/8. Met C=2 en ln⁡50≈3,912:

KindknoopWinstpercentageExploratiebonusTotaal
Eerste0,7000,5111,211
Tweede0,5830,8071,391
Derde0,3750,9891,364

De tweede kindknoop wordt geselecteerd. Het huidige winstpercentage is lager dan dat van de eerste kindknoop, maar de onzekerheidsbonus is groter. De derde is nog minder bezocht, maar door het lagere winstpercentage blijft het totaal iets onder dat van de tweede.

Met C=0,5 worden dezelfde totalen ongeveer 0,881, 0,869 en 0,725. De selectie geeft nu de voorkeur aan de eerste kindknoop. Er zijn geen uitkomsten veranderd; het programma heeft veranderd hoe sterk het onzekerheid beloont.

Interpreteer de exploratieconstante

Een grotere positieve C geeft meer gewicht aan exploratie. Als je die op nul zet, verdwijnt de bonus en wordt uitsluitend op basis van het waargenomen gemiddelde gekozen. De formulering van het bandietprobleem met beloningen tussen 0 en 1 motiveert C=2 in deze vorm van de vergelijking; praktische spelprogramma's stellen de constante af. Een andere beloningsschaal verandert ook de verhouding tot de exploratieterm.

Bij elke ouderknoop registreren de kindknopen overwinningen voor de speler die daar kiest. Daardoor is UCB1 maximaliseren bij de beurten van beide spelers zinvol. Als je in de hele boom alleen overwinningen van wit opslaat en elke score maximaliseert, zou zwart het succes van wit bevorderen.

Onderscheid zoekprioriteit van zetkwaliteit

UCB1 kiest waaraan de volgende simulatie wordt besteed. Een grote onzekerheidsbonus kan een weinig onderzochte zet het onderzoeken waard maken. Kies aan het einde van de zoekactie de meest bezochte kindknoop van de wortel, niet de hoogste huidige UCB1-score. Onder de voorwaarden van UCT voor eindige spellen en bij voortdurende exploratie convergeert onbeperkt zoeken naar minimaxgedrag; een eindig budget laat nog steeds steekproefonzekerheid over.

Belangrijkste punten

  • UCB1 telt de waargenomen gemiddelde beloning en een exploratiebonus bij elkaar op.
  • Een grotere C stimuleert meer exploratie.
  • Niet-bezochte kindknopen krijgen voorrang zonder deling door nul.
  • Selectie maximaliseert het verwachte succes van de actieve speler.
  • UCB1 selecteert simulaties; de uiteindelijke zetkeuze gebruikt meestal bezoeken.
  • Een eindig aantal simulaties laat onzekerheid over, ook als de regel correct is.

6.3 Kies zoekmethoden voor verschillende spellen

Een zoekmethode past bij de grootte van de ruimte van mogelijke zetten, de kwaliteit van de beschikbare evaluatie en het soort onzekerheid in het spel. Hetzelfde tijdbudget kan tot heel verschillende beslissingen leiden, afhankelijk van wat de methode onderzoekt.

Vergelijk tactische dekking en simulatie
SpelkenmerkBruikbare aanpakReden
Matige vertakking, sterke evaluator, scherpe tactiekAlfa-bètasnoei met zetordeningControleert de relevante antwoorden binnen de zoekdiepte.
Enorme vertakking of zwakke handgeschreven evaluatieMCTSSimulaties richten de inspanning op veelbelovende delen van de boom.
Toeval met een beheersbare ondiepe boomExpectiminimax of expectimaxExpliciete kansen kunnen direct worden teruggewerkt.
Veel toevalsuitkomstenMCTS met toevalsuitkomsten trekkenSteekproeftrekking schat verwachtingswaarden zonder elke uitkomst per iteratie op te sommen.
Onafhankelijke spelersvoorkeurenNutsvectorenEén scalair kan niet het belang van elke speler weergeven.

Alfa-bètasnoei kan binnen de zoekdiepte één tactische weerlegging vinden. MCTS kan aanvankelijk de voorkeur geven aan een zet die de meeste willekeurige spelsimulaties wint maar door één precies antwoord verliest. Naarmate de boom groeit, kan MCTS dat antwoord ontdekken, maar bij een klein simulatiebudget kan het worden gemist. Een hoog winstpercentage uit spelsimulaties is daarom geen garantie voor het slechtste geval.

Verbind methoden aan baanbrekende programma's

In 1997 gebruikte Deep Blue van IBM alfa-bètazoeken, gespecialiseerde hardware en schaakevaluatie om wereldkampioen Garry Kasparov met 3½–2½ te verslaan over zes partijen. Het succes liet zien hoeveel sterk zoeken en spelspecifieke evaluatie samen konden bereiken.

Go maakte die combinatie moeilijker. Een leeg bord van 19×19 biedt 361 plaatsen voor een steen, en een positie beoordelen op basis van eenvoudige kenmerken is moeilijk. MCTS werd een sterke aanpak omdat het uitkomsten kon schatten door te spelen en een selectieve boom kon laten groeien zonder een handgeschreven statische evaluator nodig te hebben.

AlphaGo combineerde MCTS met neurale netwerken die zetten voorstellen en posities beoordelen. De beschrijving in Nature uit 2016 ging vooraf aan de overwinning met 4–1 op Lee Sedol in maart 2016. AlphaZero gebruikte later evaluatie met een neuraal netwerk in plaats van willekeurige spelsimulaties en bereikte een bovenmenselijk spelniveau in schaken, shogi en go. Deze programma's laten zien dat een zoekmethode verschillende bronnen voor positiewaarden kan gebruiken.

Onderscheid sterk spel van een spel oplossen

Een programma kan een kampioen verslaan zonder de waarde van de beginpositie te bewijzen. In 2007 gebruikte het team van Jonathan Schaeffer zoekmethoden en grote eindspeldatabases om vast te stellen dat Amerikaans dammen bij volmaakt spel in gelijkspel eindigt. Een spel oplossen stelt een uitkomst vast tegen elke mogelijke strategie van de tegenstander, niet alleen tegen de tegenstanders die in wedstrijden zijn getest.

Stem de methode af op het model

Trek in een stochastisch spel tijdens het doorlopen van de boom en tijdens spelsimulaties toevalsuitkomsten volgens hun werkelijke kansen. Een gebeurtenis met kans 0,8 moet over veel trekkingen ongeveer vier keer zo vaak voorkomen als een gebeurtenis met kans 0,2. Dit schat dezelfde gewogen verwachtingswaarde die expliciet terugwerken bij toeval berekent.

Elke aanpak blijft afhankelijk van correcte regels en toestandsovergangen. Alfa-bètasnoei met een dieptelimiet hangt af van de evaluator; MCTS hangt af van het simulatie- of evaluatiebeleid en het eindige steekproefbudget. Een vijandige tegenstander als willekeurig modelleren kan kostbaar zijn, ongeacht de zoekmethode waarmee het antwoord van dat model wordt berekend.

Belangrijkste punten

  • Alfa-bètasnoei is sterk voor tactiek binnen een beheersbare zoekdiepte.
  • MCTS past bij grote vertakkingsfactoren en moeilijk te ontwerpen evaluatiefuncties.
  • Een gemiddelde uit spelsimulaties kan een zeldzame doorslaggevende weerlegging missen.
  • Het trekken van toevalsuitkomsten moet de kansen van de gebeurtenissen volgen.
  • Spelen op kampioensniveau en bewijzen dat een spel is opgelost zijn verschillende prestaties.
  • Geleerde evaluatie kan met beide zoekmethoden worden gecombineerd.

Zoeken met tegenstanders: voorbeelden

6 Walkthroughs

1

Modelleer de regels en teken mogelijk spelverloop

11 stappen
Bouw een volledige speltoestand op, classificeer het spel en gebruik een kleine boom om een strategie van één mogelijk spelverloop te onderscheiden.
  1. 1
    IntroductieBegin met een spel dat het programma kan onderzoeken

    Een spelprogramma heeft regels nodig die het op een toestand kan toepassen. Het moet weten wie aan de beurt is, welke acties zijn toegestaan, wat elke actie verandert en wanneer een uitkomst wordt gescoord.

    Zodra die onderdelen expliciet zijn, kan een spelboom de voortzettingen tonen. Sommige takken zijn van het programma; andere zijn van de tegenstander. Dat verschil verandert wat als bruikbaar plan geldt.

  2. 2
    VoorbeeldSpecificeer boter-kaas-en-eieren

    Gebruik een bord van 3×3 en de speler die aan zet is als toestand. Begin met een leeg bord en X aan zet.

    Een actie kiest een leeg vakje. De overgang plaatst daar het huidige teken en wisselt de beurt. Een rij van drie beëindigt het spel direct; een vol bord zonder rij van drie geeft gelijkspel. Geef de einduitkomsten voor X de score +1, 0 of −1. Deze regels leveren de zes onderdelen die een zoekprogramma nodig heeft.

  3. 3
    KernpuntHoud toeval en verborgen toestand apart

    Een zichtbaar bord kan nog steeds toevalsgebeurtenissen hebben: backgammon voegt dobbelsteenworpen toe. Een spel kan ook een deel van zijn toestand verbergen, zoals poker kaarten verbergt.

    Dit zijn afzonderlijke indelingsdimensies. Toeval bepaalt hoe uitkomsten ontstaan; informatie bepaalt wat een speler kan waarnemen. Het aantal spelers en de vraag of hun opbrengsten strikt tegengesteld zijn, zijn aanvullende keuzes in het model.

  4. 4
    UitdagingClassificeer een nieuw spel

    Een spel met fiches voor twee spelers heeft een volledig zichtbare toestand. Vóór elke beurt bepaalt een draaischijf welke zetten zijn toegestaan. Elke einduitkomst geeft de ene speler 1 en de andere 0. Hoe wordt het spel ingedeeld naar toeval, informatie en opbrengststructuur?

    ---reveal---

    Het is stochastisch, heeft volmaakte informatie en heeft een constante som met strikt tegengestelde belangen. De draaischijf voegt toeval toe zonder de toestand te verbergen; de vaste totale opbrengst maakt een MAX/MIN-model mogelijk.

  5. 5
    UitlegTel halve zetten vanaf de wortel

    Plaats de huidige positie op diepte nul. Elke tak voegt één halve zet toe: één actie van één speler. Bij afwisselend spel volgt diepte 1 op de actie van MAX en diepte 2 op het antwoord van MIN.

    Een volledige schaakzet omvat meestal beide beurten. Een zoekactie die twee volledige zetten per speler bereikt, heeft daarom diepte 4, niet diepte 2. Door de beurten te labelen voorkom je dat de diepte en de regels voor terugwerken uiteenlopen.

  6. 6
    VoorbeeldBouw een kleine uniforme boom op

    Stel je drie toegestane acties bij elke niet-terminale knoop voor. Diepte 1 heeft 3 posities, diepte 2 heeft er 9 en diepte 3 heeft 27 bladeren.

    3×3×3=27.

    Elke nieuwe halve zet vermenigvuldigt het aantal paden. Het werkelijke spel kan vroeg eindigen en wisselende aantallen zetten hebben, maar de uniforme schatting maakt de kosten van diepte zichtbaar voordat een algoritme wordt gekozen.

  7. 7
    VerbandHerken herhaalde toestanden

    X kan een hoek spelen, O het midden en X de tegenoverliggende hoek. Als X de twee hoeken in omgekeerde volgorde speelt, ontstaat hetzelfde bord met dezelfde speler als volgende aan zet.

    De boom bevat twee paden naar één toestand. Dit is een zetverwisseling. Een graaf of cache kan het resultaat van die toestand delen, mits de sleutel de beurt en elk ander onderdeel van de regels bevat dat het verdere spel verandert.

  8. 8
    UitdagingBepaal de boomgrootte en de diepte

    Een spel met afwisselende beurten biedt twee acties bij elke knoop. De zoekactie omvat twee beurten van MAX en twee van MIN. Welke diepte en hoeveel bladeren heeft de uniforme boom?

    ---reveal---

    De boom heeft diepte 4 halve zetten en 24=16 bladeren. Elke speler handelt tweemaal, dus er zijn vier afzonderlijke acties langs elk pad. Diepte 2 tellen zou slechts één beurt per speler omvatten.

  9. 9
    KernpuntEen strategie behoudt de antwoorden

    Eén pad beschrijft één volledig spelverloop, maar een tegenstander kan een andere tak kiezen. Een strategie van MAX behoudt daarom één gekozen actie bij elke MAX-knoop en elk toegestaan antwoord bij elke MIN-knoop.

    De latere actie van MAX kan afhangen van het antwoord dat MAX daadwerkelijk ziet. De strategie kan veel paden bevatten, ook al legt ze het gedrag van MAX in elke bereikbare situatie vast.

  10. 10
    UitdagingHerstel een kwetsbaar plan

    Een programma slaat een geplande eerste zet en één verwacht antwoord van de tegenstander op, gevolgd door een winnende voortzetting. Het spelmodel noemt drie mogelijke antwoorden van de tegenstander. Wat moet er in het plan veranderen voordat het een volledige strategie beschrijft?

    ---reveal---

    Het programma heeft na elk mogelijk antwoord en na latere keuzes van de tegenstander een actieregel nodig. Eén winnend spelverloop kennen is niet genoeg, omdat de tegenstander bepaalt welke van die antwoordtakken wordt gevolgd.

  11. 11
    SamenvattingVan regels naar een bruikbare zoekruimte

    Een volledige toestand en een volledig regelmodel bepalen de mogelijke voortzettingen. Classificeer toeval, zichtbaarheid, spelers en opbrengsten voordat je regels aan knopen toekent.

    Lees de diepte af in afzonderlijke halve zetten, schat de groei door vertakking en herken zetverwisselingen als herhaalde toestanden. Een strategie kiest de acties van de speler en behoudt reacties op elk antwoord van de tegenstander; de boom maakt die verantwoordelijkheden zichtbaar.

2

Werk uitkomsten terug om een zet te vinden

13 stappen
Doorloop scalaire minimax, verbind de recursie aan de zetkeuze en werk afzonderlijke opbrengsten terug door een boom met meerdere spelers.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieRedeneer terug vanaf uitkomsten
  2. 2
    VoorbeeldBegin met de antwoorden van de tegenstander
  3. 3
    VoorbeeldNeem de beslissing bij de wortel
  4. 4
    UitdagingWerk waarden in een nieuwe boom terug
  5. 5
    UitlegGeef recursieve aanroepen één taak
  6. 6
    TipHandel het einde af vóór de volgende zet
  7. 7
    UitdagingZet een negamaxresultaat om
  8. 8
    UitlegGeef de hele nutsvector terug
  9. 9
    VoorbeeldHandel eerst de speler op het diepste niveau af
  10. 10
    UitdagingGebruik de keuzeregel bij gelijke waarden van een andere speler
  11. 11
    VerbandKies het juiste tegenstandersmodel
  12. 12
    UitdagingCombineer vectorkeuzes bij de wortel
  13. 13
    SamenvattingGebruik de voorkeur van degene die handelt
3

Doorloop snoeien en verbeter de zoekvolgorde

12 stappen
Volg alfa en bèta door beide soorten afbreking en zie vervolgens hoe zetordening en opgeslagen grenzen werk verminderen.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieBewijs dat een tak niet kan helpen
  2. 2
    UitlegHoud de grenzen gekoppeld aan het pad
  3. 3
    VoorbeeldStel een alternatief voor MAX vast
  4. 4
    VoorbeeldBreek een MIN-tak af
  5. 5
    UitdagingVind de omgekeerde afbreking
  6. 6
    KernpuntEen grens volstaat voor afwijzing
  7. 7
    VoorbeeldDoorzoek eerst de sterkste tak vanaf de wortel
  8. 8
    UitlegVerkrijg goedkoop aanwijzingen voor de ordening
  9. 9
    UitdagingInterpreteer een opgeslagen grens
  10. 10
    VerbandLees de kosten in het beste geval af
  11. 11
    UitdagingCombineer ordening met een telling van afbrekingen
  12. 12
    SamenvattingSnoei op basis van bewijs en sla de betekenis ervan op
4

Evalueer een zoekfront zonder het volgende antwoord te verbergen

13 stappen
Bereken een kenmerkscore, onderscheid eindnut van schattingen en volg een slagzet voorbij een afbreking op de dieptelimiet.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieGeef onvoltooide posities een score
  2. 2
    UitlegMeet kenmerken vanuit één perspectief
  3. 3
    VoorbeeldTel schaakmateriaal
  4. 4
    VoorbeeldVoeg een bijdrage voor mobiliteit toe
  5. 5
    UitdagingBereken nog een kenmerkscore
  6. 6
    UitlegControleer het einde vóór de dieptelimiet
  7. 7
    VoorbeeldMerk een misleidende slagzet op
  8. 8
    VoorbeeldMaak de slagwisseling af
  9. 9
    UitdagingEvalueer een nieuwe slagwisseling
  10. 10
    KernpuntOnderscheid zoekverdieping van onveilig snoeien
  11. 11
    UitdagingGebruik een voltooid zoekresultaat
  12. 12
    VerbandGebruik opgeslagen spelkennis
  13. 13
    SamenvattingBesteed diepte waar de score sterk kan veranderen
5

Bereken verwachtingswaarden en toets het model

12 stappen
Werk door toevals- en MIN-lagen en zie vervolgens waarom zowel de nutsschaal als aannames over de tegenstander het antwoord beïnvloeden.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieLaat elk soort knoop anders handelen
  2. 2
    UitlegGebruik een gewogen gemiddelde bij toeval
  3. 3
    VoorbeeldHandel MIN onder de muntworp af
  4. 4
    VoorbeeldVergelijk de tweede actie bij de wortel
  5. 5
    UitdagingCombineer een nieuw paar knooptypen
  6. 6
    TipNeem niet aan dat verschillende worpen even waarschijnlijk zijn
  7. 7
    UitlegKies hoe je de tegenstander modelleert
  8. 8
    VoorbeeldVerander de schaal zonder de rangorde te veranderen
  9. 9
    UitdagingToets een transformatie
  10. 10
    KernpuntGebruik grenzen voordat je toevalsuitkomsten overslaat
  11. 11
    UitdagingBepaal het effect van een verkeerd tegenstandersmodel
  12. 12
    SamenvattingStem het gemiddelde af op de beslissing
6

Bouw een simulatieboom op en kies waar je zoekt

16 stappen
Volg MCTS-statistieken tijdens een iteratie, bereken UCB1-prioriteiten en onderscheid de volgende simulatie van de uiteindelijke actie.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVerzamel gegevens terwijl je de boom opbouwt
  2. 2
    UitlegLeg bezoeken en beloningen voor de inkomende speler vast
  3. 3
    UitlegVolg vier fasen
  4. 4
    VoorbeeldVolg de speler die bij elke kindknoop hoort
  5. 5
    UitdagingWerk een ander resultaat bij
  6. 6
    UitlegVoeg een bonus voor onzekerheid toe
  7. 7
    VoorbeeldBereken de eerste kandidaat
  8. 8
    VoorbeeldVergelijk de resterende kandidaten
  9. 9
    UitdagingVerander de balans
  10. 10
    KernpuntBeëindig het zoeken met verzamelde ondersteuning
  11. 11
    VerbandLet op een zeldzame weerlegging
  12. 12
    VoorbeeldZie wat hybride programma's veranderden
  13. 13
    UitdagingKies voor een nieuw spel
  14. 14
    TipTrek toevalsuitkomsten met hun werkelijke gewichten
  15. 15
    UitdagingOnderscheid prioriteit voor een proef van de zetkeuze
  16. 16
    SamenvattingHoud gegevens, exploratie en spel uit elkaar

Zoeken met tegenstanders: oefenvragen

50 Oefenvragen in 5 sets

Set 1: Modelleer spellen en doorloop basisbeslissingen10 Oefenvragen

Vraag 1 van 10

Een bordspel heeft zichtbare stukken, afwisselende beurten en vóór elke beurt een dobbelsteenworp. Hoe wordt het ingedeeld naar toeval en informatie?
  1. Deterministisch met volmaakte informatie.
  2. Stochastisch met onvolmaakte informatie.
  3. Stochastisch met volmaakte informatie.
  4. Deterministisch met onvolmaakte informatie.
Toon antwoordVerberg antwoord
Antwoord: C
De dobbelsteen introduceert toeval en maakt het spel stochastisch. Zichtbare stukken en een waarneembare worp laten de volledige toestand beschikbaar, dus het spel heeft volmaakte informatie. Willekeur in wat er hierna gebeurt is iets anders dan verborgen informatie over de huidige toestand.

Vraag 2 van 10

Een uniforme spelboom biedt 5 acties bij elke niet-terminale knoop en wordt doorzocht tot een diepte van 3 halve zetten. Hoeveel bladeren heeft de boom?
  1. 15 bladeren.
  2. 125 bladeren.
  3. 25 bladeren.
  4. 156 bladeren.
Toon antwoordVerberg antwoord
Antwoord: B
Het aantal bladeren is 53=125 omdat elk van de drie niveaus het aantal paden met 5 vermenigvuldigt. Het aantal 156 omvat zowel de wortel en interne knopen als de bladeren. Driemaal 5 optellen zou lineaire groei beschrijven, geen vertakking.

Vraag 3 van 10

MAX kiest uit MIN-knopen L met bladeren (−2, 8), M met (3, 6) en R met (1, 11). Welke zet en waarde geeft minimax terug?
  1. M, met waarde 3.
  2. L, met waarde 8.
  3. R, met waarde 11.
  4. R, met waarde 6.
Toon antwoordVerberg antwoord
Antwoord: A
De MIN-knopen geven respectievelijk −2, 3 en 1 terug. MAX kiest daarom M met waarde 3. R bevat het grootste blad, 11, maar MIN kan het blad met waarde 1 kiezen, zodat die aantrekkelijke einduitkomst de beslissing bij de wortel niet kan bepalen.

Vraag 4 van 10

Een minimaxprogramma bereikt een vol bord bij boter-kaas-en-eieren zonder winnende rij. Wat moet de waardefunctie vervolgens doen?
  1. Maximaliseren over geen zetten.
  2. De score van de laatste speler teruggeven.
  3. De volgende zet genereren.
  4. Het nut van gelijkspel teruggeven.
Toon antwoordVerberg antwoord
Antwoord: D
Het volle bord is een eindtoestand, dus de waardefunctie geeft het nut van gelijkspel terug voordat ze opvolgers genereert. Maximaliseren over een lege actielijst kent aan het gelijkspel niet de juiste score toe. De afhandeling van eindtoestanden levert een gedefinieerde waarde wanneer geen verdere toegestane zet bestaat.

Vraag 5 van 10

Bij een MAX-wortel is een voltooide zet 6 waard. De volgende zet bereikt een MIN-knoop waarvan de bladeren in de volgorde 9, 4, 8, 7 worden doorzocht. Hoeveel bladeren van deze MIN-knoop evalueert alfa-bètasnoei?
  1. Eén blad.
  2. Twee bladeren.
  3. Drie bladeren.
  4. Vier bladeren.
Toon antwoordVerberg antwoord
Antwoord: B
De eerste waarde, 9, kan de bestaande 6 van MAX nog overtreffen, dus het zoeken gaat door. Nadat 4 is gevonden, is deze MIN-knoop hoogstens 4 waard en kan die de keuze bij de wortel niet verbeteren, zodat de laatste twee bladeren worden overgeslagen. Stoppen bij 9 zou de afbreking in de verkeerde richting gebruiken.

Vraag 6 van 10

Een MIN-knoop heeft al een MAX-kindknoop met waarde 5 gevonden. De volgende MAX-kindknoop ziet bladeren in de volgorde 2, 7, 9. Wanneer kan die kindknoop stoppen?
  1. Na 2, met teruggave van de exacte waarde 2.
  2. Na 7, met teruggave van de bovengrens 7.
  3. Na 7, met teruggave van de ondergrens 7.
  4. Na 9, met teruggave van de bovengrens 9.
Toon antwoordVerberg antwoord
Antwoord: C
De MIN-ouderknoop kan al 5 kiezen. Zodra de volgende MAX-kindknoop 7 vindt, is die kindknoop minstens 7 waard en kan MIN er niet de voorkeur aan geven, zodat het resterende blad wordt overgeslagen. De teruggegeven 7 is een ondergrens omdat een andere niet-doorzochte kindknoop het maximum kan verhogen.

Vraag 7 van 10

Een evaluator is E=2f+0,25g. MAX heeft een materiaalkenmerk f=−1 en een mobiliteitskenmerk g=12. Welke score geeft de evaluator terug?
  1. 2,75.
  2. −5.
Toon antwoordVerberg antwoord
Antwoord: A
De bijdragen zijn 2×(−1)=−2 en 0,25×12=3, samen 1. Het negatieve materiaalkenmerk moet zijn teken behouden. Teruggave van 5 zou het materiaalnadeel in een voordeel veranderen voordat mobiliteit wordt opgeteld.

Vraag 8 van 10

Een toevalsknoop leidt met kans 0,25 naar waarde −4 en met kans 0,75 naar waarde 8. Welke waarde wordt teruggewerkt?
Toon antwoordVerberg antwoord
Antwoord: D
De gewogen waarde is 0,25×(−4)+0,75×8=−1+6=5. Door de kansen is de gunstige uitkomst drie keer zo waarschijnlijk als de ongunstige. Een ongewogen gemiddelde van 2 behandelt de twee uitkomsten ten onrechte als even waarschijnlijk.

Vraag 9 van 10

MCTS-selectie bereikt een knoop waar het spel al is geëindigd. Wat gebeurt er vervolgens in de iteratie?
  1. Eén kindknoop expanderen en een spelsimulatie starten.
  2. Het bekende resultaat terugkoppelen.
  3. Een nieuwe spelsimulatie vanaf die knoop starten.
  4. Alleen de bezoeken van die eindknoop bijwerken.
Toon antwoordVerberg antwoord
Antwoord: B
Een eindknoop heeft al een uitkomst, dus de iteratie slaat expansie en simulatie over en werkt het geselecteerde pad bij. Een nieuwe spelsimulatie kan geen informatie aan een voltooid spel toevoegen. Alleen de laatste knoop bijwerken zou de gegevens verliezen die de voorouders nodig hebben.

Vraag 10 van 10

Een UCT-ouderknoop heeft 16 bezoeken. Kindknoop A heeft 6 overwinningen uit 12 bezoeken; kindknoop B heeft 1 overwinning uit 4 bezoeken. Gebruik C=1 en ln⁡16≈2,773. Welke kindknoop krijgt de volgende simulatie en welke zet wordt gespeeld als het zoeken nu stopt?
  1. Simuleer B; speel A.
  2. Simuleer A; speel A.
  3. Simuleer B; speel B.
  4. Simuleer A; speel B.
Toon antwoordVerberg antwoord
Antwoord: A
A scoort ongeveer 0,5+0,481=0,981, terwijl B ongeveer 0,25+0,833=1,083 scoort, dus de selectie kiest B. De uiteindelijke keuze gebruikt bezoeken, wat A met 12 oplevert. B voor beide beslissingen kiezen verwart de onzekerheidsbonus met de verzamelde ondersteuning om een zet te spelen.
Set 2: Werk waarden terug en controleer zoekaannames10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een spel met twee spelers kent bij het einde (7, 0), (0, 7) of (3,5; 3,5) toe. Hoe kan een zoekmethode de tegengestelde voorkeuren van de spelers weergeven?
  1. Gebruik de som van de opbrengsten en maximaliseer die bij elke beslissingsknoop.
  2. Gebruik de opbrengst van één speler en maximaliseer die bij beide typen beslissingsknopen.
  3. Gebruik de grootste eindopbrengst en minimaliseer die bij elke beslissingsknoop.
  4. Gebruik de opbrengst van één speler, maximaliseer die voor deze speler en minimaliseer die voor de andere.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een deterministisch nulsomspel met twee spelers heeft wortelminimaxwaarde 2. Twee zetten hebben elk minimaxwaarde 2, maar één biedt meer kansen op een fout van de tegenstander. Wat gebeurt er met de garantie als MAX die zet kiest en zijn minimaxstrategie voortzet?
  1. De garantie blijft ten minste 2.
  2. De garantie daalt onder 2.
  3. Het resultaat is altijd precies 2.
  4. De garantie wordt het grootste blad.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Speler B kiest tussen eindvectoren (8, 2, 4) en (3, 6, 1), in spelervolgorde A, B, C. Welke vector wordt teruggewerkt?
  1. (8, 2, 4).
  2. (8, 6, 4).
  3. (3, 6, 1).
  4. (3, 2, 1).
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een transpositietabelitem voor alfa-bètasnoei bevat een waarde en een doorzochte diepte. Welke verdere informatie is nodig om een resultaat uit een gesnoeide deelboom te interpreteren?
  1. Of de waarde groter is dan het aantal zetten.
  2. Of de waarde exact is, een ondergrens of een bovengrens.
  3. Of de toestand in een eerdere beurt is bereikt.
  4. Of de wortel een grotere vertakkingsfactor had.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een zoekactie met dieptelimiet stopt vlak nadat een toren een pion slaat, terwijl de toren direct mag worden teruggeslagen. Welke zoektechniek helpt direct om deze slagwisseling vóór de evaluatie af te handelen?
  1. Rustzoeken via slagzetten.
  2. Zetordening op eerder bezoekaantal.
  3. Een eindtoestandstest op het huidige materiaal.
  4. Een openingsboek raadplegen bij elk blad.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

MAX kiest P of Q. Onder P leiden kansen 0,4 en 0,6 naar MIN-bladeren (−1, 7) en (4, 9). Onder Q leiden kansen 0,7 en 0,3 naar MIN-bladeren (2, 6) en (5, 8). Wat is de beslissing van MAX?
  1. P, met waarde 2,0.
  2. P, met waarde 8,2.
  3. Q, met waarde 6,6.
  4. Q, met waarde 2,9.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een programma vervangt elk bladnut x door 3x − 4 en berekent vervolgens opnieuw een zoekactie met toeval. Wat is het effect op de zetten die de voorkeur krijgen?
  1. De voorkeuren bij toevalsknopen keren om.
  2. Alleen deterministische voorkeuren blijven behouden.
  3. Alle voorkeuren op basis van nut blijven behouden.
  4. Alleen voorkeuren boven nul blijven behouden.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een MCTS-pad bereikt n1 na een zet van rood, n2 na een zet van blauw en n3 na een zet van rood. Een spelsimulatie vanaf n3 eindigt in gelijkspel. Welke bijwerkingen krijgen deze drie knopen als gelijkspel als halve overwinning telt?
  1. Elk krijgt 1 bezoek en 0,5 beloning.
  2. Alleen n3 krijgt 1 bezoek en 0,5 beloning.
  3. Elk krijgt 1 bezoek; alleen n2 krijgt 0,5 beloning.
  4. Elk krijgt 0,5 bezoek en 0,5 beloning.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Bij een UCT-knoop is één toegestane kindknoop nog nooit bezocht, terwijl de andere positieve bezoekaantallen hebben. Hoe wordt die kindknoop tijdens selectie behandeld?
  1. Geef die een waargenomen winstpercentage van één.
  2. Geef die voorrang boven bezochte kindknopen.
  3. Sluit die uit tot het ouderaantal verdubbelt.
  4. Geef die een score van nul zonder bonus.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een uniforme deterministische spelboom voor een nulsomspel met twee spelers heeft vertakkingsfactor 4. Een programma kan 130 bladeren evalueren en heeft volmaakte zetordening. Een doorslaggevende weerlegging ligt op diepte 6 halve zetten. Welke methode kan die diepte binnen het budget voltooien en rekening houden met de weerlegging?
  1. Minimax tot diepte 6, met 64 bladeren.
  2. Alfa-bètasnoei tot diepte 5, met 127 bladeren.
  3. Alfa-bètasnoei tot diepte 6, met 127 bladeren.
  4. Monte-Carlo-zoeken vanaf de wortel met 130 succesvolle spelsimulaties.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 3: Combineer zoekwaarden met beperkte gegevens10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

MAX handelt, daarna handelen twee tegenstanders elk eenmaal en vervolgens herhaalt de cyclus zich. Een zoekactie eindigt na twee volledige cycli. Wat is de diepte in halve zetten?
  1. 2 halve zetten.
  2. 6 halve zetten.
  3. 4 halve zetten.
  4. 8 halve zetten.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een negamaxaanroep voor een nulsomspel ontvangt de waarden −6, 2 en −1 van kindknopen, elk vanuit het perspectief van de speler die bij de kindknoop aan zet is. Welke waarde geeft de ouderknoop terug?
  1. −6.
  2. −2.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

A kiest L of R; B kiest daarna één van twee C-knopen. Onder L zijn hun bladeren {(2, 5, 7), (9, 6, 3)} en {(6, 4, 8), (8, 9, 2)}. Onder R zijn ze {(4, 3, 6), (7, 8, 1)} en {(5, 7, 5), (9, 2, 4)}. Wat kiest A, met nutswaarden in de volgorde A, B, C?
  1. R, met vector (5, 7, 5).
  2. L, met vector (2, 5, 7).
  3. L, met vector (8, 9, 2).
  4. R, met vector (7, 8, 1).
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Twee zoekacties gebruiken dezelfde vaste boom en bladwaarden. De ene doorzoekt eerst goede zetten en de andere eerst slechte zetten. Wat kan bij alfa-bètasnoei verschillen?
  1. De minimaxwaarde van de wortel en het aantal einduitkomsten in het spel.
  2. De toegestane zetten in een toestand en de beste beschikbare gegarandeerde opbrengst.
  3. Het aantal geëvalueerde bladeren en de teruggegeven optimale zet bij gelijke waarden.
  4. De schaal van het eindnut en de voorkeursvolgorde van de speler bij de wortel.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

MAX kan een echte overwinning met score 20 afdwingen, maar de evaluator kan 30 teruggeven voor een onvoltooide positie. Welke wijziging in de scores is nodig om te voorkomen dat een onvoltooide schatting hoger staat dan een overwinning?
  1. Plaats elke niet-terminale schatting onder het nut van een overwinning.
  2. Plaats elk materiaalkenmerk boven het nut van een overwinning.
  3. Stel het nut van een overwinning gelijk aan de gemiddelde schatting.
  4. Plaats terminale en niet-terminale waarden op afzonderlijke ongeordende lijsten.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Diepte 5 is voltooid en geeft de voorkeur aan zet K. Een iteratie op diepte 6 bekijkt alleen zet J voordat de tijd om is. Welk resultaat moet een speler met iteratieve verdieping gebruiken?
  1. J uit de onvoltooide iteratie op diepte 6.
  2. Het gemiddelde van de teruggegeven scores van J en K.
  3. K uit de voltooide iteratie op diepte 5.
  4. De zet met meer toegestane antwoorden op diepte 1.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Zet A levert zeker nut 2 op. Zet B levert 0 op met kans 0,75 en 6 met kans 0,25. Hoe verhouden de keuzes op basis van verwacht nut zich vóór en na het kwadrateren van elk blad?
  1. Kies A zowel vóór als na het kwadrateren.
  2. Kies B zowel vóór als na het kwadrateren.
  3. Kies B vóór het kwadrateren en A daarna.
  4. Kies A vóór het kwadrateren en B daarna.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een MCTS-pad bereikt kindknoop u na een zet van groen, v na een zet van goud en w na een zet van groen. Goud wint de spelsimulatie. Welke beloningen van kindknopen nemen met één toe volgens de conventie van de speler die de inkomende zet maakte?
  1. Alleen w.
  2. Alleen v.
  3. u en w.
  4. u, v en w.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een UCT-wortel heeft 40 bezoeken. Kindknoop X heeft 18 overwinningen uit 30 bezoeken; Y heeft er 4 uit 10. Wat wordt met C=2 en ln⁡40≈3,689 als volgende geselecteerd en wat wordt gespeeld als het zoeken stopt?
  1. Selecteer X als volgende; speel X bij stoppen.
  2. Selecteer Y als volgende; speel Y bij stoppen.
  3. Selecteer Y als volgende; speel X bij stoppen.
  4. Selecteer X als volgende; speel Y bij stoppen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een programma verslaat een kampioen in een match. Welk verder resultaat is nodig om te zeggen dat een eindig spel vanuit de beginpositie is opgelost?
  1. Een bewijs van de uitkomst bij volmaakt spel.
  2. Een langere reeks overwinningen tegen die kampioen.
  3. Een hogere gemiddelde score uit willekeurige spelsimulaties.
  4. Een grotere zoekboom dan die van het programma van de kampioen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 4: Doorloop verdere gevolgen en vergelijk modellen10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een regelengine slaat posities in een cache op met alleen de opstelling van de stukken als sleutel. Het spel staat dezelfde opstelling toe met elk van de spelers aan zet, met verschillende toegestane acties. Waarom kan de cache een verkeerd resultaat geven?
  1. De cache splitst identieke toestanden die via andere zetvolgorden zijn bereikt.
  2. De cache geeft herhaalde posities verschillende nutsschalen.
  3. De cache voegt toestanden samen waarvan de beurten en voortzettingen verschillen.
  4. De cache verandert een deterministische zet in een toevalsgebeurtenis.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een uniform spel met afwisselende beurten heeft vertakkingsfactor 4. De zoekdiepte neemt toe van één volledige zet per speler naar twee volledige zetten per speler. Met welke factor groeit het aantal bladeren?
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

MAX kiest L of R. Elk leidt naar een MIN-knoop met twee MAX-kindknopen. De MAX-kindknopen van L hebben eindbladeren (−3, 7) en (4, 5). Die van R hebben (6, 8) en (2, 9). Welke beslissing en waarde volgen bij de wortel?
  1. L, met waarde 5.
  2. R, met waarde 9.
  3. L, met waarde 7.
  4. R, met waarde 8.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

A kiest L, met vector (4, 2, 0), of R, waar C kiest tussen (1, 8, 5) en (7, 3, 5). Bij gelijke waarden kiest C de kleinere opbrengst voor A. Wat kiest zoeken met nutsvectoren en wat verandert er als C in plaats daarvan de grotere opbrengst voor A verkiest?
  1. Kies eerst R; kies L met de gewijzigde regel.
  2. Kies eerst L; kies R met de gewijzigde regel.
  3. Kies eerst L; behoud L met de gewijzigde regel.
  4. Kies eerst R; behoud R met de gewijzigde regel.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Doorzoek van links naar rechts met alfa-bètasnoei. MAX heeft L en R, elk een MIN-knoop met twee MAX-kindknopen. Onder L zijn de MAX-bladeren (5, 1) en (7, 8). Onder R zijn ze (4, 2) en (9, 10). Hoeveel eindbladeren worden geëvalueerd als afbrekingen bij gelijkheid zijn toegestaan?
  1. 5 bladeren.
  2. 4 bladeren.
  3. 6 bladeren.
  4. 8 bladeren.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een transpositietabel slaat voor een positie op de vereiste zoekdiepte een bovengrens van 3 op. Een latere aanroep bereikt die positie met alfa 5. Wat rechtvaardigt het opgeslagen resultaat?
  1. De werkelijke waarde bij elke toekomstige aanroep vervangen door exact 3.
  2. Alfa verhogen tot 3 voordat elke resterende kindknoop wordt doorzocht.
  3. Een afbreking omdat de positie alfa niet kan verbeteren.
  4. De grens omkeren omdat de positie tweemaal is bereikt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een schaakevaluator gebruikt het materiaalverschil plus 0,2 maal het mobiliteitsverschil, vanuit het perspectief van wit. Wit heeft een toren en drie pionnen; zwart heeft een loper en vier pionnen. Wit heeft 14 toegestane zetten en zwart 19. Wat is de score met de gebruikelijke stukwaarden?
  1. −1.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Nutswaarden liggen in [−6, 10]. MAX heeft een voltooide zet met waarde 5 en een andere zet R die naar MIN leidt. De eerste kindknoop van R is een toevalsknoop: een bekeken uitkomst heeft kans 0,7 en waarde 2, terwijl kans 0,3 nog niet is bekeken. R heeft nog één andere niet-doorzochte kindknoop. Welk werk kan alfa-bètasnoei met grenzen voor toeval overslaan?
  1. Alleen de andere kindknoop van R; de toevalsuitkomsten moeten worden afgehandeld.
  2. Alleen de resterende toevalsuitkomsten; de andere kindknoop van R moet worden doorzocht.
  3. Noch de resterende toevalsuitkomsten, noch de andere kindknoop van R.
  4. Zowel de resterende toevalsuitkomsten als de andere kindknoop van R.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een spel heeft één optimaal spelende vijandige tegenstander en één agent waarvan de zetten bekende kansen volgen. Hoe moeten hun knopen het nut van MAX terugwerken?
  1. Gebruik minima voor de vijandige agent en gewogen gemiddelden voor de willekeurig spelende agent.
  2. Gebruik gewogen gemiddelden voor beide agenten op basis van hun aantallen toegestane zetten.
  3. Gebruik minima voor beide agenten omdat beide buiten de controle van MAX handelen.
  4. Gebruik maxima voor de vijandige agent en gewogen gemiddelden voor de willekeurig spelende agent.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een stochastisch spel heeft te veel toevalsuitkomsten om bij elke zoekknoop te enumereren. Hoe kan MCTS die gebeurtenissen weergeven?
  1. Kies telkens de gunstigste uitkomst.
  2. Trek uitkomsten volgens hun kansen.
  3. Geef elke verschillende uitkomst dezelfde frequentie.
  4. Vervang elke gebeurtenis door het minimale nut.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 5: Stel tekortkomingen bij zoeken vast en pas de methoden elders toe10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een strategieboom voor twee spelers behoudt alle antwoorden van de tegenstander maar slechts één gekozen zet wanneer MAX handelt. Waarom kan die toch veel paden van wortel naar blad bevatten?
  1. Elk pad is een andere eerste zet die MAX wil doen.
  2. Elke herhaalde toestand moet een ander nut hebben.
  3. MAX kiest elke tak nadat de tegenstander zet.
  4. Verschillende antwoorden van de tegenstander vereisen verschillende voortzettingen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een diepte-eerstminimaximplementatie slaat alle b gegenereerde opvolgers op bij elk van m actieve niveaus. Welke verandering vermindert de opslag voor het actieve zoeken van O(bm) naar ongeveer O(m), afgezien van de toestandsrepresentatie?
  1. Genereer het hele laatste niveau voordat je waarden terugwerkt.
  2. Genereer en doorzoek opvolgers één voor één.
  3. Vervang elke MIN-functie door een andere MAX-functie.
  4. Sla elke geëvalueerde toestand zonder dieptelimiet op.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Doorzoek van links naar rechts met alfa-bètasnoei. MAX heeft L en R, elk een MIN-knoop met twee MAX-kindknopen. De bladeren van de kindknopen van L zijn (3, 6) en (5, 9). Die van R zijn (4, 7) en (2, 8). Hoeveel eindbladeren worden geëvalueerd?
  1. 5 bladeren.
  2. 6 bladeren.
  3. 8 bladeren.
  4. 7 bladeren.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een evaluator bevat een bonus die alleen wordt geactiveerd wanneer een speler beide lopers heeft. Welke beperking van een eenvoudige som van afzonderlijke stukwaarden wordt hiermee aangepakt?
  1. De interactie tussen de twee lopers.
  2. De kans dat een van beide lopers hierna zet.
  3. De waarde van de koning als te slaan materiaal.
  4. De vertakkingsfactor van de spelboom.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Bij aanvankelijk gelijk materiaal kan MAX L kiezen: een dame slaat een toren en wordt direct teruggeslagen, of R: een toren slaat een loper en wordt direct teruggeslagen. Een materiaalzoekactie met vaste diepte stopt na de slagzet van MAX. Vergelijk de keuze daarvan, een zoekactie die terugslagen meeneemt en een zoekactie die vóór verdere verdieping alleen de voorkeur van de vaste diepte behoudt. Gebruik de gebruikelijke schaakstukwaarden. Welke reeks keuzes volgt?
  1. R, dan L, dan R.
  2. L, dan R, dan L.
  3. L, dan L, dan R.
  4. R, dan R, dan L.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

MAX kiest A of B. Onder A leidt een toevalsgebeurtenis met gelijke kansen naar MIN-knopen met bladeren (0, 9) en (6, 8). Onder B leidt zo'n gebeurtenis naar MIN-knopen met bladeren (4, 5) en (1, 7). Wat kiest expectiminimax en wat zou het model kiezen als beide toevalsknopen door MIN-knopen worden vervangen?
  1. Expectiminimax B; vervangend model A.
  2. Expectiminimax A; vervangend model B.
  3. Beide kiezen A met dezelfde wortelwaarde.
  4. Beide kiezen B met dezelfde wortelwaarde.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

A levert zeker nut 3 op. B levert 1 op met kans 0,5 en 6 met kans 0,5. Vergelijk keuzes in drie modellen: verwacht nut, verwacht nut nadat elk blad met 2x+7 is getransformeerd, en antwoorden van een vijandige MIN die toeval vervangen.
  1. B, dan B, dan A.
  2. A, dan B, dan A.
  3. B, dan A, dan B.
  4. A, dan A, dan B.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een MCTS-iteratie volgt wortel → a na een zet van wit → b na een zet van zwart → c na een zet van wit, waarna zwart wint. De aantallen vóór de iteratie zijn a: N=12, U=8; b: N=7, U=3; c: N=2, U=1. Wat zijn de bijgewerkte aantallen voor de kindknopen volgens de conventie van de speler die de inkomende zet maakte?
  1. a: 13, 9; b: 8, 3; c: 3, 2.
  2. a: 13, 9; b: 8, 4; c: 3, 2.
  3. a: 12, 8; b: 7, 3; c: 3, 2.
  4. a: 13, 8; b: 8, 4; c: 3, 1.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een UCT-wortel heeft 100 bezoeken. Kindknoop A heeft 54 overwinningen uit 90 bezoeken; B heeft er 4 uit 10. Gebruik ln⁡100≈4,605. Welke kindknoop wordt geselecteerd bij C=1, welke bij C=0,2 en welke wordt gespeeld als het zoeken stopt?
  1. A bij 1; B bij 0,2; speel A.
  2. B bij 1; B bij 0,2; speel B.
  3. B bij 1; A bij 0,2; speel A.
  4. A bij 1; A bij 0,2; speel B.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een spel heeft duizenden toegestane zetten per toestand en geen bruikbare handgeschreven evaluator, maar snelle toegestane spelsimulaties zijn beschikbaar. Welke zoekaanpak is een logisch uitgangspunt?
  1. MCTS met een geschikt simulatiebeleid.
  2. Volledige minimax tot elke eindtoestand.
  3. Alfa-bètasnoei met constante bladscores.
  4. Vectorzoeken dat alle spelers gelijk scoort.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Kom je niet uit je eigen opgave? Huiswerkhulp

Kernbegrippen

71 Kernbegrippen, elk met een definitie

A

Alfa
Alfa is de beste beschikbare ondergrens voor MAX langs het huidige zoekpad, vastgesteld door een al bekeken alternatief.
Met alfa 6 kan een MIN-kindknoop die 4 vindt worden afgewezen omdat het uiteindelijke minimum niet hoger kan zijn dan 4.
Alfa-bètasnoei
Alfa-bètasnoei slaat takken over waarvan de grenzen tonen dat ze een beschikbare keuze niet kunnen verbeteren, en behoudt op dezelfde boom de waarde van minimax.
Zodra een MIN-tak onder het bekende alternatief van MAX daalt, kunnen de niet-bekeken antwoorden die tak niet meer redden.
Argmax
Een argmax is een invoer of actie die de grootste functiewaarde bereikt, onderscheiden van de numerieke maximumwaarde zelf.
Als zet K 6 teruggeeft en zet L 2, is de argmax K terwijl de grootste teruggegeven waarde 6 is.

B

Basisgeval van de recursie
Een basisgeval van de recursie geeft een resultaat terug zonder verdere recursieve aanroep; bij volledige minimax levert een eindtoestand zijn nut.
Een vol bord met gelijkspel geeft de score voor gelijkspel terug voordat het algoritme een lege lijst zetten probeert te bekijken.
Bèta
Bèta is de beste beschikbare bovengrens voor MIN langs het huidige zoekpad, vastgesteld door een al bekeken alternatief.
Met bèta 3 kan een MAX-kindknoop die 7 vindt stoppen omdat MIN al het betere alternatief 3 heeft.
Bezoekaantal
Een bezoekaantal legt vast hoeveel voltooide MCTS-iteraties door een knoop zijn gegaan en ondersteunt beloningsschattingen en de uiteindelijke keuze bij de wortel.
Een vaak geteste kindknoop van de wortel biedt meer verzamelde gegevens dan een kindknoop met een volmaakt percentage uit twee proeven.

D

Deterministisch spel
Een deterministisch spel heeft geen toevalsgebeurtenissen: een volledige toestand en een gekozen toegestane actie bepalen de resulterende toestand.
Schaken heeft nog steeds een tegenstandersmodel nodig, ook al voegen de regels geen toeval toe aan een toegestane zet.
Diepte-eerst zoeken
Diepte-eerst zoeken volgt recursief één voortzetting voordat het naar knopen met dezelfde ouder terugkeert, en bewaart het actieve pad in plaats van een heel zoekfront.
Een minimaxaanroep doorzoekt een deelboom van een kindknoop en geeft het getal terug voordat de volgende kindknoop wordt geëvalueerd.

E

Eindspeldatabase
Een eindspeldatabase slaat exacte resultaten op voor een bestreken verzameling posities uit de late fase van het spel, zodat die kunnen worden opgezocht in plaats van heuristisch geëvalueerd.
Een schaakopzoeking met zeven stukken telt beide koningen mee en kan aangeven of een bestreken positie wint, gelijkspeelt of verliest.
Eindtoestandstest
Een eindtoestandstest bepaalt of het spel is geëindigd, zodat een zoekmethode de uitkomst kan scoren in plaats van nog een zet te genereren.
Boter-kaas-en-eieren eindigt direct wanneer drie tekens op een rij staan, ook als het bord nog lege vakjes heeft.
Evaluatiefunctie
Een evaluatiefunctie schat goedkoop het nut van een onvoltooide positie, zodat een zoekmethode waarden kan toekennen aan het zoekfront op de dieptelimiet.
Een materiaalvoordeel kan de schatting van een schaakpositie verhogen, ook als de zoekactie het einde van het spel niet heeft bereikt.
Expansie
Expansie is de MCTS-fase die bij een geselecteerde niet-terminale knoop een nieuwe kindknoop toevoegt voor een niet-uitgeprobeerde toegestane actie.
Na het toevoegen van één kindknoop kan de iteratie tot het einde simuleren zonder elke latere zet als boomknoop op te slaan.
Expectimax
Expectimax combineert maximaliserende keuzes met gemiddelden bij toevalsknopen wanneer onzekerheid kansen volgt in plaats van een minimaliserende speler.
Een uniform willekeurig spelende tegenstander geeft gelijke kans aan zijn toegestane zetten in plaats van doelbewust het slechtste antwoord voor MAX te kiezen.
Expectiminimax
Expectiminimax doorzoekt bomen met MAX-, MIN- en toevalsknopen en werkt respectievelijk maxima, minima en gewogen gemiddelden terug.
Een toevalsgebeurtenis kan kiezen welke MIN-positie optreedt, waarna die tegenstander nog steeds zijn beste antwoord selecteert.
Exploitatie
Exploitatie besteedt zoekinspanning aan zetten die volgens hun waargenomen beloningen al veelbelovend lijken en verfijnt hun geschatte sterkte.
Zonder exploratiebonus bepaalt het waargenomen gemiddelde van een bezochte kindknoop de prioriteit ten opzichte van andere bezochte kindknopen.
Exploratie
Exploratie besteedt zoekinspanning aan zetten waarover weinig gegevens beschikbaar zijn, vermindert zo onzekerheid en geeft over het hoofd geziene sterke zetten een kans om ontdekt te worden.
Een minder bezochte kindknoop kan de volgende simulatie krijgen, ook wanneer het waargenomen winstpercentage lager is dan dat van een alternatief.

G

Gewicht
Een gewicht is een coëfficiënt die bepaalt hoe sterk een kenmerk bijdraagt aan de score van een gewogen evaluator voor een positie.
Een mobiliteitsgewicht van 0,1 laat een voordeel van zes zetten 0,6 punten bijdragen aan de evaluatie.

H

Halve zet
Een halve zet is één zet van één speler en wordt gebruikt als eenheid van zoekdiepte; een volledige schaakzet omvat meestal twee halve zetten.
Een zoekactie die de beurten wit, zwart, wit en zwart omvat, bereikt diepte 4 vanaf de beginpositie.
Heuristische minimax
Heuristische minimax werkt geschatte waarden bij onvoltooide afbreekpunten terug en behoudt exact nut voor einduitkomsten.
De wortel kan optimaal zijn voor het geëvalueerde zoekfront en toch slecht kiezen als dat zoekfront een tactisch antwoord mist.
Hoofdvariant
Een hoofdvariant is een reeks optimale keuzes vanaf de wortel door de doorzochte boom, die het verwachte spelverloop bij optimaal spel toont.
Door gekozen maxima en minima te volgen kom je van de wortelwaarde bij een blad met de overeenkomstige waarde.
Horizoneffect
Het horizoneffect zorgt ervoor dat beperkt zoeken de voorkeur geeft aan het uitstellen van een onvermijdelijk verlies tot voorbij de zichtbare diepte, soms ten koste van extra materiaal.
Een programma kan pionnen verspillen met schaakzetten om het slaan van een ingesloten loper tot na het afbreekpunt uit te stellen.

I

Interactie tussen kenmerken
Een interactie tussen kenmerken treedt op wanneer de bijdrage van een positie-eigenschap afhangt van een andere, bovenop een vaste onafhankelijke som.
Een bonus voor een paar lopers legt waarde vast die kan worden gemist als voor elke loper dezelfde afzonderlijke waarde wordt opgeteld.
Iteratieve verdieping
Iteratieve verdieping voltooit zoekacties op toenemende diepten, behoudt een speelbaar resultaat en gebruikt eerdere keuzes om latere zoekacties te ordenen.
Als de iteratie op diepte 7 wordt onderbroken, blijft de zet uit de voltooide zoekactie op diepte 6 beschikbaar.

K

Kenmerk
Een kenmerk is een numerieke eigenschap die uit een positie wordt afgeleid, zoals een materiaalverschil, en bijdraagt aan een evaluatiescore.
Het aantal toegestane zetten van zwart aftrekken van dat van wit levert een mobiliteitskenmerk vanuit het perspectief van wit.
Kennistoestand
Een kennistoestand geeft de mogelijke onderliggende speltoestanden weer die overeenkomen met wat een speler heeft waargenomen wanneer een deel van de informatie verborgen is.
Een kaartspeler overweegt mogelijke handen van de tegenstander omdat de zichtbare kaarten niet één exacte toestand aanwijzen.
Keuzeregel bij gelijke waarden
Een keuzeregel bij gelijke waarden specificeert welke kindknoop een speler kiest wanneer meerdere kindknopen die speler dezelfde opbrengst geven en de voorkeur hebben.
Wanneer twee kindknopen speler C gelijke derde elementen geven, kunnen hun verschillende opbrengsten voor speler A veranderen welke eerdere zet A moet kiezen.
Killerzetheuristiek
De killerzetheuristiek probeert een zet vroeg omdat die elders op dezelfde zoekdiepte een alfa-bèta-afbreking veroorzaakte.
Een zet die een andere voortzetting weerlegde, wordt een aanwijzing voor de ordening, zonder te bewijzen dat andere zetten irrelevant zijn.

M

Minimax
Minimax werkt maxima voor MAX en minima voor MIN terug om de beste gegarandeerde waarde te vinden tegen optimaal tegenspel in een nulsomspel met twee spelers.
MAX wijst een tak met een hoge opbrengst af als MIN daar een antwoord heeft dat een lager resultaat afdwingt.
Minimaxbeslissing
Een minimaxbeslissing is een actie die bij een MAX-wortel de grootste teruggewerkte waarde bereikt, waarbij latere zetten onder optimaal spel worden geëvalueerd.
De zoekmethode geeft de zet naar de tak met de beste garantie terug, niet alleen het getal dat eraan is toegekend.
Minimaxwaarde
De minimaxwaarde van een toestand is het nut van MAX bij optimaal vervolg door beide spelers in een eindig deterministisch nulsomspel.
Een wortelwaarde van 0 kan betekenen dat gelijkspel is veiliggesteld, al kan een fout van de tegenstander winst mogelijk maken.
Mobiliteit
Mobiliteit meet de beschikbare toegestane zetten van een speler en kan als evaluatiekenmerk dienen, vaak vergeleken met de mobiliteit van de tegenstander.
Een positie met 30 zetten voor wit en 24 voor zwart heeft vanuit het perspectief van wit mobiliteitsverschil +6.
Monte-Carlo-boomzoeken
Monte-Carlo-boomzoeken laat een selectieve boom groeien en gebruikt gesimuleerde uitkomsten en verzamelde statistieken om later zoeken op bruikbare takken te richten.
Een veelbelovende zet krijgt meer bezoeken en een grotere deelboom naarmate simulaties gegevens over de voortzetting opleveren.

N

Negamax
Negamax drukt zoeken in een nulsomspel met twee spelers uit vanuit het perspectief van de huidige speler en ontkent waarden van kindknopen voordat het hun maximum neemt.
Een waarde van −5 bij een kindknoop wordt +5 voor de tegenstander bij de ouderknoop; niet ontkennen keert de betekenis dus om.
Neurale evaluatie
Een neurale evaluatie gebruikt een getraind netwerk om de kwaliteit van een positie te schatten en levert zo waarden die een zoekmethode kan terugwerken in plaats van die met willekeurige spelsimulaties te schatten.
AlphaZero combineert zoeken in bomen met netwerkschattingen bij schaken, shogi en go in plaats van willekeurige spelsimulaties te voltooien.
Nulsomspel
Een nulsomspel heeft strikt tegengestelde belangen: winst voor de ene speler is verlies voor de andere; spellen met een constante som gedragen zich op dezelfde manier.
Winst scoren als (1, 0) en gelijkspel als (0,5; 0,5) houdt de spelers tegenover elkaar ondanks een vast totaal van 1.
Nut
Nut is een numerieke opbrengst die aan een einduitkomst wordt toegekend en uitdrukt hoe wenselijk die uitkomst voor een bepaalde speler is.
Winst, gelijkspel en verlies kunnen vanuit het perspectief van de eerste speler de nutswaarden +1, 0 en −1 krijgen.
Nutsvector
Een nutsvector vermeldt één opbrengst per speler en behoudt hun afzonderlijke belangen wanneer één scalair niet ieders voorkeuren kan beschrijven.
Voor spelers A, B en C geeft (2, 7, 1) B de middelste opbrengst, 7, ongeacht wie daarna aan zet is.

O

Onvolmaakte informatie
Onvolmaakte informatie betekent dat een speler bij het kiezen van een zet een relevant deel van de huidige speltoestand niet kan waarnemen.
Een pokerspeler ziet de eigen kaarten maar moet rekening houden met meerdere mogelijke verborgen handen van een tegenstander.
Openingsboek
Een openingsboek bewaart bestudeerde zetten uit de vroege fase van een spel die een programma kan opzoeken in plaats van ze via een nieuwe zoekactie te herontdekken.
Een speler kan een gevestigde openingsvoortzetting kiezen en meer van het zoekbudget bewaren voor latere beurten.
Opgelost spel
Een opgelost spel heeft een bewezen uitkomst bij volmaakt spel vanuit de opgegeven beginpositie, vastgesteld tegen elke mogelijke strategie van de tegenstander.
Van Amerikaans dammen is aangetoond dat het bij volmaakt spel gelijkspel is; alleen een sterke menselijke speler verslaan zou dat resultaat niet bewijzen.
Overgangsmodel
Een overgangsmodel specificeert de opvolgertoestand die ontstaat door een toegestane actie op de huidige toestand van een spel toe te passen.
Bij boter-kaas-en-eieren plaatst de overgang het huidige teken in een leeg vakje en wisselt de speler die aan zet is.

P

Paranoïde aanname
De paranoïde aanname modelleert bij zoeken met meerdere spelers alle andere spelers als één coalitie die het nut van de speler bij de wortel minimaliseert.
De aanname maakt alfa-bètaredenering met twee spelers mogelijk, maar kan samenwerking voorspellen tussen tegenstanders met afzonderlijke doelen.
Positieve affiene transformatie
Een positieve affiene transformatie beeldt elk nut x af op ax + c met een positieve helling en behoudt alle vergelijkingen van verwacht nut.
Elke uitkomst met 4 vermenigvuldigen en er 2 van aftrekken transformeert elke verwachtingswaarde op dezelfde consistente manier.

R

Retrograde analyse
Retrograde analyse werkt terug vanaf bekende uitkomsten om voorafgaande toestanden te classificeren en exacte informatie voor bestreken posities op te bouwen.
Een eindspeldatabase kan een positie als winnend markeren wanneer een toegestane zet een positie bereikt waarvan al bekend is dat die voor de tegenstander verliezend is.
Rustzoeken
Rustzoeken doorzoekt tactisch onrustige posities verder voorbij de normale dieptelimiet, zodat de evaluatie op een stabielere voortzetting volgt.
Een zoekverdieping met alleen slagzetten kan onthullen dat de pion een dame terugslaat die zojuist materiaal leek te winnen.

S

Selectie
Selectie is de MCTS-fase die bestaande kindknopen volgens een beleid volgt totdat expansie of een bekend eindresultaat wordt bereikt.
UCB1 kan het geselecteerde pad sturen naar zetten die veelbelovend lijken of waarover nog weinig simulatiegegevens beschikbaar zijn.
Simulatiebeleid
Een simulatiebeleid kiest de zetten in een gesimuleerde voortzetting met willekeurige toegestane acties of goedkope spelkennis.
Een sterker simulatiebeleid kan verstandigere voortzettingen opleveren dan herhaaldelijk uniform willekeurig een toegestane zet selecteren.
Singuliere zoekverdieping
Een singuliere zoekverdieping zoekt dieper langs een zet die duidelijk boven zijn alternatieven uitsteekt en concentreert de inspanning op die voortzetting.
Wanneer één antwoord de andere zetten duidelijk overtreft, kan de zoekmethode dat antwoord voorbij de normale dieptelimiet verder doorzoeken.
Snoeigrens
Een snoeigrens begrenst de mogelijke waarde van een deelboom zonder die exact vast te stellen: een gesnoeide MAX-knoop geeft een ondergrens en een gesnoeide MIN-knoop een bovengrens.
Een MAX-deelboom die na een afbreking 8 teruggeeft, kan een ongeziene 12 bevatten, zodat de exacte waarde onbekend blijft.
Spel met variabele som
Een spel met variabele som staat belangen toe die niet strikt tegengesteld zijn, zodat winst voor de ene speler geen verlies voor een andere speler hoeft te zijn.
Twee spelers kunnen allebei een gedeelde uitkomst met hoge opbrengsten verkiezen boven een uitkomst die ieder minder geeft.
Spelboom
Een spelboom geeft mogelijke voortzettingen vanuit een toestand weer, met toegestane zetten als takken en resulterende toestanden als kindknopen.
Afwisselende MAX- en MIN-niveaus tonen welke speler elke beslissing op weg naar een uitkomst bepaalt.
Spelsimulatie
Een spelsimulatie is een gesimuleerde voortzetting vanaf een positie tot het einde van het spel, die een uitkomst oplevert waarmee de kwaliteit van een zet wordt geschat.
Een beleid met willekeurige toegestane zetten kan een spel snel voltooien en winst, verlies of gelijkspel aan de zoekboom teruggeven.
Speltoestand
Een speltoestand legt alle informatie vast die nodig is om toegestane voortzettingen te bepalen, inclusief het bord en de speler die als volgende aan zet is.
Twee identieke stukopstellingen met verschillende spelers aan zet kunnen verschillende acties en uitkomsten bieden.
Stochastisch spel
Een stochastisch spel bevat toevalsgebeurtenissen die het spel beïnvloeden en vereist zowel kansen van uitkomsten als doelbewuste keuzes van spelers.
Backgammon vertakt op een dobbelsteenworp voordat de speler kiest uit de zetten die die worp toestaat.
Strategie
Een strategie specificeert de actie die een speler kiest in elke situatie waarmee die te maken kan krijgen, inclusief situaties na verschillende antwoorden van de tegenstander.
Een strategie kan op beide antwoorden van de tegenstander reageren, ook wanneer in een bepaalde partij slechts één van die antwoorden voorkomt.
Strikt stijgende transformatie
Een strikt stijgende transformatie geeft voor elke grotere invoer een grotere uitvoer en behoudt zo de rangorde, maar kan de afstanden tussen nutswaarden veranderen.
Verheffen tot de derde macht behoudt de volgorde van uitkomsten, terwijl het soms verandert welke loterij de grootste verwachtingswaarde heeft.

T

Tactische weerlegging
Een tactische weerlegging is een precies antwoord of een precieze voortzetting die een kandidaat-zet verslaat, ook als veel minder nauwkeurige antwoorden succes toestaan.
Willekeurige spelsimulaties kiezen mogelijk zelden het ene antwoord dat tot verlies leidt en dat een voltooide alfa-bètazoekactie binnen zijn diepte vindt.
Tegenstandersmodel
Een tegenstandersmodel specificeert hoe een andere agent zijn acties kiest, bijvoorbeeld met optimaal tegenspel of een kansverdeling over zetten.
Een speler die willekeurige antwoorden verwacht, kan een riskante zet kiezen die een doelbewuste tegenstander zou weerleggen.
Terugkoppeling van simulatieresultaten
Terugkoppeling van simulatieresultaten werkt bij MCTS de bezoek- en beloningstotalen van het geselecteerde pad bij met de uitkomst van de voltooide simulatie.
Een overwinning van zwart verhoogt het aantal bezoeken langs het pad en het aantal overwinningen bij kindknopen waarvan de inkomende zet door zwart is gemaakt.
Toevalsknoop
Een toevalsknoop stelt een toevalsgebeurtenis voor en werkt een kansgewogen gemiddelde terug, waarbij de kansen van de uitgaande takken optellen tot één.
Een knoop voor een zuivere muntworp geeft gelijk gewicht aan de twee teruggegeven voortzettingswaarden in plaats van één ervan te kiezen.
Toevalsuitkomsten trekken
Toevalsuitkomsten trekken betekent uitkomsten van toevalsgebeurtenissen uit hun kansverdeling trekken, zodat herhaalde zoekproeven hun verwachte bijdrage schatten.
Bij het trekken van een backgammonworp moet elke bepaalde niet-dubbele worp ongeveer tweemaal zo vaak voorkomen als elke bepaalde dubbele worp.
Transpositietabel
Een transpositietabel slaat doorzochte posities op met hun waarden, doorzochte diepten en aanduidingen voor exacte waarden, ondergrenzen of bovengrenzen.
Een herhaalde toestand kan een geschikte grens hergebruiken om het zoekvenster te versmallen zonder te doen alsof die exact is.

U

UCB1
UCB1 scoort een kindknoop met de waargenomen gemiddelde beloning plus een onzekerheidsbonus die door C wordt bepaald, en stuurt zo de keuze van de volgende simulatie.
Een onzekerheidsbonus kan het de moeite waard maken een waargenomen percentage van 0,5 eerder te onderzoeken dan een veel beter getest percentage van 0,7.
UCT
UCT is Monte-Carlo-boomzoeken dat tijdens selectie bovengrenzen van betrouwbaarheidsintervallen gebruikt om exploratie en exploitatie bij boomknopen in evenwicht te brengen.
UCT selecteert proeven met UCB1 maar speelt meestal de zet naar de kindknoop van de wortel met de meeste bezoeken wanneer het tijdbudget op is.

V

Vertakkingsfactor
De vertakkingsfactor is het aantal toegestane opvolgers bij een knoop, of een gemiddelde dat wordt gebruikt om de groei van een spelboom te schatten.
Met vier acties bij elke positie vermenigvuldigt één extra halve zet het aantal bladeren van de uniforme boom met vier.
Verwacht nut
Verwacht nut is de kansgewogen gemiddelde opbrengst van mogelijke uitkomsten en meet de waarde van een keuze volgens een kansmodel.
Een kans van 0,25 op 8 en een kans van 0,75 op 0 geeft verwacht nut 2, ook al is 2 geen mogelijke uitkomst.
Volmaakte informatie
Volmaakte informatie betekent dat elke speler de hele relevante speltoestand kan waarnemen bij het kiezen van de volgende actie.
Een zichtbaar backgammonbord heeft volmaakte informatie, ook al brengen toekomstige dobbelsteenworpen toeval mee.
Voorwaarts snoeien
Voorwaarts snoeien slaat zetten over waarvan wordt voorspeld dat ze onbelangrijk zijn, zonder te bewijzen dat ze niet kunnen helpen; het weegt zoekkosten af tegen het risico op fouten.
Slechts enkele hoog beoordeelde zetten behouden kan een rustige zet weggooien die na diepere analyse zou hebben gewonnen.

Z

Zetordening
Zetordening bepaalt welke toegestane acties de zoekmethode eerst bekijkt en helpt alfa-bètasnoei bruikbare grenzen vast te stellen en eerder te snoeien.
De sterkste tak vanaf de wortel eerst proberen kan bladevaluaties verminderen terwijl dezelfde minimaxwaarde behouden blijft.
Zetverwisseling
Een zetverwisseling treedt op wanneer verschillende reeksen toegestane zetten dezelfde volledige toestand bereiken, zodat herhaald zoekwerk kan worden gedeeld.
De twee hoektekens van X in omgekeerde volgorde spelen rond de zet van O in het midden kan één gedeelde positie bereiken.
Zoekboom
Een zoekboom is het deel van het mogelijke spelverloop dat een algoritme daadwerkelijk genereert, met bladeren die eindtoestanden of onvoltooide afbreekpunten kunnen zijn.
Minimax met een dieptelimiet evalueert het zoekfront, ook al kan het werkelijke spel voorbij die bladeren doorgaan.

Over deze les

Door StudeliFout melden

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag