inteligentni sistemiri4es.etf.rs/materijali/vezbe/is_teorija_igara_sekvencijalne_igre.pdf · dubina...

218
INTELIGENTNI SISTEMI as. ms Vladimir Jocović as. ms Adrian Milaković

Upload: others

Post on 23-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

INTELIGENTNI SISTEMIas. ms Vladimir Jocovićas. ms Adrian Milaković

Page 2: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

TEORIJA IGARASekvencijalne igre

„When you see a good move, look for a better one.“- Emanuel Lasker

03

Page 3: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

U nastavku će od interesa biti igre sa sledećim karakteristikama:

Sekvencijalne – odnosi se na tajming saopštavanja odluka igračaigre. Igrač saopštava donetu odluku nakon drugog igrača i naosnovu prethodno saopštene odluke drugog igrača. Sekvencijalneigre imaju vremensku osu i predstavljaju se stablima.

Savršene informacije – igrač ne zna koju je odluku doneoprotivnički igrač dok je on sam ne saopšti, ali u svakom trenutkuzna sve događaje koji su prethodili i doveli do trenutnog stanja uigri, uključujući i inicijalizacioni događaj (startno stanje igre).

KARAKTERISTIKE IGARA

Page 4: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

U nastavku će od interesa biti igre sa sledećim karakteristikama:

Višepotezne – igrači donose više odluka u igri, u svakom potezupo jednu.

Nekooperativne – nema sklapanja saveza sa drugim igračima.Predstavlja nadmetanje između pojedinaca.

Zero-sum – osnovna karakteristika zero-sum igara je da je sumadobitaka svih igrača jednaka je 0.

U igrama će uvek učestovati dva igrača.

KARAKTERISTIKE IGARA

Page 5: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Šta su osnovni elementi stabla igre?

Čvor – predstavlja jednu poziciju višepotezne igre.

Interni čvor - označava poziciju u igri u kojoj igrač na potezu idalje može doneti odluku. Kvalitet ovakve pozicije po igrača se nemože precizno utvrditi.

Terminalni čvor (list) - označava poziciju kraja igre u kojoj igrač napotezu ne može doneti odluku. U ovakvim pozicijama se preciznomože odrediti rezultat igre.

Grana – predstavlja jednu moguću odluku igrača koji je na potezu.

Nivo stabla – igrači igraju naizmenično (jedan za drugim) tesvakom igraču odgovara jedan nivo stabla igre.

STABLO IGRE

Page 6: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Šta su osnovne odlike stabla igre?

Osnovne odlike stabla igre ukazuju na kompleksnost same igre.

Faktor grananja internih čvorova – označava broj mogućih odlukakoje igrač na potezu može doneti. Faktor grananja je odličanindikator težine igre (veći faktor => teža igra).

Dubina stabla – za svaki čvor označava broj poteza koji dovodi dopozicije predstavljene tim čvorom u igri počevši od korena stabla(dubina nula). Veća dubina stabla ukazuje na kompleksiju igru.

Transpozicije – u nekim igrama je do iste pozicije (stanja) u igrimoguće doći različitim sekvencama poteza igrača. Postojanjetranspozicije u igri i korišćenje njenog postojanja u algoritmimapretrage značajno ubrzava sam algoritam.

STABLO IGRE

Page 7: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Cilj svakog racionalnog igrača u igri je da donese odluku koja jenajbolja po njega, tj. da od svih poteza koji su mu na raspolaganjuizabere onaj koji mu donosi najveći dobitak.

Da bi igrač znao koju odluku da donese on mora da proceni kakavje efekat donošenja njegove odluke na drugog igrača. U najgoremslučaju po prvog igrača, drugi igrač je takođe racionalan i želećeda donese odluku koja je najbolja po njega.

Kako su nam od interesa Zero-sum igre, to znači da je najboljaodluka po drugog igrača u isto vreme i najgora odluka po prvogigrača, jer je dobitak drugog igrača ekvivalentan gubitku prvog.Stoga će prvi igrač, kao racionalan, želeti da minimizuje svojmaksimalni potencijalni gubitak. Otuda ime ovog algoritma.

MINIMAX IDEJA

Page 8: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

U igri sa 2 igrača jednog ćemo označiti kao MAX, a drugog kao MIN.

