umjetna inteligencija 3. igranje igara

13
Umjetna inteligencija 3. Igranje igara Minimax pretraživanje prostora stanja 1 Autori: Ivan Šakić, Jura Ćurić Mentor: Bojana Dalbelo Bašić

Upload: zudora

Post on 20-Mar-2016

68 views

Category:

Documents


6 download

DESCRIPTION

Umjetna inteligencija 3. Igranje igara. Minimax pretraživanje prostora stanja. Autori: Ivan Šakić, Jura Ćurić Mentor: Bojana Dalbelo Bašić. Donošenje odluka u igrama. Primjer – zamišljena igra na poteze s dvije suprotstavljene strane (ograničenje!!!) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Umjetna inteligencija  3. Igranje igara

Umjetna inteligencija 3. Igranje igara

Minimax pretraživanje prostora stanja

1

Autori: Ivan Šakić, Jura ĆurićMentor: Bojana Dalbelo Bašić

Page 2: Umjetna inteligencija  3. Igranje igara

Donošenje odluka u igrama

• Primjer – zamišljena igra na poteze s dvije suprotstavljene strane (ograničenje!!!)

• Potrebno je donijeti optimalnu odluku o idućem potezu

Page 3: Umjetna inteligencija  3. Igranje igara

Minimax

• Metoda u teoriji odlučivanja kojoj je cilj minimizirati maksimalni mogući gubitak• Također se može reći da maksimizira minimalni

dobitak• Pretpostavlja da će protivnik uvijek odabirati

“optimalan put” ( o tome malo kasnije... )• Igra se modelira stablom pretraživanja ( exp.

složenost pretraživanja ) • Čvorovi –> situacije, stanja u igri• Poveznice čvorova – > potezi u igri

Page 4: Umjetna inteligencija  3. Igranje igara

Minimax - pojmovi• Čvorovi na parnoj udaljenosti – MAX čvorovi (računalo)

• Početni čvor – MAX čvor (udaljenost 0)• Čvorovi na neparnoj udaljenosti – MIN čvorovi (protivnik)

• Minimax vrijednost čvora– M(x)-> INFORMACIJA O POVOLJNOSTI STANJA

• U slučaju da su listovi završna stanja igre – nije potrebna heuristika, već se M(x) određuje direktno ( pobjeda, poraz, izjednačeno ) - uglavnom nemoguće zbog vremenskih(bitnije) i memorijskih zahtjeva

• Za listove ( krajnje promatrane situacije koji nisu završna stanja igre ) M(x) se određuje heurističkom funkcijom procjene stanja

Page 5: Umjetna inteligencija  3. Igranje igara

Minimax-pojmovi

X1

X

X2

X12 X22X21X11

5

6 -4 32M(x)

MAX razina

MIN razina

MAX razina

Pozitivna minimax vrijednost povoljnija za MAX igračaNegativnija minimax vrijednost povoljnija za MIN igrača

Minimax vrijednost nula – izjednačeni izgledi

Page 6: Umjetna inteligencija  3. Igranje igara

Minimax - pojmovi

• U slučaju da neki čvor x nije list, dodijelit će mu se minimax vrijednost djeteta s najpovoljnijom pripadnom minimax vrijednošću• Najvrjednije dijete postaje čvor nasljednik čvora x

• Optimalan put je onaj koji vodi od čvora x prema njegovom nasljedniku

6

X1

X

X2

X12 X22X21X11

6 -4 2 3

-4 2

2

Page 7: Umjetna inteligencija  3. Igranje igara

Minimax - rezultat

• Oprez : Navedeni “optimalan put” postoji samo u trenutnoj situaciji, tj. stablu

• Naime, zbog nepredvidivosti protivnika taj će se put ( vjerojatno ) promijeniti

• Bitan je isključivo odabir poteza u danom trenutku !!!

• Taj potez igra MAX igrač ( situacija na nultoj razini stabla )

