Patologija preiskovanja v igri osmih ploščic - dis.ijs.si · univerza v ljubljani fakulteta za...
-
Upload
trinhduong -
Category
Documents
-
view
227 -
download
0
Transcript of Patologija preiskovanja v igri osmih ploščic - dis.ijs.si · univerza v ljubljani fakulteta za...
UNIVERZA V LJUBLJANI
FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO
Rok Piltaver
PATOLOGIJA PREISKOVANJA V IGRI
OSMIH PLOŠČIC
UNIVERZITETNA DIPLOMSKA NALOGA
Mentor: akad. prof. dr. Ivan Bratko
Ljubljana, 2007
Povzetek
Mnogo vsakdanjih problemov (kot je npr. igranje iger ali iskanje poti) lahko rešimo tako,
da jih predstavimo z grafom (običajno kar z drevesom) v katerem vozlišča predstavljajo stanja
problema, povezave med njimi pa možne prehode med stanji. Vozliščem in povezavam
priredimo cene, ki odražajo ugodnost nekega stanja ali prehoda med stanjema, nato pa v grafu
poiščemo najboljše ciljno vozlišče, ki ustreza določenemu pogoju, ali najcenejšo pot med
določenima vozliščema. Če je prostor stanj prevelik, da bi ga lahko v celoti preiskali, lahko
preiščemo le njegov del in se na podlagi takega preiskovanja odločimo za akcijo. Pri tem
prave vrednosti vozlišč ali povezav nadomestimo s hevrističnimi, ki jih pridobimo z uporabo
primerne hevristične funkcije. V praksi se pokaže, da globlje preiskovanje, pri katerem
pregledamo večji del prostora stanj, prinaša boljše rezultate od plitvejšega preiskovanja.
Teoretični modeli takšnega preiskovanja so pokazali, da včasih globlje preiskovanje prinaša
slabše rezultate kot plitvejše preiskovanje. Ta pojav so poimenovali patologija preiskovanja.
V pričujočem delu smo preverili vpliv treh dejavnikov na pojav patologije v igri osmih
ploščic, ki je postala standardni problem za preizkušanje algoritmov preiskovanja. Hevristično
funkcijo smo modelirali tako, da smo za hevristične vrednosti vzeli cene vozlišč in jih
pokvarili s šumom z Gaussovo porazdelitvijo. Pokazali smo, da izbira drugačne hevristične
funkcije bistveno ne vpliva na rezultate.
Najprej smo opazovali vpliv zrnatosti hevristične fnkcije, ki določa koliko različnih
vrednosti lahko določena hevristična funkcija zavzame. Ugotovili smo, da hevristične
funkcije z veliko zrnatostjo v igri osmih ploščic zavirajo pojav patologije. Ta rezultat naše
raziskave se ujema z rezultati ostalih raziskav, ki so analizirale vpliv zrnatosti hevristične
funkcije na patologijo preiskovanja v umetno generiranih drevesih.
Da bi preučili vpliv ostalih dveh opazovanih dejavnikov na pojav patologije preiskovanja
smo vpeljali različice igre osmih ploščic. Poleg običajnih premikov prazne ploščice
(vodoravno in navpično) smo dovolili še štiri diagonalne premike. Določeno različico igre
osmih ploščic določa izbira določenega števila dovoljenih smeri premika prazne ploščice. V
poskusih smo uporabljali le različice igre osmih ploščic, ki imajo 9!/2 ali 9! stanj, oziroma
rešljivih postavitev ploščic na igrani površini. Različice igre osmih ploščic so si med sabo
precej podobne, se pa razlikujejo v podobnosti bratskih vozlišč in faktorju vejitve, katerih
vpliv na patologijo preiskovanja smo opazovali.
Podobnost bratskih vozlišč v različicah igre osmih ploščic smo izmerili s pomočjo dveh
različnih metod. Podobnost smo merili s pomočjo korelacije in s pomočjo faktorja grozdenja.
V obeh primerih smo ugotovili, da je v igah z večjo podobnostjo bratskih vozlišč pojav
patologije preiskovanja redkejši, ne glede na to kakšna je zrnatost hevristične funkcije. Tudi ta
rezultat se sklada z rezultati teoretičnih raziskav.
Tretji dejavnik, ki naj bi vplival na patologijo preiskovanja je faktor vejitve v
preiskovanem drevesu. Vpliva tega dejavnika na patologijo preiskovanja v različicah igre
osmih ploščic nismo uspeli pokazati. Opazili smo, da večji faktor vejitve običajno povečuje
stopnjo patologije, vendar pa smo odkrili tudi nekaj iger s stopnjo vejitve b < 2, ki so imele
večjo stopnjo patologije od večine iger z večjim faktorjem vejitve. Rezultate raziskave vpliva
faktorja vejitve smo predstavili z več grafi, zaključka glede vpliva na pojav patologije
preiskovanja pa zaradi nasprotujočih si rezultatov nismo mogli narediti. Podali smo tudi
razlago, ki pojasni, zakaj vpliva faktorja vejitve na patologijo preiskovanja v različicah igre
osmih ploščic ni mogoče določiti.
V raziskavah smo ugotovili, da stopnja napake hevristične funkcije vpliva na patologijo
preiskovanja. Pri igranju igre osmih ploščic s hevrističnimi funkcijami z veliko zrnatostjo
velika stopnja hevristične napake povzroči več patologije, medtem ko pri hevrističnih
funkcijah z majhno zrnatostjo (<10) velika stopnja hevristične napake zavira patologijo.
Rezultat velja le za običajno igro osmih ploščic in hevristične funkcije, ki vozliščem pripišejo
vrednosti, ki so enake njihovim cenam pokvarjenim s šumom z Gaussovo porazdelitvijo. Na
ostalih problemih in za ostale hevristične funkcije tega rezultata nismo preverili, zato bi bilo
to smiselno narediti v nadaljnjih raziskavah.
Opisane rezultate smo pridobili z interpretacije grafov, na katere smo narisali podatke,
pridobljene s pomočjo računalniško izvedenih meritev in simulacij, potrdili smo jih tudi z
uporabo metod za odkrivanje znanja v podatkih, kot sta metodi asociacijskih pravil in
klasifikacijskih dreves.
Večino rezultatov, ki so opisani v pričujoči diplomski nalogi smo objavili tudi v referatu z
naslovom Pathology of 8-Puzzle, ki je bil objavljen v zborniku 10. mednarodne
multikonference Informacijska družba, Ljubljana, 2007.
Zahvala
Za mentorstvo se zahvaljujem akad. prof. dr. Ivanu Bratku. Zahvaljujem se tudi prof. dr.
Matjažu Gamsu, ki mi je predstavil problem patologije preiskovanja in mi omogočil
raziskovanje na tem področju pod okriljem Odseka za inteligentne sisteme Instituta »Jožef
Stefan«. Posebna zahvala gre dr. Mitji Luštreku, ki je s svojim znanjem s področja patologije
preiskovanja ter pripombami in predlogi močno vplival na uspešnost in kvaliteto mojega dela.
Še posebej se mu zahvaljujem, ker si je bil vedno pripravljen vzeti čas za moja vprašanja.
Za odpravljanje slovničnih napak, ki sem jih zagrešil v diplomski nalogi, je poskrbela
Bernardka Ravnikar, za kar se ji iskreno zahvaljujem.
Hvaležen sem tudi staršem Majdi in Jožetu Piltaverju, ki sta mi omogočila študij in me vsa
leta moralno in finančno podpirala ter me spodbujala tudi v zadnjih mesecih študija, ko sem
pisal pričujoče diplomske naloge.
Kazalo
1 Uvod ............................................................................................................................... 1
1.1 Igranje iger s pomočjo preiskovanja grafov v realnem času .................................. 1
1.1.1 Prostor stanj igre ............................................................................................ 1
1.1.2 Minimaks in njegova patologija ..................................................................... 2
1.1.3 Enoagentno preiskovanje in njegova patologija ............................................ 2
1.2 Pregled sorodnega dela .......................................................................................... 3
1.2.1 Patologija minimaksa ..................................................................................... 3
1.2.2 Patologija enoagentnega preiskovanja ........................................................... 3
1.2.3 Patologija preiskovanja v igri osmih ploščic ................................................. 3
1.3 Organizacija diplomske naloge .............................................................................. 4
2 Različice igre osmih ploščic in merjenje patologije ...................................................... 5
2.1 Igra osmih ploščic .................................................................................................. 5
2.2 Manhattanska razdalja ............................................................................................ 9
2.3 Različice igre osmih ploščic ................................................................................ 11
2.4 Hevristična funkcija ............................................................................................. 15
2.5 Mera za patologijo ............................................................................................... 17
3 Rezultati ....................................................................................................................... 21
3.1 Zrnatost hevristične funkcije ................................................................................ 21
3.2 Podobnost (odvisnost) bratskih vozlišč................................................................ 23
3.3 Faktor vejitve ....................................................................................................... 27
3.4 Hevristična funkcija ............................................................................................. 29
3.4.1 Vpliv hevristične napake na patologijo preiskovanja .................................. 29
3.4.2 Vpliv hevristične funkcije na patologijo preiskovanja ................................ 31
3.5 Interpretacija rezultatov s strojnim učenjem ........................................................ 33
4 Sklepne ugotovitve ....................................................................................................... 36
5 Angleško-slovenski slovar strokovnih izrazov ............................................................ 38
6 Literatura ...................................................................................................................... 39
7 Izjava o avtorstvu ......................................................................................................... 41
Kazalo slik
Slika 1. Primer igranja igre osmih ploščic .................................................................................. 5
Slika 2. Algoritem hash za izračun zgoščevalne funkcije .......................................................... 6
Slika 3. Število možnih premikov prazne ploščice glede na njen položaj ................................. 8
Slika 4. Primer za izračun hevristične funkcije na osnovi Manhattanske razdalje..................... 9
Slika 5. Primerjava iger s 3 dovoljenimi smermi premika prazne ploščice ............................. 12
Slika 6. Smeri premikov prazne ploščice; za vsako skupino iger je prikazan en primer. ........ 13
Slika 7. Algoritem za generiranje Gaussovega šuma ............................................................... 16
Slika 8. Primer izračuna wrong1 (m) ........................................................................................ 18
Slika 9. Primer izračuna wrongd (m) ........................................................................................ 18
Slika 10. Odločitveno drevo, ki napoveduje stopnjo patologije za različice igre osmih ploščic
pri različnih zrnatostih hevristične funkcije. .................................................................... 34
Kazalo grafov
Graf 1. Število postavitev z določeno minimalno oddaljenostjo od rešitve .......................... 7
Graf 2. Število možnih potez odvisno od oddaljenosti od rešitve ......................................... 8
Graf 3. Odstotek postavitev, v katerih so vse možne poteze optimalne, v odvisnosti od
minimalne oddaljenosti postavitve od rešitve ............................................................................ 9
Graf 4. Odvisnost Manhattanske razdalje (manh(n)) od cene vozlišča h*(n) ..................... 10
Graf 5. Standardni odklon Manhattanske hevristike v odvisnosti od h* (n) ....................... 11
Graf 6. Število postavitev v odvisnosti od oddaljenosti do rešitve za igre z različnim
številom premikov prazne ploščice .......................................................................................... 13
Graf 7. Delež pravilnih odločitev v odvisnosti od globine preiskovanja za skupine iger z
isto optimalno oddaljenostjo od rešitve ................................................................................... 20
Graf 8. Odvisnost patologije (pat 5/1) od zrnatosti hevristične funkcije za izbrane različice
igre osmih ploščic .................................................................................................................... 22
Graf 9. Odvisnost deleža pravilnih odločitev od globine preiskovanja za različne zrnatosti
hevristične funkcije .................................................................................................................. 23
Graf 10. Patologija različic igre osmih ploščic v odvisnosti od podobnosti bratskih vozlišč
(merjeno na osnovi korelacije) za hevristične funkcije z zrnatostmi 5, 17 in 2048. Tanke črte
predstavljajo trende. ................................................................................................................. 25
Graf 11. Patologija različic igre osmih ploščic s faktorjem vejitve b = 2,88 v odvisnosti od
podobnosti bratskih vozlišč (merjeno na osnovi korelacije) za hevristične funkcije z zrnatostjo
5, 17 in 2048. Tanke črte predstavljajo trende. ........................................................................ 26
Graf 12. Patologija različic igre osmih ploščic v odvisnosti od podobnosti bratskih vozlišč
(merjeno s faktorjem grozdenja) za hevristične funkcije z zrnatostmi 5, 17 in 2048. Tanke
črte predstavljajo trende. .......................................................................................................... 27
Graf 13. Patologija preiskovanja v različicah igre osmih ploščic v odvisnosti od faktorja
vejitve ....................................................................................................................................... 28
Graf 14. Patologija preiskovanja, povprečena po različicah igre osmih ploščic z enakim
faktorjem vejitve, v odvisnosti od faktorja vejitve .................................................................. 28
Graf 15. Odvisnost patologije preiskovanja od zrnatosti hevristične funkcije ob uporabi
različne stopnje hevristične napake (σ {2, 2,5, 3}) .............................................................. 30
Graf 16. Patologija preiskovanja v običajni igri osmih ploščic v odvisnosti od zrnatosti
hevristične funkcije za optimistično, običajno in pesimistično hevristično funkcijo .............. 31
Graf 17. Odvisnost patologije preiskovanja od zrnatosti hevristične funkcije za hevristične
funkcije z enakomerno porazdelitvijo hevristične napake ....................................................... 32
Patologija preiskovanja v igri osmih ploščic
1
1 Uvod
1.1 Igranje iger s pomočjo preiskovanja grafov v realnem času
Igranje iger je eno izmed najstarejših področji umetne inteligence. Računalniški programi
so danes sposobni igrati igre, kot so šah, dama in backgammon, tako dobro kot najboljši
človeški igralci na svetu. To jim uspe predvsem s pomočjo primernih algoritmov in hevristik,
ki jim omogočijo relativno hitro izbiranje primernih (pogosto optimalnih) potez. Običajno je,
da so takšni programi uspešnejši, če jim dovolimo pregledati razvoj igre za več potez vnaprej.
Kadar pa se zgodi, da jih pregled za več potez vnaprej zavede, in zato igrajo slabše, kot če bi
pregledali razvoj igre za manj potez (in tako porabili tudi manj procesorskega časa), pravimo,
da se je zgodila patologija preiskovanja. Na Institutu »Jožef Stefan« so pred kratkim razvili
teoretični model, ki opisuje razmere, ki spodbujajo oziroma zavirajo pojav patologije
preiskovanja, naloga tega diplomskega dela pa je preveriti veljavnost omenjenega modela na
primeru igre osmih ploščic.
1.1.1 Prostor stanj igre
Program dani problem (npr. igro) obravnava kot prostor stanj, ki je predstavljen z
usmerjenim grafom (pogosto kar z drevesom). Vozlišča v takem grafu predstavljajo stanja v
igri, na primer postavitev figur na šahovski plošči, medtem ko povezava med vozliščema
pomeni, da obstaja poteza, ki omogoči prehod iz prvega stanja (postavitve) v drugo. Tak graf
stanj je lahko eksplicitno podan ali pa so podana le pravila za generiranje naslednikov vozlišč
v takem grafu, ki ustrezajo pravilom igre. Obstajata dve posebni vrsti stanj, to so začetna in
končna stanja. Začetna stanja so tista, v katerih lahko pričnemo igro oziroma pogosteje le eno
stanje, za katerega želimo določiti čim boljšo potezo. Končna stanja so cilji prostora stanj ali
stanja, v katerih je igra dobljena ali izgubljena.
Programi si enako kot igre predstavijo tudi nekatere druge probleme, ki jih lahko
predstavimo s prostorom stanj. Kot primer naj navedemo iskanje poti po zemljevidu. Tu
vozlišča predstavljajo kraje, povezave pa poti med njimi. Tako lahko povezavam pripišemo
vrednosti, ki predstavljajo razdaljo, čas ali ceno potovanja med krajema. V igrah z enim
igralcem, katerih cilj je običajno v čim manj potezah rešiti igro, kot je na primer reševanje
Rubikove kocke, vsem povezavam pripišemo vrednost 1, saj vsaka predstavlja eno potezo.
Vsakemu vozlišču v prostoru stanj lahko prav tako pripišemo določeno vrednost, ki
pomeni ugodnost pozicije oziroma težavnost reševanja le-te. Pozicijam, ki so za nas dobljene,
lahko na primer pripišemo vrednost 1, tistim, ki so izgubljene, pa vrednost 0. Te vrednosti
niso nujno dvojiške, lahko so tudi celoštevilske ali realne.
Da bi program rešil problem, ki je predstavljen s prostorom stanj, mora poiskati najboljše
končno stanje ali pa najboljšo (najhitrejšo, najkrajšo, najcenejšo) pot do nekega končnega
stanja. Prostori stanj zaradi kombinatorične eksplozije pogosto postanejo preveliki, da bi jih
na današnjih računalnikih lahko v celoti preiskali, zato običajno preiščemo le del takega
prostora. Tu pa se pojavi težava, saj je večini stanj težko pripisati ceno, ker običajno poznamo
le cene končnih stanj. Ta problem rešimo s pomočjo hevristik, ki stanjem, katerih cene ne
poznamo, pripišejo približno vrednost. Tako lahko s pregledovanjem dela prostora stanj
pridemo do delnih rešitev, na primer izberemo naslednjo potezo ali pot, ki nas pripelje bližje
cilju. Take delne rešitve nato sestavimo v končno rešitev problema. Probleme, ki jih rešujemo
z opisanimi hevrističnimi preiskovalnimi algoritmi, delimo na igre z dvema igralcema in
tiste, ki jih rešujemo z enoagentnim preiskovanjem (angl. single-agent search).
Patologija preiskovanja v igri osmih ploščic
2
1.1.2 Minimaks in njegova patologija
V večini iger z dvema igralcema lahko uporabljamo postopek minimaks, ki si ga je za
izbiro poteze pri šahu izmislil John von Neumann [18]. Najlaže ga opišemo s pomočjo
drevesa igre, v katerem vozlišča ponazarjajo položaje v igri, povezave pa poteze. Koren
ustreza trenutnemu položaju, povezave, ki vodijo v njegove sinove, pa potezam, med katerimi
izbiramo. V listih drevesa so vrednosti, ki ustrezajo rezultatom v končnih položajih. Ker
prostor stanj predstavimo z drevesom, se lahko nekateri položaji v drevesu pojavijo večkrat.
Da bi v trenutnem položaju izbrali najboljšo potezo, moramo ovrednotiti vozlišča na nivoju 1
(sinovi začetnega stanja). Vrednosti, ki jim jih pripišemo, imenujemo povratne (angl.
backed-up) in jih iz vrednosti listov dobimo z algoritmom minimaks. To pomeni, da
vozliščem na nivojih, kjer smo na potezi mi, priredimo maksimum vrednosti sinov, saj v takih
vozliščih vedno naredimo potezo, ki vodi v za nas najugodnejši položaj. Vozliščem na
nivojih, kjer je na potezi nasprotnik, pa priredimo minimum vrednosti sinov, saj nasprotnik
vleče poteze, ki so za nas slabe.
Če bi lahko preiskali celo drevo igre, bi z algoritmom minimaks vedno lahko izbrali
potezo, ki bi nas pripeljala do najboljšega možnega rezultata. Ker pa so drevesa igre navadno
prevelika, si moramo pomagati s hevristikami. Drevo torej razvijemo do izbrane globine in
položaje tam ocenimo s hevristično ocenjevalno funkcijo. Hevristične ocene navadno niso
povsem pravilne, praksa pa kaže, da programi za igranje iger igrajo bolje, kadar položaje
hevristično ocenijo globlje. Iz praktičnih opažanj bi bilo moč sklepati, da minimaks napako
hevrističnih ocen zmanjša in da so torej povratne hevristične vrednosti zanesljivejše od
statičnih. Zgodnji poizkusi formalne razlage koristnosti preiskovanja z minimaksom, ki so
opisani v [1] in [17], so pripeljali do presenetljivega odkritja, da se zgodi prav nasprotno: da
minimaks napako hevrističnih ocen poveča. Ta pojav je bil imenovan patologija minimaksa
(angl. minimax pathology).
1.1.3 Enoagentno preiskovanje in njegova patologija
Problemi, ki jih rešujemo z enoagentnim preiskovanjem, so na primer že opisano iskanje
najkrajše, najhitrejše ali najcenejše poti po zemljevidu in igranje iger z enim igralcem, kot je
na primer reševanje Rubikove kocke. Listom drevesa so prirejene vrednosti, ki označujejo
kakovost rešitve. Te vrednosti proti korenu prenašamo z miniminom, povratne vrednosti torej
določimo kot minimum vrednosti listov poddrevesa tega vozlišča. Namesto minimuma bi
lahko uporabljali tudi maksimum, vendar je to manj običajno. Najbolj znan algoritem za
enoagentno preiskovanje je A* [9]. Spada med polne (angl. complete) preiskovalne algoritme,
ki delujejo po metodi najprej najboljši (angl best-first). To pomeni, da preiskovalno drevo
preiskuje, dokler ne najde cele poti do končnega stanja in da najprej razvije stanja z najboljšo
hevristično oceno. Če uporablja popolno (angl. admissible) hevristično ocenjevalno funkcijo,
je prva najdena rešitev tudi optimalna. Zaradi polnosti pri A* patologija ni mogoča, saj o
različnih globinah preiskovanja niti ne moremo govoriti.
Zaradi velikosti enoagentnih preiskovalnih dreves pogosto pregledamo le del takega
drevesa, vozlišča pa hevristično ocenimo. Oceno cene vozlišča x s pomočjo hevristične
funkcije zapišemo kot f (x) = g (x) + h (x), pri čemer je g (x) cena poti od začetnega stanja do
x, h (x) pa hevristična ocena cene poti od x do končnega stanja. Funkcijo f (x) imenujemo
cenilka, vrednosti, ki jih vrača h (x), pa hevristične vrednosti. V primerih, ko je preiskovalno
drevo preveliko, da bi rešitev dovolj hitro našli s polnim algoritmom, uporabimo delni (angl.
incomplete) algoritem ali algoritem s takojšnjim odzivom (angl. real-time). Najbolj znan tak
algoritem je LRTA* (learning real-time A*) [13]. Tovrstni algoritmi drevo preiščejo do
izbrane globine, vozlišča tam hevristično ocenijo, ocene prenesejo na nivo 1 in na njihovi
podlagi naredijo potezo – enako kot navadno dela minimaks. Postopek ponavljajo, dokler ne
Patologija preiskovanja v igri osmih ploščic
3
dosežejo končnega stanja. Najdena rešitev ni nujno optimalna, jo pa delni algoritmi pogosto
najdejo hitreje kot polni, poleg tega pa omejena globina preiskovanja lahko zagotovi, da je
vsaka poteza narejena v predpisanem času. Bulitko [5] je pri takšnih algoritmih ločil tri vrste
patologije:
1. Pri večji globini preiskovanja najdemo slabše rešitve.
2. Pri večji globini preiskovanja pregledamo manj vozlišč.
3. Pri večji globini preiskovanja pogosteje izberemo neoptimalno potezo.
V nadaljevanju dela se bomo ukvarjali predvsem s tretjo vrsto patologije.
1.2 Pregled sorodnega dela
V sledečih razdelkih 1.2.1 do 1.2.3 bomo predstavili rezultate raziskav na področju
patologije minimaksa in enoagentnega preiskovanja ter še posebej patologije igre osmih
ploščic.
1.2.1 Patologija minimaksa
Patologijo minimaksa sta neodvisno odkrila Dana S. Nau leta 1979 [17] in Donald F. Beal
leta 1980 [1]. Po odkritju so tudi drugi avtorji objavili številne raziskave o patologiji
minimaksa. Podroben povzetek omenjenih raziskav je podan v [15]. V nadaljevanju dela se
bomo opirali predvsem na metode, ki so bile uporabljene v omenjenem delu, naše rezultate
glede patologije preiskovanja v igri osmih ploščic pa bomo primerjali z modelom patologije,
ki je prav tako opisan v [15]. Za to smo se odločili, ker gre za najbolj splošen in najnovejši
model patologije, ki pa še ni bil preizkušen na realnih problemih. Omenjeni model patologije
opisuje vpliv dveh lastnosti preiskovanega drevesa in ene lastnosti hevristične funkcije na
patologijo preiskovanja. Več o tem bomo povedali v razdelkih 3.1 do 3.3, za tem ko bomo
vpeljali vse pojme, ki so potrebni za razumevanje omenjenega modela.
1.2.2 Patologija enoagentnega preiskovanja
Patologijo enoagentnega preiskovanja so odkrili Bulitko idr. [6] šele leta 2003, zato je
precej slabše raziskana od patologije minimaksa. Razlogi za pojav patologije v enoagentnem
preiskovanju so opisani v [16], kjer jih avtor glede na izvor razdeli v dve skupini. Tako sta
lahko vzroka za patologijo:
1. sama narava problema, na katero ne moremo vplivati;
2. izbira hevristične ocenjevalne funkcije, na katero pa lahko vplivamo.
Prva lastnost problema, ki povečuje verjetnost za pojav patologije, je ta, da so nasledniki
prvonivojskega vozlišča z najmanjšo ceno drug od drugega oddaljeni bolj (glede na ceno) kot
nasledniki ostalih prvonivojskih vozlišč. Druga lastnost pa je ta, da je razlika med cenami
prvonivojskih vozlišč preiskovalnega drevesa glede na vrednost teh vozlišč majhna.
Glede izbire hevristične funkcije avtor omenjenega dela predlaga, da je potrebno izbrati
monotono nepadajočo hevristično ocenjevalno funkcijo, če želimo, da bo globlje preiskovanje
zares koristno. Če je ocenjevalna funkcija nepadajoča, je koristno, da je poleg tega
optimistična, sicer pa optimističnost nima znatnega vpliva.
1.2.3 Patologija preiskovanja v igri osmih ploščic
Patologijo v igri osmih ploščic je tako kot patologijo enoagentnega preiskovanja odkril
Bulitko [5]. V omenjenem delu je pokazal, da v igri osmih ploščic pride do vseh treh vrst
patologije (glej razdelek 1.1.3), kljub temu da je za reševanje problema uporabljal hevristične
funkcije, ki jih je pridobil z uporabo odločitvenega drevesa, umetne nevronske mreže, metode
Patologija preiskovanja v igri osmih ploščic
4
k najbližjih sosedov in optimistične hevristične funkcije z enakomerno porazdelitvijo napake.
Ugotovil je tudi, da je mogoče učinkovitost enoagentnih preiskovalnih algoritmov bistveno
izboljšati s pomočjo dinamičnega določanja globine preiskovanja (angl. depth of lookahead).
Poleg njega sta isti pojav opazila tudi Sadikov in Bratko, ter ga opisala v [25], kjer sta
ugotovila, da so v določenih primerih (tudi v igri osmih ploščic) pesimistične hevristične
funkcije učinkovitejše od optimističnih.
V tem delu bomo za igro osmih ploščic in njene različice preverili veljavnost modela
patologije, ki je opisan v [15] ter z metodami strojnega učenja izluščili vpliv dejavnikov, ki
povzoročajo ali zavirajo pojav patologije preiskovanja v omenjenih igrah.
1.3 Organizacija diplomske naloge
V uvodu smo opisali metode enoagentnega preiskovanja in preiskovanja z minimaksom ter
problem patologije preiskovanja. V drugem delu smo predstavili prostor stanj igre osmih
ploščic (2.1) in lastnosti Manhattanske hevristične funkcije (2.2), ki se običajno uporablja za
igranje te igre. Drugi del vsebuje še predstavitev različic igre osmih ploščic (2.3) ter
hevristične funkcije (2.4) in mere za patologijo preiskovanja (2.5), ki smo ju uporabljali v
poskusih. V razdelku 3 smo predstavili rezultate opravljenih poskusov. V razdelku 3.1 smo
predstavili vpliv zrnatosti na patologijo preiskovanja v različicah igre osmih ploščic. V
razdelku 3.2 smo opisali vpliv podobnosti bratskih vozlišč na patologijo preiskovanja, v
razdelku 3.3 pa rezultate, ki govorijo o povezavi med faktorjem vejitve in patologijo
preiksovanja v različicah igre osmih ploščic. Razdelek 3.4 smo posvetili vplivu izbire
hevristične funkcije na patologijo preiskovanja v običajni igri osmih ploščic. V razdelku 3.5
smo predstavili razlago zbranih podatkov, ki temelji na metodah strojnega učenja. V razdelku
4 smo zbrali sklepne ugotovitve.
Patologija preiskovanja v igri osmih ploščic
5
2 Različice igre osmih ploščic in merjenje patologije
2.1 Igra osmih ploščic
Igra osmih ploščic je preprosta igra, ki se igra na plošči velikosti 3 x 3. 8 polj je zasedenih
s ploščicami, na katerih so številke od 1 do 8 ali koščki slike, eno polje pa je prazno. Tako
lahko eno izmed sosednjih ploščic (ki so nad, pod, levo ali desno od praznega polja)
potisnemo na mesto praznega polja. V začetku igre so ploščice pomešane, cilj igre pa je v čim
manjšem številu potez urediti ploščice v predpisan vrstni red (sestaviti sliko). Primer igranja
igre je prikazan na sliki 1.
2 3 1 2 3 1 2 3 1 2 3 1 2 3
1 4 6 4 6 4 6 4 5 6 4 5 6
7 5 8 7 5 8 7 5 8 7 8 7 8
a) b) c) č) d)
Slika 1. Primer igranja igre osmih ploščic
Poleg igre osmih ploščic obstajajo podobne igre z n2 – 1 ploščicami, ki se igrajo na polju
velikosti n x n. Obstajajo tudi igre, ki se igrajo na pravokotni in ne kvadratni plošči, na primer
2 x 3 ali 3 x 4 ipd. Dokazano je, da je za večji n enostavno najti suboptimalno rešitev, medtem
ko je iskanje najkrajše rešitve NP-težko (angl. NP-hard) [21].
Igra n2 – 1 ploščic je postala standardni problem za preizkušanje metod enoagentnega
preiskovanja [13], [20]. Primerna je zato, ker ni znanega algoritma, ki bi učinkovito našel
najkrajšo rešitev, ker je preiskovalno drevo lahko podati z nekaj enostavnimi pravili in ker je
igra primeren predstavnik družine problemov, katerih cilj je poiskati čim krajšo pot med
dvema določenima vozliščema v preiskovanem grafu [22]. Igra osmih ploščic je še posebej
zanimiva zaradi primerne velikosti prostora stanj. Ima namreč 9!/2 = 181440 rešljivih
začetnih stanj oziroma postavitev ploščic na igralni površini (od tu naprej bomo v tem
pomenu uporabljali skrajšan izraz postavitev) in zahteva največ 31 potez za rešitev najtežje
možne začetne postavitve. Zato je možno igro v celoti rešiti (pri večjih n to ni možno [20]),
kar pomeni, da je za vsako začetno postavitev na današnjih (2007) osebnih računalnikih
možno določiti najboljšo možno potezo v relativno kratkem času. Igra je kljub temu dovolj
zahtevna, da je zanimiva, za raziskavo pa smo jo izbrali tudi zato, ker je bila patologija v njej
že večkrat opažena [5], [25].
Najprej smo se lotili reševanja igre. Za izračun minimalnega števila potez, ki jih moramo
narediti, da bi rešili vsako začetno postavitev, smo uporabili postopek, imenovan retrogradna
analiza, ki je znan iz področja računalniškega igranja šaha in se uporablja za gradnjo
podatkovne baze šahovskih končnic [26]. Namesto da bi za vsako začetno postavitev posebej
iskali najkrajšo rešitev, smo se problema lotili z druge strani. Začeli smo s končno
postavitvijo in iz nje začeli graditi drevo. V vsakem koraku smo za vsak list drevesa naredili
vse možne poteze in tako dobili nove postavitve, za katere smo preverili, ali se že nahajajo kje
višje v drevesu. Če so se višje v drevesu že pojavile, smo jih izločili, ker smo do njih očitno
nekoč že prišli in to z manjšim številom potez. Če smo postavitev srečali prvič, pa smo si v
posebno tabelo v določeno vrstico zabeležili dva podatka. Prvi podatek je globina, na kateri
smo postavitev našli; pove nam, koliko potez v najboljšem primeru potrebujemo za rešitev.
Drugi podatek je poteza, s katero smo iz starša v drevesu prišli v opazovano (novo)
postavitev. Če ob reševanju določene postavitve naredimo ravno obratno potezo, kot je
Patologija preiskovanja v igri osmih ploščic
6
zapisana v tabeli, pridemo do postavitve, ki je korak bližje rešitvi. Ta poteza je optimalna
oziroma je ena izmed optimalnih potez, kadar obstaja več takih potez.
Najprej smo opisane podatke beležili v seznamu, kar pa se je zaradi dolžine seznama in
pogostega iskanja po njem izkazalo za neučinkovito. Seznam smo zato nadomestili s tabelo,
ki nam je omogočala neposreden dostop do podatkov o določeni postavitvi. Poleg tabele smo
sočasno zgradili še sezname postavitev, na katere smo uvrstili postavitve, ki so za isto število
potez oddaljene od rešitve (tako smo dobili 31 seznamov postavitev). Preslikavo iz postavitve
v indeks v tabeli smo realizirali z algoritmom, prikazanim na sliki 2.
int hash()
{ int hash = 0;
int i, j, inverzij; //indeksa na plošči, št. inverzij
for (int n = 1; n < 9; n++)
{
i=0;
j=0;
inverzij = 0;
while (polje[i][j]!=n)
{
if (polje[i][j] < n) inverzij++;
j++;
if (j > 2) {j = 0; i++;}
if (i > 2) break;
}
hash=hash+factoriela(n)*inverzij;
}
return (hash);
}
Slika 2. Algoritem hash za izračun zgoščevalne funkcije
Algoritem obravnava postavitev ploščic s številkami od 1 do 8 (0 za prazno ploščico) na
igralnem polju kot permutacijo števil od 0 do 8. Igralno ploščo, predstavljeno z
dvodimenzionalno tabelo, razvijemo v vektor, ki predstavlja permutacijo ploščic. Nato
preštejemo število inverzij vsake ploščice z določeno številko n. Kot inverzijo obravnavamo
pojavitev manjšega števila levo od opazovanega števila n v permutaciji. Števila inverzij
obtežimo z n!, seštevek obteženih števil premutacij pa nam da indeks v tabelo. Opisani
algoritem preslika vse možne permutacije v cela števila od 0 do 9! – 1 tako, da vsaki
permutaciji ustreza natanko eno število.
Število inverzij lahko uporabimo tudi za hitro ugotavljanje rešljivosti določene postavitve,
le da tu prazne ploščice ne upoštevamo (imamo permutacijo 8 števil in ne 9) in števila inverzij
ne obtežimo z n!. Rešljivih je le polovica od vseh možnih postavitev, in sicer ravno postavitve
s sodim številom inverzij. Do tega pride zato, ker premik prazne ploščice (oziroma premik
neke druge ploščice na prazno mesto) vedno povzroči spremembo števila inverzij za sodo
število. Če prazno ploščico premaknemo levo ali desno, se število inverzij ne spremeni, ker
prazna ploščica ne šteje kot element permutacije. Če pa prazno ploščico premaknemo gor ali
dol, se to v permutaciji odrazi tako, da prestavljena številka, ki je zamenjala mesto s prazno
ploščico, v permutaciji skoči za dve mesti naprej ali nazaj in tako povzroči spremembo števila
inverzij pri sodem številu ploščic za ± 1, kar je vedno sodo število [23].
Ko smo igro rešili, smo izračunali še nekaj statističnih podatkov o prostoru stanj. Ugotovili
smo, da nas vsaka poteza vedno pripelje v postavitev, ki je za eno potezo dlje ali bližje rešitvi.
Patologija preiskovanja v igri osmih ploščic
7
Z drugimi besedami, ni možno narediti poteze, ki bi ohranila minimalno število potez do
rešitve igre. Zato je razlika med cenami postavitev (vozlišč v preiskovanem drevesu) na
prvem nivoju vedno enaka 2 ali 0, v primeru ko so vse poteze optimalne. V primerjavi s
cenami teh vozlišč, ki imajo povprečno vrednost približno 22, je ta razlika majhna, tako
vidimo, da je v igri osmih ploščic izpolnjena druga lastnost reševanega problema (glej
razdelek 1.2.2), ki povzroča patologijo. Če pogledamo drevo globine d s korenom v m,
vidimo, da so cene postavitev v listih enake h* (m) + Δ, kjer je ),...2(, dd . Če na
primer pogledamo višine 5, vidimo da imajo postavitve v listih drevesa, cene enake
h* (m) ± 5, h* (m) ± 3, h* (m) ± 1. V delu drevesa, v katerem smo na prvem nivoju izbrali
optimalno potezo, listi ne morejo imeti le cene h* (m) + 5. V drugem delu drevesa, kjer pa
smo na prvem nivoju izbrali napačno potezo, listi ne morejo imeti cene h* (m) – 5. Podobno
velja tudi za drevesa z drugačno višino, vsem pa je skupno, da so listi poddrevesa s korenom
v prvonivojskem vozlišču z najmanjšo ceno (pravilna prva poteza) drug od drugega oddaljeni
enako kot listi v poddrevesih s koreni v preostalih prvonivojskih vozliščih (napačna prva
poteza). Vidimo, da prva lastnost, ki povzroča patologijo (glej razdelek 1.2.2), v igri osmih
ploščic ni prisotna. Do enakega rezultata pridemo tudi, če primerjamo standardni odklon cen
namesto minimalne in maksimalne cene.
Na grafu 1 smo pokazali, koliko je postavitev za vsako možno minimalno oddaljenost od
rešitve. Vidimo, da graf narašča do minimalne oddaljenosti od rešitve 24, potem pa hitro
pade. Kot že opisano, sta najtežji možni postavitvi od rešitve oddaljeni za 31 potez. Pri
majhnih oddaljenostih od rešitve na grafu težko vidimo, koliko postavitev s to lastnostjo
obstaja, ker so ta števila relativno majhna. Izračunali smo, da je povprečna rešljiva postavitev
od rešitve oddaljena za 21,97 potez. Iz grafa je razvidno tudi, da je število postavitev z lihim
številom potez (44,4 %) od rešitve manjše kot število postavitev s sodim številom potez od
rešitve. Razlog za ta pojav smo odkrili, ko smo opazovali faktor vejitve drevesa igre.
0
5000
10000
15000
20000
25000
30000
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Minimalno št. potez do rešitve
Šte
vil
o p
osta
vit
ev
Graf 1. Število postavitev z določeno minimalno oddaljenostjo od rešitve
Hitro lahko vidimo, da je število potez, ki jih lahko naredimo v postavitvah, ki so za liho
število potez oddaljene od rešitve, vedno enako 3. V teh postavitvah je prazna ploščica vedno
na takem mestu (osenčena polja na sliki 3), da je možno narediti natanko tri različne poteze.
Po dveh potezah se ploščica vedno vrne v eno izmed takih postavitev. Izračunali smo, da je
povprečni faktor vejitve v drevesu igre 8/3, kar je enako, kot bi intuitivno pričakovali
(slika 3), če bi povprečili število možnih potez po vseh možnih legah prazne ploščice:
9/)4)32(*4( .
Patologija preiskovanja v igri osmih ploščic
8
2 3 2
3 4 3
2 3 2
Slika 3. Število možnih premikov prazne ploščice glede na njen položaj
Povprečno število potez, ki jih lahko naredimo v postavitvah, za določeno število potez
oddaljenih od rešitve, je prikazano na grafu 2. Tudi število potez, ki jih lahko naredimo v
postavitvah s sodo oddaljenostjo od rešitve, je skoraj konstantno, do odstopanja pride le pri
oddaljenostih od rešitve, za katere obstaja le (relativno) malo postavitev.
0
0.5
1
1.5
2
2.5
3
3.5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Minimalno št. potez do rešitve
Po
vp
rečn
o š
t. p
ote
z
Graf 2. Število možnih potez odvisno od oddaljenosti od rešitve
Ker smo opazili, da je v nekaterih postavitvah mogoče narediti več različnih optimalnih
potez, smo za vsako rešljivo začetno postavitev poiskali vse optimalne poteze. Na grafu 3 je
prikazan odstotek položajev, v katerih so vse možne poteze optimalne glede na oddaljenosti
položaja od rešitve. Vidimo, da odstotek opisanih položajev z oddaljenostjo od rešitve
narašča. Tudi na tem grafu je razvidna razlika med položaji, ki so od rešitev oddaljeni za sodo
oziroma liho število potez. Vidimo tudi, da med položaji, ki so od rešitve oddaljeni za manj
kot osem potez, ni nobenega, pri katerem bi bilo vseeno, katero potezo izberemo. Izračunali
smo, da je v 13,82 % položajev vseeno katero potezo izberemo, saj so vse optimalne.
0
10
20
30
40
50
60
70
80
90
100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Minimalno št. potez do rešitve
% p
ost.
, kje
r so
vse p
ote
ze o
pt.
Patologija preiskovanja v igri osmih ploščic
9
Graf 3. Odstotek postavitev, v katerih so vse možne poteze optimalne, v odvisnosti od
minimalne oddaljenosti postavitve od rešitve
V povprečju ima nek začetni položaj 2,76 različnih poti do rešitve, največje možno število
različnih poti pa je 64, vendar ima kar 3/4 začetnih položajev le 1, 2 ali 3 možne rešitve [20].
2.2 Manhattanska razdalja
Ker bomo v nadaljevanju dela preverili teoretični model patologije (ki vsebuje tudi model
hevristične funkcije in je opisan v [15]) na praktičnem primeru igre osmih ploščic, je prav, da
podrobneje spoznamo tudi hevristično funkcijo, ki se običajno uporablja pri reševanju igre
osmih ploščic. To je hevristična funkcija, ki temelji na Manhattanski razdalji [4], [14].
Manhattanska razdalja za posamezno ploščico nam pove, koliko potez bi potrebovali, da bi to
ploščico premaknili na mesto, kamor spada, če bi lahko opazovano ploščico premikali nad
drugimi ploščicami. Hevristična funkcija, ki se pogosto uporablja za reševanje igre osmih
ploščic in jo bomo tukaj imenovali Manhattanska hevristika, pa je seštevek Manhattanskih
razdalj za vse ploščice. Na sliki 4 vidimo neko začetno a- in končno b-postavitev.
Manhattanske razdalje ploščic od 1 do 8 na sliki 4 a) so po vrsti: 1, 0, 2, 1, 1, 0, 2, in 3.
Njihova vsota je 10, to pa je tudi vrednost Manhattanske hevristike.
7 2 8 1 2 3
1 4 6 4 5 6
5 3 7 8
a) b)
Slika 4. Primer za izračun hevristične funkcije na osnovi Manhattanske razdalje
Manhattanska hevristika je optimistična hevristična funkcija, saj podcenjuje število potez
od rešitve s tem, ko predpostavi, da je mogoče ploščice premikati drugo nad drugo. V resnici
to ni možno in je zato število potez potrebnih za rešitev dane postavitve enako ali večje tej
oceni. Ta lastnost je v nekaterih primerih zaželena, saj na primer zagotavlja, da algoritem A*
najde optimalno rešitev.
Čeprav je opisana Manhattanska hevristična funkcija na videz enostavna, je ob uporabi
algoritma A* zelo učinkovita, saj v primerjavi s preiskovanjem v širino razvije približno
25-krat manj stanj v preiskovalnem drevesu, preden najde rešitev [14]. Manhattanska
hevristika je enaka minimalnemu številu potez od rešitve pri vseh postavitvah, ki so za manj
kot šest potez oddaljene od rešitev [25]. Maksimalna vrednost Manhattanske hevristike za
rešljive postavitve je 22, medtem ko je maksimalna cena 31. Povprečna vrednost
Manhattanske hevristike preko vseh rešljivih postavitev je 14, medtem ko je povprečna cena
21,9. Na grafu 4 vidimo, kako je Manhattanska hevristika manh (n) povezana z minimalnim
številom potez od rešitve h* (n). Ugotovimo lahko, da je opisana hevristična funkcija
optimistična, da premosorazmerno narašča s h* (n), vendar pa za postavitve, ki so enako
oddaljene od rešitve, ne vrača vedno istih vrednosti.
Zato smo izračunali standardni odklon (deviacijo) Manhattanske hevristične funkcije v
odvisnosti od cene h* (n) in jo narisali na graf 5. Iz grafa vidimo, da je standardni odklon
enak 0 za majhne h* (n), kar je razumljivo, saj za te vrednosti Manhattanska hevristika vrne
vrednosti, ki so enake ceni vozlišč. Nato standardni odklon hitro naraste do približno 2.4 in
ostane bolj ali manj konstanten. Opozorimo naj, da za majhne vrednosti h* (n) obstaja
relativno malo postavitev, zato standardni odklon Manhattanske hevristike teh postavitev ne
vpliva bistveno na povprečni standardni odklon Manhattanske hevristike, ki je enak 2,39.
Patologija preiskovanja v igri osmih ploščic
10
Razlika med povprečno vrednostjo Manhattanske hevristike in minimalnim številom
potez, potrebnih za rešitev dane postavitve, ki je za l oddaljena od rešitve, je za l < 6 enaka 0,
nato pa skoraj linearno narašča do 13,3 pri l = 30. Če vrednosti Manhattanske hevristike
množimo s konstanto 21,9 / 14 (razmerje med povprečno pravo in hevristično vrednostjo), pa
te vrednosti od cen vozlišč odstopajo kvečjemu za ± 4; taka hevristika ni več optimistična. Še
več, povprečna absolutna razlika med hevristično vrednostjo in ceno vozlišča pade z 7,97 pri
Manhattanski hevristiki na 0,65 pri Manhattanski hevristiki, pomnoženi s konstanto. Na
podlagi teh rezultatov lažje razumemo, zakaj je Manhattanska hevristika tako uspešna pri
ocenjevanju težavnosti postavitev v igri osmih ploščic.
810 12 14 16 18 20 22 24 26 28 30
5678910111213141516171819202122
0
1000
2000
3000
4000
5000
6000
7000
8000
Št.
po
sta
vit
ev
h*(n)
manh(n)
Graf 4. Odvisnost Manhattanske razdalje (manh(n)) od cene vozlišča h*(n)
Patologija preiskovanja v igri osmih ploščic
11
0
0.5
1
1.5
2
2.5
3
3.5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Minimalno št. potez do rešitve
Sta
nd
ard
ni
od
klo
n
Graf 5. Standardni odklon Manhattanske hevristike v odvisnosti od h* (n)
2.3 Različice igre osmih ploščic
Ker model patologije [15] pravi, da je patologija preiskovanja odvisna od faktorja vejitve
(angl. branching factor) in podobnosti bratskih vozlišč (anlg. similarity of sibling nodes) v
preiskovanem grafu, in ker sta omenjeni količini v igri osmih ploščic konstantni, smo morali
najti način, kako spreminjati te količine, ne da bi (bistveno) vplivali na druge lastnosti igre.
Faktor vejitve lahko enostavno povečamo, tako da v igro dodamo nove poteze. Odločili smo
se, da poleg zamenjave prazne ploščice s ploščico, ki je nad, pod, levo ali desno od nje,
dovolimo tudi zamenjavo s ploščico, ki je levo zgoraj, levo spodaj, desno spodaj ali desno
zgoraj od prazne ploščice. Tako je namesto štirih možno narediti osem različnih potez. Za
neko različico igre smo izmed opisanih potez izbrali le neko podmnožico potez. Tako smo
definirali igre z 1 do 8 različnimi potezami in preverili, koliko rešljivih postavitev imajo.
Skupaj smo našteli 255 različnih iger, od katerih jih je bilo 129 nezanimivih, saj so imele le
malo (< 202) rešljivih postavitev. Odkrili smo 31 iger z 9!/2 rešljivimi postavitvami (sem
spada tudi običajna igra osmih ploščic) in 95 iger z 9! rešljivimi postavitvami, v katerih lahko
katerokoli permutacijo ploščic na igralni plošči preuredimo v želeno razporeditev. Kot bomo
videli v razdelkih 3.2 in 3.3, se te igre med sabo razlikujejo v povprečnem faktorju vejitve v
preiskovanem drevesu in v podobnosti bratskih vozlišč, kar smo želeli doseči. Igre pa se
razlikujejo tudi v nekaterih drugih lastnostih, ki bi utegnile vplivati na patologijo.
Kot že rečeno, imamo glede na število rešljivih postavitev dve skupini zanimivih (tiste z
mnogo rešljivimi postavitvami) iger. Pri ostalih igrah lahko iz neke rešljive postavitve z
uporabo dovoljenih potez pridemo v postavitev, ki ni rešljiva. To se zgodi zaradi zelo
omejenega števila potez. Če imamo na primer dovoljena samo premika prazne ploščice
navzdol in levo, lahko prazno ploščico premaknemo v levi ali srednji stolpec, od tam pa je
nikoli več ne moremo premakniti v desni stolpec, v katerem se nahaja v končni postavitvi. S
takimi igrami se v nadaljevanju dela ne bomo več ukvarjali, ker imajo vse take igre premalo
rešljivih postavitev in zaradi omejenega števila potez niso dovolj podobne običajni igri.
Večje število dovoljenih potez (smeri, v katere lahko premaknemo prazno ploščico)
omogoča, da dano postavitev rešimo z manj potezami, kot bi jih za rešitev potrebovali, če bi
imeli na voljo manj različnih potez. Če dovolimo vseh 8 potez, lahko najtežjo postavitev
Patologija preiskovanja v igri osmih ploščic
12
rešimo v 20 potezah, medtem ko pri običajni igri za to potrebujemo 31 potez. Če pogledamo
zanimive igre, v katerih so dovoljene le tri različne poteze (smeri premika prazne ploščice),
opazimo, da za rešitev najtežje postavitve potrebujemo 44 ali 46 potez, kar je bistveno več kot
v običajni igri. Opozoriti pa moram tudi na to, da je pri tako omejenem številu potez v
določenih postavitvah pogosto mogoče izbrati le eno potezo. Tako se na primer v igri, ki ima
dovoljene premike prazne ploščice gor, dol in desno ter dol in levo, po vsakih štirih potezah,
ki jih naredimo, vedno znajdemo v neki postavitvi, v kateri je mogoče narediti le eno samo
potezo, in je zato odločitev, katero potezo izbrati, trivialna. Tako moramo izmed 46 potez, ki
jih potrebujemo, da rešimo najtežjo postavitev v tej varianti igre, izbrati le 34, ker je ostalih
12 trivialno določenih.
Zanimivo je, da imajo celo igre s samo tremi potezami 9! rešljivih postavitev. Ko smo
poiskali vse take igre, smo opazili, da so si po dovoljenih smereh premika prazne ploščice
podobne. Ena skupina iger (slika 5 a) ima 9! rešljivih postavitev, druga skupina (slika 5 b) pa
jih ima 9!/2. Na sliki 5 vidimo, da je v eni skupini iger izbira smeri določena z vzorcem, ki ga
lahko zavrtimo za 90°, 180° in 270°. Tudi sicer velja, da so si igre, ki imajo podobno
razporeditev dovoljenih smeri premika prazne ploščice (zarotiran ali prezrcaljen vzorec),
podobne glede na vse opazovane lastnosti.
Slika 5. Primerjava iger s 3 dovoljenimi smermi premika prazne ploščice
Ko smo s pomočjo retrogradne analize rešili vse različice igre osmih ploščic, smo lahko
potrdili hipotezo, da se prostor stanj za te igre razrašča drugače kot v običajni igri osmih
ploščic. Ta pojav ponazarjamo z grafom 6, ki prikazuje število postavitev v odvisnosti od
števila potez, ki so potrebne za rešitev dane postavitve. Vsaka krivulja na grafu predstavlja
povprečje za skupino iger z enakim številom dovoljenih smeri premika prazne ploščice (3 do
8). Tudi iz tega grafa je razvidno, da lahko v igrah, ki imajo več dovoljenih smeri premika
prazne ploščice, do rešitev pridemo z manj potezami, kot v igrah, ki imajo manj dovoljenih
smeri premika prazne ploščice. Krivulje na omenjenem grafu eksponentno naraščajo do
maksimuma, potem pa hitro padejo do 0, razen krivulje za igre s šestimi dovoljenimi smermi
premika prazne ploščice, ki ima še en vrh. Do drugega vrha pride zato, ker sta v skupini iger s
šestimi dovoljenimi smermi premika prazne ploščice dve izrazito različni podskupini iger,
Patologija preiskovanja v igri osmih ploščic
13
medtem ko ostale skupine iger (s 4 in 5 dovoljenimi smermi) vsebujejo več podskupin iger, ki
so si bolj podobne ali pa je v skupini iger (s 3, 7 in 8 dovoljenimi smermi) tako malo iger, da
tvorijo le eno podskupino.
0
10000
20000
30000
40000
50000
60000
70000
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46
Minimalno št. potez do rešitve
Šte
vil
o p
osta
vit
ev
3
4
5
6
7
8
Graf 6. Število postavitev v odvisnosti od oddaljenosti do rešitve za igre z različnim številom
premikov prazne ploščice
V določeno podskupino spadajo igre, za katere je značilna že opisana podobnost
dovoljenih smeri premika prazne ploščice. Pripadnost igre določeni podskupini poleg
maksimalnega in povprečnega števila potez za rešitev določa še druge lastnosti igre. Poleg
željenega vpliva na faktor vejitve in podobnost bratskih vozlišč smo opazili, da skupina iger
določa še druge lastnosti, ki bi utegnile vplivati na patologijo, vendar pa jih model patologije
[15] ne obravnava. Za boljšo predstavo o pomenu skupin iger smo na strani 14 zbrali devet
grafov, ki predstavljajo razlike med tremi skupinami iger. Vsaka krivulja predstavlja po eno
igro, ki ima štiri dovoljene smeri premika prazne ploščice in 9! rešljivih postavitev. Nekatere
krivulje na omenjenih grafih se prekrivaajo. V skupini A in B je po osem iger, v skupini C so
štiri igre. Na sliki 6 je za vsako skupino iger prikazan po en primer igre, ki je določena z
dovoljenimi smermi premika prazne ploščice.
Slika 6. Smeri premikov prazne ploščice; za vsako skupino iger je prikazan en primer.
Patologija preiskovanja v igri osmih ploščic
14 C
B
A
0
0.51
1.52
2.53
3.54
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Povprečno število sinov
0
0.51
1.52
2.53
3.54
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Povprečno število sinov
0
0.51
1.52
2.53
3.54
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Povprečno število sinov
0
50
00
10
00
0
15
00
0
20
00
0
25
00
0
30
00
0
35
00
0
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Št. postavitev
0
50
00
10
00
0
15
00
0
20
00
0
25
00
0
30
00
0
35
00
0
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Št. postavitev
0
50
00
10
00
0
15
00
0
20
00
0
25
00
0
30
00
0
35
00
0
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Št. postavitev
0
20
40
60
80
10
0
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Št. postavitev z trivialno izbiro poteze
0
20
40
60
80
10
0
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Št. postavitev z trivialno izbiro poteze
0
20
40
60
80
10
0
14
71
01
31
61
92
22
52
83
13
43
74
04
34
6O
D
Št. postavitev z trivialno izbiro poteze
Patologija preiskovanja v igri osmih ploščic
15
V prvi vrsti tabele na strani 14 so narisani grafi, ki prikazujejo povprečno število sinov v
preiskovalnem drevesu določene igre za vsako možno oddaljenost (v številu potez) od rešitve
(OD – optimal depth). Število sinov je enako številu različnih potez, ki jih lahko v neki
postavitvi naredimo. Iz grafov lahko razberemo, da so si krivulje za določeno skupino iger
zelo blizu in da se nekatere celo prekrivajo. Krivulje so iste barve zato, ker je edini namen teh
grafov prikazati podobnost med igrami v skupini in različnost med skupinami iger. Krivulje
na grafih za skupino A so najkrajše, najnižje in najgladkejše. Najdaljše in najbolj zobate pa so
krivulje v skupini C, medtem ko so krivulje skupine B najvišje. Povprečni faktor vejitve za
igre iz skupin A in C je 2,22, medtem ko je že iz grafa za skupino C razvidno, da je povprečni
faktor vejitve teh iger nekoliko višji (2,44). V drugi vrsti so grafi, ki prikazujejo število
postavitev, za določeno število potez oddaljenih od rešitve. Zopet opazimo, da so krivulje na
grafih za določeno skupino blizu skupaj. Najstrmejši in najožji grafi pripadajo skupini A,
najpoložnejši in najbolj raztegnjeni pa skupini C, čeprav imata obe skupini iger enak
povprečen faktor vejitve. V zadnji vrsti so grafi, ki prikazujejo odstotek postavitev, v katerih
so vse poteze optimalne in je zato v takih postavitvah izbira poteze trivialna. Tu se pokaže
najočitnejša razlika med skupinami iger. Skupine iger pa se razlikujejo tudi v maksimalnem
številu potez, potrebnih za rešitev najtežje postavitve (maxOD). V skupini A so igre, v katerih
za rešitev potrebujemo največ 33 do 38 potez, v skupini B od 40 do 42 potez in v skupini C
od 42 do 45 potez.
Podobne grafe smo narisali tudi za ostale skupine iger, vedno pa smo opazili, da imajo igre
s podobno razporeditvijo dovoljenih smeri premika prazne ploščice (ki jih zato združimo v
eno skupino) zelo podobne lastnosti in da se po njih ločijo od iger iz preostalih skupin.
Idealno bi bilo, če bi lahko glede na faktor vejitve in podobnost bratskih vozlišč primerjali
patologijo iger iz ene skupine, ker se znotraj nje igre le malo razlikujejo, in bi bil vpliv ostalih
dejavnikov na patologijo preiskovanja zato zanemarljiv. Vendar pa imajo vse igre znotraj
vsake skupine enak faktor vejitve in skoraj enako podobnost bratskih vozlišč, zato bomo v
nadaljevanju primerjali vse igre ne glede na pripadajočo skupino, s tem bomo poleg vpliva
faktorja vejitve in podobnosti bratskih vozlišč opazovali tudi vpliv drugih dejavnikov, ki bi
utegnili imeti vpliv na patologijo.
2.4 Hevristična funkcija
Kot smo v uvodu že opisali, hevristična funkcija preslika vozlišča preiskovanega grafa v
oceno težavnosti ali ugodnosti ocenjevanega vozlišča. V primeru igre osmih ploščic
hevristična funkcija preslika postavitev ploščic na igralnem polju v oceno minimalnega števila
potez, ki jih potrebujemo za rešitev ocenjevane postavitve. Primer take hevristične funkcije je
v razdelku 2.2 opisana Manhattanska razdalja.
Ker se bomo v nadaljevanju dela ukvarjali z merjenjem patologije preiskovanja v raznih
različicah igre osmih ploščic, si moramo izbrati hevristično funkcijo. Rezultate naše raziskave
želimo primerjati z modelom, ki napoveduje patologijo [15], zato bomo hevristično funkcijo
definirali enako kot v omenjenih delih.
Hevristična funkcija, ki jo bomo uporabljali od tu naprej (razen kadar bomo posebej
poudarili, da uporabljamo neko drugo), je definirana z enačbo (1). V definiciji hevristične
funkcije predstavlja n neko postavitev, h*(n) je minimalno število potez do rešitve postavitve
n, e pa je napaka hevristične funkcije. Napako modeliramo z Gaussovim šumom s
standardnim odklonom σ = 2,5, kar je enako standardnemu odklonu Manhattanske razdalje.
Model hevristične funkcije je tako enak kot v [15], standardni odklon pa je enak kot v [25].
enn )(*h)h( (1)
Patologija preiskovanja v igri osmih ploščic
16
Zgoraj opisana hevristična funkcija seveda ni edina možna ali primerna. Očitno je, da ni
optimistična, kar pa je pogosto zaželena lastnost hevrističnih funkcij. Optimistično hevristično
funkcijo lahko dobimo tako, da od cene vozlišča h*(n) namesto prištevanja Gaussovega šuma
odštejemo absolutno vrednost | e |. Podobno lahko dobimo tudi pesimistično hevristično
funkcijo tako, da ceni vozlišča prištejemo absolutno vrednost Gaussovega šuma. Taki
hevristični funkciji sta bili uporabljeni tudi v [25]. Namesto Gaussovega šuma bi lahko vzeli
tudi enakomerno porazdeljen šum, s pomočjo katerega bi spet lahko dobili optimistično in
pesimistično hevristično funkcijo ter hevristično funkcijo, ki ni ne pesimistična ne
optimistična.
Na nekaj različicah igre osmih ploščic smo preizkusili vseh šest zgoraj opisanih
hevrističnih funkcij, ker se rezultati glede patologije preiskovanja kvalitativno niso
razlikovali, smo ostale meritve opravili le za hevristično funkcijo, opisano z enačbo (1), ki je
bila uporabljena tudi za izgradnjo modela patologije [15]. Vpliv ostalih hevrističnih funkcij na
patologijo smo opisali v razdelku 3.4.2.
Vrednosti hevristične funkcije smo določili le enkrat za vsako različico igre in si jih
zapisali v tabelo. To smo opravili hkrati z reševanjem (iskanjem najkrajših poti do rešitve za
vsako rešljivo postavitev) določene različice igre osmih ploščic. Za vrednosti hevristične
funkcije postavitev, ki so od rešitve oddaljene za manj kot sedem potez, smo vzeli kar cene
vozlišč. Šuma jim nismo dodali zato, ker je takšnih postavitev tako malo, da je praktično
skoraj nemogoče doseči želeno porazdelitev okrog cen vozlišč. Naključni proces generiranja
šuma pri teh postavitvah močno vpliva na njihove hevristične vrednosti, le-te pa vplivajo na
patologijo, zato bi vsak poizkus morali ponoviti mnogokrat ter računati povprečne vrednosti,
kar pa bi terjalo preveč procesorskega časa. Še en razlog, ki govori za takšno odločitev, je ta,
da tudi Manhattanska razdalja pravilno oceni število potez do rešitve, za vse postavitve, ki so
za manj kot šest potez oddaljene od rešitve. Enak pristop je bil uporabljen tudi v [25],
medtem, ko so v [15] s šumom pokvarili vse cene vozlišč in tako pridobili hevristične
vrednosti.
Za generator Gaussovega šuma smo uporabili algoritem, ki je prikazan na sliki 7 in opisan
v [2] ter [7]. Zasnovan je tako, da uporablja generator psevdonaključnih števil z enakomerno
porazdelitvijo, ki jih s pomočjo matematične transformacije preslika v naključna števila, ki so
porazdeljena po Gaussovi (normalni) porazdelitvi.
public static double gaussianNoise(double mi, double sigma)
{ //generira beli sum za std. dev. sigma in povpr. vred. mi
Random random = new Random();
double p1, p2, p = 0;
do
{
p1 = 2 * random.nextDouble() - 1;
p2 = 2 * random.nextDouble() - 1;
p = p1 * p1 + p2 * p2;
} while (p >= 1);
return mi + sigma * p1 * Math.sqrt(-2 * Math.log(p) / p);
}
Slika 7. Algoritem za generiranje Gaussovega šuma
Poizkuse na običajni igri smo ponovili večkrat in vsakič znova generirali novo tabelo
hevrističnih vrednosti. Ker smo opazili, da naključni proces generiranja šuma na patologijo
nima vpliva, smo v nadaljevanju vsak poizkus opravili samo enkrat. Do tega pride zato, ker je
Patologija preiskovanja v igri osmih ploščic
17
število postavitev dovolj veliko, da se vrednosti hevristične funkcije lepo porazdelijo okrog
cen vozlišč za vsako skupino postavitev glede na oddaljenost od rešitve.
2.5 Mera za patologijo
Ker je cilj dela poiskati vzroke za pojav patologije preiskovanja, moramo določiti mero za
patologijo. Raje, kot da bi mera za patologijo povedala le, ali do patologije pride ali ne, smo
določili tako mero, ki pove tudi, kako močna je patologija. Mera za patologijo, ki jo bomo
opisali v tem razdelku, je zaradi lažje primerjave rezultatov enaka meri, ki se uporablja v [15].
Patologija preiskovanja se zgodi takrat, ko pri globljem preiskovanju dobimo slabše
rezultate kot pri plitvejšem preiskovanju, zato je patologija definirana kot razmerje med
deležem napačnih odločitev pri preiskovanju do določenega nivoja in deležem napačnih
odločitev pri preiskovanju do plitvejšega nivoja.
Da bi ocenili patologijo igre, smo najprej izračunali delež napačnih odločitev pri
preiskovanju do globine d za vsako rešljivo postavitev m s pomočjo formule (2).
)(mintree#
))(*min)((mintree#)(wrong
nh
nhnhm
d
dd
(2)
V zgornji formuli imenovalec # mintreed h(n) predstavlja število bratskih vozlišč n, ki so iz
postavitve m dosegljiva z eno potezo in imajo najmanjšo vrednost h (p) med vsemi opisanimi
vozlišči n, kjer so p postavitve v listih poddreves s koreni v n globine d – 1. Z drugimi
besedami je to število vozlišč n, ki so nasledniki m in imajo minimalno povratno vrednost
(angl. backed-up value), ki je enaka minimumu hevrističnih vrednosti postavitev v listih
poddrevesa s korenom v n (glej razdelek 1.1.3). V primeru, ko je d = 1, je edino vozlišče
poddrevesa s korenom v n kar to vozlišče samo in je zato povratna vrednost enaka hevristični
vrednosti v tem vozlišču (slika 8). Število v števcu je število postavitev n, dosegljivih iz m z
eno potezo, ki imajo poleg lastnosti, značilne za postavitve, ki jih štejemo v imenovalcu
(opisano zgoraj), še lastnost, da nimajo najmanjše cene h*(n) med bratskimi vozlišči n.
Formula (2) torej podaja verjetnost, da bomo pri odločanju v postavitvi m izbrali napačno
potezo, če dovolimo preiskovanje drevesa, ki uporablja hevristično funkcijo h (n), do globine
d in v primeru, ko je več potez, ki nas pripeljejo do enako dobrih rezultatov (do postavitev z
enako povratno vrednostjo), med njimi izberemo naključno. Za lažjo predstavo smo postopek
izračuna wrong1 (m) in wrongd (m) prikazali na slikah 8 in 9.
Patologija preiskovanja v igri osmih ploščic
18
Slika 8. Primer izračuna wrong1 (m)
Slika 9. Primer izračuna wrongd (m)
Iz vrednosti wrongd (m) za vse rešljive postavitve m smo najprej izračunali povprečno
vrednost po formuli (3), v kateri SolvePos predstavlja množico vseh rešljivih postavitev v
opazovani različici igre osmih ploščic. Moč množice SolvePos je pri igrah, ki jih analiziramo,
9! ali 9!/2. Formula (3) torej predstavlja povprečen delež napačnih odločitev, ki jih naredimo,
če v določeni varianti igre osmih ploščic izbiramo poteze s preiskovanjem do globine d.
SolvPos
i
d SolvPosi
d
)(wrong
)avr( (3)
Patologija preiskovanja v igri osmih ploščic
19
Iz povprečnega deleža napačnih odločitev na nivoju 1 in nivoju j lahko izračunamo stopnjo
patologije preiskovanja s pomočjo formule (4). Če je vrednost stopnje patologije večja kot 1,
potem je patologija v igri prisotna, saj nam da odločanje na podlagi preiskovanja do globine
j > 1 slabše rezultate, kot če bi se odločali samo s preiskovanjem do globine 1. Če je stopnja
patologije manjša kot 1, pa globlje preiskovanje daje boljše rezultate kot preiskovanje do
globine 1. Manjša kot je stopnja patologije, večja je korist od globljega preiskovanja. Če je
stopnja patologije enaka 1, to pomeni, da nam dajeta preiskovanji do globine 1 in j enako
dobre rezultate glede na pravilnost izbire potez. V takem primeru pravimo, da smo na meji
patologije. Preiskovanje do globine 1 je na meji patologije boljše, ker porabi bistveno manj
časa, preiskovanje do večje globine pa je boljše, ker nam povečuje zaupanje v pravilnost
izbranih poteze.
)1(
)(1/pat
avr
jarvj (4)
V nadaljevanju dela bomo vrednost pat 5/1 poimenovali patologija, zato ker se tako
definirana mera za patologijo uporablja tudi v modelu patologije [15], s katerim bomo
primerjali izsledke naše raziskave. Poleg pat 5/1 smo izračunali tudi pat 2/1, 3/1 in 4/1. Ker se
ti rezultati kvalitativno ne razlikujejo od rezultatov, pridobljenih z uporabo pat 5/1, bomo v
nadaljevanju govorili le o slednjih.
Na tem mestu velja opozoriti, da mera za patologijo, ki smo jo tu definirali, ni nujno
najprimernejša. Kot smo navedli že v uvodu, je v obstoječi literaturi predlaganih več različnih
mer za patologijo, ki ustrezajo različnim definicijam patologije. Za naše potrebe bo zgoraj
opisana mera zadostovala, čeprav smo opazili, da bi bilo za druge namene primerneje
uporabljati drugačno definicijo mere za patologijo. Na grafu 7 smo narisali delež pravilnih
odločitev (tj. optimalnih glede na število potrebnih potez za rešitev) v odvisnosti od globine
preiskovanja za skupine postavitev, ki so za 10, 15, 20 ali 25 potez oddaljene od rešitve v
običajni igri osmih ploščic ob uporabi hevristične funkcije, ki cene vozlišč v preiskovanem
grafu pokvari z Gaussovim šumom s standardnim odklonom σ = 2,5. Delež pravilnih
odločitev smo dobili tako, da smo program, ki je generiral Gaussov šum (s katerim smo
simulirali hevristično napako) in štel pravilne odločitve, pognali desetkrat in rezultate
povprečili. Pri skupini iger, ki so za deset potez oddaljene od rešitve, do patologije ne pride,
ker je globlje preiskovanje vedno boljše od plitvejšega; to nam ponazarja naraščajoč graf. Pri
skupini postavitev, ki so od rešitve oddaljene za 25 potez, opazimo, da graf za to skupino
postavitev pri preiskovanju od globine 2 do 17 niha in ne narašča, torej je vseeno, ali
preiskujemo do globine 2 ali pa do neke druge globine, ki je manjša od 17, ker v vseh
primerih dobimo enako dobre/slabe rezultate. Graf za to skupino postavitev doseže minimum
pri preiskovanju do globine 21 in ne pri preiskovanju do globine 1. To pomeni, da bi
preiskovanje do globine 21 dalo slabše rezultate kot preiskovanje do katere koli manjše
globine, kar bi zahtevalo tudi bistveno manj procesorskega časa. Zanimivo je, da graf po tem,
ko doseže minimum, zelo hitro naraste, kar pomeni, da bi že pri preiskovanju do globine 22
dobili bistveno boljše rezultate kot pri preiskovanju do manjše globine.
Patologija preiskovanja v igri osmih ploščic
20
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Globina preiskovanja
Dele
ž p
ravil
nih
od
ločit
ev
10 15 20 25
Graf 7. Delež pravilnih odločitev v odvisnosti od globine preiskovanja za skupine iger z isto
optimalno oddaljenostjo od rešitve
Če bi znali dinamično določati primerno globino preiskovanja, bi se lahko izognili
patologiji. V ta namen bi bilo smiselno definirati neko novo mero (ali množico mer) za
patologijo preiskovanja, ki bi upoštevala(e) tudi zgoraj omenjene lastnosti, kot so strmina,
nepričakovani minimumi in hitro naraščajoči odseki funkcije deleža napak v odvisnosti od
globine preiskovanja.
Patologija preiskovanja v igri osmih ploščic
21
3 Rezultati
3.1 Zrnatost hevristične funkcije
Hevristična funkcija, s katero ocenimo cene vozlišč v preiskovanem grafu, ima lahko za
zalogo vrednosti realna števila, naravna števila ali pa končno množico števil. Manhattanska
hevristika ima za zalogo vrednosti cela števila od 0 do vključno 22, medtem ko so prave cene
v preiskovanem drevesu običajne igre osmih ploščic od 0 do vključno 31. Hevristična
funkcija, ki smo jo definirali v razdelku 2.4, ima za zalogo vrednosti realna števila, saj je
definirana tako, da cene vozlišč pokvari z naključnim šumom. Število vrednosti, ki jih lahko
zavzame hevristična funkcija, imenujemo zrnatost hevristične funkcije (angl. granularity of
heuristic function). V tem razdelku bomo predstavili vpliv zrnatosti hevristične funkcije na
patologijo v igri osmih ploščic in njenih različicah.
Kot smo že omenili, ima hevristična funkcija, ki smo jo izbrali v razdelku 2.4, v zalogi
vrednosti realna števila, zato smo to funkcijo predelali tako, da smo ji zmanjšali zrnatost. To
smo naredili v dveh korakih. Najprej smo omejili minimalno in maksimalno vrednost
hevristične funkcije tako, da velja enačba (5). Manjših vrednosti od 0 nismo dovolili, ker smo
vrednost 0 pripisali končni (ciljni) postavitvi igre. Navzgor smo hevristično funkcijo omejili s
številom M, ki je izbrano tako, da je blizu maksimalne cene in da se le redko zgodi, da bi bila
hevristična vrednost neke postavitve večja od M.
n: h (n) [0, M], kjer je M = maxn{ h* (n) } + σ + 1 (5)
Kadar je bila vrednost hevristične funkcije za neko postavitev n večja od M (h (n) > M),
smo tej postavitvi pripisali vrednost M, kadar pa je bila manjša od 0 (h (n) < 0), smo
postavitvi pripisali hevristično vrednost 0. Pri ostalih postavitvah hevrističnih vrednosti nismo
spreminjali. V drugem koraku smo vse hevristične vrednosti pomnožili z določenim faktorjem
tako, da smo interval možnih vrednosti hevristične funkcije preslikali v interval [0, g]. Nato
smo vsako hevristično vrednost zaokrožili na najbližje celo število in tako dobili hevristično
funkcijo, ki ima za zalogo vrednosti cela števila od 0 do vključno g. S tem postopkom smo
poljubno omejili zrnatost hevristične funkcije.
Za izbrane zrnatosti smo pognali program, ki je izračunal delež napačnih odločitev pri
preiskovanju do globine 1 in do globine 5 za vse rešljive postavitve v vseh različicah igre
osmih ploščic. Iz teh podatkov smo izračunali pat 5/1 in narisali graf 8, ki prikazuje
odvisnosti patologije od zrnatosti hevristične funkcije. Za zrnatost smo izbrali vse
celoštevilske vrednosti od 2 do 46 in še vrednosti 64, 128, 256, 512, 1024 in 2048. Najmanjšo
zrnatost 2 smo izbrali zato, ker je to najmanjša še smiselna zrnatost, 46 pa zato, ker je to
največje število potez, ki jih potrebujemo za rešitev najtežje postavitve po vseh različicah igre
osmih ploščic. Od tu naprej smo izmerili patologijo le pri izbranih zrnatostih, ker bi meritve
pri vseh možnih zrnatostih vzele preveč procesorskega časa in ker smo opazili, da je graf
patologije v odvisnosti od zrnatosti hevristične funkcije za zrnatosti, večje od približno 10,
zvezen in monotono padajoč. Merilo na abscisni osi na grafu 8 je linearno od vrednosti 2 do
46 in logaritemsko od 64 do 2048. Z najdebelejšo črto je na tem grafu prikazana odvisnost
patologije od zrnatosti hevristične funkcije za običajno igro osmih ploščic. Vidimo, da
krivulja niha za zrnatosti od 2 do 6, nato pa monotono pada. Mejo patologije seka pri zrnatosti
10, kar pomeni, da pri uporabi hevristične funkcije, ki ima zrnatost 9 ali manj, pride do
patologije preiskovanja, pri večjih zrnatostih pa ne. Za primerjavo smo na graf narisali še
krivulje za igro z najmanjšo patologijo, za igro, ki ima dovoljenih vseh osem smeri premika
prazne ploščice, in igro z največjo patologijo.
Patologija preiskovanja v igri osmih ploščic
22
0
0.2
0.4
0.6
0.8
1
1.2
1.4
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 128
512
2048
Zrnatost hevristične funkcije (g)
Pato
log
ija (
pat
5/1
)
Min pat Običajna igra Vse smeri Max pat
Graf 8. Odvisnost patologije (pat 5/1) od zrnatosti hevristične funkcije za izbrane različice
igre osmih ploščic
Krivulje ostalih iger, ki jih zaradi preglednosti nismo narisali na graf 8, ležijo med
krivuljama za igro z minimalno patologijo in igro z vsemi osmimi smermi premika prazne
ploščice, ki pa nekoliko odstopa od ostalih krivulj – igra z vsemi osmimi smermi premika
prazne ploščice je bolj patološka kot ostale igre. Več patologije kot v tej igri smo opazili le v
štirih posebnih igrah, o katerih smo že govorili – to so igre s 3 smermi premika prazne
ploščice in 9! rešljivimi postavitvami. Te 4 igre so najbolj patološke med vsemi različicami
igre osmih ploščic, njihovi krivulje na grafu 8 pa niso tako gladke kot pri ostalih igrah.
Najpomembnejša ugotovitev, ki jo lahko razberemo iz grafa 8, je, da večja zrnatost
hevristične funkcije preprečuje pojav patologije preiskovanja v vseh različicah igre osmih
ploščic. Ta ugotovitev se sklada tudi z modelom patologije [15], ki trdi isto.
Meja patologije za večino iger (111 izmed 126) je pri zrnatostih med 5 in 11, 10 iger ima
to mejo pri zrnatostih 12 do 16. Igra z vsemi 8 dovoljenimi smermi premika prazne ploščice
prvič pade pod mejo patologije pri zrnatosti 41, nato do zrnatosti 46 niha okrog meje
patologije, za večje zrnatosti pa ostane pod mejo patologije. Štiri igre, ki imajo 3 dovoljene
smeri premika prazne ploščice in 9! rešljivih postavitev, pri nobeni zrnatosti do 2048 ne
padejo pod mejo patologije. Najmanj patološke so igre iz skupine iger s tremi osnovnimi in
dvema dodatnima smerema (ki sta med sabo pravokotni) premika prazne ploščice. Poleg tega
se prednost preiskovanja na globini 5 pred preiskovanjem na globini 1 v teh igrah z
naraščajočo zrnatostjo najhitreje povečuje, kar lahko opazimo tudi na grafu 8, kjer je
najstrmejša krivulja ravno tista, ki pripada igri z minimalno patologijo. Ravno obratno pa pri
igrah z največjo patologijo povečevanje zrnatosti prinese manj dobička kot pri igrah z majhno
patologijo.
Nihanje krivulj na grafu 8 pri majhni zrnatosti lahko pojasnimo s pomočjo grafa 9, ki
prikazuje odvisnost deleža pravilnih odločitev od globine preiskovanja za različne zrnatosti na
primeru običajne igre osmih ploščic. Vidimo, da krivulje za majhne zrnatosti (2, 3 in 5) nihajo
do globine preiskovanja 20 in da so med sabo prepletene. Patologija, ki jo merimo z mero
pat j/1, bo pri teh zrnatostih torej močno odvisna od izbire globine preiskovanja j, če je le-ta
manjša od 20. Nihanja pri majhnih zrnatostih na grafu 8 so torej odvisna od izbire mere za
Patologija preiskovanja v igri osmih ploščic
23
patologijo, vendar pa bi do takšnih nihanj prihajalo, tudi če bi namesto globine 5 izbrali neko
drugo globino preiskovanja.
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Globina preiskovanja
De
lež p
rav
iln
ih o
dlo
čit
ev
2 3 5 7 11 34
Graf 9. Odvisnost deleža pravilnih odločitev od globine preiskovanja za različne zrnatosti
hevristične funkcije
Graf 9 pokaže tudi, da izbira konstante 5 v meri za patologijo (pat 5/1) ne igra bistvenega
vpliva, saj bi tudi pri merah, kot sta pat 3/1 ali pat 10/1, dobili podobne rezultate, kot jih
dobimo z mero pat 5/1. Tudi iz grafa 9 vidimo, da večja zrnatost hevristične funkcije povzroči
višji delež pravilnih odločitev ne glede na globino preiskovanja, kar potrjuje ugotovitve tega
razdelka.
3.2 Podobnost (odvisnost) bratskih vozlišč
V tem razdelku bomo predstavili vpliv podobnosti oziroma odvisnosti bratskih vozlišč na
patologijo preiskovanja. Podobnost bratskih vozlišč je, za razliko od zrnatosti hevristične
funkcije, lastnost problema, ki ga rešujemo, in zato nanjo ne moremo vplivati, tako kot lahko
vplivamo na zrnatost hevristične funkcije, ki jo lahko izberemo ne glede na to, na kakšnem
problemu jo bomo uporabili. Vpliv zrnatosti na patologijo smo v vsaki različici igre osmih
ploščic lahko opazovali ločeno, medtem ko bomo vpliv podobnosti bratskih vozlišč
obravnavali na vseh različicah igre hkrati. To poudarjamo zato, ker vemo, da poleg opazovane
podobnosti bratskih vozlišč na patologijo preiskovanja vplivajo tudi drugi dejavniki, ki jih ne
moremo izključiti in bi utegnili zamegliti sliko o vplivu podobnosti bratskih vozlišč na
patologijo preiskovanja.
Preiskovano drevo ima veliko podobnost bratskih vozlišč, kadar so njihove cene podobne
in obratno. Za merjenje podobnosti bratskih vozlišč je bilo v dosedanjih raziskavah
predstavljenih in uporabljenih več načinov. Luštrek je na primer podobnost bratskih vozlišč
meril kot razmerje med deležema popolnoma odvisnih in popolnoma neodvisnih vozlišč v
opazovanih drevesih [15]. Ta pristop je lahko uporabil, ker je opazoval le drevesa, ki jih je
generiral sam, in ne dreves, ki pripadajo nekemu realnemu problemu. Način gradnje dreves z
vnaprej določeno odvisnostjo bratskih vozlišč je jedrnato opisan tudi v [11], tu ga ne bomo
predstavili, ker presega okvir tega dela.
Patologija preiskovanja v igri osmih ploščic
24
Mera za podobnost bratskih vozlišč, ki smo jo uporabili mi, temelji na korelaciji [27]. Ta
meri moč in smer linearne odvisnosti med dvema naključnima spremenljivkama. Podobnost
bratskih vozlišč (s – similarity) smo računali z uporabo formule (6), kjer smo za pare (xi; yi)
naključnih spremenljivk X in Y vzeli cene vozlišč vi in njihovih sinove vij. Pri vozlišču z
vejitvijo b = 3 smo kot pare naključnih spremenljivk npr. obravnavali pare oblike (ci; ci1),
(ci; ci2), (ci; ci3), kjer vrednosti ci in cij pomenijo cene vozlišč vi in vij.
n
i
i
n
i
i
n
i
i
n
i
i
n
i
i
n
i
i
n
i
ii
XY
yynxxn
yxyxn
s
1
2
1
2
1
2
1
2
111
)()(
(6)
Korelacijo cen vozlišč v preiskovanem drevesu smo kot mero za podobnost bratskih
vozlišč izbrali zato, ker jo je razmeroma lahko izračunati, ker ima naravno interpretacijo in je
teoretično ozadje metode dobro znano iz statistike.
Podobnost bratskih vozlišč na osnovi korelacije smo izračunali za vse različice igre osmih
ploščic in ugotovili, da se igre glede na to le malo razlikujejo. Minimalna korelacija v
opazovanih igrah je bila približno 0,877, povprečna 0,923, maksimalna pa 0,966, medtem ko
je korelacija za drevesa (s faktorjem vejitve od 2 do 4), ki so jih opazovali pri gradnji modela
patologije [15], zavzela vrednosti na intervalu od približno 0,1 do 0,9 [12]. Zaradi zelo
majhne razlike v podobnosti bratskih vozlišč med različicami igre nismo pričakovali
izrazitejšega vpliva tega dejavnika na patologijo preiskovanja, zato bomo ta vpliv predstavili
iz več zornih kotov.
Prvi in najbolj intuitiven način, da poiščemo povezavo med podobnostjo bratskih vozlišč in
patologijo, je ta, da narišemo graf odvisnosti patologije od podobnosti bratskih vozlišč. Na
grafu 10 smo tako za vsako igro i narisali po eno točko (si, pati 5/1), kjer je si podobnost
bratskih vozlišč v igri i, merjena s korelacijo, pati 5/1 pa je patologija igre pri hevristični
funkciji z določeno zrnatostjo. Zrnatost 5 je najmanjša zrnatost, pri kateri postanejo nekatere
različice igre osmih ploščic nepatološke, pri zrnatosti 17 so skoraj vse igre nepatološke (razen
4 posebnih različic igre), zrnatost 2048 pa je najvišja zrnatost, pri kateri smo merili patologijo.
Merilo na abscisni osi je skoraj linearno, vrednosti pod osjo pa so zaokrožene na tri decimalna
mesta. Iz grafa smo odstranili štiri točke, ki predstavljajo igre z največjo patologijo, ki
bistveno odstopa od patologije ostalih različic iger (glej razdelka 3.1 in 2.3). S tanko črto smo
na grafu prikazali trende, iz katerih je razvidno, da večja podobnost bratskih vozlišč povzroči
manjšo patologijo, vpliv pa je močnejši pri večji zrnatosti hevristične funkcije.
Ker smo na grafu 10 narisali po eno točko za vsako različico igre, je možno, da padanje
patologije ne povzroči večja podobnost bratskih vozlišč, temveč nek drug dejavnik, ki raste
hkrati s podobnostjo bratskih vozlišč. To domnevo smo preverili in ugotovili, da faktor
vejitve in število rešljivih postavitev nista povezana s podobnostjo bratskih vozlišč, medtem
ko delež postavitev, pri katerih so vse poteze optimalne, pada, število potez za rešitev najtežje
postavitve v določeni različici igre pa narašča z naraščajočo podobnostjo bratskih vozlišč. Ker
so omenjene povezave deloma tudi posledica lastnosti korelacije, ki smo jo uporabljali za
mero podobnosti bratskih vozlišč, smo poleg te mere izračunali še mero, imenovano faktor
grozdenja (angl. clustering factor), ki je predstavljena v nadaljevanju tega razdelka.
Patologija preiskovanja v igri osmih ploščic
25
0
0.2
0.4
0.6
0.8
1
1.2
0.87
7
0.88
6
0.88
9
0.89
1
0.90
1
0.90
4
0.90
5
0.90
8
0.90
8
0.91
2
0.91
4
0.91
5
0.91
7
0.92
2
0.92
6
0.92
6
0.92
7
0.93
5
0.94
0
0.94
7
0.94
8
0.95
3
0.95
4
0.95
6
0.96
6
0.96
6
Podobnost bratskih vozlišč (s)
Pa
tolo
gij
a (
pa
t 5
/1)
5 17 2048
Graf 10. Patologija različic igre osmih ploščic v odvisnosti od podobnosti bratskih vozlišč
(merjeno na osnovi korelacije) za hevristične funkcije z zrnatostmi 5, 17 in 2048. Tanke črte
predstavljajo trende.
Da bi izločili vpliv faktorja vejitve, smo graf 10 razbili na več grafov, na katere smo
nanesli podatke samo za različice igre z enakim faktorjem vejitve. Primer takega grafa je graf
11, ki pripada množici iger s faktorjem vejitve 2,88. Tudi iz tega grafa vidimo, da patologija
pada z naraščajočo podobnostjo. Opazimo tudi, da ima graf tri odseke, ki so prav tako
padajoči. Prvi odsek predstavlja štiri različice igre osmih ploščic, v katerih za rešitev najtežje
postavitve potrebujemo 26 do 27 potez, na drugem odseku (osem različic igre) se to število
giblje med 33 in 37, na zadnjem odseku (osem različic igre) pa med 40 in 42. Vsak odsek
torej predstavlja skupino različic igre osmih ploščic s podobnim številom potez, ki so
potrebne za rešitev najtežje postavitve. Tudi grafi za ostale skupine različic igre osmih ploščic
z isto patologijo so zelo podobni grafu 11.
Mero za podobnost bratskih vozlišč, poimenovano faktorja grozdenja, je prvi uporabil
Sadikov [24], zasnoval jo je na podobni meri, ki jo je definiral Beal [1] za drevesa, v katerih
cene vozlišč lahko zavzamejo le dve vrednosti (zmaga in poraz). Faktor grozdenja se izračuna
kot količnik med povprečnim standardnim odklonom sinov in standardnim odklonom
celotnega drevesa. Z uporabo take mere je mogoče zaznati, kdaj so si bližnja vozlišča
nadpovprečno podobna. Pri dovolj velikem drevesu je standardni odklon celotnega drevesa
neodvisen od stopnje odvisnosti vozlišč, medtem ko je povprečen standardni odklon sinov pri
večji odvisnosti manjši. Faktor grozdenja smo izračunali po formuli (7), kjer ci predstavlja
ceno vozlišča vi, cij pa ceno j-tega sina vozlišča i.
N
i
N
j ji
N
i
b
j ik
b
ki
ijN
i i
cN
cN
cb
cb
Cf
i i
1
2
1
1 1
2
1
1
)1
(1
)1
(1
(7)
Faktor grozdenja ni odvisen od števila potez, ki jih potrebujemo za rešitev najtežje
postavitve, ali od deleža postavitev, v katerih so vse poteze optimalne, zato je kot mera za
Patologija preiskovanja v igri osmih ploščic
26
podobnost bratskih vozlišč primernejši od korelacije. Edina prednost korelacije je ta, da je
razpon vrednosti med odvisnimi in neodvisnimi drevesi večji kot pri merjenju s faktorjem
grozdenja [12], vendar to za drevesa različic igre osmih ploščic, za katere je značilna visoka
podobnost bratskih vozlišč in nizek faktor vejitve, ne velja.
0
0.2
0.4
0.6
0.8
1
1.2
0.90
5
0.90
5
0.90
8
0.90
8
0.91
0
0.91
0
0.91
4
0.91
4
0.91
5
0.91
5
0.91
6
0.91
6
0.96
6
0.96
6
0.96
6
0.96
6
0.96
6
0.96
6
0.96
6
0.96
6
Podobnost bratskih vozlišč (s)
Pato
log
ija (
pat
5/1
)
5 17 2048
Graf 11. Patologija različic igre osmih ploščic s faktorjem vejitve b = 2,88 v odvisnosti od
podobnosti bratskih vozlišč (merjeno na osnovi korelacije) za hevristične funkcije z zrnatostjo
5, 17 in 2048. Tanke črte predstavljajo trende.
Po vzoru grafa 10 smo narisali še graf 12, pri katerem smo igre uredili po naraščajočem
faktorju grozdenja in ne po korelaciji. Višji faktor grozdenja za razliko od korelacije pomeni
manjšo podobnost bratskih vozlišč. Tudi iz tega grafa vidimo, da večja podobnost bratskih
vozlišč (manjši faktor grozdenja) povzroči manjšo patologijo preiskovanja. Tako lahko na
podlagi dveh mer za podobnost bratskih vozlišč zaključimo, da večja podobnost zmanjšuje
patologijo. V primerjavi z vplivom zrnatosti hevristične funkcije na patologijo je vpliv
podobnosti bratskih vozlišč šibkejši in manj očiten, vendar je to posledica že omenjenega
dejstva, da se opazovane različice igre osmih ploščic po podobnost bratskih vozlišč le malo
razlikujejo. Tudi ta rezultat je skladen z modelom patologije [15], ki velja za sintetična
preiskovalna drevesa.
Patologija preiskovanja v igri osmih ploščic
27
0
0.2
0.4
0.6
0.8
1
1.2
0.24
0
0.24
1
0.26
1
0.26
8
0.27
1
0.28
1
0.28
4
0.28
5
0.29
1
0.31
0
0.31
4
0.31
4
0.31
6
0.32
2
0.32
4
0.34
6
0.34
7
0.35
4
0.35
6
0.36
5
0.36
8
0.37
0
0.37
1
0.38
2
0.38
3
0.38
6
0.39
2
0.39
3
0.39
7
0.40
6
0.41
8
0.42
5
Faktor grozdenja
Pato
log
ija (
pat
5/1
)
5 17 2048
Graf 12. Patologija različic igre osmih ploščic v odvisnosti od podobnosti bratskih vozlišč
(merjeno s faktorjem grozdenja) za hevristične funkcije z zrnatostmi 5, 17 in 2048. Tanke črte
predstavljajo trende.
3.3 Faktor vejitve
Tretji dejavnik, ki naj bi vplival na patologijo preiskovanja je faktor vejitve v
preiskovanem drevesu. Model patologije [15] pravi, da z večanjem faktorja vejitve narašča
patologija preiskovanja. Omenjeni model je uporabljal drevesa z uniformnim celoštevilskim
faktorjem vejitve med vključno 2 in 10. Pri različicah igre osmih ploščic smo opazili 13
skupin iger s faktorji vejitve med 1,56 in 4,44. Nobena izmed iger nima uniformnega faktorja
vejitve, zato so faktorji vejitve, ki jih omenjamo, povprečeni po vseh rešljivih postavitvah
(vozliščih v prostoru stanj) določene različice igre osmih ploščic.
Ker do jasnih zaključkov glede vpliva faktorja vejitve na patologijo preiskovanja nismo
prišli, bomo v tem razdelku predstavili le izračunane rezultate ter jih primerjali z rezultati
sorodnih del. Kot za ostala dva dejavnika, za katera smo vpliv na patologijo preiskovanja v
igri osmih ploščic lahko pokazali, smo tudi za faktor vejitve narisali graf odvisnosti patologije
od faktorja vejitve. Na grafu 13 so po abscisni osi različice igre osmih ploščic urejene po
naraščajočem povprečnem faktorju vejitve, igre z enakim faktorjem vejitve pa so naključno
pomešane. Vsaka od krivulj predstavlja patologijo pri uporabi hevristične funkcije z določeno
zrnatostjo (5, 17, 2048). Kot smo opazili že v prejšnjih poglavjih, so najbolj patološke štiri
igre s faktorjem vejitve 1,78 (to so igre s tremi smermi premika prazne ploščice in 9!
rešljivimi postavitvami) ter igra z vsemi osmimi smermi premika prazne ploščice, ki ima
faktor vejitve 4,44. Patologija v različicah igre osmih ploščic s faktorjem vejitve med 2 in
2.89 je skoraj konstantna. Za igre s faktorjem vejitve nad 3,11 bi z določeno mero domišljije
iz grafa lahko razbrali, da večji faktor vejitve pomeni večjo patologijo preiskovanja.
Patologija preiskovanja v igri osmih ploščic
28
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.56
1.78 2 2
2.22
2.22
2.22
2.22
2.44
2.44
2.44
2.67
2.67
2.67
2.67
2.67
2.67
2.89
2.89
2.89
2.89
2.89
3.11
3.11
3.33
3.33
3.33
3.33
3.56
3.56
3.78 4
Faktor vejitve (b)
Pato
log
ija (
pat
5/1
)
5 17 2048
Graf 13. Patologija preiskovanja v različicah igre osmih ploščic v odvisnosti od faktorja
vejitve
Ker je trend naraščanja patologije ob povečevanju faktorja vejitve tako neizrazit, smo
poskusili vpliv faktorja vejitve razbrati iz grafa 14, na katerem smo patologijo pri določenem
faktorju vejitve povprečili po vseh igrah z enakim faktorjem vejitve.
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.56 1.78 2 2.22 2.44 2.67 2.89 3.11 3.33 3.56 3.78 4 4.44
Faktor vejitve (b)
Pato
log
ija (
pat
5/1
)
5 17 2048
Graf 14. Patologija preiskovanja, povprečena po različicah igre osmih ploščic z enakim
faktorjem vejitve, v odvisnosti od faktorja vejitve
Iz grafa je jasno razvidno, da so igre s faktorjem vejitve b < 2 bolj patološke kot igre z
večjim faktorjem vejitve. Preostali del grafa pa je naraščajoč, čeprav nihanja niso
zanemarljiva. Če odmislimo visoko patologijo iger s faktorjem vejitve b < 2, se rezultat sklada
z napovedmi modela patologije, ki smo ga predstavili v uvodu tega razdelka. Argument za
Patologija preiskovanja v igri osmih ploščic
29
takšno razmišljanje je dejstvo, da omenjeni model ni vključeval dreves s faktorjem vejitve, ki
bi bil manjši od 2. Vendar prav tako drži protiargument, da je model upošteval le drevesa z
uniformnim faktorjem vejitve, in zato ali ne velja za drevesa z neuinformnim faktorjem
vejitve ali pa velja za vsa drevesa ne glede na uniformnost faktorja vejitve, vključno z drevesi
s faktorjem vejitve, manjšim od 2. Pri takšnih predpostavkah se naši rezultati ne ujemajo z
rezultati modela oziroma od njih zelo močno odstopajo.
Zelo verjeten razlog za to, da ne moremo določiti vpliva faktorja vejitve na patologijo
preiskovanja v različicah igre osmih ploščic, sta dva nasprotujoča si vpliva na patologijo
preiskovanja. Prvi dejavnik, ki povečuje patologijo, je faktor vejitve. Drugi dejavnik, ki
vpliva na patologijo, je velikost razlike med cenami bratskih vozlišč: velika razlika patologijo
preprečuje, majhna pa jo povzroča (glej razdelek 1.2.2 in [15]).V različicah igre osmih ploščic
z velikim faktorjem vejitve je v povprečju potrebnih manj potez za rešitev dane postavitve. Pri
vseh različicah igre pa se po eni potezi lahko pomaknemo le za natanko en korak bližje ali
dlje od rešitve, torej je razlika med cenami bratskih vozlišč v vseh različicah igre osmih
ploščic 2. Relativno gledano se večja razlika pojavi pri različicah igre osmih ploščic, ki v
povprečju potrebujejo manj potez za rešitev in bi zato morale biti manj patološke, hkrati pa so
to igre z visokim faktorjem vejitve, kar bi moralo povzročiti več patologije. V različicah igre
osmih ploščic si oba predstavljena dejavnika, ki vplivata na patologijo, nasprotujeta. Ker sta
oba dejavnika povezana, ju ne moremo opazovati ločeno in zato tudi ne moremo opredeliti
vpliva faktorja vejitve na patologijo preiskovanja v različicah igre osmih ploščic.
3.4 Hevristična funkcija
Poleg hevristične funkcije, ki za oceno cen vozlišč vzame prave vrednosti in jih pokvari z
Gaussovim šumom s standardnim odklonom σ = 2,5, smo na običajni igri osmih ploščic
preizkusili še nekatere druge hevristične funkcije. Vpliv hevristične napake, ki jo
kontroliramo s standardnim odklonom šuma σ, s katerim pokvarimo cene vozlišč, je
predstavljen v razdelku 3.4.1. Vpliv drugače zasnovanih hevrističnih funkcij na patologijo
preiskovanja v običajni igri osmih ploščic pa je opisan v razdelku 3.4.2.
3.4.1 Vpliv hevristične napake na patologijo preiskovanja
Kot smo pri utemeljitvi izbire hevristične funkcije že navedli, smo za standardni odklon σ
po Gaussu porazdeljenega šuma, s katerim smo simulirali napako hevristične funkcije, izbrali
vrednost σ = 2,5, ki je enaka standardnemu odklonu Manhattanske hevristike (glej razdelek
2.2). Preizkusili smo tudi, kaj se zgodi, če hevristično napako (standardni odklon Gaussovega
šuma) povečamo ali zmanjšamo. Rezultati teh poskusov so predstavljeni na grafu 15, ki
prikazuje odvisnost patologije preiskovanja od zrnatosti hevristične funkcije za različne
standardne odklone σ Gaussovega šuma, s katerim smo modelirali hevristično napako. Zaradi
preglednosti smo na graf narisali krivulje samo za tri izbrane standardne odklone Gaussovega
šuma, čeprav smo izvedli teste za standardne odklone šuma med σ = 0,5 in σ = 9. Tako iz
vseh opravljenih testov kot iz prikazanega grafa lahko razberemo, da hevristične funkcije z
večjo hevristično napako (večji σ) pri visoki zrnatosti hevristične funkcije povzročijo več
patologije kot hevristične funkcije z manjšo hevristično napako. Presenetljivo pa hevristične
funkcije z majhno zrnatostjo (g < 20) in večjo hevristično napako povzročijo manj patologije
kot hevristične funkcije z isto zrnatostjo in manjšo hevristično napako. Podobnega rezultata v
do sedaj objavljeni literaturi nismo zasledili, zato bi bilo v prihodnosti smiselno preveriti, ali
naš rezultat velja samo za igro osmih ploščic in določeno hevristično funkcijo ali pa velja tudi
za ostale probleme in hevristične funkcije.
Pojav smo skušali pojasniti, kar pa nam je le delno uspelo. Prepričljivih argumentov za to,
da hevristične funkcije z veliko zrnatostjo in veliko hevristično napako povzročijo večjo
Patologija preiskovanja v igri osmih ploščic
30
patologijo kot hevristične funkcije z enako zrnatostjo in manjšo hevristično napako, nismo
uspeli najti. Ponujamo pa razlago za to, da hevristične funkcije z majhno zrnatostjo in veliko
hevristično napako povzročijo manjšo patologijo kot hevristične funkcije z enako zrnatostjo in
manjšo hevristično napako.
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 128
512
2048
Zrnatost hevristične funkcije (g)
Pato
log
ija (
pat
5/1
)
2 2.5 3
Graf 15. Odvisnost patologije preiskovanja od zrnatosti hevristične funkcije ob uporabi
različne stopnje hevristične napake (σ {2, 2,5, 3})
Pri hevrističnih funkcijah z majhno zrnatostjo se pogosto zgodi, da imata pravi (tisti do
katerega vodi optimalna poteza) in napačni sin danega vozlišča enako hevristično vrednost,
ker je razlika v cenah takih dveh vozlišč le 2. V običajni igri osmih ploščic se cene vozlišč
gibljejo med 0 in 31, če pa vzamemo zrnatost 10, se razlika med pravim in napačnim sinom
zmanjša na približno 2/3 in je zato verjetnost, da se bosta obe hevristični vrednosti zaokrožili
v isto število a 1/3. Če v teh razmerah uporabljamo hevristično funkcijo z večjo hevristično
napako, postane bolj verjetno, da bo hevristična ocena pravega sina padla dovolj nizko, da se
bo ob zmanjšanju zrnatosti zaokrožila v manjše število od a ali pa, da se bo hevristična
vrednost napačnega sina, pokvarjena s hevristično napako, ob zmanjšanju zrnatosti zaokrožila
v večje število od a. Verjetnost za tak dogodek naj bo p. Če se zgodi eden od teh dveh
dogodkov, bo algoritem za preiskovanje lahko ločil med tema vrednostma in se odločil za
pravo vrednost. Verjetnost, da bo hevristična vrednost pravega sina večja od a ali da bo
hevristična vrednost napačnega sina manjša od a, pa je manjša od verjetnosti p prej opisanega
dogodka, ker je cena pravega sina manjša od cene napačnega sina. Pri preiskovanju do
globine 5 je razlika med minimalnim potomcem (po ceni vozlišča) pravega sina in
minimalnim potomcem napačnega sina še vedno enaka 2, vendar pa je na tem nivoju veliko
več vozlišč. Na prvem nivoju je v povprečju 2,66 sinov, medtem ko je na nivoju 5 povprečno
število vozlišč približno 135. Kot povratne vrednosti sinov vzamemo minimum med
hevrističnimi vrednostmi njihovih sinov. Zato je verjetnost, da bo povratna vrednost zaradi
hevristične napake manjša od a, večja od r = 1 – (1 – p)n, kjer je n število potomcev, ki imajo
minimalno vrednost med vsemi potomci. Verjetnost, da bo povratna vrednost napačnega sina
večja od njegove hevristične vrednosti, je zelo majhna, vsekakor pa je manjša od pn. Večja
Patologija preiskovanja v igri osmih ploščic
31
hevristična napaka poveča verjetnost p. Vendar pa je razlika med verjetnostma p1 in p2, ki
veljata za hevristični funkciji z različno hevristično napako, manjša kot razlika med
verjetnostma r1 in r2 (ker je pi < 0,5). Ker se torej razmere na 5. nivoju pri hevristični funkciji
z večjo hevristično napako in majhno zrnatostjo izboljšajo bolj kot razmere na 1. nivoju, to
povzroči manjšo patologijo.
3.4.2 Vpliv hevristične funkcije na patologijo preiskovanja
Poleg hevristične funkcije, ki jo dobimo, tako da cenam vozlišč prištejemo po Gaussu
porazdeljen šum z določenim standardnim odklonom, smo na primeru običajne igre osmih
ploščic preizkusili še nekatere druge hevristične funkcije.
V prvem poskusu smo primerjali optimistično in pesimistično hevristično funkcijo, ki smo
ju simulirali podobno kot prej omenjeno hevristično funkcijo. Namesto šuma, ki je lahko
povečal ali zmanjšal vrednost, smo v primeru optimistične hevristične funkcije od cen vozlišč
odšteli absolutno vrednost naključno generiranega šuma, v primeru pesimistične hevristične
funkcije pa smo cenam vozlišč prišteli absolutno vrednost šuma. Poskus je zanimiv, ker se v
praktičnih primerih običajno uporabljajo optimistične hevristične funkcije, ki zagotavljajo
algoritmom, kot je A*, da kot prvo najdeno rešitev vrnejo najboljšo možno rešitev problema,
predstavljenega s prostorom stanj. Sadikov in Bratko sta pokazala, da so pesimistične
hevristične funkcije v določenih primerih učinkovitejše od optimističnih. To lahko razberemo
tudi iz grafa 16, ki prikazuje patologijo preiskovanja v običajni igri osmih ploščic v odvisnosti
od zrnatosti hevristične funkcije za običajno, optimistično in pesimistično funkcijo.
0
0.2
0.4
0.6
0.8
1
1.2
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 128
512
2048
Zrnatost hevristične funkcije (g)
Pato
log
ija (
pat
5/1
)
optimistična običajna pesimistična
Graf 16. Patologija preiskovanja v običajni igri osmih ploščic v odvisnosti od zrnatosti
hevristične funkcije za optimistično, običajno in pesimistično hevristično funkcijo
V drugem poskusu smo napako hevristične funkcije simulirali z enakomerno
porazdeljenim šumom (v ostalih poskusih smo uporabljali šum z Gaussovo porazdelitvijo).
Preizkusili smo štiri različne hevristične funkcije z enakomerno porazdeljitvijo šuma, ki
simulira hevristično napako. Vrednosti hevrističnih funkcij smo dobili tako, da smo cenam
vozlišč prišteli enakomerno porazdeljen šum, ki je za pesimistično hevristično funkcijo lahko
zavzel vrednosti na intervalu [0, 6], za optimistični hevristični funkciji na intervalu [– 6, 0] in
pri hevrističnih funkcijah, ki nista bili ne pesimistični ne optimistični, na intervalih [– 3, 3] in
[– 6, 6]. Količina šuma v opisanih hevrističnih funkcijah je primerljiva s količino šuma, ki
smo ga uporabljali sicer ( = 2,5). Rezultate tega poskusa smo predstavili na grafu 17, ki
Patologija preiskovanja v igri osmih ploščic
32
prikazuje odvisnost patologije preiskovanja od zrnatosti hevristične funkcije za opisane
hevristične funkcije z enakomerno porazdelitvijo šuma in za hevristično funkcijo (z Gaussovo
porazdelitvijo šuma), ki smo jo uporabljali v ostalih poskusih. Vidimo, da je prag patologije
pri vseh hevrističnih funkcijah približno enak in da hevristične funkcije, v katerih smo
hevristično napako modelirali z enakomerno porazdeljenim šumom, pri veliki zrnatosti
povzročijo manj patologije, kot hevristična funkcija v kateri smo hevristično napako
modelirali z enakomerno porazdeljenim šumom. Tudi pri hevrističnih funkcijah z enakomerno
porazdeljenim šumom opazimo, da hevristične funkcije z majhno zrnatostjo in večjim šumom
povzročijo manj patologije kot hevristične funkcije z enako zrnatostjo in manjšim šumom ter
da je učinek količine šuma pri hevrističnih funkcijah z veliko zrnatostjo ravno obraten. Vpliva
optimističnosti in pesimističnosti hevristične funkcije na patologijo v primeru hevrističnih
funkcij z enakomerno porazdeljeno hevristično napako nismo zaznali.
0
0.2
0.4
0.6
0.8
1
1.2
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 128
512
2048
Zrnatost hevristične funkcije (g)
Pato
log
ija (
pat
5/1
)
"[0, 6]" "[-6, 0]" "[-3, 3]" "[-6, 6]" normalna porazdelitev
Graf 17. Odvisnost patologije preiskovanja od zrnatosti hevristične funkcije za hevristične
funkcije z enakomerno porazdelitvijo hevristične napake
V tretjem poskusu smo primerjali hevristične funkcije, ki smo jih izračunali tako, da smo
spremeili zrnatost Manhattanske hevristike. Ugotovili smo, da igranje običajne igre osmih
ploščic z uporabo Manhattanske hevristike z zmanjšano zrnatostjo, v povrečju ni patološko,
medtem ko je igranje z uporabo ostalih hevrističnih funkcij z zelo nizko zrnatostjo v
povprečju patološko. Zopet se je izkazalo, da večja zrnatost preprečuje patologijo. Kot smo
lahko pričakovali, povečevanje zrnatosti nad maksimalno vrednost, ki jo lahko zavzame
Manhattanska hevristična funkcija, ne prinese izboljšanja stopnje patologije. Stopnja
patologije pat 5/1 je pri maksimalni smiselni zrnatosti Manhattanske hevristike približno 0,85,
kar je podobno kot pri ostalih hevrističnih funkcijah s podobno zrnatostjo. Vendar pa stopnja
patologije pri vseh ostalih hevrističnih funkcijah, ki smo jih preizkusili, ob povečevanju
zrnatosti pade pod 0,8, pri nekaterih pa celo do približno 0,6. Manhattansko hevristično
funkcijo z zmanjšano zrnatostjo smo preizkusili le na običajni igri osmih ploščic, ker je
smiselnost uporabe te hevristične funkcije na ostalih različicah igre, ki imajo dovoljene tudi
diagonalne smeri premike prazne ploščice, vprašljivo.
Patologija preiskovanja v igri osmih ploščic
33
3.5 Interpretacija rezultatov s strojnim učenjem
Rezultate, ki smo jih v prejšnjih poglavjih razlagali z interpretacijo grafov, smo skušali
pojasniti tudi s pomočjo podatkovnega rudarjenja (angl. data mining). V ta namen smo
uporabili prostodostopen programski paket Orange [8], ki ga razvijajo na Fakulteti za
računalništvo in informatiko Univerze v Ljubljani.
Rezultate smo najprej analizirali s pomočjo asociacijskih pravil (angl. association rules).
Kot vhodne podatke smo podali 126 primerov s sedmimi atributi. Vsak primer je predstavljal
eno izmed obravnavanih različic igre osmih ploščic. Za atribute smo izbrali faktor vejitve,
podobnost bratskih vozlišč merjeno na osnovi korelacije in s pomočjo faktorja grozdenja ter
stopnjo patologije preiskovanja (pat 5/1) pri uporabi hevristične funkcije z zrnatostjo 8, 14, 36
in 2048. Vse atribute smo diskretizirali v štiri razrede z metodo diskretizacije z enako
frekvenco primerov, tako da je v vsak razred padlo približno 25 % primerov. Kot rezultat smo
dobili množico pravil, ki ni dovolj pregledna, da bi jo bilo smiselno navajati v celoti, zato
bomo podali samo povzetek. Prva množica pravil trdi, da različice iger, ki imajo visoko
patologijo pri določeni zrnatosti ohranijo stopnjo patologije tudi pri ostalih zrnatostih
hevristične funkcije. Druga skupina pravil trdi, da imajo različice igre z visokim faktorjem
vejitve visoko patologijo pri vseh opazovanih zrnatostih hevristične funkcije. Tretja skupina
pravil trdi, da imajo igre z visoko podobnostjo bratskih vozlišč (kar pomeni nizko korelacijo
in visok faktor grozdenja) nizko patologijo pri vseh zrnatostih hevristične funkcije in da imajo
igre z nizko podobnostjo bratskih vozlišč visoko stopnjo patologije pri vseh zrnatostih
hevristične funkcije. Četrta skupina pravil trdi, da sta si korelacija in faktor grozdenja obratno
sorazmerna.
V drugem poskusu smo kot atribut dodali še maksimalno število potez, ki jih v določeni
igri potrebujemo za rešitev najtežje postavitve (maxOD) ter atribut, ki pove koliko rešljivih
postavitev ima določena igra. Tudi v tem primeru smo dobili podobna pravila, poleg njih pa
še nekaj pravil, ki so govorila o lastnostih dveh dodanih atributov. Tako smo opazili tudi
pravilo, ki trdi, da imajo različice igre osmih ploščic z visokim faktorjem vejitve nizko
vrednost maxOD, kar smo že opisali v razdelku 2.3. Za igre z nizko vrednostjo maxOD pa
asociacijska pravila trdijo, da imajo visoko stopnjo patologije. Tudi to se sklada z našimi
ugotovitvami, saj imajo vse igre z nizkim maxOD visok faktor vejitve, igre z visokim
faktorjem vejite pa imajo tudi v povrečju visoko stopnjo patologije.
Kot metodo za razlago pridobljenih podatkov smo uporabili tudi metodo klasifikacijskega
drevesa (angl. classification tree). Tu smo programu podali 6048 primerov z 4 atributi. Za
vsako različico igre (126) in vsako zrnatost hevristične funkcije (48) smo podali po en primer,
ki je za atribute imel faktor vejitve (branching), podobnost merjeno s korelacijo (corell),
zrnatost hevristične funkcije (NumVal) in maxOD. Stopnjo patologije, ki jo drevo napoveduje
smo diskretizirali v tri razrede: nepatološki primeri (60 % primerov), primeri na meji
patologije (0,95 < pat 5/1 < 1,05) in patološki primeri (10 % primerov). Drevo, ki smo ga
dobili kot rezultat, je imelo klasifikacijsko točnost na učnih podatkih večjo kot 98 %, ko smo
ga porezali na maksimalno globino 5 je klasifikacijska točnost padla na 91 %. Programu
nismo podali podatkov za primere z zrnatostjo hevristične funkcije manjšo od 5, ker bi ga ti
podatki samo zavajali, saj patologija pri tako nizki zrnatosti močno niha od primera do
primera.
Drevo je narisano na sliki 10. Bela barva v tortnih grafih pomeni nepatološke primere, siva
primere na meji patologije, črna pa primere z visoko patologijo. Prva številka v kvadratu
vsakega vozlišča pomeni delež večinskega razreda, druga število primerov. V spodnji vrstici
je zapisano ime atributa glede na katerega se nadalje deli drevo ali pa oznaka razreda, v
katerega drevo klasificira primere danega vozlišča, kadar je le-to list drevesa. V korenu
Patologija preiskovanja v igri osmih ploščic
34
drevesa se primeri razdelijo glede na zrnatost hevristične funkcije. Med primeri z zrnatostjo
hevristične funkcije nad 15 je le 2 % primerov z visoko patologijo in 22 % primerov, ki so na
meji patologije. Med primeri z zrnatostjo hevristične funkcije manjšo ali enako 15 je manj kot
6 % nepatoloških primerov in 7 % primerov z visoko patologijo. To potrjuje ugotovitev, da
visoka zrnatost hevristične funkcije zavira patologjo. Primeri z nizko zrnatostjo se naprej
delijo glede na podobnost bratskih vozlišč merjeno s korelacijo. Primeri z visoko korelacijo
niso nikoli patološki, kar nam potrdi ugotovitev, da visoka podobnost bratskih vozlišč v
preiskovanem drevesu zavira patologijo. Primeri z nizko zrnatostjo in podobnostjo se delijo
naprej glede na faktor vejitve. Primeri s faktorjem vejitve manjšim od 2 so bolj patološki.
Tudi na to smo že opozorili, ko smo govorili o različicah igre osmih ploščic z nizkim
faktorjem vejitve in visoko stopnjo patologijo, za katere je značilno, da imajo le tri dovoljene
smeri premika prazne ploščice (glej razdelek 2.3). Nadaljna vejitev tega vozlišča ni zanimiva,
ker govori le o zelo majhnem številu posebnih iger. Ostali primeri, ki jih je bistveno več, se
naprej delijo glede na zrnatost hevristične funkcije. Zopet se pokaže, da so primeri z večjo
zrnatostjo manj patološki.
Primeri z zrnatostjo nad 15 se delijo glede na maxOD, ki je približno obratno sorazmeren
faktorju vejitve. Manjši del primerov z majhnim maxOD, ki pomeni večji faktor vejitve, je
bolj patološki in se naprej deli glede na zrnatost hevristične funkcije, podobnost bratskih
vozlišč merjeno s korelacijo in maxOD. Delitve pokažejo, da večja zrnatost hevristične
funkcije in večja podobnost bratskih vozlišč zavira patologijo in da manjši maxOD, ki pomeni
večji faktor vejitve, povečuje stopnjo patologije. Večina primerov (3367) ima visoko zrnatost
hevristične funkcije (≥15,5) in visok maxOD (≥29). Ti primeri se zopet delijo glede na faktor
vejitve, tako da na levi veji ostanejo primeri različic igre osmih ploščic, ki imajo le tri
dovoljene smeri premika prazne ploščice. Desna veja se zopet deli glede na zrnatost
hevristične funkcije. Tudi ta delitev pokaže, da visoka zrnatost hevristične funkcije zavira
patologijo.
Slika 10. Odločitveno drevo, ki napoveduje stopnjo patologije za različice igre osmih ploščic
pri različnih zrnatostih hevristične funkcije.
Poleg zgoraj opisanih rezultatov, ki smo jih pridobili s pomočjo algoritmov za generiranje
asociacijskih pravil in klasifikacijskih dreves, smo uporabili tudi nekatere druge metode, kot
so regresijska drevesa, naivni Bayesov klasifikator, metoda k najbližjih sosedov in algoritem
CN2, vendar so bili rezultati vedno zelo podobni, zato jih tu ne navajamo.
Metode storjnega učenja, ki smo jih uporabili, so potrdile, da meri za podobnost bratskih
vozlišč na osnovi korelacije in na osnovi faktorja grozdenja dajeta podobne rezultate in da
večja zrnatost in večja stopnja podobnosti bratskih vozlišč zavirata pojav patologije
Patologija preiskovanja v igri osmih ploščic
35
preiskovanja. S pomočjo podatkovnega rudarjenja smo potrdili ugotovitev, da se igre s 3
dovoljenimi smermi premika prazne ploščice močno razlikujejo od ostalih in da so dosti bolj
patološke. Za ostale igre se je izkazalo, da so tiste z večjim maxOD pogosto manj patološke in
da visok faktor vejitve povzroči nizek maxOD, kar pomeni da večji faktor vejitve lahko
potencira patologijo preiskovanja v različicah igre osmih ploščic.
Patologija preiskovanja v igri osmih ploščic
36
4 Sklepne ugotovitve
Po vseh opravljenih poskusih lahko z veliko gotovostjo trdimo, da smo izbrali primerno
hevristično funkcijo, saj smo pokazali, da uporaba drugačnih hevrističnih funkcij na rezultate
bistveno ne vpliva. Smiselnost vpeljave različic igre osmih ploščic smo pokazali s primerjavo
prostorov stanj različic igre in običajne igre. V poskusih smo uporabljali le različice igre
osmih ploščic, ki imajo 9!/2 in 9! rešljivih postavitev. Pokazali smo tudi, da so si igre s
podobno (prezrcaljeno ali zarotirano) razporeditvijo dovoljenih smeri premika prazne ploščice
med sabo zelo podobne. Razlike v podobnosti bratskih vozlišč med različicami igre osmih
ploščic so razmeroma majhne, vendar vseeno dovolj velike, da smo lahko izluščili vpliv
podobnosti bratskih vozlišč na patologijo. Razlike v faktorju vejitve med različicami igre
osmih ploščic so nekoliko večje, vendar ne dovolj velike, da bi lahko nedvomno potrdili vpliv
faktorja vejitve na patologijo preiskovanja za opazovane probleme.
Za vse obravnavane različice igre osmih ploščic smo pokazali, da povečevanje zrnatosti
hevristične funkcije zavira patologijo. Trditev velja za vse hevristične funkcije, ki smo jih
preizkusili, in se sklada z rezultati ostalih raziskav s področja patologije preiskovanja (npr.
[15]). Vpliv zrnatosti hevristične funkcije na patologijo preiskovanja v igri osmih ploščic je
močnejši od vpliva podobnosti bratskih vozlišč in faktorja vejitve, to pa pripisujemo
razmeroma ozkem razponu možnih vrednosti za podobnost bratskih vozlišč in faktor vejitve.
Različice igre osmih ploščic za katere je značilna večja podobnost bratskih vozlišč imajo
nižjo stopnjo patologije, kot igre z manjšo podobnostjo bratskih vozlišč. To smo pokzali z
merjenjem podobnosti bratskih vozlišč na osnovi korelacije in s pomočjo faktorja grozdenja.
Pokazali smo, da sta obe metodi primerni in precej podobni. Vpliv podobnosti bratskih
vozlišč na patologijo je manj očiten kot vpliv zrnatosti hevristične funkcije, kar je razumljivo
saj na naravo različic igre osmih ploščic ne moremo vplivati, medtem ko na izbiro hevristične
funkcije lahko. V poskusih nismo mogli povsem izločiti vpliva ostalih dejavnikov na
patologijo preiskovanja, vendar so bili ti vplivi dovolj majhni, da nas niso bistveno motili.
Tudi opisan vpliv podobnosti bratskih vozlišč na patologijo preiskovanja se sklada z rezultati
ostalih objavljenih raziskav (npr. [15]).
Vpliva faktorja vejitve na patologijo preiskovanja v igri osmih ploščic in njenih različicah
nismo uspeli neizpodbitno dokazati, vseeno pa smo objektivno predstavili rezultate, ki jih
lahko bralec sam interpretira. Po trditvah ostalih raziskav [10], [11] in [15] naj bi večji faktor
vejitve potenciral patologijo, kar lahko opazimo tudi v večini opazovanih primerov različic
igre osmih ploščic, vendar pa smo opazili, da temu vedno ni tako. Glavni problem, ki nas je
oviral, je to, da nismo mogli opazovati le vpliva faktorja vejitve na patologijo, temveč so na
rezultate vplivali tudi drugi dejavniki.
Za hevristične funkcije, v katerih smo hevristično napako simulirali s šumom z normalno
porazdelitvijo, smo pokazali, da stopnja napake, ki smo jo kontrolirali s standardniom
odklonom porazdelitve šuma, vpliva na stopnjo patologije. Večji šum pri hevrističnih
funkcijah z veliko zrnatostjo patologijo povečuje, medtem ko jo pri hevrističnih funkcijah z
majhno zrnatostjo zmanjšuje. Podobnih rezultatov v pregledani litraturi nismo našli, zato bi
bilo v prihodnosti smiselno preveriti ali ta trditev velja le za igro osmih ploščic ali pa jo je
mogoče posplošiti tudi na druge probleme.
Rezultate smo previrili tudi s pomočjo metod strojnega učenja. Asociacijska pravila in
klasifikacijska drevesa, ki smo jih generirali s programom Orange, so potrdili pravilnost naše
interpretacije izračunanih podatkov. Izkazalo se je tudi, da so različice igre osmih ploščic, v
katerih za rešitev najtežje možne postavitve potrebujemo malo potez (npr. <26) in imajo visok
faktor vejitve ter mnogo dovoljenih smeri premika prazne ploščice, bolj nagnjene k pojavu
Patologija preiskovanja v igri osmih ploščic
37
patologije preiskovanja. Asociacijska pravila so nam pokazala tudi to, da so različice igre
osmih ploščic z visoko stopnjo patologije bolj patološke od ostalih pri vseh zrnatostih
hevristične funkcije in da zato tudi s povečevanjem zrnatosti ne moremo popolnoma zavreti
pojava patologije preiskovanja.
Zaključimo lahko, da se patologiji preiskovanja lahko izognemo, če rešujemo probleme z
veliko podobnostjo bratskih vozlišč in uporabljamo hevristične funkcije z dovolj veliko
zrnatostjo. Kljub temu pa se nam včasih lahko zgodi, da bomo ob reševanju nekaterih
problemov z globjim preiskovanjem dosegli slabše rezultate, kot bi jih s plitvejšim
preiskovanjem. V nadaljevanju dela bi bilo zanimivo razviti metodo za dinamično določanje
globine preiskovanja, saj smo pokazali, da je problem patologije v igri osmih ploščic prisoten
le v določenih postavitvah, v ostalih pa ga ni ali je zanemarljiv.
Večino rezultatov, ki so opisani v pričujoči diplomski nalogi smo objavili tudi v referatu z
naslovom Pathology of 8-Puzzle, ki je bil objavljen v zborniku 10. mednarodne
multikonference Informacijska družba, Ljubljana, 2007 [19].
Patologija preiskovanja v igri osmih ploščic
38
5 Angleško-slovenski slovar strokovnih izrazov
admissible heuristic function popolna hevristična ocenjevalna funkcija
association rules asociacijska pravila
backed-up value povratna vrednost
best-first strategija najprej najboljši
branching factor faktor vejitve
classification tree klasifikacijsko drevo
clustering factor faktor grozdenja
complete search algorithm poln preiskovalni algoritem
data mining podatkovno rudarjenje, iskanje zakonitosti v podatkih
depth of lookahead globina preiskovanja
granularity of heuristic function zrnatost hevristične funkcije
incomplete search algorithm delni preiskovalni algoritem
minimax pathology patologija minimaksa
NP-hard NP-težek
real-time algorithm algoritem s takojšnjim odzivom
similarity of sibling nodes podobnosti bratskih vozlišč
single-agent search enoagentno preiskovanje
Patologija preiskovanja v igri osmih ploščic
39
6 Literatura
[1] D. F. Beal, 1980 "An analysis of minimax," v zborniku Advances in Computer Chess 2,
Edinbugrh, VB, 1980, str. 103–109.
[2] D. F. Beal, 1982 "Benefits of minimax search," v zborniku Advances in Computer Chess
3, Oxford, VB, 1982, str.17–24.
[3] G. E. P. Box, M. E. Muller, "A note on the generation of random normal deviates," The
Annals of Mathematical Statistics, št. 29, zv. 2, str. 610–611, 1958.
[4] I. Bratko, Prolog programming for artificial intelligence 3rd ed., Harlow:
Addison-Wesley, 2001
[5] V. Bulitko, "Lookahead pathologies and meta-level control in real-time heuristic search,
" v zborniku 15th
Euromicro Conference on Real-Time Systems, Porto, Portugalska, 2003,
str. 13–16.
[6] V. Bulitko, Lihong Li, R. Greiner, I. Levner, "Lookahead pathologies for single agent
search,". v zborniku 18th
International Joint Conference on Artificial Intelligence,
Acapulco, Mehika, 2003, str. 1531–1533.
[7] (2007) E. F. Jr. Carter, Generating Gaussian Random Numbers. Dostopno na:
http://www.taygeta.com/random/gaussian.html
[8] J. Demšar, B. Zupan, G. Leban, "Orange: From Experimental Machine Learning to
Interactive Data Mining", Univerza v Ljubljani, Fakulteta za računalništvo in
informatiko, 2004. Dostopno na: www.ailab.si/orange.
[9] P. E. Hart, N. J. Nilsson, B. Raphael, "A formal basis for the heuristic determination of
minimum cost paths," IEEE Transactions on Systems Science and Cybernetics, št. 4, zv.
2, str. 100–107, 1986.
[10] B. Kaluža, M. Luštrek, M. Gams, "Patologija minimaksa v sintetičnih drevesih in
Pearlovi igri, " v zborniku 10. mednarodne multikonference Informacijska družba,
Ljubljana, Slovenija, 2007, str. 84–87.
[11] B. Kaluža, M. Luštrek, M. Gams, A. Tavčar, (2007). "Pathology in Minimax Searching,"
v zborniku 16. mednarodne Elektrotehniške in računalniške konference, Portorož,
Slovenija, 2007, str. 111–114.
[12] B. Kaluža, A. Tavčar, "Patologija pri preiskovanju z minimaksom," Poročilo o
seminarski nalogi pri predmetu UISP, Univerza v Ljubljani, Fakulteta za računalništvo in
informatiko, 2007.
[13] R. E. Korf, "Real-time heuristic search," Artificial Intelligence, št. 42, zv. 2–3, 1990, str.
189–211.
[14] D. R. Kunkle, 2001 "Solving the 8 Puzzle in a Minimum Number of Moves: An
Application of the A* Algorithm," Introduction to Artificial Intelligence, College of
Computing and Information Sciences, Rochester Institute of Technology, 2001.
[15] M. Luštrek, "Patologija v hevrističnih preiskovalnih algoritmih," doktorska disertacija,
Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, 2007.
[16] M. Luštrek, "Pathology in single-agent search," v zborniku 8. mednarodne
multikonference Informacijska družba, Ljubljana, Slovenija, 2005, str. 345–348.
[17] D. S. Nau, "Quality of decision versus depth of search on game trees," doktorska
disertacija, Duke University, 1979.
[18] J. von Neumann, "Zur Theorie der Gesellshaftsspiele," Mathematische Annalen, št. 100,
1928, str. 295–320.
Patologija preiskovanja v igri osmih ploščic
40
[19] R. Piltaver, M. Luštrek, M. Gams, "Search Pathology of 8-Puzzle," v zborniku 10.
mednarodne multikonference Informacijska družba, Ljubljana, Slovenija, 2007, str. 95–
98.
[20] A. Reinefeld, "Complete Solution of the Eight-Puzzle and the Benefit of Node Ordering
in IDA*," v zborniku 13th
International Joint Conference on Artificial Intelligence,
Chambéry, France, 1993, str. 248–253.
[21] D. Ratner, M. K. Warmuth, "Finding a shortest solution for the N × N extension of the
15-Puzzle is intractable," v zborniku AAAI National Conference on Artificial
Intelligence, Philadelphia, Pennsylvania, 1986, str. 168–172.
[22] D. Ratner, M. K. Warmuth, "The (n2 – 1)-Puzzle and related relocation problems,"
Journal of Symbolic Computation, št. 10, zv. 2, 1990, str. 111–137.
[23] (2007) M. Ryan, Solvability of the Tiles Game. Dostopno na:
http://www.cs.bham.ac.uk/~mdr/teaching/modules04/java2/TilesSolvability.html
[24] A. Sadikov, "Širjenje napak hevrističnih ocen v preiskovanju grafov iger," doktorska
disertacija, Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, 2005.
[25] A. Sadikov, I. Bratko, (2006). "Pessimistic Heuristics Beat Optimistic Ones in Real-Time
Search,". v zborniku European Conference on Artificial Intelligence, Riva del Garda,
Italija, 2006, str. 148–152.
[26] K. Thompson, "Retrograde analysis of certain endgames,". ICCA Journal, št. 9, zv. 3,
1986, str. 131–139.
[27] (2007) Wikipedia: Correlation. Dostopno na: http://en.wikipedia.org/wiki/Correlation