Ukoliko su igraču MAX na raspolaganju odluke A, B, C i donose mudobitak gain(A), gain(B) i gain(C), respektivno, onda je igraču MAXcilj da donese odluku koja mu donosi najveći dobitak:

max(gain(A), gain(B), gain(C))

Ukoliko su igraču MIN na raspolaganju odluke X, Y, Z i igraču MAXdonose dobitak gain(X), gain(Y) i gain(Z), respektivno, onda jeigraču MIN cilj da donese odluku koja je najbolja po njega, anajgora po MAX igrača:

min(gain(X), gain(Y), gain(Z))

MINIMAX IDEJA

Page 9: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

def minimax(node, player):if is_terminal_node(node):

return node_evaluation(node)

if player == Player.MAX:score = -math.inffor succ in node.successors():

score = max(score, minimax(succ, Player.MIN))return score

else:score = +math.inffor succ in node.successors():

score = min(score, minimax(succ, Player.MAX))return score

MINIMAX ALGORITAM

Page 10: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Data je jedna pozicija u jednoj partiji igre iks-oks. Potrebno jerazviti kompletno stablo igre počevši od date pozicije kao startne.Primenom minimax algoritma odrediti funkciju procene za svakičvor, konačan ishod igre i sekvencu poteza koja će biti odigranado kraja ukoliko su oba igrača racionalna. Vrednost funkcijeprocene terminalne pozicije označiti sa +1 ukoliko je pobednik X,-1 ukoliko je pobednik O i 0 ukoliko je ishod igre nerešen. Napotezu je igrač X. Naslednike čvora razvijati dodajući znakove naslobodna polja po redovima.

Zadatak 1 – XO (Minimax)

Page 11: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Kompletno stablo:

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 12: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Minimax algoritam:

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 13: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 14: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 15: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 16: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 17: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 18: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 19: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 20: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 21: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 22: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 23: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 24: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 25: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 26: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 27: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 28: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 29: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 30: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 31: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 32: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 33: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 34: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 35: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 36: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 37: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 38: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 39: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Rešenje:

Zadatak 1 – Rešenje

MAX

MAX

MIN

MIN

Page 40: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Dato je kompletno stablo igre sa naznačenim dobicima za prvogigrača. Primenom minimax algoritma odrediti funkciju procene zasvaki čvor, konačan ishod igre i sekvencu poteza koja će bitiodigrana do kraja ukoliko su oba igrača racionalna.

Zadatak za samostalnu vežbu – Minimax

Page 41: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak za samostalnu vežbu – Rešenje

Page 42: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Arturovi vitezovi Gavejn i Persival ne mogu da idu u lov, jer padajaka kiša. Odlučili su da ostanu u zamku i uz vino igraju njihovuomiljenu igru – Novčići. Pravila igre su jednostavna: na stolu stoji6 novčića. Igrači igraju naizmenično i svaki igrač može da uzme 1 ili2 novčića kada je njegov potez na redu. Igrač koji poslednji vršiuzimanje je izgubio ukoliko pri tom uzimanju na stolu nije ostaonijedan novčić. Koristeći minimax algoritam odrediti ishod igreukoliko oba igrača igraju racionalno, a igru započinje Persival.

Zadatak za samostalnu vežbu – Novčići

Page 43: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak za samostalnu vežbu – Rešenje

Page 44: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Data je jedna pozicija u jednoj partiji igre iks-oks. Predložitifunkciju procene koja će biti korišćena za evaluaciju čvorova nadubini d i primenom progresivnog produbljivanja koristećiminimax algoritam odrediti vrednost funkcije procene za svakičvor i odluku igrača X ukoliko je moguće razviti čvorove na dubini1 i 2, respektivno. Oba igrača su racionalna i na potezu je igrač X.Naslednike čvora razvijati dodajući znakove na slobodna polja poredovima.

Zadatak 2 – XO (Progresivno produbljivanje)

Page 45: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Kako oceniti stanje koje nije terminalno (ne označava kraj igre), analazi se na dubini d?

Ukoliko se terminalni čvorovi označavaju sa vrednošću A zapobedu igrača MAX, odnosno B za pobedu MIN onda funkcijaprocene ne bi trebalo da vraća vrednosti van ovog opsega [B, A].Ako to nije slučaj, onda bi igrač MAX potencijalno izabrao odlukumodelovanu granom ka čvoru sa vrednošću funkcije procenevećom od A umesto potencijalno pobedničkog poteza sa cenom A.

