You are on page 1of 84

Vetaka inteligencija

Osnovni koncepti VI
Postoji vie razliitih prilaza kod izgraivanja sistema
VI.
Poto je inteligentno ponaanje svojstveno ivim
bidima, samim tim su i neki pristupi podstaknuti ved
postojedim prirodnim reenjima.
Bitne karakteristike biolokih sistema su da se mogu
samoorganizovati, da su distribuirani (u smislu
obrade podataka) i da procesi teku paralelno.
Ideja je da se izgradi vetaki sistem po ugledu na
prirodni, koji de se dalje samostalno razvijati, uiti i
samoorganizovati.
Osnovni koncepti VI
Jedan od pristupa je vezan za neuronsku
organizaciju mozga gde se smatra da postojanje
velikog broja nervnih delija i veza izmeu ovih delija
- prirodna neuronska mrea ima presudnu ulogu za
inteligentno ponaanje
Vetaka neuronska mrea moe se softverski
simulirati na raunaru ili izgraditi hardverski
pomodu fizikih elemenata.
Osnovno svojstvo takve mree je adaptivnost, tj.
moe se obuavati na osnovu poznatih uzoraka
podataka.
Osnovni koncepti VI
Usled velike sloenosti prirodne neuronske mree ,
tj. mozga, i velikog broja neurona - procenuje se da
u ljudskom mozgu ima reda veliine 10
10
neurona,
jo uvek smo veoma daleko od vetake neuronske
mree uporedive sa prirodnom, kako po svojoj
strukturi tako i po kvantitetu
Iz prirode je takoe i pristup koji se bazira na
prirodnoj evoluciji, jer se smatra da je prirodna
inteligencija nastala u procesu evolucije koji se pre
svega bazira na mutacijama i selekciji.
Ideja je da se imitira ovaj proces i da se vetakom
evolucijom polazedi od jednostavnijih doe do
inteligentnijih sistema
Osnovni koncepti VI
Osnovni problemi i tekode su u tome da vetaka
evolucija treba da bude mnogo bra (!?) i efikasnija
od prirodne, dok istovremeno sami mehanizni
prirodne evolucije nisu sasvim jasni ni poznati
Drugaiji od ovog prirodnog pristupa je tzv.
simboliko - algoritamski pristup koji se bazira na
programiranju u kome se koriste operacije sa
simbolima, heuristiko programiranje, tj. primena
raznih metoda, pravila i strategija za reavanje
problema. Primeri ovakvog pristupa su ahovske
maine, prepoznavanje oblika, ES itd.
Prostor Stanja
Reavanje problema koridenjem VI zahteva
adekvatno predstavljanje problema, kao i izbor
odgovarajudeg postupka - strategije reavanja
problema.
Jedna od osnovnih ideja koja je potekla iz
istraivanja u oblasti VI, je mogudnost predstavljanja
problema koji se reava na univerzalan nain,
nezavisno od konkretnog sadraja problematike i
oblasti. Peter Jackson, Introduction to Expert
Systems, Second Edition
Ovo predstavljanje se bazira na uoenim slinostima
koje se javljaju u velikom broju razmatranih
problema.
Prostor Stanja
Proces reavanja mnogih, ako ne svih problema
moe se na pogodan nain predstaviti ako se
zadatku ili problemu koji se reava pristupa sa
aspekta stanja
Postavljen problem predstavlja neko poetno stanje,
dok reen problem moe da predstavlja konano
stanje do koga treba dodi
Postupci koji se koriste pri reavanju problema
dovode do prelaska iz poetnog stanja u konano
stanje preko niza meustanja
To se veoma lepo moe ilustrovati na primeru
partije aha
Prostor Stanja
Poetno stanje predstavlja poetni razmetaj figura
Prvo sledede novo stanje je posle prvog poteza
belog itd.
Potezi su operacije koje dovode do promene stanja
Partija je u stvari niz stanja koja se smenjuju sve do
konanog stanja.
Konano stanje je odreeno zavrnim rasporedom
figura (mat, pat, remi).
Reavanje problema se onda svodi na nalaenje niza
operacija koje dovode do reenja problema, tj. do
zavrnog stanja.
Prostor Stanja
Matematiki proces reavanja problema moe se
predstaviti ureenom etvorkom
gde je S skup svih stanja, S
0
_S skup poetnih stanja,
T_S skup terminalnih - zavrnih stanja, dok je F skup
operatora kojima se skup poetnih stanja prevodi u
skup zavrnih stanja
Svaki operator feF je neka funkcija definisana na
S
f
_S sa vrednostima u S, f: S
f
S. Reenje zadatka je
predstavljeno nizom operatora f
1
, f
2
, ..., f
n
, tako da
za stanje seS
0
kompozicija operatora f
1
f
2
f
3
...f
n
(s) eT
Heuristiko pretraivanje moe se vriti na dva
osnovna sistema, sistemu produkcije i redukcije
Sistemi produkcije
Stanja se u sistemima produkcije opisuju skupom
obeleja i nazivaju se N stanjima. Analogno definiciji
(1.1) neka je S skup svih N stanja, P konaan skup
operatora - pravila produkcije, S
0
skup poetnih
stanja S
0
_S i T skup terminalnih stanja T_S
Dva stanja s
x
i s
y
su susedna ako postoji operator
peP koji s
x
transformie u s
y
. p(s
x
)=s
y
Put od s
a
do s
b
je konaan niz s
1
, s
2
, ..., s
n
tako da za
svako i s
i
eS, s
1
=s
a
, s
n
=s
b
, i s
i
je susedno sa s
i+1
.
Stanje s
b
je dostupno iz s
a
ako postoji put iz s
a
u s
b
,
to se oznaava sa s
a
s
b


