430 likes | 641 Views
PATOLOGIJA MINIMAKSA. Mitja Luštrek in Matjaž Gams Institut Jožef Stefan. PREGLED. Predstavitev problema in dognanja predhodnikov Najine ugotovitve, če obravnavamo le poraze in zmage Ocenjevanje položajev z realnimi števili. MINIMAKS.
E N D
PATOLOGIJA MINIMAKSA Mitja Luštrek in Matjaž Gams Institut Jožef Stefan
PREGLED • Predstavitev problema in dognanja predhodnikov • Najine ugotovitve, če obravnavamo le poraze in zmage • Ocenjevanje položajev z realnimi števili
MINIMAKS • Osnovni mehanizem pri malone vseh programih za igranje iger • Drevo igre: • vozlišča – položaji • povezave – poteze
NEGAMAKS • Ocene vozlišč vedno z vidika igralca na potezi • poenostavitev pri programiranju • privzeto v prvih dveh delih predstavitve • Obravnavamo samo poraze in zmage
PRIČAKOVANO • Drevo je preveliko, da bi iskali do konca igre • Listi so ocenjeni hevristično, zato imajo njihove ocene napako • Preiskovanje do večje globine v praksi daje boljše rezultate • Pričakovati je, da bo pri uporabi minimaksa napaka v korenu manjša kot v listih
MATEMATIČNI MODEL • Drevo z enakomerno vejitvijo in globino • Listom se neodvisno z izbrano verjetnostjo pripišejo porazi ali zmage • V liste se z izbrano verjetnostjo uvede napaka • Cilj je ugotoviti napako v korenu • Pričakovati je, da bo manjša kot v listih
REZULTATI (1) • Izračunamo verjetnost izgubljenega položaja v plasti i: ki • Plasti oštevilčene od spodaj navzgor, vejitev b • ki = (1 – ki–1)b
REZULTATI (2) • Predpostavimo, da imajo zanimivi položaji imajo enako možnost zmage in poraza in da je torej v korenu verjetnost poraza 0,5 • Verjetnosti poraza konvergirajo: • od korena proti listom → točka c • od listov proti korenu → 0 oziroma 1
REZULTATI (3) • Določimo verjetnost poraza v korenu: 0,5 • Izračunamo verjetnost poraza v ostalih plasteh • Določimo verjetnost napake v listih: 0,1 • Izračunamo verjetnost napake v korenu • Pojavi se patologija
POIZKUSI RAZLAGE • Večanje zanesljivosti ocenjevalne funkcije z globino • Predčasni konci igre • Podobnost bližnjih vozlišč • Dokončnega odgovora ni
PREGLED • Predstavitev problema in dognanja predhodnikov • Najine ugotovitve, če obravnavamo le poraze in zmage • Ocenjevanje položajev z realnimi števili
NOVE PREDPOSTAVKE (1) • Če mora biti verjetnost poraza v korenu 0,5, je verjetnost poraza v listih blizu točke c – to je nevarno • Morda v resničnih igrah ni tako
NOVE PREDPOSTAVKE (2) • Najsplošneje se zdi, da pri izbrani vejitvi in globini izračunamo povprečno napako za vsa možna drevesa igre • Izkaže se, da lahko uporabimo znani postopek, verjetnost za poraz v listih pa mora biti 0,5
BOLJE NAPOVEDATI VEČINSKI IZID • Vejitev 2, globina 10, napaka v listih 0,1 • Delež porazov v korenu: 0,9805 • Napaka minimaksa: • skupna: 0,0328 • če minimaks ugotovi poraz: 0,0167 • če minimaks ugotovi zmago: 0,8410 • Napaka večinskega izida: • skupna: 0,0195
VEČINSKI IZID, STATIČNA OCENA • Vejitev 2, globina 10, napaka v listih 0,1 • Večinski izid oziroma statična ocena imata manjšo napako kot minimaks
NAPAKA MINIMAKSA • Vejitev povečana na 5 • Problematično območje minimaksa se malo zoži
NAPAKA VEČINSKEGA IZIDA • Vejitev povečana na 5 • Problematično območje večinskega izida se močno zoži
UPORABA ZA IGRANJE IGRE • Drevo igre razvijemo do globine d • Ugotovimo delež izgubljenih iger v listih k0 • Najdemo mejno točko c • k0 > c poraz • k0 < c zmaga • Najti c ni enostavno (čeprav najbrž izvedljivo) • Poizkus žal še ni opravljen
POSLEDICE • Če bi tako igrali bolje kot z minimaksom: • bi ugotovili, da najbrž minimaks res deluje slabo, vendar v realnih igrah večina dreves igre ne leži dovolj blizu kritične točke c • bi odkrili dober nov način za izdelavo programov za igranje iger • Ker pa se to najbrž ne bo zgodilo, bomo le izločili eno od možnosti in se bomo lahko posvetili drugim razlagam patologije
KAJ NAM OSTANE • Večanje zanesljivosti ocenjevalne funkcije z globino • Pokazano, da ne more biti glavni razlog za nepatološkost • Predčasni konci igre • Naši poizkusi kažejo, da jih mora biti preveč, da bi lahko bili glavni razlog za nepatološkost • Podobnost bližnjih vozlišč • Najverjetnejša možnost
PODOBNOST BLIŽNJIH VOZLIŠČ • Sinovi so eno potezo oddaljeni od očeta, zato bi mu morali biti podobni • Definicija sorodnosti • popolna podobnost: sorodnost 1 • povprečna podobnost v povsem naključnem drevesu: sorodnost 0 • skrajna različnost: sorodnost -1
ANALIZA JE TEŽAVNA • Želimo pregledati vsa drevesa igre ter pri tem spremljati napako v korenu in sorodnost • Število vseh dreves igre: • vejitev 2, globina 10: ~10308 • vejitev 2, globina 15: ~109864 • vejitev 5, globina 10: ~102939750
PROGRAM ZA ANALIZO (2) • Poleg napake lahko spremljamo dodatne parametre, ki nastopajo kot nove dimenzije tabele • Časovna zahtevnost: O ((b + 1) × (intervalovdimenzij)b) • Do globine 5 se dajo pregledati vsa drevesa • ~650.000 korakov / s • vejitev 2, globina 10, 2 dimenziji po 100 intervalov: < 1 ura • vejitev 2, globina 10, 2 dimenziji po 1000 intervalov : ~270 dni • vejitev 2, globina 10, 3 dimenzije po 100 intervalov : ~270 dni • vejitev 5, globina 10, 1 dimenzija s 100 intervali: ~5 dni
NAPAKA GLEDE NA SORODNOST (3) • Sorodnost izmerjena v šahovskem programu Crafty: 0,95 • Rezultat spodbuden, ampak precej nezanesljiv • Programi za igranje iger uporabljajo mnogo mehanizmov, ki pospešujejo preiskovanje in otežujejo tovrstne meritve
UGOTOVITVE • Večja sorodnost vsekakor pomeni manjšo napako • Ali je v realnih igrah sorodnost dovolj velika, ni zanesljivo • Nadaljnje delo: • preučiti skupen vpliv sorodnosti in deleža porazov v listih • ugotovitve temeljiteje preveriti v realnih igrah
PREGLED • Predstavitev problema in dognanja predhodnikov • Najine ugotovitve, če obravnavamo le poraze in zmage • Ocenjevanje položajev z realnimi števili
REALNA ŠTEVILA • Hevristične ocene listov so realna števila • Programi za igranje iger delajo tako • Problem interpretacije • pri nekaterih igrah to naravna predstavitev (tarok, othello) • pri nekaterih lahko pomeni verjetnost zmage glede na vedenje o igranju nasprotnika (šah, dama)
NAŠ MODEL • Statične ocene sinov okrog očeta porazdeljene normalno • Utemeljitev: stanja igre, ki so med seboj oddaljena za eno potezo, so si podobna in imajo podobno oceno • Standardna deviacija ocen: 1 • Ocena korena: 0 • Napaka porazdeljena normalno • Standardna deviacija napake: 0,2 • Patologije ni
PARAMETRI MODELA • Standardna deviacija ocen konstanta, ostalo se spreminja glede na njo • Standardna deviacija napake: pri majhni vpliv minimaksa majhen • Razlaga: če je napaka majhna, je njen vpliv z minimaksom ali brez majhen • Omejitev ocen: pri strogi omejitvi vpliv minimaksa majhen • Razlaga: stroga omejitev ocen prepreči, da bi bile res porazdeljene okrog očeta • Vejitev: pri večjih rezultati podobni • Vrsta porazdelitve: preizkušena enakomerna, rezultati podobni
ZAKAJ PATOLOGIJE NI (1) • Oceni kot normalno porazdeljeni slučajni spremenljivki • Razlika srednjih vrednosti: 1 • Standardna deviacija: 1 (za večjo nazornost)
ZAKAJ PATOLOGIJE NI (2) • Izračunamo maksimum • Krivulja ožja od krivulj posamičnih vrednosti, ker pomeni manjšo napako
ZAKAJ PATOLOGIJE NI (3) • Postopek ponavljamo
NAPAKA (GLOBINA) • Napaka korenu v odvisnosti od globine preiskovanja
ZAKAJ TO NE DELUJE VEDNO • Napaka se manjša, če je krivulja ožja • Napaka se veča, če sta si krivulji blizu • Naš model doseže, da so razdalje med sinovi vsakega vozlišča podobne • Če vrednosti v liste porazdelimo naključno, se proti korenu približujejo
NAPAKA (RAZLIKA) • Napaka po 1 plasti v odvisnosti od razlike srednjih vrednosti ocen
PREIZKUS V ŠAHU • Razmerje med statično oceno očeta in njegovih sinov preverjeno v šahovskem programu Crafty
UGOTOVITVE • Z našim modelom patologije ni • Razumemo, zakaj deluje • Dokaj gotovi smo, da je dovolj podoben realnim igram