U ovoj igri na tabli 3x3 postoje 3 horizontalne, 3 vertikalne i 2dijagonalne linije na kojima igrač može ostvariti pobedu. Kvalitetneke pozicije može se odrediti funkcijom koja zavisi od broja linijana kojima igrač može ostvariti pobedu i broja linija na kojima tomože uraditi njegov protivnik.

Zadatak 2 – XO (Progresivno produbljivanje)

Page 46: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Kako oceniti stanje koje nije terminalno (ne označava kraj igre), analazi se na dubini d?

S1 = σ𝑥=1𝑥=2 a ∗ 10 ^ (x − 1) – a linija na kojima igrač ima x oznaka

S2 = σ𝑦=1𝑦=2

b ∗ 10 ^ y – b linija na kojima protivnik ima y oznaka

Kad je MAX na potezu, vrednost funkcije procene naslednika:

node_evaluation(node) = +S1 - S2

Kad je MIN na potezu, vrednost funkcije procene naslednika:

node_evaluation(node) = -S1 + S2

Terminalno stanje se može oceniti vrednošću +1000 za igrača MAX,odnosno -1000 za igrača MIN.

Zadatak 2 – XO (Progresivno produbljivanje)

Page 47: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

def id_minimax(node, player, depth, MAX_DEPTH):if depth == MAX_DEPTH or is_terminal_node(node):

return node_evaluation(node)

if player == Player.MAX:score = -math.inffor succ in node.successors():

score = max(score, id_minimax(succ, Player.MIN, depth+1, MAX_DEPTH))return score

else:score = +math.inffor succ in node.successors():

score = min(score, id_minimax(succ, Player.MAX, depth+1, MAX_DEPTH))return score

ITERATIVE DEEPENING MINIMAX ALGORITAM

Page 48: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 2 – Rešenje

S1 = σ𝑥=1𝑥=2 a ∗ 10 ^ (x − 1)

S2 = σ𝑦=1𝑦=2 b ∗ 10 ^ y

node_evaluation(node) = +S1 - S2

S1 = 1 * 10^0 = 1

S2 = 1 * 10^2 = 100

S1 – S2 = -99

S1 = 1 * 10^1 = 10

S2 = 1 * 10^1 = 10

S1 – S2 = 0

S1 = 1 * 10^1 = 10

S2 = 1 * 10^2 = 100

S1 – S2 = -90

Dubina 1 - Evaluacija

MAX

MIN

Page 49: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 2 – Rešenje

S1 = σ𝑥=1𝑥=2 a ∗ 10 ^ (x − 1)

S2 = σ𝑦=1𝑦=2 b ∗ 10 ^ y

node_evaluation(node) = +S1 - S2

S1 = 1 * 10^0 = 1

S2 = 1 * 10^2 = 100

S1 – S2 = -99

S1 = 1 * 10^1 = 10

S2 = 1 * 10^1 = 10

S1 – S2 = 0

S1 = 1 * 10^1 = 10

S2 = 1 * 10^2 = 100

S1 – S2 = -90

Dubina 1 - Minimax

MAX

MIN

Page 50: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 2 – Rešenje

S1 = σ𝑥=1𝑥=2 a ∗ 10 ^ (x − 1)

S2 = σ𝑦=1𝑦=2 b ∗ 10 ^ y

node_evaluation(node) = +S2 – S1

S1 = 1 * 10^1 = 10

S2 = 0

S2 – S1 = -10

S1 = 1 * 10^1 = 10

S2 = 1 * 10^2 = 100

S2 – S1 = 90

S1 = 1 * 10^1 = 10

S2 = 1 * 10^2 = 100

S2 – S1 = 90

S1 = 1 * 10^1 = 10

S2 = 0

S2 – S1 = -10

Dubina 2 - Evaluacija MAX

MIN

MAX

Page 51: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 2 – Rešenje

Dubina 2 - Minimax

S1 = 1 * 10^1 = 10

S2 = 0

S2 – S1 = -10

S1 = 1 * 10^1 = 10

S2 = 1 * 10^2 = 100

S2 – S1 = 90

S1 = 1 * 10^1 = 10

S2 = 1 * 10^2 = 100