Sistemi produkcije
Skup N - stanja delimino ureen relacijom
susedstva koja je odreena skupom pravila P, zove
se prostor stanja
Reenje zadatka u prostoru stanja je put s
p
s
t
gde
je s
p
eS
0
, a s
t
eT
Prostor stanja moe se predstaviti pomodu grafa
vorovi u grafu odgovaraju stanjima, a grane grafa
su operatori koji deluju na stanja i transformiu ih u
nova susedna stanja - vorove grafa
Delovanje operatora na vor grafa naziva se
otvaranje vora, ime nastaju novi susedni vorovi
potomci (sledbenici, naslednici)
Sistemi produkcije
Ako je iz nekog proizvoljnog stanja s mogude
primenom operatora p
1
, p
2
, ..., p
n
predi u stanja s
1
,
s
2
, ..., s
n
, tada na grafu iz vora sa oznakom s (slika
1) vode usmerene grane u vorove naslednike sa
oznakama s
1
, s
2
, ..., s
n

p
1
p
2
... p
n
s
s
1
s
2 s
n

Reavanje problema na grafu predstavlja nalaenje
reavajudeg puta grafa - niza uzastopnih grana grafa
koje povezuju vor iz skupa poetnih vorova sa vorom
iz skupa zavrnih vorova
Sistemi produkcije
Nalaenje reavajudeg puta grafa vri se
pretraivanjem prostora stanja koje se moe izvesti
na razne naine
Broj mogudnosti odnosno perspektivnih vorova se
povedava sa svakim novim otvaranjem vora, to
moe da dovede do ogromnog porasta broja
mogudnosti - tzv. kombinatorne eksplozije
(Combinatorial explosion)
Za efikasno pretraivanje potrebno je dodi do
efikasne heuristike, tj. do znanja o svojstvima
prostora pretrage ime se smanjuje broj generisanih
vorova, tj. suava prostor pretrage
Sistemi redukcije
U sistemima redukcije stanja su odreena izrazima R
i
=
(s
a
s
b
) gde su s
a
i s
b
N - stanja. Stanja R
i
kod sistema
redukcije nazivaju se R stanja
Sistem redukcija u stvari omogudava svoenje
problema na potprobleme
Ako je na R - stanje R
1
= (s
a
s
b
) primenljiv operator iz
skupa produkcija P koji s
a
transformie u s
c
, onda
njegova primena odgovara primeni operatora redukcije
koji stanje R
1
= (s
a
s
b
) redukuje na R
2
= (s
c
s
b
)
Time se zadatak nalaenja puta iz s
a
u s
b
svodi na
nalaenje puta iz s
c
u s
b
Terminalni korak u sistemu redukcija je prepoznavanje
stanja R
t
=(s
b
s
b
).


Sistemi redukcije
Reenje zadatka u sistemu redukcije je niz R stanja
dostupnih primenom neterminalnih koraka poevi
od poetnog stanja i zavrno sa stanjem na koje je
primenljiv terminalni korak
Neterminalni korak se sastoji u primeni operatora
produkcije iz skupa P na levo N - stanje u okviru R
stanja
U sistemu redukcije reenje se dobija
dekompozicijom tekudeg zadatka na dva
podzadatka od kojih je jedan poznat, a reenje
drugog zadatka se trai narednim redukcijama sve
do terminalnog koraka
Sistemi redukcije
U reenju zadatka koje je dato nizom R - stanja u
sistemu redukcija, niz levih N stanja predstavlja
reavajudi put u sistemu produkcija
U optem sluaju moe biti vie mogudnosti za
dekompoziciju problema kada se i reenja izraavaju
razliitim nizovima R stanja
Za predstavljanje prostora R stanja kod sistema
redukcije koriste se propozicioni I/ILI grafovi
Svaki vor kod I/ILI grafa predstavlja jedno R-stanje
tj. podzadatak
Grane grafa predstavljaju operatore svoenja na
podzadatke
Sistemi redukcije
Postoje dve vrste vorova, i to su konjuktivni I i
disjunktivni ILI vorovi.
Za reenje zadatka treba reiti sve podzadatke u I
vorovima ili bar jedan od podzadataka u ILI
vorovima


R
R
1

R
2
R
3
R
11 R
12
R
31
R
32
Na slici 2 predstavljen je I/ILI graf za reavanje zadatka
predstavljenog vorom R.
Potrebno je reiti bilo koji od podzadataka R
1
, R
2
ili R
3

jer je R ili vor
Sistemi redukcije
Za reavanje podzadataka predstavljenih vorovima
R
1
i R
3
, potrebno je prethodno reiti sve njihove
podzadatke - R
11
i R
12
, odnosno R
31
i R
32
Predstavljanje reenja na I/ILI grafu kod redukcionih
sistema odgovara nalaenju reavajudeg podgrafa
I/ILI grafa
Terminalnim vorovima odgovara Bulova konstanta
1, dok nereivom zadatku odgovara konstanta 0
Kao primer za reavanje problema sistemom
redukcija, tj. dekompozicije na podzadatke,
razmotride se postupak reavanja integrala
Sistemi redukcije
Ovaj postupak je predstavljen I/ILI grafom na slici
Zavrna stanja na grafu su dvostruko uokvirena
( )dx x x 1 ln +
}
}
zdz z ln ) 1 (
) 1 ln(
2
1
2
+ x x
}
+
dx
x
x
1
1
2
1
2
dx
x
x
}
|
.
|

\
|
+
+
1
1
1
2
1
z z z ln
2
1
2
|
.
|

\
|

}
|
.
|

\
|
dz
z
z z
1
2
1
2
}
|
.
|

