150 likes | 384 Views
Umjetna inteligencija - 3. Igranje igara. Oblikovanje heurističkih funkcija. Student: Nino Antulov-Fantulin Mentor: Prof.dr.sc.Bojana Dalbelo Bašić. Sadržaj. Potencijal stanja igre Igra križić-kružić Oblikovanje heurističke funkcije Odabir poteza Igra dama. Potencijal čvora.
E N D
Umjetna inteligencija - 3. Igranje igara Oblikovanje heurističkih funkcija Student: Nino Antulov-Fantulin Mentor: Prof.dr.sc.Bojana Dalbelo Bašić
Sadržaj • Potencijal stanja igre • Igra križić-kružić • Oblikovanje heurističke funkcije • Odabir poteza • Igra dama
Potencijal čvora • Heuristička vrijednost ( potencijal )po definicijinekog čvora u stablu je veći ako je stanje igre reprezentirano tim čvorom povoljnije za igrača • Heuristička funkcija u odnosu na nekog igrača daje mjeru potencijala nekog čvora ili računa heurističku vrijednost nekog čvora • F(s)= w1 u1 + w2 u2 + w3 u3 + .... + wn un s – stanje igre – vektor [u1 , u2 , u3, ... , un] wi – težinski koeficijent (eng. weighting coefficient) – realni broj ui – svojstvo stanja (eng. feature)
Oblikovanje heurističke funkcije – igra križić-kružić • F1(s)= u2 – u1 ui -broj slobodnih linija za igrača i • Slobodna linija je svaka linija na kojoj igrač može ostvariti pobjedu SLIKA • F2(s)= w1 (u1,1 – u2,1 ) + w2 (u1,2 – u2,2 ) + + w3 (u1,3 – u2,3 ) Ui,j - broj slobodnih linija za igrača i , gdje je postavio j svojih simbola SLIKA • w1, w2 i w3 moraju biti rastuće vrijednosti • Eksperimentalno dokazano da w1 =1 i w2 =5 i w3 =30 su dovoljni da heuristička funkcija dobro aproksimira stanje igre
F1(s)=4-3= 1 Trenutačno stanje igre U1=4 U2=3 U1,1= 2 U2,1= 2 U1,2= 1 Također U2,2= U1,3 =U2,3=0 F2(s)=(2-2)+5(1-0)+30(0-0)= 5 Oblikovanje heurističke funkcije – igra križić-kružić
Odabir poteza ? • Pretraživanje čitavog prostora stanja kod igara sa većim stupnjem slobode – NEMOGUĆE • Eksponencijalan rast broja stanja s dubinom pretraživanja • Odluku donijeti na temelju MIN-MAX algoritma s podrezivanjem gdje procjenu čvorova listova donosi heuristička funkcija
Odabir poteza ? • Heuristička funkcija procjenjuje “trenutačno” stanje igre • MinMax algoritam procjenjuje neki potez na temelju “budućeg” stanja igre • Heurističke funkcije se mogu mijenjati kako igra napreduje
Oblikovanje heurističke funkcije – igra dama • Demonstracija ... • Oblik heurističke funkcije ... • Težinska suma figurica na ploči • Ocijena zaštićenosti pojedine figurice • Težinske parametre odrediti nekom optimizacijskom tehnikom npr. “Igra protiv sebe”
Oblikovanje heurističke funkcije – igra dama • Predloženi algoritmi optimizacije pretraživanja [1] • Alpha Beta podrezivanje • Iterative Deepening • Transpozicijska tablica • Quiescence pretraživanje • Evaluacijska funkcija – inkrementalno računanje • Predstavljanje ploče • Bitboards [2] – brze operacije pomoću XOR, OR, AND i NOT operatora. • Chinook [3] – Nepobjedivi program !
Checkers Is Solved • Jonathan Schaeffer,* Neil Burch, Yngvi Björnsson, Akihiro Kishimoto, Martin Müller, Robert Lake, Paul Lu, Steve Sutphen • The game of checkers has roughly 500 billion billion possible positions (5 x 1020). The task of solving the game, determining the final result in a game with no mistakes made by either player, is daunting. Since 1989, almost continuously, dozens of computers have been working on solving checkers, applying state-of-the-art artificial intelligence techniques to the proving process. This paper announces that checkers is now solved: Perfect play by both sides leads to a draw. This is the most challenging popular game to be solved to date, roughly one million times as complex as Connect Four. Artificial intelligence technology has been used to generate strong heuristic-based game-playing programs, such as Deep Blue for chess. Solving a game takes this to the next level by replacing the heuristics with perfection. [3] • Department of Computing Science, University of Alberta, Edmonton, Alberta T6G 2E8, Canada.
Reference • [1] http://www.3dkingdoms.com/checkers.htm#programming • [2] http://www.3dkingdoms.com/checkers/bitboards.htm • [3] http://webdocs.cs.ualberta.ca/~chinook/project/