S2 – S1 = 90

S1 = 1 * 10^1 = 10

S2 = 0

S2 – S1 = -10

S1 = σ𝑥=1𝑥=2 a ∗ 10 ^ (x − 1)

S2 = σ𝑦=1𝑦=2 b ∗ 10 ^ y

node_evaluation(node) = +S2 – S1

MIN

MAX

MAX

Page 52: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Data je jedna pozicija u jednoj partiji igre iks-oks. Primenomminimax algoritma sa alfa-beta odsecanjem odrediti funkcijuprocene za svaki čvor, konačan ishod igre i sekvencu poteza kojaće biti odigrana do kraja ukoliko su oba igrača racionalna.Vrednost funkcije procene terminalne pozicije označiti sa +1ukoliko je pobednik X, -1 ukoliko je pobednik O i 0 ukoliko je ishodigre nerešen. Na potezu je igrač X. Naslednike čvora razvijatidodajući znakove na slobodna polja po kolonama.

Zadatak 3 – XO (Alfa-Beta odsecanje)

Page 53: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Ideja alfa-beta odsecanja je da unapredi i ubrza minimaxalgoritam tako što će odsecanjem određenih podstabalakompletnog stabla igre smanjiti broj čvorova za koje se vršievaluacija funkcije procene.

Za poziciju A i njene naslednike B i C, nakon evaluacije funkcijeprocene pozicije B, algoritam prestaje da evaluira funkcijuprocene za poziciju C ukoliko se u nekom trenutku evaluacijefunkcije procene za poziciju C pokaže da je ta pozicija i unajboljem slučaju gora od pozicije B. U tom slučaju je racionalanigrač nikad neće izabrati sa obzirom da mu je pozicija B bolja.

Algoritam vraća isti rezultat kao i običan minimax algoritam, aliodseca grane koje vode do pozicija koje ne utiču na konačnuodluku izbora najbolje pozicije.

Alfa-Beta odsecanje IDEJA

Page 54: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Algoritam održava dve vrednosti:

▪ alfa – predstavlja minimalnu vrednost koja je garantovanaigraču MAX. Igrač MAX, ako je racionalan, ne može odigratipotez koji mu donosi vrednost manju od alfa. Cilj igrača MAX jeda ostvari što veću vrednost za sebe.

• beta – predstavlja maksimalnu vrednost koja je garantovanaigraču MIN. Igrač MIN, ako je racionalan, ne može odigratipotez koji mu donosi vrednost veću od beta. Cilj igrača MIN jeda ostvari što manju vrednost za sebe.

MAX igrač ažurira vrednost alfa, dok MIN igrač ažurira vrednostbeta. Ukoliko u nekom trenutku za neku poziciju važi alfa >= beta,tada igrač na potezu ne treba da razmatra ostale nasledniketekuće pozicije, jer mu protivnik takve poteze neće dozvoliti.

Alfa-Beta odsecanje IDEJA

Page 55: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

def minimax_alpha_beta(node, player, alpha, beta):if is_terminal_node(node):

return node_evaluation(node)

if player == Player.MAX:score = -math.inffor succ in node.successors():

score = max(score, minimax(succ, Player.MIN, alpha, beta))alpha = max(alpha, score)if alpha >= beta : break

return scoreelse:

score = +math.inffor succ in node.successors():

score = min(score, minimax(succ, Player.MAX, alpha, beta))beta = min(beta, score)if alpha >= beta : break

return score

MINIMAX ALPHA-BETA ALGORITAM

Page 56: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Algoritam alfa-beta odsecanja može poboljšati minimax algoritamodsecanjem određenih podstabala stabla igre koje predstavljajunedostižne pozicije u igri za racionalne igrače.

Za stablo sa prosečnim faktorom grananja b i dubinom d minimaxalgoritam evaluira funkciju procene za b^d listova.

U najgorem slučaju alfa-beta poboljšanje radi evaluaciju istogbroja listova.

U najboljem slučaju alfa-beta poboljšanje radi evaluaciju b^(d/2)listova. U takvom slučaju potrebno je, kao i u najgorem, razmatratisve poteze prvog igrača (b poteza), ali za svaki potez prvog igračaneophodno je razmotriti samo 1 potez (i to najbolji) drugog igračaitd. To znači da se u najboljem slučaju za iste računarske resursepretraga može vršiti za 2 puta veću dubinu.