\
|
dz
z
1
2
}
zdz
2
1
}
dz
}
xdx
2
1
}
dx
2
1
}
+
dx
x 1
1
2
1
}
dt
t
1
2
1
smena z=x+1
parcijalna int.
u=ln(x+1), dv=xdx
parcijalna int.
u=lnz, dv=(z-1)dz
deljenje
deljenje
dekompozicija
dekompozicija
smena x+1=t
Strategije pretraivanja
Pretraivanje u prostoru stanja moe se vriti na
veliki broj naina
Poseban problem koji se javlja pri pretraivanju
prostora stanja da bi se dolo do terminalnog vora,
predstavlja injenica da je u velikom broju problema
od praktinog znaaja prostor pretraivanja
ogroman
Pri pretraivanju, broj mogudih puteva koje treba
ispitati u prostoru stanja stalno se povedava sa
brojem otvorenih vorova
Strategije pretraivanja
Pretraivanje nasuminim, sluajnim lutanjem i
otvaranjem vorova ne predstavlja efikasan nain
pretraivanja, zbog ega je neophodno odabrati
neki ureen nain i redosled pretraivanja prostora
stanja.
Konkretan nain pretraivanja u prostoru stanja
naziva se Strategija Pretraivanja (SP)
SP suavaju prostor pretrage tako da se smanjuje
broj mogudih puteva koje treba ispitati, i vre
usmeravanje pretrage ka perspektivnim vorovima
koji bi mogli da vode ka reenju
Adekvatna SP moe u velikoj meri da skrati vreme
pretraivanja
Strategije pretraivanja
SP treba da odredi koji de se vor od svih do tada
generisanih vorova slededi otvoriti, kao i to koji de se
od mogudih razliitih operatora i kojim redosledom
primeniti na izabrani vor
Efikasnost SP najvie zavisi od stepena poznavanja
problemskog domena
Prema stepenu primene znanja o problemskom
domenu za pretraivanje, SP mogu se podeliti na
sintaksne strategije ili strategije slepog pretraivanja i
heuristike strategije
Sintaksne SP karakteriu se potpunim odsustvom bilo
kakvog usmeravanja pri pretraivanju, i sistematski na
odreen nain pretrauju itav prostor stanja
Strategije pretraivanja
Jedini kriterijum pri slepom pretraivanju je
sistematinost, tj ispituju se sva moguda stanja kao
jednako verovatna
Slepo pretraivanje spada u tzv. metode grube sile
(Brute force)
Zajedniko za sve metode slepog pretraivanja je da se
primenom operatora na poetni vor generie novi vor
(Generate and Test)
Za dati generisani novi vor proverava se da li
predstavlja reenje
Ako jeste reenje, pretraivanje se obustavlja. Ako nije
reenje, generie se slededi vor i postupak se ponavlja
Strategije pretraivanja
Sintaksne i heuristike strategije se mogu podeliti
na dva tipa prema tome da li je mogude vradanje
na prethodno otvoreni vor ili ne
Probne strategije dozvoljavaju vradanje na ved
otvorene vorove, dok nepovratne strategije to ne
omogudavaju
Ukoliko se izborom nekog stanja, tj. vora utvrdi da
se ne moe dodi do reenja na pr. vor nema
potomaka), onda se vri vradanje na prethodno
analizirani vor i pokuava se sa nekim drugim od
prethodno zanemarenih mogudih vorova reenja,
tj. primenjuje se neki drugi operator
Strategije pretraivanja
Ovakav postupak gde je mogude preusmeravanje
pretraivanja na neki od ranije generisanih vorova,
naziva se backtracking
Heuristike strategije pretraivanja se odlikuju
izvesnim znanjem o problemskom domenu
U graninom sluaju potpunog znanja nikakvo
pretraivanje prostora stanja nije potrebno, ved se
do reenja tj. zavrnog vora dolazi direktno bez
ikakvog pretraivanja prostora stanja
Primer predstavlja algoritamsko reenje gde nema
pretraivanja, ved se do reenja dolazi po unapred
poznatom postupku koji je opisan algoritmom.
Strategije pretraivanja
Osnovne metode slepog pretraivanja, su
pretraivanje po dubini (Depth first search), i
pretraivanje po irini (Breadth first search)
I jedna i druga metoda poinju od skupa poetnih
stanja - vorova na koje se primenjuju operatori i
dobijaju se novi vorovi
Cilj je pronadi zavrni vor koji odgovara zavrnom
stanju u procesu reavanja problema, posle ega se
pretraivanje obustavlja
Po otvaranju vora proverava se da li je
novodobijeni vor zavrni
Strategije pretraivanja
Ako vor nije zavrni, onda se u tom voru postavlja
pokaziva na prethodni vor
Uloga pokazivaa je za obeleavanje reavajudeg
puta i dolazi do izraaja kada treba nadi reavajudi
put posle nalaenja zavrnog vora
Niz vorova koji odreuju reavajudi put lako se
nalazi polazedi od pokazivaa zavrnog vora koji
ukazuje na prethodni vor, i tako sve do polaznog
vora koji odgovara poetnom stanju reavanja
problema
Ovakav sistem oznaavanja je slian nainu na koji
operativni sistem DOS oznaava dugake fajlove koji
se prostiru na vie klastera, pomodu FAT tabele
Strategije pretraivanja
Svako polje FAT tabele odgovara jednom klasteru na
disku ili disketi
U polju FAT tabele koje odgovara zauzetom klusteru
upisuje se adresa slededeg klastera fajla, ili ako je
klaster zadnji upisuje se oznaka za kraj
Adresa prvog klastera fajla nalazi se u direktorijumu
u kome se fajl nalazi
Osnovna razlika u odnosu na oznaavanje vorova
reavajudeg puta je da se u FATu- vri oznaavanje
unapred, a kod vorova unazad
Strategije pretraivanja
Svi vorovi dobijeni neposredno od poetnog skupa
vorova, su vorovi prvog nivoa
Svi vorovi dobijeni od jednog vora, primenom raznih
operatora, su sledbenici tog vora
Ako svaki vor ima samo jednog prethodnika onda
odgovarajudi graf predstavlja drvo
Poetni vor drveta izuzetno nema prethodnika i naziva
se koren
Nivo vora predstavlja rastojanje od poetnog vora
Dubina reenja predstavlja nivo zavrnog ili terminalnog
vora
Ako je novodobijeni vor zavrni, dalje pretraivanje se
obustavlja i na osnovu postavljenih pokazivaa moe se
nadi zavrni put
Pretraivanje po dubini
Kod pretraivanja po dubini generie se jedan od
sledbenika poetnog vora i ispituje se da li je novo
dobijeni vor zavrni
Ako nije, i ukoliko novi vor ima sledbenika,
prednost se daje sledbeniku, u odnosu na
eventualno postojede vorove istog nivoa koji kao i
ispitivani vor imaju zajednikog pretka i koji se
dobijaju delovanjem nekih drugih operatora na isti
vor
Naziv za ovakve vorove je siblings
Primenom operatora na pomenuti ispitivani vor,
dobija se slededi vor - sledbenik (succesor) na
nivou ispod
Pretraivanje po dubini
Kada se stigne do vora koji nema sledbenika, vrada
se jedan nivo vie do prethodnika i ako postoji
razmatra se slededi vor sledbenik
Ukoliko su svi vorovi sledbenici ved ispitani ide se
do slededeg prethodnika na slededem viem nivou
dok se ne generie novi vor sledebenik kada se
nastavlja pretraivanje u dubinu
Postupak se ponavlja sve dok se ne nae zavrni
vor
Na slici je dat grafiki prikaz pretraivanja u dubinu.
Pretraivanje po dubini
Brojevi odreuju redosled otvaranja vorova
vorovi 3, 4, 6 i 7 nemaju naslednika, i zato je potrebno po
otvaranju ovih vorova vratiti se nazad jedan ili vie nivoa da
bi se stiglo do vorova koji imaju jo neispitane naslednike - 1,
2,5
, kod pretraivanja po dubini, primat u otvaranju ima
najnoviji, tj. zadnje otvoreni vor u odnosu na sve ostale
vorove
Ako nema sledbenika, vradamo se na prethodni vor i
delujemo sa nekim drugim operatorom koji daje novi vor
Pretraivanje po irini
Pretraivanjem po irini prvo se generiu svi vorovi
sledbenici poetnog vora primenom razliitih
operatora
Ako nijedan od vorova nije zavrni vor, generiu se
svi vorovi slededeg nivoa
Pretraivanje po svim vorovima date dubine i
generisanje svih vorova sledede nove dubine
zavrava se nalaenjem zavrnog vora
Na slededoj slici grafiki je prikazan sluaj
pretraivanja po irini
Pretraivanje po irini
Dobra osobina pretraivanja po irini je da nalazi
najkradi put do reenja ukoliko reenje postoji
Na primer, ako su na slici 4 vorovi koji predstavljaju
reenje oznaeni sa 3 (drugi nivo sasvim levo) i 5 (prvi
nivo desno), onda su na slici 5 ti isti vorovi oznaeni sa
4 i 3
Pretragom u dubinu nadi de se vor na drugom nivou
koji predstavlja reenje, ali je to reenje na vedem
rastojanju od poetnog vora
Pretraivanje po irini
Pretraivanje po irini de dati kao reenje vor na
prvom nivou koji takoe predstavlja reenje, ali
povoljnije jer se nalazi blie poetnom voru
Meutim, zbog naglog rasta broja vorova sa
povedanjem dubine pretraivanja, ovaj metod
uopte nije efikasan, i pri realizaciji na raunaru
moe da dovede do prevazilaenja raunarskih
resusrsa i do neprihvatljivo dugog vremena
izvravanja
Pretraivanjem po dubini u nekim sluajevima moe
pre da se doe do reenja, ali je mogude i da se
reenje nikada ne nadje, kada je prostor stanja
beskonaan
Pretraivanje po irini
Na primer, izbor grane koja ne vodi reenju u sluaju
veoma velikog ili beskonanog prostora stanja,
pogreno usmerava pretragu na veliki broj mogudih
puteva
Kada se reenje i pronae, to ne mora da bude i
optimalno - najkrade reenje kao u sluaju pretrage
po irini
Takoe je mogude i da se do reenja nikada ne doe
ak i kada prostor stanja nije beskonaan, kao u
sluaju ciklinog ponavljanja grupe vorova kada se
pretraga vrti u krugu
Pretraivanje po irini
Jedan od naina da se ublae nedostaci
pretraivanja u dubinu je da se uvede granina
dubina pretrage po ijem se dostizanju vri vradanje
unazad, kao u sluaju vora bez sledbenika
Ako se zavrni vor koji odgovara reenju nalazi na
graninoj dubini sa krajnje desne strane, pre nego
to se stigne do tog vora moraju se otvoriti svi
vorovi koji bi se otvorili i pretragom u irinu
6
8
1
2
3
4
7
9 5
granini nivo
10
zavrni vor:
Pretraivanje po irini
Iako iterativno produbljivanje lii na pretraivanje po
irini, razlika je u tome to se vorovi ne pamte, pa se
ponovo otvaraju kada je potrebno predi na slededi nivo
Ako je osim poetnog stanja unapred poznato i zavrno
stanje, moe se primeniti i tzv. dvosmerna pretraga kod
koje se osim pretrage unapred od poetnog vora vri i
pretraivanje unazad od zavrnog vora sa ciljem da se
dobijeni putevi negde spoje
Iterativno produbljivanje je modifikacija pretraivanja u
dubinu sa graninom dubinom jednakom 1 koja se iterativno
povedava za po 1 ako se na datom nivou ne doe do reenja
6 8
1
2 9 4 5 3
7 10
11
12 13
Pretraivanje po irini
Analogno pretraivanju prostora stanja produkcionih
sistema, moe se vriti i pretraivanje prostora stanja
redukcionih sistema koji se predstavljaju propozicionim
I/ILI grafovima. Neke od specifinosti redukcionih
sistema su da treba voditi rauna o I i ILI vorovima, kao
i o eventualnim neplodnim vorovima
Neplodni vorovi odgovaraju podzadacima koji se ne
mogu izvriti, zbog ega se ni zadaci vieg nivoa ne
mogu izvriti
Ukoliko postoje ILI vorovi, samo postojanje neplodnih
vorova ne mora da znai da se zadatak ne moe reiti,
tj. ako je neplodni vor pridruen ILI voru, onda postoji
jedan ili vie alternativnih podzadataka
Pretraivanje po irini
Primer za slepo pretraivanje u konano velikom
prostoru stanja je traenje file-a koji moe biti bilo
gde u sloenoj hijerarhijskoj strukturi direktorijuma
na disku raunara
Pretraivanje po irini
Poetni vor bi u tom sluaju bio osnovni
direktorijum ili direktorijum odakle se poinje
pretraivanje, a vorovi naslednici su
poddirektorijumi
Zavrni vor moe da predstavlja svaki direktorijum
koji sadri traeni fajl
Slepo pretraivanje se uspeno moe primeniti
samo u sluaju konanog, ogranienog prostora
stanja, dakle u trivijalnim sluajevima koji najede
nisu od interesa za praktinu primenu
Dokazivanje teorema
Dokazivanje teorema se moe posmatrati kao logiki
postupak uspostavljanja veze izmedju teoreme koju
treba dokazati i odgovarajudih aksioma
Na osnovu datih aksioma mogu se logiki izvesti
teoreme, koje zajedno sa poetnim aksiomama
predstavljaju novi skup iz koga slede nove teoreme
Postupak dokazivanja se zavrava kada se izvede
teorema koju treba dokazati
Ovakav postupak se moe formalno posmatrati
analogno pretraivanju prostora stanja
U tom sluaju vorovima odgovaraju teoreme, a
aksiome su poetni vorovi
Heuristiko pretraivanje
Pomenute metode pretraivanja u dubinu i irinu
kao I nihove modifikacije su neefikasne u sluaju
iole vedeg prostora stanja
Da bi se pretraivanje uinilo efikasnijim, najvanije
je suziti prostor pretrage i usmeriti pretragu u
pravcu perspektivnih reenja
Da bi se to omogudilo, SP primenjuju specifino
znanje iz date oblasti - domena problema koji se
reava, na dva osnovna naina i to za:

odreivanje vorova koji de se ispitivati
odreivanje operatora koji de se primenjivati na
izabrane vorove

Heuristiko pretraivanje
Pretraga kod koje se koristi specifino domensko
znanje naziva se heuristika pretraga
Heuristikom pristupu reavanja problema
pribegava se u sluajevima kada je problem veoma
sloen, i to kada je postojede algoritamsko reenje
previe komplikovano, kada ne postoji precizno
algoritamsko reenje, kao i kada algoritamsko
reenje postoji ali nije poznato
Konkretan nain predstavljanja specifinog
domenskog znanja moe biti na primer preko tzv.
funkcije ocene ili evaluacione funkcije (Evaluation
function)
Heuristiko pretraivanje
Ova funkcija moe da se koristi za izbor najboljeg
meu vorovima naslednicima, ili za izbor najboljeg
operatora koji de se primeniti na izabrani vor
Izbor operatora od svih koji se mogu primeniti na
dato stanje, vri se na osnovu vrednosti koja se
operatoru unapred pripisuje
Domen evaluacione funkcije je u tom sluaju skup
operatora, a kodomen je skup vrednosti koje se
dodeljuju operatorima
Primenom izabranog operatora na vor, nastaje novi
vor - potomak, a grani koja povezuje ta dva vora
se pripie vrednost operatora
Heuristiko pretraivanje
Na taj nain se uvodi vrednost - cena reavajudeg
puta grafa
Optimalno reenje bi odgovaralo putu minimalne
cene, to ne mora obavezno da bude i najkradi put,
tj. put sa najmanje vorova
S druge strane, ne moraju se uvek birati operatori sa
najniim vrednostima, jer mogu da daju
neperspektivne vorove
Pomenuti postupci pretraivanja u irinu i dubinu
predstavljaju sa ovog aspekta varijantu metode sa
jednakim vrednostima, gde svi operatori koji se
mogu primeniti na dati vor za dobijanje vorova
naslednika imaju istu vrednost
Heuristiko pretraivanje
U tom sluaju je najkradi put istovremeno i put
minimalne cene
Metoda pretrage u irinu koja nalazi najkradi put u
smislu najmanjeg broja grana izmeu poetnog i
zavrnog vora, bi u sluaju metode jednakih cena
istovremeno davala i put minimalne cene
Heuristike za izbor perspektivnog vora iziskuju
koridenje heuristike funkcije iji je domen skup
vorova, a vrednosti su realni brojevi
Na taj nain vrednost heuristike funkcije ureuje
redosled otvaranja vorova time to se kao slededi
vor bira vor sa ekstremnom vrednodu heuristike
funkcije
Heuristiko pretraivanje
O kojoj se konkretno vrednosti radi, min. ili max., zavisi
od izbora i smisla heuristike funkcije
Ova funkcija se bira tako da odraava neku ili neke bitne
karakteristike konkretnog prostora pretraivanja,
odnosno problemskog domena
S obzirom na odnos prema putu minimalne cene,
heuristike funkcije moemo podeliti na funkcije koje:
daju put minimalne cene
ne daju put minimalne cene
Moglo bi se postaviti pitanje zato se uopte koriste
heuristike funkcije koje ne daju put minimalne cene
Heuristiko pretraivanje
Odgovor lei u mogudoj neefikasnosti funkcija koje daju
put najmanje cene
Ako se uvede cena pretrage koja se povedava sa svakim
otvorenim vorom, onda traenje puta minimalne cene
moe za posledicu da ima neprihvatljivo veliku cenu
pretrage
Funkcije koje ne daju put min. cene tee kompromisu
izmeu cene puta i cene pretrage, ili drugim reima,
kompromisu izmeu efikasnosti reavanja problema i
efikasnosti nalaenja reenja problema
Ovaj problem se moe i ire razmatrati, ka na pr.
kompromis cene puta i pretraivanja za itavu klasu
zadataka, tj. optimizacija srednje vrednosti kombinacije
cene puta i pretraivanja
Heuristiko pretraivanje
Ovakve srednje vrednosti se mogu koristiti za
poreenje heuristikih modi razliitih funkcija, gde vedu
heuristiku mod ima funkcija sa niom prosenom
vrednodu cene.
Osamdesetih godina nastaje disciplina pod nazivom
heuretika koja se bavi izuavanjem polja heuristika
organizovanog relacijom specijalizacije
Zadatak heuretike je prouavanje osobina heuristika,
njihovog meusobnog odnosa, kao i mogudnosti
automatskog generisanja novih heuristika
Svi algoritmi pretraivanja koji koriste neku vrstu
funkcije ocene nazivaju se algoritmi ureenog
pretraivanja
Heuristiko pretraivanje
Pomenuti metodi pretraivanja u dubinu i irinu
predstavljaju sa tog aspekta trivijalne sluajeve
algoritama ureenog pretraivanja
Heuristika funkcija ocene u tom sluaju predstavlja
rastojanje od poetnog vora za pretragu u dubinu, i
recipronu vrednost u sluaju pretrage u irinu
U oba sluaja se tei maksimizaciji heuristike
funkcije pri izboru slededeg vora
Metod penjanja uz brdo (hill climbing)
Ovaj metod heuristike pretrage zasniva se na
prethodno pomenutom metodu Generate and Test
Za neko meustanje koje moe biti i poetno,
generiu se sva moguda stanja primenom svih
operatora
Time se jednostavno eliminie heuristika funkcija
za operatore, poto se primenjuju svi operatori na
odabrani vor
Zatim se ispituje da li je neko od tih novih stanja
moda reenje
Ako jeste, to je kraj pretrage, a ako ne, na osnovu
heuristike funkcije bira se slededi vor iz skupa
novih generisanih vorova
Metod penjanja uz brdo (hill climbing)
Opisana procedura se dalje ponavlja, sve dok se ne
doe do reenja
Ime metode - penjanje uz brdo, potie od izbora
slededeg vora koji de se otvoriti
Naime, slededi vor koji se otvara ima max. vrednost
heuristike funkcije
Kada se doe do reenja onda to odgovara vrhu
Ovako voena pretraga ima vie nedostataka
Pre svega, sama funkcija moe biti nedovoljno
adekvatna, tako da vrednost za dati vor ne mora
uvek biti merodavna, jer moda ne uzima u obzir
ba sve merodavne faktore za najperspektivniji vor
Metod penjanja uz brdo (hill climbing)
Dalje, moe se desiti da funkcija daje istu vrednost za
vie razliitih vorova, u kom sluaju slededi vor koji
treba otvoriti nije jednoznano odreen
Zatim, kao posledica prethodnog, mogude je da se ovim
metodom doe do reenja koje nije optimalno, to je
jo poznato i kao problem lokalnog maksimuma
U tom sluaju postoji najmanje jo jedan reavajudi put
koji predstavlja optimalno reenje - glavni maksimum
Ovaj put se moe promaiti, jer je u nekom meuvoru
trenutno bio perspektvniji vor koji vodi do vora koji
odgovara lokalnom a ne i glavnom maksimumu
Metoda sledeeg najboljeg vora
(Best First Search)
Jedan od naina da se pri pretraivanju prostora stanja
izbegne zamka tzv. lokalnog maksimuma, je da se u
memoriji raunara pamte svi otvoreni vorovi, jer svaki
od tih vorova predstavlja potencijalni nastavak puta do
optimalnog reenja, tj. do glavnog maksimuma
Pri traenju slededeg najboljeg vora, teinske funkcije
se primenjuju na svaki do tada generisani vor, i bira se
najpespektivniji vor od svih vorova
Time se izbegava lokalni maksimum, jer ako je trenutno
najperspektivniji vor koji vodi do lokalnog maksimuma,
dalje de se na tom putu neminovno stidi i do vora koji
je manje perspektivan od nekog drugog generisanog
vora, pa de se pretraga nastaviti drugim putem -
backtracking
Metoda sledeeg najboljeg vora
(Best First Search)
Teoretski, na ovaj nain je mogude pronadi
optimalno reenje, tj. dodi do glavnog
maksimuma
Glavna mana ovog metoda je u tome, to usled
mogudeg znatnog porasta broja generisanih vorova
u toku pretraivanja, rastu i zahtevi za
angaovanjem konanih memorijskih resursa
raunara
To moe da dovede ili do premaivanja raspoloivih
resursa, ili do neprihvatljivo dugog trajanja pretrage
Iz tog razloga moe se uvesti i cena pretraivanja
koja raste sa brojem generisanih vorova