7

Page 8: Umjetna inteligencija  3. Igranje igara

Primjer minimax stabla

8

X1

X

X2

X12 X22X21

X121X111 X112 X122 X211X123 X221X212 X222

X11

11 20 -30 -5 0 2

1

1

2 -3 2

-3

1

Page 9: Umjetna inteligencija  3. Igranje igara

Minimax algoritam (MAX čvorovi)Funkcija minimaxParni(čvor x)

Ako je x list stabla:Vrati vrijednost funkcije procijeni(x).

Proširi čvor x.VrijednostCvora := -inf. // inicijalno najgora za

računalo, dalje može samo rasti Za svako dijete y čvora x :

vrijednostCvora := max(vrijednostCvora, minimaxNeparni(y)).

Vrati vrijednostCvora.Kraj.

9

Page 10: Umjetna inteligencija  3. Igranje igara

Minimax algoritam (MIN čvorovi)Funkcija minimaxNeparni(čvor x)

Ako je x list stabla:Vrati vrijednost funkcije procijeni(x).

Proširi čvor x.VrijednostCvora := inf. // inicijalno najgora za

protivnika, dalje može samo padatiZa svako dijete y čvora x:

vrijednostCvora := min(vrijednostCvora, minimaxParni(y)).

Vrati vrijednostCvora.Kraj.

// Očito, radi se o međusobno rekurzivnim funkcijama čime se ostvaruje alterniranje između dva stanja ( max i min )

10

Page 11: Umjetna inteligencija  3. Igranje igara

Algoritam minimax

11

X1

X

X2

X12 X22X21

X121X111 X112 X122 X211X123 X221X212 X222

X11

11 20 -30 -5 0 2

01

1

2 -3 2

-3

1

Dubina = 3

Procedura minimaxParni(čvor x)Ako je x list stabla: NEProširi čvor x.Za svako dijete xi čvora x:vrijednostCvora := max(vrijednostCvora, minimaxNeparni(xi))Procedura minimaxNeparni(čvor x1)Ako je x1 list stabla: NEProširi čvor x1.Za svako dijete xii čvora xi:vrijednostCvora := min(vrijednostCvora, minimaxParni(xii))Procedura minimaxParni(čvor x11)Ako je x11 list stabla: NEProširi čvor x11.Za svako dijete xiii čvora xii:vrijednostCvora := max(vrijednostCvora, minimaxNeparni(xiii))Procedura minimaxNeparni(čvor x111)Ako je x111 list stabla: DAVrati vrijednost funkcije procijeni(x)vrijednostCvora := max(vrijednostCvora, minimaxNeparni(xiii))Procedura minimaxNeparni(čvor x112)Ako je x112 list stabla: DAVrati vrijednost funkcije procijeni(x)Vrati vrijednostCvora

Zelenom bojom su označeni čvorovi izbrisani iz memorije

Page 12: Umjetna inteligencija  3. Igranje igara

Heuristička funkcija

• Funkcija procjene vrijednosti čvora• Procjena povoljnosti čvora po igrača• Računa se na temelju značajki (eng. feature)

pojedinog stanja• Ključna za pravilan rad minimax algoritma

• Kvaliteta algoritma konačno ovisi o kvaliteti heurističke funkcije ( koja naravno, nije jednoznačno određena )

• Zašto “optimalno” ?

12

Page 13: Umjetna inteligencija  3. Igranje igara

Sažetak• Minimax algoritam

• Temelji se na pretraživanju dijela prostora stanja (ograničeni vremenski i prostorni resursi)

• Omogućava računalu da donese odluku (samo) o idućem potezu procjenom budućih stanja

• Pretpostavlja se da protivnik igra “optimalno”• Stablo se generira za svaki potez računala (zbog

nepredvidivosti protivnika)• Samo stablo ne postoji u memoriji• Za procjenu krajnjih stanja (listova) koristi se

heuristička funkcija

13