POBOLJŠANJE Alfa-Beta odsecanja

Page 57: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 58: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 59: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 60: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 61: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 62: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 63: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 64: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 65: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 66: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 67: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 68: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 69: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 70: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 71: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 72: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 73: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 74: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 75: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 76: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 77: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 78: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 3 – Rešenje

MAX

MAX

MIN

MIN

Page 79: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Dato je kompletno stablo igre sa naznačenim dobicima za prvogigrača. Primenom minimax algoritma sa alfa-beta odsecanjemodrediti funkciju procene za svaki čvor ukoliko su oba igračaracionalna. Da li je moguće na drugačiji način rasporediti poteze ustablu tako da broj odsecanja bude veći?

Zadatak za samostalnu vežbu – Alfa-Beta

Page 80: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak za samostalnu vežbu – Rešenje

(-∞, 5)

(7, ∞)

(-∞, 7)

(-∞, ∞) (7, ∞)

(6, ∞)

(5, 3)

(5, ∞)

(5, 6)

(5, ∞)

(7, 6)

(5, 6)

Page 81: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Dato je kompletno stablo igre sa naznačenim dobicima za prvogigrača. Primenom negamax algoritma odrediti funkciju procene zasvaki čvor, konačan ishod igre i sekvencu poteza koja će bitiodigrana do kraja ukoliko su oba igrača racionalna.

Zadatak 4 – Negamax

Page 82: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Ideja negamax algoritma je da pojednostavi implementacijuminimax algoritma tako što neće razdvajati obradu na delove kojese tiču MAX i delove koji se tiču MIN igrača.

Za razliku od minimax algoritma gde MAX igrač vrši maksimizacijudobitaka svih pozicija naslednika tekuće pozicije, a MIN igračminimizaciju, u negamax algoritmu oba igrača vrše maksimizacijudobitaka. Da bi to bilo moguće neophodno je negirati svevrednosti funkcije procene dobijene od svih pozicija naslednikatekuće pozicije. Ovo je izvodljivo zbog Zero-sum svojstva igre.

max(x, y) = - min(-x, -y)

NEGAMAX IDEJA

Page 83: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

def negamax(node, player):if is_terminal_node(node):

return node_evaluation(node) * (-1 if player == Player.MIN else 1)

if player == Player.MAX:score = -math.inffor succ in node.successors():

score = max(score, -negamax(succ, switch(player)))return scoreelse:

score = +math.inffor succ in node.successors():

score = min(score, minimax(succ, Player.MAX))return val

NEGAMAX ALGORITAM

Page 84: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 85: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

Page 86: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

-

Page 87: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

-

Page 88: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

Page 89: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

Page 90: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

Page 91: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 92: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

Page 93: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

Page 94: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 95: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 96: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 97: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 98: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

Page 99: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 100: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

Page 101: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

-

Page 102: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 103: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 104: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 105: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

Page 106: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 107: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

-

Page 108: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

Page 109: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

Page 110: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

Page 111: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

Page 112: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

Page 113: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 4 – Rešenje

Page 114: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Dato je kompletno stablo igre sa naznačenim dobicima za prvogigrača. Primenom negamax algoritma sa alfa-beta odsecanjemodrediti funkciju procene za svaki čvor, konačan ishod igre isekvencu poteza koja će biti odigrana do kraja ukoliko su obaigrača racionalna.

Zadatak 5 – Negamax (alfa beta)

Page 115: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

def negamax_alpha_beta(node, player, alpha, beta):if is_terminal_node(node):

return node_evaluation(node) * (-1 if player == Player.MIN else 1)if player == Player.MAX:score = -math.inffor succ in node.successors():

val = -negamax_alpha_beta(succ, switch(player), -beta, -alpha)score = max(score, val)alpha = max(alpha, score)if alpha >= beta : break

return scoreelse:

score = +math.inffor succ in node.successors():

score = min(score, minimax(succ, Player.MAX, alpha, beta))beta = min(beta, score)if alpha >= beta: break

return score

NEGAMAX ALPHA-BETA ALGORITAM

Page 116: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5– Rešenje

(-∞, +∞) -

Page 117: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-∞, +∞)

-

-

Page 118: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-∞, +∞)