Metoda sledeeg najboljeg vora
(Best First Search)
U tom sluaju SP tei kompromisu cene
pretraivanja i cene reavajudeg puta
Ukoliko se cena pretraivanja znatno poveda,
optimalno reenje moe ipak da bude i lokalni
maksimum ukoliko je cena reavajudeg puta za
lokalni maksimum dovoljno niska
Algoritam A
*

Algoritam pretraivanja prostora stanja koji se
zasniva na heuristikoj funkciji oblika:
naziva se algoritam A
*
Funkcija g(n) predstavlja vrednost cene puta od
poetnog vora do tekudeg vora n
h(n) predstavlja heuristiku funkciju koja vri procenu
cene puta od tekudeg vora n do zavrnog vora
Pridev funkcije h(n) heuristika, potie odatle to se za
procenu koristi znanje, informacije, specifinosti o
problemskom domenu
Algoritam A
*

Poto se radi o cenama puteva, pri pretraivanju se
biraju vorovi sa minimalnom vrednodu f(n)
Na poetku pretraivanja u poetnom voru s,
funkcija f(s) ima vrednost f(s)=0+h(s)=h(s). g(s)=0,
jer je duina puta 0
Ako je procena funkcije h tana, onda funkcija f ne
menja svoju vrednost u toku itavog procesa
pretraivanja sve do zavrnog vora
U toku pretraivanja pri prelasku na nove vorove
raste cena puta g(n), ali se zato smanjuje
procenjena cena h(n) do zavrnog vora

