CMD + K

Introduksjon til kunstig intelligensMCTS og stokastiske spillBegreper & formler15
11 min lesing

MCTS og stokastiske spill

Monte Carlo-tresøk bygger treet gradvis ut fra simulerte partier, og UCB1 avgjør om neste simulering skal utforske et nytt trekk eller utnytte et som har gått bra. Med terninger i spillet får treet sjansenoder, og expectiminimax regner med forventede verdier. Kapitlet avslutter med spill der du ikke ser alle kortene.

Læringsmål
  • 01Beskriv de fire fasene i Monte Carlo-tresøk og oppdater U og N etter én simulering
  • 02Regn ut UCB1 for et barn og avgjør hvilket barn seleksjonen velger
  • 03Regn ut expectiminimax-verdier i et tre med sjansenoder og vis den vektede summen
  • 04Forklar hvorfor evalueringsfunksjonen må være en positiv lineær transformasjon av vinnersjansen når sjanse er med
  • 05Forklar hvorfor gjennomsnitt over klarsyn kan velge feil i delvis observerbare spill
0 av 16 aktiviteter
Kjerneidé

Når et spill har så mange trekk at søket aldri kommer dypt, og ingen vet hvordan en god evalueringsfunksjon ser ut, kan agenten i stedet spille mange raske partier fra stillingen og telle hvor ofte de ender med seier. Monte Carlo-tresøk bygger et søketre rundt de mest lovende trekkene ved hjelp av slike simulerte partier. Det ligner på å velge lunsjsted i en ny by: du går mest til stedet som har vært godt, men prøver av og til et nytt i tilfelle det er bedre. Når terninger er med, blir verdien av et trekk et gjennomsnitt over det som kan skje.

Steg 1 av 6

Monte Carlo-tresøk i fire faser

Konsept

Alfa-beta trenger en evalueringsfunksjon og en forgreningsfaktor som ikke er altfor stor. I go er det hundrevis av lovlige trekk i hver stilling, og det er vanskelig å se på en stilling hvem som leder. Monte Carlo-tresøk (Monte Carlo tree search, MCTS) klarer seg uten evalueringsfunksjon. Verdien av en stilling anslås i stedet med en utspilling (playout): et raskt parti fra stillingen helt til slutt, med trekk valgt av en utspillingspolicy (playout policy) som er billig og gjerne litt tilfeldig. Andelen seire over mange utspillinger er anslaget.

MCTS lagrer to tall i hver node: , antall utspillinger som har gått gjennom noden, og , samlet nytte for spilleren som gjorde trekket inn i noden, med seier som 1 og tap som 0. Én iterasjon har fire faser:

  1. Seleksjon. Fra roten velger en seleksjonspolicy (selection policy) barn etter barn til søket når en node med trekk som ikke er prøvd.
  2. Ekspansjon. Søket legger til ett nytt barn under den noden.
  3. Simulering. En utspilling kjøres fra det nye barnet til spillet er slutt.
  4. Tilbakepropagering. Resultatet sendes opp langs stien (tilbakepropagering, back-propagation): øker med 1 i alle nodene på stien, og resultatet legges til , sett fra spilleren som gjorde trekket inn i hver node.
Interaktiv figur

Treet under er bygd opp av tolv utspillinger. B har vunnet alle sine fire, og under B har motspilleren prøvd to svar.

Prøv: trykk Neste trinn gjennom første iterasjon og se hvorfor seleksjonen går til B og videre til E, og hvilke tall som endres på vei tilbake til roten.

Laster figur …
Figur 7.1To iterasjoner av Monte Carlo-tresøk. Tallene er U/N, der U teller seire for spilleren som gjorde trekket inn i noden, og C = √2.
Interaktiv
Konsept

Iterasjonene gjentas så lenge det er tid. Til slutt spiller MCTS trekket med flest utspillinger, ƒtrekkvalget i MCTS, og ikke trekket med høyest gevinstandel, fordi et trekk med få utspillinger kan ha høy andel ved flaks.

RegneeksempelÉn iterasjon går R → P → Q og legger til den nye noden T. Simuleringen ender med tap for spilleren i roten. Før iterasjonen er P 6/10 og Q 3/5 (U/N). Oppdater tallene.

Steg 1. Hvem gjorde trekkene? P er et trekk av spilleren i roten, Q et trekk av motspilleren og T igjen et trekk av spilleren i roten.

Steg 2. Resultatet sett fra hver av dem. Tap for rotspilleren gir 0 til ham og 1 til motspilleren.

Steg 3. Oppdater. P får og , altså 6/11. Q får og , altså 4/6. T starter på 0/1, og roten får økt med 1.

Øving 1 av 3

I hvilken rekkefølge kjører én iterasjon av Monte Carlo-tresøk fasene sine?

Øving 2 av 3

Hva gjør utspillingspolicyen i MCTS?

Øving 3 av 3

Én iterasjon av MCTS går R → A → X, legger til et nytt barn under X og simulerer. Simuleringen ender med seier for spilleren i roten. er nytten for spilleren som gjorde trekket inn i noden (seier 1, tap 0). Hva er for X etter tilbakepropageringen? Svar med to desimaler.

R: N = 9
A: U = 4, N = 9
X: U = 5, N = 8
A er rotspillerens trekk,
X er motspillerens trekk.

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…