(-∞, +∞)

-

-

-

Page 119: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-∞, +∞)

(-∞, +∞)

-

-

-

Page 120: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-∞, +∞)

(4, +∞)

-

-

Page 121: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-∞, +∞)

(4, +∞)

-

-

Page 122: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-∞, +∞)

(4, +∞)

-

-

Page 123: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞)

-

Page 124: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (-∞, 4)

-

-

Page 125: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (-∞, 4)

-

-

Page 126: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (5, 4) α>β

-

Page 127: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (5, 4)

-

Page 128: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (5, 4)

-

Page 129: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

Page 130: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4) -

Page 131: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(4, +∞)

-

-

Page 132: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(4, +∞)

-

-

Page 133: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(7, +∞)

-

Page 134: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(7, +∞)

-

Page 135: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(7, +∞)

-

Page 136: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞)

Page 137: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (4, 7) -

Page 138: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (4, 7) -

Page 139: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (4, 7)

Page 140: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (4, 7)

Page 141: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (4, 7)

Page 142: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)

(7, +∞) (4, 7)

α>β

Page 143: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)

(7, +∞) (4, 7)

nema dodatnih potezakoji bi se odsekli

Page 144: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)

(7, +∞) (4, 7)

Page 145: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 5 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)

(7, +∞) (4, 7)

Page 146: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Dato je kompletno stablo igre sa naznačenim dobicima za prvogigrača. Primenom negascout algoritma odrediti funkciju proceneza svaki čvor, konačan ishod igre i sekvencu poteza koja će bitiodigrana do kraja ukoliko su oba igrača racionalna.

Zadatak 6 – Negascout

Page 147: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Negascout predstavlja unapređenje algoritma alfa-beta odsecanja.Negascout algoritam sigurno neće razmatrati čvorove koje nerazmatra ni alfa-beta odsecanje, a može dodatno smanjiti brojčvorova koje bi inače algoritam alfa-beta odsecanja razmatrao.

Ideja negascout algoritma je da se u punom prozoru [alpha, beta]vrši evaluacija prve pozicije naslednika (za koju se tvrdi da jenajbolja) kako bi se ustanovile granice prozora, a zatim da sepotvrdi da su ostale pozicije gore od prve koristeći prozor nulteveličine [-alpha-1, -alpha]. Ukoliko se za neku poziciju utvrdi dapovećava vrednost alpha onda ta pozicija nije gora od prvepozicije i ta pozicija se mora ponovo evaluirati koristeći prozorpune veličine.

NEGASCOUT IDEJA

Page 148: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Performanse negascout algoritma veoma zavise od redosledarazmatranja pozicija naslednika tekuće pozicije. Ukoliko je prvapozicija naslednik koja se razmatra ujedno i najbolja od ostalihonda negascout vrši više odsecanja nego običan alfa-betaalgoritam. U tom slučaju su performanse bolje za 10-20%.

Određivanje najboljeg naslednika može se izvesti izborom dobreheuristike ili prethodnom običnom plitkom minimax pretragom.

Ukoliko se izbor pozicije naslednika tekuće pozicije, kao prvesledeće pozicije koja se razvija, vrši na slučajan način onda se ovajalgoritam sporije izvršava u odnosu na običan algoritam alfa-betaodsecanja. Iako i dalje neće razmatrati pozicije koje ne razmatra nialfa-beta odsecanje moraće da razmatra iste pozicije više puta.

NEGASCOUT IDEJA

Page 149: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

def negascout(node, player, alpha, beta):if is_terminal_node(node):

return node_evaluation(node) * (-1 if player == Player.MIN else 1)

score = -math.inffor succ in node.successors():

if succ is node.first_child():val = -negascout(succ, switch(player), -beta, -alpha)

else:val = -negascout(succ, switch(player), -alpha - 1, -alpha)if alpha < val < beta:

val = -negascout(succ, switch(player), -beta, -alpha)score = max(score, val)alpha = max(alpha, score)if alpha >= beta:

breakreturn score

NEGASCOUT ALGORITAM

Page 150: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞) -

Page 151: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-∞, +∞)

-

-

Page 152: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-∞, +∞)

(-∞, +∞)

-

-

-

Page 153: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-∞, +∞)

(-∞, +∞)

-

-

-

Page 154: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-∞, +∞)