Algoritam A
*

Ako funkcija h ne daje tane procene, onda u toku
pretraivanja funkcija f moe da menja vrednosti
Moe se pokazati da je pretraivanje ovim
algoritmom optimalno, tj. nalazi se optimalan
reavajudi put, ako funkcija h uvek daje tane
procene
Funkcija g se koristi u sluaju da funkcija h nije
dobro odabrana, kada g preuzima dalje
usmeravanje pretrage
Poznat primer primene algoritma A
*
je u igri
slagalice za nalaenje redosleda poteza za
ureivanje brojeva u raspored koji predstavlja
reenje zadatka
Algoritam A
*

U slagalici postoji jedno prazno mesto koje se koristi
za premetanje brojeva
Poetno stanje slagalice je naravno sluajan
raspored brojeva
Izgled slagalice 3X3 sa osam brojeva je dat na slici
8 1 3
2 4
7 6 5
Funkcija h se u ovom zadatku izraunava kao zbir
rastojanja tekudih pozicija brojeva od njihovih konanih
pozicija koje odgovaraju reenju, to predstavlja tanu
procenu, tj. moe se tano proceniti
8 1 3
2 4
7 6 5
8 3
2 1 4
7 6 5
8 1 3
2 4
7 6 5
8 1 3
2 4
7 6 5
8 1 3
2 6 4
7 5
8 1 3
7 2 4
6 5
8 1 3
2 4
7 6 5
1 3
8 2 4
7 6 5
1 2 3
8 4
7 6 5
8 1 3
2 4
7 6 5
1 3
8 2 4
7 6 5
1 3
8 2 4
7 6 5
1 3
8 2 4
7 6 5
4
4 6 6
6
4
6
4
6 4
666
6
6
Algoritam A
*

