Patologija preiskovanja v igri osmih ploščic - dis.ijs.si · univerza v ljubljani fakulteta za...

49
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

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

Patologija preiskovanja v igri osmih ploščic

41

7 Izjava o avtorstvu

Izjavljam, da sem diplomsko delo izdelal samostojno pod vodstvom mentorja akad. prof.

dr. Ivana Bratka. Izkazano pomoč drugih sodelavcev sem v celoti navedel v zahvali.