(4, +∞)

-

-

Page 155: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-∞, +∞)

(4, +∞)

-

-

Page 156: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-∞, +∞)

(4, +∞)

-

-

Page 157: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞)

-

Page 158: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (3, 4)

-

-

Page 159: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (3, 4)

-

-

Page 160: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (5, 4) α>β

-

Page 161: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (5, 4)

-

Page 162: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(-∞, +∞)

(-4, +∞)

(4, +∞) (5, 4)

-

Page 163: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

Page 164: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-5, -4) -

Page 165: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (4, 5)

(-5, -4) -

-

Page 166: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (4, 5)

(-5, -4) -

-

Page 167: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (7, 5)

(-5, -4)

α>β

-

Page 168: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (7, 5)

(-5, -4) -

Page 169: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (7, 5)

(-5, -4)

Page 170: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (4, 5)(7, 5)

(-5, -4)

-

Page 171: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (4, 5)(7, 5)

(-5, -4)

-

Page 172: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (4, 5)(7, 5)

(-5, -4)

Page 173: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (4, 5)(7, 5)

(-5, -4)

Page 174: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (4, 5)(7, 5)

(-5, -4)

Page 175: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

α>β

(4, 5)(7, 5)

(-3, -4)

Page 176: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)nema dodatnih potezakoji bi se odsekli

(4, 5)(7, 5)

Page 177: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)

(4, 5)(7, 5)

Page 178: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)

(4, 5)(7, 5)

Page 179: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Šta bi se desilo ukoliko bismo izmenili vrednosti označenog delastabla u 5 i 6?

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)

(4, 5)(7, 5)

Page 180: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Deo stabla sa slike bi ostao isti.

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-5, -4)

(7, 5)

Page 181: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-5, -4)

(7, 5) ∞(4, 5) -

Page 182: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (7, 5)

(-5, -4)

(4, 5) ∞-

Page 183: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (7, 5)

(-5, -4)

(5, 5) α>=β

Page 184: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Da li smo potencijalno odbacili potez koji bi se na kraju odigrao?

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (7, 5)

(-5, -4)

(5, 5)

Page 185: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (7, 5)

(-5, -4)

(5, 5)

Page 186: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4) (7, 5)

(-5, -4)

(5, 5)

5>4 => levi sin nije bio najbolji potez=> ponavljamo pretragu desnog

sina sa punim prozorom

Page 187: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Na dalje algoritam ide sapunim prozorom.

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

Page 188: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Na dalje algoritam ide sa punim prozorom.

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4) ∞-

Page 189: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

∞(4, +∞)

∞-

-

Page 190: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(4, +∞) ∞

∞-

-

Page 191: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(7, +∞)

∞-

Page 192: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(7, +∞)

∞-

Page 193: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-∞, -4)

(7, +∞)

∞-

Page 194: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞)

Page 195: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) ∞(6, 7) -

Page 196: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (6, 7) ∞-

Page 197: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (6, 7)

Page 198: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (6, 7)

Page 199: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (6, 7)

Page 200: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-6, -4)

(7, +∞) (6, 7)

ponavljamo pretragusa punim prozoromiako nismo ništa sekli

-6 > -7

Page 201: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞)

Page 202: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) ∞(4, 7) -

Page 203: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) ∞-(4, 7)

Page 204: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (5, 7)

Page 205: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (5, 7)

Page 206: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-7, -4)

(7, +∞) (6, 7)

Page 207: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-6, -4)

(7, +∞) (6, 7)

Page 208: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(6, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-6, -4)

(7, +∞) (6, 7)

Page 209: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 6 – Rešenje

(6, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-6, -4)

(7, +∞) (6, 7)

Page 210: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Za samostalnu vežbu! Šta bi se desilo ukoliko bismo u originalnom primeruizmenili vrednost označenog dela stabla u 3?

Zadatak 6 – Rešenje

(4, +∞)

(-4, +∞)

(4, +∞) (5, 4)

(-3, -4)

(4, 5)(7, 5)

Page 211: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Šta ako ne znamo šta će biti rezultat neke akcije?

▪ Bacanje kockica▪ Bacanje novčića▪ Podela karata

Šta ako protivnik nije optimalan ili pravi greške?

Ne želimo da maksimizujemo najgori mogućislučaj, već prosečni (optimistički pogled)