Na slian nain funkcija g se izraunava kao zbir
rastojanja svih brojeva od poetnih pozicija
Kao to se moe videti sa slike na prethodnoj strani,
otvaraju se vorovi sa najmanjom vrednodu
funkcije f koja ima const. vrednost u toku itavog
pretraivanja, jednaku dubini reenja
Poetna vrednost funkcije f kao to se vidi sa slike
iznosi 4 to je istovremeno i poetna vrednost
funkcije h
To znai da i procenjena duina optimalnog
reavajudeg puta takoe iznosi 4, to se slae sa
dubinom reenja


Algoritam A
*

Sa slike se vidi da se dvostruko uokvireni
kvadrat koji predstavlja traenu poziciju
brojeva nalazi na etvrtom nivou
Du itavog optimalnog reavajudeg puta
funkcija f ne menja vrednost i iznosi 4
Ekspertni sistemi
Kompleksnost problema koji se posmatra moe se
kvantitativno izraziti sloenodu odgovarajudeg
algoritma koji odgovara reenju tog problema
Pod algoritmom se intuitivno podrazumeva opis
procedure koja se sastoji od konanog niza ureenih
pravila ijom primenom se problem reava
Stroija definicija algoritma moe da se zasniva na
rekurzivnoj funkciji kao optem modelu algoritma ili
na Turing-ovoj maini
Turing-ova maina je hipotetiki pojam namenjen
pre svega misaonim eksperimentima koji treba da
doprinesu boljem razumevanju mogudnosti i
ogranienja raunskih maina
Turing machine
Logical Computing Machine, Logical Computing Machine
..an infinite memory capacity obtained in the form of an
infinite tape marked out into squares on each of which a
symbol could be printed. At any moment there is one symbol
in the machine; it is called the scanned symbol. The machine
can alter the scanned symbol and its behavior is in part
determined by that symbol, but the symbols on the tape
elsewhere do not affect the behavior of the machine.
However, the tape can be moved back and forth through the
machine, this being one of the elementary operations of the
machine. Any symbol on the tape may therefore eventually
have an innings
Turing machine - komponente
Traka se sastoji od delija u nizu. Svaka delija sadri
simbol iz nekog konanog alfabeta. Alfabet sadri
specijalan prazan simbol i jedan ili vie drugih
simbola
Za traku se pretpostavlja da ima proizvoljno mnogo
delija sa leve i desne strane uvek ima na
raspolaganju trake koliko treba
Prazne delije imaju prazan simbol
Glava moe da ita i pie simbole na traci i da
pomera traku levo ili desno za po jednu deliju
Konana tabela instrukcija u vidu q
i
a
j
q
i1
a
j1
d
k

Turing machine instrukcije
q
i
oznaava tekude stanje maine
a
j
oznaava simbol koji se ita sa trake i koji
odreuje:
Da li se simbol brie ili pie (a
j1
)
d
k
odreuje da li se glava (ili traka) pomera na levo L,
desno R ili ostaje na mestu N.
q
i1
oznaava novo stanje u kome se maina nalazi
Registar stanja koji uva stanje Turning-ove maine, jedno ili
beskonano mnogo stanja
Svaki deo Turing-ove maine stanje, alfabet, operacije su
diskretne i razdvojene
Rekurzivna funkcija
Rekurzivna funkcija - Computable function
predstavlja izraunljivu funkciju, ili funkciju koja se
moe izraunati
Rekurzivna funkcija predstavlja ekvivalentan pojam
Turing-ovoj maini ili formalizovanu definiciju
intuitivnog pojma algoritma
Church Turing-ova hipoteza kae da se izraunljive
funkcije mogu izraunati mehanikom mainom
Turing ovom mainom po nekom algoritmu.
Algoritmi
Algoritmi se mogu podeliti na deterministike i
nedeterministike.
Nedeterministike algoritme karakterie ravanje i
paralelan tok koraka koji se simultano izvravaju, a do
reenja se moe dodi u razliitim granama
Sloenost algoritama se moe izraziti preko broja koraka
algoritma, tj. preko odgovarajudeg programa za Turing-
ovu mainu
Ako broj koraka nije vedi od p(n), gde je p polinom
nekog stepena, a n predstavlja dimenziju problema (na
pr. broj elemenata ulaznih podataka ulaznog niza,
rang matrice), sloenost algoritma je polinomijalna ili P
tipa
Algoritmi
Takvi algoritmi su pogodni za primenu na raunaru
zbog konanog broja koraka i samim tim konanog
vremena izvravanja
Drugi tip algoritama ima eksponencijalnu sloenost,
jer je broj koraka algoritma proporcionalan sa c
n
Takvi algoritmi nisu pogodni za implementaciju na
raunaru zbog prekoraivanja prostorno -
vremenskih resursa raunara
Problem koji se primenom nedeterministikog
algoritma moe reiti u konanom (polinomijalnom)
vremenu, naziva se problem tipa NP
(Nedeterministiki Polinomijalni, NP hard)
Algoritmi
U drugu vrstu problema spadaju oni za koje su poznati
algoritmi eksponencijalne sloenosti, ali se istovremeno
moe dokazati da drugih jednostavnijih algoritama
nema
Prostori stanja koji odgovaraju mnogim realnim
problemima kao to su razumevanje govora,
konfigurisanje raunarskih sistema, planiranje
redosleda aktivnosti, mogu biti ogromni
Predstavljanje takvih problema u prostoru stanja, i
reavanje pomenutim metodama pretraivanja je
veoma teko, a vrlo esto i praktino neizvodljivo zbog
neophodnih raunarskih resursa koji mogu i
eksponencijalno da rastu sa povedanjem prostora
stanja
Algoritmi
To dalje povlai i pitanje vremena izvravanja na
raunaru koje takoe moe biti neprihvatljivo dugo
Takvi problemi su poznati kao raunski nesavladivi
(Computationaly Intractable) u koje spadaju i
problemi NP tipa
Primer za problem NP tipa je tzv. problem
trgovakog putnika, kako sa to manjim trokovima
obidi N gradova
Prva verzija je sa povratkom na poetni grad, a
druga bez povratka u poetno mesto
Mogudnosti za obilazak ima N!
Algoritmi
Prvo se bira jedan od N gradova, zatim jedan od
preostalih (N-1), pa onda jedan od (N-2), to daje
ba N!
Za 5 gradova to je 120 mogudnosti, dok je za 10
gradova ak 3.6 10
6
, a za 20 2.4 *10
18
Razvijene su brojne heuristike za reavanje ovog
problema, kao na primer izbor najblieg grada pri
demu se stalno kao slededi bira najblii neposedeni
grad
U realnom sluaju, dodatno ogranienje moe da
predstavlja i postojeda mrea puteva, aerodroma,
pruga itd


Reavanje problema
istraivanja na polju tehnika za reavanje problema
opteg tipa (general problem solving techniques)
doivela su neuspeh, jer nije bilo mogude pronadi
formulisati opte postupke koji bi uvek bili efikasni
S druge strane, dolo se do zakljuka da je za
uspeno reavanje konkretnih problema dragoceno
specifino znanje koje poseduju strunjaci - eksperti
u datim oblastima, kada se radi o nauci, tehnici,
poslovnim primenama
Istraivanja na polju nalaenja mogudnosti za
reavanje konkretnih problema u nekoj uskoj oblasti
rezultirala su nastankom specifinog programskog
pristupa koje se naziva Ekspertni Sistem ES
Ekspertni sistemi
Prvi ES pojavili su se poetkom 70-tih godina
Oblast ES je nastala, razvijala se i danas pripada okviru
problematike VI
ta vie, moe se redi da je oblast ES danas jedna od
najuspenijih u domenu VI
Da je to tako, najbolje svedoi kratak i uspean istorijat
ES. Neke od osnovnih karakteristika ES su:
baziraju se na znanju (knowledge based)
poseduju mehanizam za zakljuivanje (inference engine)
preovlauje obrada simbolikih podataka (symbolic
processing)
imitiranje misaonog procesa eksperta
mogudnost rada sa nepouzdanim podacima (low confidence
data)
mogudnost obrazlaganja dobijenih zakljuaka i rezultata

Programski jezici VI
Rad i istraivanje na polju VI izmeu ostalog su
rezultirali i nastankom programskih jezika
specifinih za ovu oblast kompjuterske nauke
Najpoznatiji programski jezik u oblasti VI je LISP
(LISt Processing). Ovaj programski jezik nastao je
kasnih 50 - tih godina na MIT u
Poreenja radi, otprilike u isto vreme se javljaju i
klasini proceduralni programski jezici kao to su
FORTRAN i COBOL
Osnovna namena je obrada preteno simbolikih
podataka koji su organizovani u vidu liste

Programski jezici VI
Osnovna namena je obrada preteno simbolikih podataka
koji su organizovani u vidu liste
Programi u LISP - u su veoma zahtevni to se tie
raunarskih resursa, tako da se takvi programi uobiajeno
izvravaju na raunarima specijalne namene, optimizovanih
za rad sa LISP- om (Lisp Machines)
Vremenom su nastale i neke verzije LISP-a, kao to su
INTERLISP i MACLISP
Danas je ovaj programski jezik jo uvek aktuelan u oblasti
VI, a situacija se unekoliko promenila jer sadanji PC
raunari na pr. imaju i vie nego dovoljne resurse za rad
LISP-a


Programski jezici VI
Osim LISP-a, za oblast VI danas su dosta privlani i
jezici kao C++, DYLAN (DYnamic LANguage), Java,
Programski jezik PROLOG (PROgraming in LOGic)
nastao je ranih 70 - tih godina
Autor PROLOG-a je A. Colmerauer sa Univerziteta u
Marseilles u
Bazira se na ideji R. Kowalski- og, da se predikatski
raun prvog reda upotrebi kao programski jezik.
PROLOG je svojevremeno prihvaden i kao osnovni
programski jezik japanskog projekta 5 generacije
raunara

Programski jezici VI
Za razliku od LISP-a, programi u PROLOG-u mogu da
rade i na sasvim malim mainama - PC raunarima,
na pr. Turbo Prolog
Sadanje verzije PROLOG-a su prilagoene Windows
okruenju, kao na pr. LPA (Logic Programming
Associates) PROLOG
U oblasti ES nastala je jedna posebna vrsta
softverskih alata, pod nazivom ES Shell (ljuska za ES)
kao i Expert System Building Tool (ESBT - alat za
gradnju ES) koji osim shell-a sadre i user interface
Ovi alati sadre u sebi neke standardne komponente
ES, tako da omogudavaju brz razvoj aplikacije
Programski jezici VI
Programi u oblasti VI se principijelno mogu
razvijati koridenjem ne samo pomenutih i
raznih drugih specijalizovanih jezika i alata, ved
i koridenjem klasinih proceduralnih jezika
kao to su FORTRAN, PASCAL, C

You might also like