Takve situacije modelovaćemo uvođenjemčvorova šanse u stablo igre (chance node)kao novi nivo stabla ili umesto min čvorova.

Očekivane vrednosti čvorova šanse dobijajuse množenjem funkcije procene njihovihnaslednika sa verovatnoćama takvih ishoda.

STOHASTIČKO OKRUŽENJE

Page 212: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

def expectimax(node, player):if is_terminal_node(node):

return node_evaluation(node)score = -math.inf if player == Player.MAX else (+math.inf if y == Player.MIN else 0)

if player == Player.MAX:for succ in node.successors():

score = max(score, expectimax(node, switch(player)))return score

elif player == Player.MIN:for succ in node.successors():

score = min(score, expectimax(node, switch(player)))return score

else:for succ in node.successors():

prob = probability(succ)score += prob * expectimax(node, switch(player))

return score

EXPECTIMAX ALGORITAM

Page 213: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

U opštem slučaju nije moguće primeniti algoritam alfa-betaodsecanja na expectimax pretragu, jer vrednost chance čvorova nepredstavlja maksimizaciju najgoreg mogućeg ishoda već težinskusumu svojih naslednika (ako svi naslednici nisu podjednakoverovatni).

EXPECTIMAX ALPHA-BETA PRUNING

Page 214: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Data je sledeća igra sa kockicom za dva igrača. Prvi igrač predviđa ishodbačene kockice. Na raspolaganju su mu sledeće odluke: pašće mali broj (1-4) i pašće veliki broj (5-6). Nakon prvog igrača, drugi igrač takođe učestvujeu predviđanju ishoda bačene kockice tako što bira odluku koju nije odabraoprvi igrač ili odustaje. Na slici je dat očekivani dobitak za prvog igrača za svemoguće odluke oba igrača. Nacrtati kompletno stablo igre, a zatimprimenom expectimax algoritma odrediti funkciju procene za svaki čvorukoliko su oba igrača racionalna.

Zadatak 7 – Expectimax

Igrač 1 M M M M V V V V

Igrač 2 V V O O M M O O

Kocka M V M V M V M V

dobitak 12 -3 3 0 -6 15 -3 6

Page 215: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak 7 – Rešenje

Igrač 1 M M M M V V V V

Igrač 2 V V O O M M O O

Kocka M V M V M V M V

dobitak 12 -3 3 0 -6 15 -3 6

Page 216: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Lord Tirion je osumnjičen za ubistvo svog sestrića (u isto vreme i kralja) Džofrija odstrane njegovog oca, Tajvina. Sudi mu se kroz duel borbu pa Tajvin i Tirion biraju svojeborce. Ukoliko Tirionov borac bude poražen Tirion će biti proglašen krivim, a usuprotnom će biti oslobođen. Tajvin ima važnija posla od izbora borca pa samo biraoblast iz koje će njegov borac biti. Nakon toga Tirion može samo izabrati borca koji nije izoblasti koju je izabrao Tajvin. Nakon Tirionovog izbora, Tajvin prepušta pisaru izborborca. Pisar je laik za borbe, te na uniformno slučajan način bira borca iz izabraneTajvinove oblasti. Pobeđuje borac koji je jači. Borci koji se mogu zvati su navedeni postrogo opadajućoj jačini (oblast iz koje dolazi je u zagradi): Planina (Vesteros), Oberin(Dorna), Dario (Esos), Bron (Vesteros), Džora (Esos). Nacrtati stablo igre, popuniti svevrednosti u njemu, označiti na kom se nivou stabla nalazi koja vrsta čvorova i obeležitigrane koje bi se odsekle Alfa-Beta odsecanjem. Uzeti da se čvorovi ekspanduju posledećem poretku oblasti: Vesteros, Dorna, Esos, odnosno boraca: Bron, Dario, Oberin,Planina, Džora.

Zadatak za samostalnu vežbu – Duel borba

Page 217: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

Zadatak za samostalnu vežbu – Rešenje

Page 218: Inteligentni sistemiri4es.etf.rs/materijali/vezbe/IS_Teorija_igara_sekvencijalne_igre.pdf · Dubina stabla –za svaki čvoroznačavabroj poteza koji dovodi do pozicije predstavljene

CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik.

PITANJA?http://ri4es.etf.rs/