7/25/2019 Vest Int Skripta Pot Miklos
1/129
VISOKA TEHNIKA KOLASUBOTICA
Pot Miklo
VETAKA INTELIGENCIJA- SKRIPTA -
Algoritmi za prtra!i"a#$
Igr za %" o&o'
G#t&ki algoritmi
N(ral# mr!
S('oti)a* +,.
7/25/2019 Vest Int Skripta Pot Miklos
2/129
Pr%go"orOva skripta pisana je prvenstveno za stuente tre!e "oine
In#or$ati%ko" s$era Visoke Te&ni%ke ko'e u Su(oti)i koji s'u*ajupre$et Ve*ta%ka Inte'i"en)ija+ ,o*to se pre$et Ve*ta%kaInte'i"en)ija na Visokoj Te&ni%koj ko'i izu%ava tek neko'iko "oina-jo* ne$a nikakve 'iterature koja (i stuenti$a o'ak*a'a ve.(anje i
po'a"anje+ To je ujeno i "'avni raz'o" za nastajanje ove skripte+Skriptu $o"u koristiti i ru"i koji se interesuju za o('ast ve*ta%keinte'i"en)ije+
Skripta sar.i / "'avna po"'av'ja01+ A'"orit$i za pretra.ivanje-2+ I"re za ve oso(e-3+ 4enetski a'"orit$i i
/+ Neura'ne $re.e+
O o(ra5eni& te$a najvi*e pa.nje posve!eno je neura'ni$ $re.a$a-tako a je ova o('ast o(ra5ena najeta'jnije+
Na po%etku svako" po"'av'ja za svaku o('ast ate su teorijske osnove-zati$ s'ee re*eni pri$eri- a na kraju su zaa)i za sa$osta'o ve.(anje+Svi pri$eri izra5eni su u pro"ra$sko$ paketu 6ATLAB+
,ri'iko$ pisanja skripte- na .a'ost- $o"u!e su i "re*ke koje ostaju inakon vi*estruko" %itanja teksta+ Autor !e (iti za&va'an svi$a koji nanji& uka.u+
Su(oti)a- nove$(ar 2711+
7/25/2019 Vest Int Skripta Pot Miklos
3/129
SA/R0AJ
. Prim#a prtrag ko% ra"a#$a pro'lma.............................1
+. Primr za prtrag(...................................................................+
2. G#t&ki algoritmi....................................................................+3
1. N(ral# mr!........................................................................22
4. Primr #(ral# mr!............................................................12
5. Pra"ila za o'(6a"a#$ pr)ptro#a........................................17
8. Primr za (6#$ pr)ptro#a.................................................8
7. Vr#$ logi6ki9 opra)i$a pomo:( #(ral#i9 mr!a...........8
3. Algoritam pro&tira#$a grk (#aza%....................................74
,. Pri#)ipi o'(6a"a#$a "i&lo$# #(ral# mr!kori:#$m pro&tira#$a grk (#aza%..............................34
. Ko9o##-o" ;takmi6ar&k< mr!.......................................33
+. N(ral# mr! ( MATLA=-(...........................................,5
/o%atak . Pro$kto"a#$ #(ral#i9 mr!a pomo:(MATLA=-a.............................................................+
/o%atak +. Prtra!i"a#$...........................................................5
/o%atak 2. Lokal#a prtraga....................................................+
/o%atak 1. Igr za %" o&o'....................................................+1
/o%atak 4. G#t&ki algoritmi..................................................+8
Litrat(ra....................................................................................2,
7/25/2019 Vest Int Skripta Pot Miklos
4/129
Ve*ta%ka Inte'i"en)ija Skripta
. Prim#a prtrag ko% ra"a#$a pro'lma
Ci'j ovo" po"'av'ja je upoznavanje sa &euristi%ki$ na%ini$a pretra"e i nji&ova pri$enapri'iko$ re*avanja pro('e$a ve*ta%ke inte'i"en)ije+ Bi!e prestav'jeni osnovni prin)ipip'aniranja- kao i prin)ipi i"ara za ve oso(e+ Ci'jevi ovo" po"'av'ja su0
a se karakteri*u raz'i%iti a'"orit$i za pretra"u- i a se poka.e kako se $o.e pro!ikroz jeno sta('o za pretra"u pri$eno$ ovi& a'"orita$a-
a se poka.e koje jenostavne za"onetke $o"u a se postave kao pro('e$i pretra"e- upoznavanje sa prenosti$a i $ana$a pojeini&a a'"orita$a za pretra"u- kao i sa
nji&ovi$ o"rani%enji$a- karakteriza)ija jenostavno" postupka p'aniranja- upoznavanje sa $ini$a8 a'"orit$o$ ko i"ara za ve oso(e i po(o'j*anje ovo"
postupka pri$eno$ a'#a9(eta se%enja+
.. >"o%
U ovo$ e'u izvr*i!e$o pre"'e najva.niji& te&nika pretra"e na po'ju ve*ta%ke inte'i"en)ije+,ose(nu pa.nju !e$o posvetiti pri$eni a'"orita$a za pretra"u ko prona'a.enja jeno"konkretno" pro('e$a+ Osnovna $isao je a uvek poznaje$o $o"u!e ranje koje $o.e$ovr*iti u )i'ju prona'a.enja re*enja- a'i ne zna$o koja o ranji !e nas ovesti ('i.e re*enju+Taa vr*i$o neku pretra"u $e5u ostupni$ $o"u!nosti$a- kako (i orei'i koja o ranji !enas ovesti o re*enja+
Ova osnovna ieja je pri$enjiva ko svake vrste pro('e$a+ U ve'ikoj ve!ini s'u%ajevazaatak se $o.e svesti na prona'a.enje puta opoetnog stanjao jeno" o ciljnih stanja+O svi& $o"u!i& ranji tra.i$o upravo onaj niz koji !e nas ovesti o )i'jno" stanja+
,o"'av'je po%inje prestav'janje$ osnovni& te&nika+ Najve!i eo nji& su osnovni a'"orit$ikoji se %esto pojav'juju i na po'ju ru"i& ra%unasrki& po'ja+ ,ose(na pa.nje (i!e posve!enateoriji grafova- jer !e$o u najve!e$ (roju s'u%ajeva pretra"u vr*iti upravo na "ra#ovi$a+
:(o" (o'je" razu$evanja- upoznavanje sa ovi$ osnovni$ a'"orit$i$a !e$o prikazati prekotra.enja pravo" puta na jenoj $api+ Nakon to"a- pokaza!e$o kako se ovi postup)i $o"u
pri$eniti ko jenostavni& pro('e$a pretra"e i kakvi spe)ija'ni a'"orit$i postoje koji se
$o"u koristiti ko p'aniranja i'i ko teorije i"ara+i koji se spe)ija'ni a'"orit$i $o"u koristitiko p'aniranja+++
.+. T9#ik za prtrag(
,retpostavi$o a u jeno$ "rai!u o neko'iko jenos$erni& u'i)a tra.i$o o"ovaraju!i putkako (is$o o*'i o .e'jeno" )i'ja+ To je prikazano na S'i)i 1+1+
Kako (is$o pojenostavi'i a'"orita$ za pretra"u- uve*!e$o s'ee!a o"rani%enja0 svaki$pute$ $o.e$o pro!i sa$o jeno$- i ako s'u%ajno o5e$o o parka- oat'e vi*e ne$a iz'aza+
/
7/25/2019 Vest Int Skripta Pot Miklos
5/129
Ve*ta%ka Inte'i"en)ija Skripta
,retpostavi$o a u po%etku stoji$o ko knji.are ;poetno stanje< i a .e'i$o a o5e$o ouniverziteta ;ciljno stanjeenostavan pro('e$ pretra"e0 ,rona'a.enje puta na $api
U s'u%aju ovako jenostavno" pri$era $o.e$o vr*iti i siste$ati%nu i potpunu pretra"u svi&putanja+ Siste$ati%no $o.e$o proveravati svako pojeina%no stanje- o ko" $o.e$o o!i izpo%etno" stanja- kako (is$o prona*'i pravi'nu putanju koja nas voi o )i'ja+ Skup svi& stanja
%iniprostor za pretragu+ Ako je prostor za pretra"u $a'i- taa $o.e$o koristiti i re'ativnojenostavne a'"orit$e za pretra"u koji !e ispro(ati svaku putanju+ Ove a'"orit$e naziva$osistematinim, neinformisanim i'islepimte&nika$a za pretra"u+ Ovi a'"orit$i o(u&vatajudubinskui irinskupretra"u+ 6e5uti$- u s'u%aju s'o.eniji& pro('e$a- prostor za pretra"u jeveo$a ve'ik i $o.e postojati ve'iki (roj $o"u!i& stanja koje (i tre(a'o ispitati+ Taa nije$o"u!e proveriti svako stanje u pri&vat'jivo$ vre$enu+ U s'u%aju ovakvi& pro('e$a tre(a
pri$eniti heuristiku;korisna pravi'a
7/25/2019 Vest Int Skripta Pot Miklos
6/129
Ve*ta%ka Inte'i"en)ija Skripta
E
7/25/2019 Vest Int Skripta Pot Miklos
7/129
Ve*ta%ka Inte'i"en)ija Skripta
ve po$enute te&nike o(i'aze sta('o za pretra"u na raz'i%ite na%ine- a'i na kraju !e o(ete&nike a o(i5u sve %vorove+ A'"orita$ u o(a s'u%aja koristi jenu 'istu koja sar.i %vorovekoje s$o ve! poseti'i- a'i i& tre(a i a'je pos$atrati ;na pri$er nji&ove poto$ke jo* nis$ootkri'i
7/25/2019 Vest Int Skripta Pot Miklos
8/129
Ve*ta%ka Inte'i"en)ija Skripta
U na*e$ pri$eru- pri$enjuju!i opisani a'"orita$- pretra"a se vr*i na s'ee!i na%in0kFIzvai$o kiz niza i orei$o nje"ove poto$ke+ To su %vorovi i b+ Nji& stavi$o na krajniza- tako a niz i$a s'ee!i iz"'e0
- bFU s'ee!e$ koraku izvai$oiz 'iste- ok na kraj 'iste stav'ja$o poto$ke o0b-fFbi$a va poto$ka- to su park ;p< i tra#ika ;t
7/25/2019 Vest Int Skripta Pot Miklos
9/129
Ve*ta%ka Inte'i"en)ija Skripta
A'"orita$ za pretra"u je veo$a s'i%an kao i ko *irinske pretra"e sa raz'iko$- a kou(inske pretra"e ne koristi$o niz- ne"o stek- tako a je oavanje i (risanje %vorova$o"u!e sa$o na po%etku 'iste+
,retra"e u *irinu i u(inu su veo$a jenostavni a'"orit$i i u s'u%aju a re*enje postoji ;i ako
je sta('o kona%no
7/25/2019 Vest Int Skripta Pot Miklos
10/129
Ve*ta%ka Inte'i"en)ija Skripta
,ostoji ve'iki (roj a'"orita$a za &euristi%ku pretra"u+ U ovo$ po"'av'ju $i !e$o eta'jnijeo(raiti tri a'"orit$a0 algoritam penjanja- pretraga tipa prvo najbolji ;best first< i A
algoritam+ ,retpostavi$o a !e$o pretra"u naj%e*!e vr*iti u sta('u- a ne u "ra#u ;to zna%i ane$a pet'ji
7/25/2019 Vest Int Skripta Pot Miklos
11/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika 1++ 6apa koja prikazuje o"rani%enja ko a'"orit$a penjanja
Ovi pro('e$i nastaju z(o" postojanja lokalnih maksimuma unutar prostora za pretra"u+Loka'ni $aksi$u$i su ta%ke koje su (o'je o svoji& susea- a'i ipak nisu re*enja+ Ako u$a'oj $eri pro$eni$o a'"orita$- pro('e$i 'oka'ni& $aksi$u$a se u ore5enoj $eri $o"u
iz(e!i+ >eno o $o"u!i& re*enja je a ozvo'i$o o"rani%en (roj koraka unaza- to jest apa$ti$o a'ternativne putanje- na koje $o.e$o a se vrati$o- ako se aktue'na putanja poka.ekao po"re*na ;(a)ktra)kin"
7/25/2019 Vest Int Skripta Pot Miklos
12/129
Ve*ta%ka Inte'i"en)ija Skripta
,retpostavi$o a je )i'jni %vor 4+ Ako (is$o u ovo$ sta('u pri$eni'i pretra"u po *irini- ona(is$o i$a'i s'ee!i reos'e %vorova0 A- B- C- - E- @- 4+ ,ri$eno$ pretra"e po u(ini-reos'e (i (io A- B- - E- 4+ Ni u jeno$ o pret&ona va s'u%aja nis$o o(rati'i pa.nju navrenosti %vorova+ Sa jenostavni$ a'"orit$o$ penjanja nika ne (is$o na*'i re*enje;'oka'ni $aksi$u$ je C i a'"orita$ (i se u to$ %voru za"'avio
7/25/2019 Vest Int Skripta Pot Miklos
13/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika 1++ AP pretra"aUko'iko (is$o koristi'i a'"orita$prvo najbolji- reos'e razvijanja %vorova (io (i s'ee!i0 A-B- - E- @+ Ako je )i'jno stanje @- ona s$o prona*'i jeno re*enje koje nije pose(no o(ro+Ko*tanje ovo" re*enja je 13 ;2Q/Q3Q/
7/25/2019 Vest Int Skripta Pot Miklos
14/129
Ve*ta%ka Inte'i"en)ija Skripta
:aat je pro('e$+ ,rvo tre(a a o'u%i$o kako !e$o reprezentovati pojeina stanja pro('e$a;na pri$er ko'iko voe i$a u pojeini$ (oka'i$a
7/25/2019 Vest Int Skripta Pot Miklos
15/129
Ve*ta%ka Inte'i"en)ija Skripta
U po%etku- o(a (oka'a su prazna- tako a je po%etno stanje 7- 7- a (aza poataka je 7-7FF+ U"'aste za"rae su potre(ne+ ,rikazano stanje je 7- 7- putanja koja sar.i ovo stanje je7- 7F- a (aza poataka je 7- 7FF ;'ista o saa prona5eni& putanja iz koji& se $o.e sti!io re*enja
7/25/2019 Vest Int Skripta Pot Miklos
16/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika 1+17+ Sta('o za pretra"u za pro('e$ (oka'a
Na osnovu sta('a re*enje $o.e$o opisati i re%i$a0 Napuni$o (oka' o / 'itre- napuni$o(oka' o 3 'itre- prospe$o vou iz (oka'a o / 'itre- pre'ije$o vou iz (oka'a o 3 'itre u
(oka' o / 'itre- napuni$o (oka' o 3 'itre- iz (oka'a o 3 'itre opuni$o (oka' o / 'itre-prospe$o vou iz (oka'a o / 'itre i na kraju pre'ije$o vou iz (oka'a o 3 'itre u (oka' o /'itre+
,rikazani a'"orita$ jeste siste$ati%an- a'i 'o"i%ki$ zak'ju%ivanje$ $o.e$o uvieti a nijenajkra!i+ Bi'o (i (r.e prvo sipati vou u (oka' o 3 'itre ;stanje 7- 3
7/25/2019 Vest Int Skripta Pot Miklos
17/129
Ve*ta%ka Inte'i"en)ija Skripta
u(ini i$a'i vi*e sre!e i $o.e se esiti a ranije nai5e$o na re*enje+ 6e5uti$- ako se re*enjene na'azi na prvoj "rani- ova te&nika $o.e za&tevati ispitivanje vi*e %vorova ne"o *irinska
pretra"a+ Heuristi%ke te&nike $o"u (iti korisne- a'i sa$o u s'u%aju a na5e$o o(ru #unk)ijuza eva'ua)iju+
Bitan poja$ ko siste$ati%ni& $etoa pretra"e jefaktor grananja+ @aktor "rananja izra.avaprose%an (roj poto$aka %vorova u prostoru za pretra"u+ Uko'iko .e'i$o a pretra"a (uee#ikasna- tre(a a se po(rine$o a #aktor "rananja (ue ovo'jno $a'i+ @aktor "rananjaiz$e5u osta'o" zavisi o to"a- ko'iko o(ro $o.e$o a #or$a'izuje$o neki pro('e$+,ri'iko$ pretra"e u prostoru stanja- #aktor "rananja $o.e$o reukovati ako pri$eni$o i'jusku inte'i"en)iju- *to zna%i a ne!e$o ispitivati %vorove koji nas ne voe pre$a )i'ju+@aktor "rananja $o.e se s$anjiti i ako pravi'no oa(ere$o a 'i !e$o pretra"u vr*iti iz
po%etno" stanja pre$a )i'ju i'i o )i'ja pre$a po%etno$ stanju ;o(e varijante se %estokoriste
7/25/2019 Vest Int Skripta Pot Miklos
18/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika 1+12+ prikazuje potpuno sta('o jene jenostavne #iktivne i"re+ Kao *to vii$o- opo(ee je potre(no sve"a va koraka+ 6o"u!a stanja i"re o(e'e.ena su 'a(e'a$a AJ>+,ostav'ja se pitanje kako i"ra%i a oa(eru koji !e potez a oi"raju= Svaki o i"ra%a
pretpostav'ja a protivnik .e'i a po(ei+ Ako prvi i"ra% oi"ra u stanje B- ru"i i"ra% !eoa(rati potez koji voi u stanje @ i po(ei!e+ Ako prvi i"ra% oi"ra u stanje C- (ez o(zira *ta
!e ru"i i"ra% a oi"ra- po(ei!e prvi i"ra%+ Na kraju- ako prvi i"ra% oi"ra u stanje - (i'okoji o poteza ru"o" i"ra%a o(ez(ei!e $u po(eu+ Sa aspekta prvo" i"ra%a ne$a i'e$e atre(a a oi"ra u stanje C- jer je to jeino stanje koje $u si"urno o(ez(e5uje po(eu+
S'ika 1+12+ Sta('o jenostavne i"re
.4. Mi#imak& po&t(pak
U s'i%no$- potpuno$ sta('u na s'ee!i na%in $o.e$o prona!i o(re poteze za prvo" i"ra%a+,o(eu prvo" i"ra%a o(e'e.i!e$o sa Q17- nje"ov poraz sa J17- a nere*en rezu'tat sa 7+ Nakonto"a napreuju!i pre$a "ore- orei!e$o vrenosti koje o"ovaraju vi*i$ %vorovi$a sta('a+S'ika 1+13 prikazuje jenostavno sta('o za i"ru- na kojoj su ozna%ene i po$enute vi*evrenosti+ U %vorovi$a E- @- 4 i H na potezu je prvi i"ra%+ On poku*ava a maksimizira
svoje stanje+ Iz %vorova E- @ i H prvi i"ra% $o.e a o5e u o(itno stanje- tako a ovi%vorovi o(ijaju vrenost 17+ Iz stanja 4 prvi i"ra% u naj(o'je$ s'u%aju $o.e a i"ranere*eno- tako a !e ovaj %vor o(iti vrenost 7+ Nakon to"a po"'eaj$o %vorove B i C kaa
je na potezu ru"i i"ra%+ ru"i i"ra% poku*ava a minimizujeo(itak prvo" i"ra%a+ ;voroveB i C $o.e$o nazvati i $ini$iziraju!i$- a %vorove E- @- 4 i H $aksi$iziraju!i$%vorovi$a
7/25/2019 Vest Int Skripta Pot Miklos
19/129
Ve*ta%ka Inte'i"en)ija Skripta
orei vrenost;%vor
7/25/2019 Vest Int Skripta Pot Miklos
20/129
Ve*ta%ka Inte'i"en)ija Skripta
vrenosti koristi$o para$etar [
7/25/2019 Vest Int Skripta Pot Miklos
21/129
Ve*ta%ka Inte'i"en)ija Skripta
+. Primr za prtrag(
Uko'iko .e'i$o a o5e$o o ta%ke A o ta%ke B tre(a a pri$eni$o neku vrstu pretra"e+,retra"a zna%i prona'a.enje puta o ta%ke "e se trenutno na'azi$o- o ta%ke u koju .e'i$oa sti"ne$o+ Na pri$er- u *a&ovskoj i"ri put o ta%ke A o ta%ke B- $o.e (iti iz$e5utrenutne pozi)ije i pozi)ije koja !e (iti aktue'na za ? poteza+ ,ut o ta%ke A o ta%ke B $o.e
(iti raz'i%it za svaku situa)iju+
,retra"a pripaa pro('e$ati)i ve*ta%ke inte'i"en)ije+ :aatak ve*ta%ke inte'i"en)ije je apru.e $o"u!nost raz$i*'janja ra%unari$a- to jest a ra%unari i$aju oso(inu 'jusko"pona*anja i zak'ju%ivanja+ ,ro('e$ je u to$e- *to ra%unari ;na na*u .a'ost< ne #unk)ioni*u nana%in- na koji #unk)ioni*e 'juski $ozak+ :a prona'a.enje re*enja- ra%unari$a je potre(an nizkoraka pre ne"o *to prona5u re*enje+ Ci'j pro"ra$era je- a jean ko$p'ikovani zaatak
pretvori u jenostavnije korake- koje !e ra%unar $o!i a re*i+
+.. Rprz#ta)i$a prtrag
,rvo a vii$o- kako (is$o 'jusko$ inte'i"en)ijo$ re*i'i neki pro('e$ pretra"e+ ,rvo tre(aa o'u%i$o na koji na%in !e$o a reprezentuje$o pro('e$ pretra"e+ S'ika 2+1+ prikazujesta('o za pretra"u+ Sta('o je niz $e5uso(no povezani& %vorova- i pretra"u !e$o vr*iti nanje$u+
S'ika 2+1+ ,ri$er sta('a za pretra"u
U prikazano$ "ra#u veze iz$e5u %vorova su jenos$erne+ Sve putanje voe o "ore pre$ao'e+ ru"i$ re%i$a- postoji put o %vora A o %vorova B i C- a'i %vorovi B i C ne$aju svoj
put o %vora A+ Ovu vrstu veze $o.e$o za$is'iti kao jenos$ernu u'i)u+ Svaki s'ovo$o(e'e.eni kru.i! u sta('u naziva se vor+ vor $o.e (iti povezan sa ru"i$ %vorovi$a preko"rana ;ivi)a
7/25/2019 Vest Int Skripta Pot Miklos
22/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika 2+2+ ,ri$er za u(inu sta('a
Sa i$a$o na%in kako a opi*e$o po'o.aj u sta('u+ :na$o u kakvoj vezi se na'aze pojeini%vorovi ;susei< i i$a$o na%in za opisivanje u(ine pojeino" %vora+ ,oznavanje ovi&
in#or$a)ija- nije irektno povezano sa konstruk)ijo$ a'"orit$a za pretra"u- a'i !e po$o!i za(o'je razu$evanje pro('e$a+
+.+. Prtraga ( %('i#(
,retra"a u u(inu rai po s'ee!e$ prin)ipu0 uzi$a %vor- prona'azi nje"ove susee- ispituje;razvija< prvi o prona5eni& susea- proverava a 'i je ispitivani %vor )i'jno stanje- i ako nije-nastav'ja sa ispitivanje$ %vorova+ :a e$onstra)iju a'"orit$a na!i !e$o put iz$e5u %vorovaA i @ sa S'ike 2+3+
S'ika 2+3+ e$onstra)ija pretra"e u *irinu
Korak ,,o%etni korak je uzi$anje prvo" %vora ;korena
7/25/2019 Vest Int Skripta Pot Miklos
23/129
Ve*ta%ka Inte'i"en)ija Skripta
Open 'ista0 A C'ose 'ista0 \praznoY
Korak Saa !e$o potra.iti susee %vora A+ A'"orita$ski$ jeziko$ re%eno- uzi$a$o prvi e'e$ent iz
p#'iste- i ispita$o nje"ove susee+
Susei %vora A su %vorovi B i C+ ,o*to s$o zavr*i'i posao sa %voro$ A- iz(risa!e$o "a izp#'iste- i oa!e$o "a Clo&% 'isti+ Saa i$a$o va nova %vora B i C koje tre(a aispita$o] nji& !e$o oati u p#'istu+ Trenutno stanje p#'iste i Clo&%'iste je s'ee!e0
Open 'ista0 B- C C'ose 'ista0 A
Korak +Saa na*a p#'ista sar.i va e'e$enta+ U s'u%aju pretra"e po u(ini i pretra"e po *irini-uvek se ispituje prvi e'e$ent iz p#'iste+ ,rvi e'e$ent u p#'isti je %vor B+ ,o*to B nije)i'jni %vor- potra.i!e$o nje"ove poto$ke+
,o*to s$o ispita'i %vor B- uk'oni!e$o "a iz p#'iste i oa!e$o "a Clo&%'isti+ ,oto$ke%vora B ; i E< oa!e$o na poetakp#'iste+
Open 'ista0 - E- C C'ose 'ista0 A- B
Korak 2,o*to je %vor na po%etku p#'iste- ispita!e$o "a+ vor nije )i'jni %vor- i ne$a susee+:ato !e$o u ovo$ koraku iz(risati %vor iz p#'iste- i stavi!e$o "a u Clo&%'istu+
Open 'ista0 E- C C'ose 'ista0 A- B-
Korak 1U ovo$ koraku ispita!e$o %vor E iz p# 'iste+ ,o*to E nije )i'jni %vor- potra.i!e$onje"ove susee ;%vorovi @ i 4
7/25/2019 Vest Int Skripta Pot Miklos
24/129
Ve*ta%ka Inte'i"en)ija Skripta
Iz p#'iste (ri*e$o %vor E- i oaje$o %vorove @ i 4+ vor E oaje$o Clo&%'isti+
Open 'ista0 @- 4- C C'ose 'ista0 A- B- - E
Korak 4Saa razvija$o %vor @+ ,o*to je to )i'jni %vor- zaustav'ja$o pretra"u+
Bri*e$o %vor @ iz p#'iste- i oaje$o "a Clo&%'isti+ ,o*to s$o sti"'i o )i'jno" %vorane$a potre(e za razvijanje$ %vora @ i na'a.enje$ nje"ovi& susea+ Kona%no stanje p#iClo&%'isti i$a s'ee!i iz"'e0
Open 'ista0 4- C C'ose 'ista0 A- B- - E- @
Kona%na putanja pretra"e je krajnje stanje Clo&%'iste0 A- B- - E- @+
+.2. Prtraga ( iri#(
,retra"a u *irinu je veo$a s'i%na pretrazi u u(inu+ Ko pretra"e u u(inu poto$ke ispitano"%vora oava'i s$o na po%etak p#'iste+ Ko pretra"e u *irinu- ispitani %vorovi se oajuna kraj p# 'iste+ Saa !e$o po"'eati kako !e ova pro$ena uti)ati na na*u pretra"u+,os$atra!e$o isto sta('o kao i u pro*'o$ pri$eru+ Neka zaatak (ue prona'a.enje putaiz$e5u %vorova A i E+
Korak ,Kao i $a'opre- po%e!e$o koreno$0
2/
7/25/2019 Vest Int Skripta Pot Miklos
25/129
Ve*ta%ka Inte'i"en)ija Skripta
Stanja !e$o i a'je pratiti po$o!u p#i Clo&%'iste
Open 'ista0 A C'ose 'ista0 \praznoY
Korak Ispita!e$o susee %vora A+ :a saa se a'"orita$ ne raz'ikuje o pretra"e po u(ini+
Iz(risa!e$o %vor A iz p#'iste i oa!e$o "a Clo&%'isti+ Susee %vora A ;B i C< !e$ooati p#'isti+ Oni se oaju na kraj p# 'iste- a'i po*to je p# 'ista prazna ;nakon
(risanja %vora A
7/25/2019 Vest Int Skripta Pot Miklos
26/129
Ve*ta%ka Inte'i"en)ija Skripta
,o*to %vor C ne$a susee- iz(risa!e$o %vor C iz p#'iste i nastaviti a'je sa a'"orit$o$+
Open 'ista0 - E C'ose 'ista0 A- B- C
Korak 1S'i%no Koraku 3- ispita$o %vor + ,o*to nije )i'jni %vor i po*to ne$a susee ;poto$ke
7/25/2019 Vest Int Skripta Pot Miklos
27/129
Ve*ta%ka Inte'i"en)ija Skripta
)+ Oreiti susee izva5eno" %vora++ Susee oati na poetak p# 'iste- i oati izva5eni %vor Clo&% 'isti+
Nastaviti sa )ik'uso$+
,seuo ko za pretra"u po *irini0
1+ ek'arisati ve 'iste0 p#i Clo&%+2+ oati po%etni %vor u p#'istu+3+ 9il;p#'ista nije prazna< /o
a+ Izvaiti prvi %vor iz p#'iste+(+ ,roveriti a 'i je izva5eni %vor ujeno i )i'jni %vor+
i+ Ako je izva5eni %vor )i'jni %vor- iza!i iz )ik'usa- oati %vor Clo&%'isti- i re*enje je aktue'no stanje Clo&%'iste+
ii+ Ako izva5eni %vor nije )i'jni %vor- nastaviti sa izvr*avanje$ pet'je;Korak )+- 6- K- I- C
vor C je pos'enji %vor koji se ispituje uprkos to$e *to je irektni suse po%etno" %vora A+U s'u%aju pretra"e u *irinu %vor C (is$o prona*'i veo$a (rzo0 A- B- C+ :a neku ru"u
putanju- re)i$o iz$e5u %vorova A i - pretra"a u u(inu a'a (i (o'je rezu'tate+
:(o" na%ina #unk)ionisanja ovi& a'"orita$a- pri pravi'no$ iz(oru korisnik !e %esto onetipo"re*nu o'uku+ Iako je %vor C na sa$o jean korak o po%etno" %vora- pretra"a u u(inu"a u"o ne!e prona!i- jer se #avorizuje u(ina u$esto *irine+
Ovakve stvari e*avaju se- jer su o(e $etoe pretra"e s'epe ;('in sear)&
7/25/2019 Vest Int Skripta Pot Miklos
28/129
Ve*ta%ka Inte'i"en)ija Skripta
,ri'iko$ pretra"e ve'iki& "ra#ova $o"u se pojaviti pet'je+ Ako (is$o .e'e'i a vii$o s'u%aju koje$ a'"orita$ pretra"e u u(inu ne prona'azi re*enje- tre(a sa$o oati jenu "ranuiz$e5u %vorova i A+
A'"orita$ ne!e $o!i a prona5e re*enje- jer !e sta'no oavati %vorove A- B- i (ez$o"u!nosti a iza5e iz pet'je+
ru"i poten)ija'ni pro('e$ je- ako 'eva strana sta('a i$a vi*e $i'iona %vorova- ok je re*enjena esnoj strani sta('a ua'jeno sa$o neko'iko koraka o korena+ ,retra"a u u(inu !e $oratia ispita $no"o %vorova i a iz"u(i $no"o vre$ena- pre ne"o *to uop*te o5e o esnestrane sta('a+
,retra"a u *irinu ne$a neostatak z(o" pet'ji- jer se kre!e &orizonta'no unutar svake u(ine+,retra"a u *irinu- uvek !e prona!i re*enje (ez o(zira na tip sta('a- osi$ ako sta('o ne$a
(eskona%no $no"o %vorova+ Sa ru"e strane- ako sa$o jena "rana i$a (eskona%nu u(inu-pretra"a u u(inu $o.a nika ne!e na!i re*enje+
2
7/25/2019 Vest Int Skripta Pot Miklos
29/129
Ve*ta%ka Inte'i"en)ija Skripta
2. G#t&ki algoritmi
U ru"oj po'ovini 27+ veka- vi*e eksperata iz o('asti ra%unarske nauke- nezavisno jeprou%ava'o evo'u)ione siste$e- sa iejo$ a se prin)ipi evo'u)ije pri$ene na pro('e$eopti$iza)ije u in.enjerskoj praksi+ Svaki o ovi& siste$a- os'anjao se na popu'a)iju koja je use(i sar.ava'a $o"u!a re*enja ati& pro('e$a+ A'"orit$i su (i'i (azirani na opera)ija$akoje i$itiraju prironu "enetsku pro$enu i prironou se'ek)iju+
U 79i$ "oina$a pro*'o" veka- De)&en(er" je iz$is'io tzv+ evo'u)ionu strate"iju ;ESo&n Ho''an+ On je 1G?+ "oine;Ho''an- 1G?< "enetski a'"orita$ prikazao kao apstrak)iju (io'o*ke evo'u)ije- i ao jeteorijski okvir za aapta)iju "enetski& a'"orita$a+ Ova pu('ika)ija s$atra se$onu$enta'no$ u istoriji "enetski& a'"orita$a+ Ko Ho''an9ovo" "enetsko" a'"orit$a iz
popu'a)ije koja se sastoji o &ro$ozo$a ;na pri$er strin"ovi koji se sastoje o nu'a ijeini)a< stvara se s'ee!a popu'a)ija kori*!enje$ prirone se'ek)ije- to jest preko "enetski&opera)ija reko$(ina)ije- $uta)ije i inverzije+ Svaki &oro$ozo$ sar.i "ene ;na pri$er
(itove
7/25/2019 Vest Int Skripta Pot Miklos
30/129
Ve*ta%ka Inte'i"en)ija Skripta
pri %e$u je'o"rani%en na )e'o(rojne vrenosti+ @unk)ija ( )'f je sinusna #unk)ija o 7 o ^raijana+ 6aksi$a'na vrenost #unk)ije je 1- i jav'ja se za ^2- to jest za 812+ S'ika 3+1+
prikazuje #unk)iju ( )'f +
S'ika 3+1+ Sinusna #unk)ija o 7 o ^ raijanaU ovo$ pri$eru postoji sa$o jena pro$enjiva0 '+ ,retpostavi$o a koristi$o (inarnia'#a(et+ ,rvo tre(a a o'u%i$o kako a prestavi$o pro$en'jivu+ ,o*to ' $o.e uzi$ativrenosti sa$o iz interva'a 792??- 'o"i%no je a !e$o svaku jeinku prestaviti sa 9(itni$
(inarni$ strin"o$+
Binarni (roj 77777777 prestav'ja!e 7- ok !e (inarni (roj 11111111 prestav'jati 2??+
a'je- tre(a o'u%iti ko'iko jeinki !e %initi popu'a)iju+ O(i%no se (ira a (roj jeinki (ueiz$e5u neko'iko esetina i neko'iko stotina+ U na*e$ i'ustrativno$ pri$eru popu'a)ija !e se
sastojati o sve"a jeinki+
S'ee!i korak je ini)ija'iza)ija popu'a)ije+ To se rai s'u%ajno- Ta(e'a 3+1+
Ta(e'a 3+1+ Ini)ija'ne vrenosti popu'a)ije
U Ta(e'i 3+1+ sa ( )'f s$o o(e'e.i'i #itnes ;o(rotu< jeinke+
37
7/25/2019 Vest Int Skripta Pot Miklos
31/129
Ve*ta%ka Inte'i"en)ija Skripta
2... Slk)i$a
Nakon izra%unavanja #itnesa- s'ee!i korak je reprouk)ija+ Deprouk)ija je #or$iranje novepopu'a)ije sa isti$ (roje$ iniviua- se'ektovanje$ %'anova trenutne popu'a)ije $etoo$
sto&asti%ko" iz(ora+ Verovatno!a iz(ora svake jeinke zavisi o njeno" #itnesa+ to je #itnesate jeinke ve!i- njena *ansa za reprouk)iju !e tako5e (iti ve!a+ U na*e$ pri$eru- su$a#itnesa svi& iniviua ini)ija'ne popu'a)ije je ?+73+ e'jenje$ svako" #itnesa sa ?+73o'azi$o o nor$a'izovano" #itnesa za svaku jeinku+ Su$a nor$a'izovani& #itnesa je 1+
Nor$a'izovane #itnes vrenosti koriste se u pro)esu koji se zove ru'et to%akM- "e svaki eoru'et to%ka o"ovara jenoj jeinki+ Ve'i%ina e'a ru'et to%ka zavisi o #itnesa jeinke+Spinovanje$ ru'et to%ka "eneri*e$o s'u%ajni& (rojeva iz$e5u 7 i 1+ Ako je s'u%ajan (rojiz$e5u 7 i 7+1//- (ira se prva jeinka iz trenutne popu'a)ije za reprouk)iju+ Ako je s'u%ajan
(roj iz$e5u 7+1// i ;7+1//Q7+73
7/25/2019 Vest Int Skripta Pot Miklos
32/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika 3+2+ ,opu'a)ija pre ukr*tanja sa prikazani$ ta%ka$a ukr*tanja ;a
7/25/2019 Vest Int Skripta Pot Miklos
33/129
Ve*ta%ka Inte'i"en)ija Skripta
1. N(ral# mr!1.. =ioloka poza%i#a
Ve*ta%ke neura'ne $re.e raz$atrane u ovo$ tekstu- sa$o su u okvirnoj vezi sa nji&ovi$o"ovaraju!i$ (io'o*ki$ neuroni$a+ U ovo$ e'u ukratko !e$o opisati one oso(ine $oz"a-koje su inspirisa'e razvoj ve*ta%ki& neura'ni& $re.a+
6ozak se sastoji o ve'iko" (roja ;oko 17 11< visoko povezani& e'e$enata ;otpri'ike 17/vezapo e'e$entu< koji se nazivaju neuroni+ :a na*e potre(e ovi neuroni i$aju tri osnovneko$ponente0 enrite- !e'ijsko te'o i akson+ enriti su $re.e nervni& v'akana na'ik rvetukoje voe e'ektri%ne si"na'e pre$a !e'ijsko$ te'u+ _e'ijsko te'o su$ira i upore5uje sa neki$
pra"o$ o'aze!e si"na'e+ Akson je u"a%ko v'akno koje voi si"na' o !e'ijsko" te'a pre$aru"i$ neuroni$a+ Ta%ka spajanja iz$e5u aksona jene !e'ije i enrita ru"e !e'ije nazivase sinapsa+ @unk)ija neura'ne $re.e ore5ena je rasporeo$ neurona i ja%ino$ iniviua'ni&sinapsi+ U 'jusko$ te'u- )eo pro)es je veo$a s'o.ena e'ektro&e$ijska reak)ija+ S'ika /+1
prestav'ja pojenostav'jenu *e$u va povezana (io'o*ka neurona+
S'ika /+1+ ,ojenostav'jena *e$a va (io'o*ka neurona
Neki e'ovi neura'ne strukture e#inisani su po ro5enju+ ru"i e'ovi razvijaju se prekou%enja ;neke nove veze se uspostav'jaju- a neke stare veze se prekiaju $e5u neuroni$a
7/25/2019 Vest Int Skripta Pot Miklos
34/129
Ve*ta%ka Inte'i"en)ija Skripta
1.+.. Mo%l #(ro#a
Na S'i)i /+2+ prikazan je neuron sa jednim ulazom+ Ska'arni u'azppo$no.en je sa ska'arno$te.ino$ (- i oni #or$iraju proizvo (p koji se *a'je na u'az sa(ira%a+ ru"i u'az- 1-
po$no.en je sa bias9o$ b- i poto$ se tako5e *a'je na sa(ira%+ Iz'az sa(ira%a- n- %esto senaziva ulazom mre)e- i on se pros'e5uje na prenosnu funkciju f koja aje ska'arni iz'azneurona a ;u$esto izraza prenosna #unk)ija koristi se jo* i ter$in aktivaciona funkcija- au$esto bias9a koristi se ter$in ofset
7/25/2019 Vest Int Skripta Pot Miklos
35/129
Ve*ta%ka Inte'i"en)ija Skripta
ar"u$ent ve!i i'i jenak o 7+ Ovu #unk)iju !e$o koristiti ko neurona koji tre(a ak'asi#ikuju u'aze u ve ovojene kate"orije+
S'ika /+3+ Osko%na prenosna #unk)ija
4ra#ik na S'i)i /+3+ esno i'ustruje u'aznoiz'aznu karakteristiku neurona sa jeni$ u'azo$koji koristi pra" #unk)iju+ Na s'i)i $o.e$o a vii$o uti)aj te.ine o#set9a+ Ikona kojo$
o(e'e.ava$o pra" prenosnu #unk)iju prikazana je iz$e5u ve s'ike+
Iz'az linearne prenosne funkcije jenak je je u'azu iste #unk)ije ;S'ika /+/+enos'ojna $re.a o Sneurona sa*u'aza tako5e se $o.e na)rtati upojenostav'jenoj #or$i- S'ika /++
3
7/25/2019 Vest Int Skripta Pot Miklos
39/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika /++ S'oj o Sneurona- ko$paktna nota)ija
Si$(o'i ispo pro$en'jivi& ozna%avaju a je u'azni vektor pu.ine*- a $atri)a i$ai$enzije *S - ok vektori a i 'i$aju u.inu S+ Kao *to je ve! napo$enuto s'oj sar.i$atri)u sa te.ina$a- sa(ira%e i $no.a%e- (ias vektor '- prenosnu #unk)iju i iz'azni vektor+
1.+.5. Mr! &a "i &lo$"a
Saa !e$o raz$otriti $re.u sa vi*e s'ojeva+ Svaki o s'ojeva i$a svoju $atri)u sa te.ina$a- (ias vektor '- u'azni vektor #i iz'azni vektor a+ :a raz'ikovanje ovi& s'ojeva tre(a uvestineke oatne oznake+ ,ro$en'jiva$a !e$o oati "ornji ineks koji !e o(e'e.avati s'ojeve+6atri)a sa te.ina$a za prvi s'oj (i!e o(e'e.ena sa 1E - a $atri)a sa te.ina$a za ru"i s'oj !e
(iti o(e'e.ena sa 2E + Ovo je prikazano na S'i)i /+17+
S'ika /+17+ 6re.a sa tri s'oja
Kao *to vii$o- i$a * u'aza- S1 neurona u prvo$ s'oju- S2neurona u ru"o$ s'oju- it+Daz'i%iti s'ojevi $o"u i$ati raz'i%it (roj neurona+ Iz'az prvo" s'oja je u'az u ru"i s'oj- a iz'azru"o" s'oja je u'az u tre!i s'oj+ Tako a se s'oj 2 $o.e pos$atrati kao $re.a sa jeni$s'oje$ sa 1S*= u'aza- 2SS= neurona- i $atri)o$ te.ina 2i$enzija 21 SS + U'az us'oj 2 je a1- ok je iz'az a2+ S'oj %iji je iz'az ujeno i iz'az $re.e naziva se izlazni sloj+ Osta'is'ojevi nazivaju se skriveni s'ojevi ;hidden la+ers
7/25/2019 Vest Int Skripta Pot Miklos
40/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika /+11+ Neura'na $re.a sa tri s'oja- ko$paktna nota)ija
6re.e sa vi*e s'ojeva su a'eko $o!nije o $re.a koji i$aju sa$o jean s'oj+ Na pri$er-neura'na $re.a sa va s'oja sa si"$oia'no$ prenosno$ #unk)ijo$ na prvo$ s'oju i'inearno$ na ru"o$ s'oju- $o.e se o(u%iti a aproksi$ira "otovo sve #unk)ije sa
proizvo'jno$ ta%no*!u+ Najve!i (roj prakti%ni& neura'ni& $re.a i$a va i'i tri s'oja+ etiri i'ivi*e s'ojeva koriste se veo$a retko+ Ove se postav'ja i pitanje (ias9a+ 6o"u se koristiti
neuroni sa i'i (ez (ias9a+ Bias aje $re.i jenu oatnu pro$en'jivu i z(o" to"a $re.a $o.ei$ati (o'je per#or$anse+ 6re.a (ez (ias9a na u'azu !e uvek i$ati vrenost 7 uko'iko su sviu'azi pnu'a *to u neki$ pri$ena$a prestav'ja neostatak+
1.+.8. Rk(r#t# mr!
,re ne"o *to se upozna$o sa rekurentni$ $re.a$a tre(a prestaviti jean jenostavane'e$ent o koji& se rekurentne $re.e sastoje+ Taj ('ok je blok za kanjenjekoji je prikazan naS'i)i /+12+
S'ika /+12+ B'ok za ka*njenje
Iz'az ('oka a;t< izra%unava se na osnovu u'aza (;t< na osnovu #or$u'e
( ) ( )1= tt (a
Iz'az je jenak u'azu- sa$o u pret&ono$ trenutku+*ekurentna mre)aje $re.a koja sar.i povratne veze+ Neki o iz'aza povezani su sa u'azi$a+Ove $re.e se raz'ikuju o o saa upoznati& $re.a ;feedfor(ard< ko koji& se si"na'
prostirao o u'aza pre$a iz'azu+Dekurentna $re.a sa iskretni$ vre$eno$ prikazana je naS'i)i /+13+
/7
7/25/2019 Vest Int Skripta Pot Miklos
41/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika /+13+ Dekurentna neura'na $re.a
1.+.7. R#i primri
1+ U'az u neuron sa jeni$ u'azo$ i$a vrenost 2+7- te.ina je 2+3- ok (ias i$a vrenost93+a+ Ko'iki je u'az u prenosnu #unk)iju=
(+ Ko'iki je iz'az iz neurona=
De*enjea+ U'azna vrenost u prenosnu #unk)iju je
C+132P3+2 ==+= b(pn(+ Iz'az iz neurona se ne $o.e oreiti jer nije ore5en tip prenosne #unk)ije+
2+ Ko'iki je iz'az iz neurona iz pret&ono" zaatka- uko'iko su pri$enjene s'ee!eprenosne #unk)ije0a+ ,ra" ;Har 'i$itenos'ojna neura'na $re.a i$a u'aza i va iz'aza+ Iz'azi tre(a a (uu kontinua'ni io"rani%eni na interva' iz$e5u 7 i 1+ ta $o.e$o a ka.e$o o ar&itekturi $re.e=a+ Ko'iko neurona je potre(no=
(+ Koje su i$enzije $atri)e sa te.ina$a=)+ Koje rnosne #unk)ije $o"u a se koriste=+ a 'i je potre(an (ias=
De*enje
a+ ,o*to i$a va iz'aza- potre(na su va neurona ;po jean za svaki iz'az
7/25/2019 Vest Int Skripta Pot Miklos
43/129
Ve*ta%ka Inte'i"en)ija Skripta
4. Primr #(ral# mr!
U ovo$ oe'jku upozna!e$o se sa jeni$ jenostavni$ pri$ero$ za prepoznavanjeuzoraka i vie!e$o kako se zaati pro('e$ re*ava kori*!enje$ neura'ni& $re.a+
4.. /?i#i)i$a pro'lma
,retpostavi$o a jean tr"ova) i$a proavni)u vo!a i povr!a+ ,ri'iko$ isporuke ro(e vi*evrsta vo!a i povr!a $o.e (iti iz$e*ano+ ,roava) .e'i a i$a $a*inu za razvajanje vo!a uzavisnosti o vrste+ ,ostoji jena (eskona%na traka na kojoj sti.e vo!e+ Ova traka pro'azi kroz"rupu senzora koja $eri tri karakteristike vo!a0 oblik- teksturu i te)inu+ To su jenostavnisenzori+ Senzor za o('ik !e na svo$ iz'azu ati 1 ako je vo!ka okru"'a- i 91 ako je vo!kae'piti%na+ Senzor za teksturu !e na svo$ iz'azu ati vrenost 1 ako je povr*ina vo!ke "'atka- i91 ako je povr*ina vo!ke na(orana ;neravna
7/25/2019 Vest Int Skripta Pot Miklos
44/129
Ve*ta%ka Inte'i"en)ija Skripta
ok prototip ja(uke prestav'ja$o sa
=
1
1
1
2p
Neura'na $re.a !e na svo$ u'azu pri&vatiti troi$enziona'ni u'azni vektor za svaku vo!kukoja sti.e na tra)i i na osnovu to"a $ora a onese o'uku a 'i se rai o naran.i ;p1< i'i
ja(u)i ;p2
7/25/2019 Vest Int Skripta Pot Miklos
45/129
Ve*ta%ka Inte'i"en)ija Skripta
Ako je proizvo $atri)e sa te.ina$a ;vektor vrsta u ovo$ s'u%aju< i u'azno" vektora ve!i oJb- iz'az !e (iti 1+ Ako je proizvo $atri)e sa te.ina$a i u'azno" vektora $anji o Jb- iz'az!e (iti 1 + Na taj na%in u'azni prostor poe'jen je na va e'a+ S'ika 3+3 i'ustruje ovaj s'u%ajka je 1=b + Kosa 'inija na s'i)i prestav'ja sve ta%ke za koje je u'az u $re.u njenak 70
[ ] 7111 == pn
Tre(a pri$etiti a !e "rani%na 'inija o'u%ivanja uvek (iti orto"ona'na na $atri)u sate.ina$a- i a se po'o.aj "rani%ne 'inije $o.e po$erati pro$eno$ para$etra b+ ;U op*te$s'u%aju- $atri)a Wsastoji se o vi*e vektora vrsta+ :a svaku vrstu $atri)e Wpostoja!e jena"rani%na 'inija+< Osen%eni eo S'ike ?+3+ sar.i sve u'azne vektore za koje !e iz'az $re.e (iti
jenak 1+ Iz'az !e (iti 1 za sve osta'e u'azne vektore+
S'ika ?+3+ 4rani)a o'u%ivanja ko per)eptrona
K'ju%na oso(ina per)eptrona sa jeni$ neurono$ je a $o.e a razvoji u'aze vektore u ve
kate"orije+ 4rani)a o'u%ivanja iz$e5u kate"orija ore5ena je jena%ino$7=+b0p
,o*to "rani)a $ora (iti 'inearna- per)eptron sa jeni$ neurono$ $o.e se koristiti sa$o zaprepoznavanje 'inearno razvojivi& uzoraka+
4.+.+. Primr za prpoz#a"a#$ (zoraka
Saa !e$o se posvetiti pro('e$u za prepoznavanje ja(uka i po$oran.i+ ,o*to u'azne uzorke
tre(a razvojiti u sa$o ve ovojene kate"orije- $o.e$o koristiti per)eptron sa sa$o jeni$neurono$+ U'azni vektori su troi$enziona'ni ( )3=* - tako a !e jena%ina per)eptronai$ati o('ik
[ ]
+
= b
p
p
p
(((hardlimsa /,-/,./,/
3
2
1
`e'i$o a orei$o (ias b i e'e$ente $atri)e sa te.ina$a tako a per)eptron (ue u$o"u!nosti a razvoji ja(uke o po$oran.i+ Na pri$er- .e'i$o a iz'az per)eptrona (ue1
ka je na u'azu ja(uka- a a iz'az per)eptrona (ue 1 ka je na u'azu po$oran.a+Kori*!enje$ prin)ipa koji je i'ustrovan na S'i)i 3+3- tre(a a prona5e$o 'inearnu "rani)u
/?
7/25/2019 Vest Int Skripta Pot Miklos
46/129
Ve*ta%ka Inte'i"en)ija Skripta
koja razvaja ja(uke o po$oran.i+ va vektora prototipa prikazana su na S'i)i ?+/+ Naosnovu s'ike vii se a je si$etri%na "rani)a koja razvaja ova va vektora ravan 31- pp +
S'ika ?+/+ ,rototip vektori
Davan 31- pp koja !e (iti "rani)a o'u%ivanja $o.e se opisti jena%ino$
72 =pi'i
[ ] 777173
2
1
=+
p
p
p
Te.ine i (ias i$a!e vrenosti
[ ]717=0 - 7=b +
6atri)a sa te.ina$a je orto"ona'na na "rani)u o'u%ivanja i pokazuje pre$a o('asti kojasar.i prototip vektor 2p ;ja(uka< za koju .e'i$o a iz'az neura'ne $re.e (ue 1+ Bias i$avrenost 7- jer "rani)a o'u%ivanja pro'azi kroz koorinatni po%etak+
Saa !e$o testirati neura'nu $re.u za k'asi#ika)iju ja(uka i po$oran.i+ Ona !e savr*eno
izvr*avati zaatakjer
Nara#%!a@
[ ] ( )narand)a1/1hardlimsa 17
1
1
1
=
+
=
Ja'(ka@
/
7/25/2019 Vest Int Skripta Pot Miklos
47/129
Ve*ta%ka Inte'i"en)ija Skripta
[ ] ( )jabuka1/1hardlimsa 17
1
1
1
=
+
=
6e5uti$- *ta se e*ava ka u k'asi#ikator stavi$o ne (a* savr*enu naran.u= ,retpostavi$oa je etektovao po$oran.u sa e'ipti%ki$ o('iko$+ Taa !e u'azni vektor (iti ore5enjena%ino$
=1
1
1
2p
Oziv $re.e u ovo$ s'u%aju (i!e
[ ] ( )narand)a1/1hardlimsa 17
1
1
1
=
+
=
Svaki u'azni vektor koji je ('i.i prototip vektoru naran.e ne"o prototip vektoru ja(uke;Euk'isko rastojanje< (i!e k'asi#ikovan kao naran.a+
2a eksperimentisanje sa perceptron mre)om i jabuka3pomorand)a klasifikatorom mo)emokoristiti 4eural 4et(ork 5esign 5emonstration Perceptron 6lassification !nn3p)#7
U ovo$ pri$eru $re.u s$o $o"'i a izajnira$o "ra#i%ki (iranje$ "rani)u o'u%ivanja kojajasno razvaja uzorke+ Kakva je situa)ija sa ru"i$ prakti%ni$ pro('e$i$a "e u'azi i$ajuvi*e i$enzija+ Taa se $oraju koristiti a'"orit$i za o(u%avanje za re*avanje ko$p'eksni&
pro('e$a+
Najva.nija oso(ina jenos'ojno" per)eptrona je a ona "eneri*e 'inearnu "rani)u o'u%ivanjaza razvajanje u'azni& vektora+ ta se $e5uti$ e*ava- uko'iko i$a$o uzorke koji se ne$o"u razvojiti 'inearno$ "rani)o$= Taa se re*enje tra.i uvo5enje$ vi*es'ojno"
per)eptrona koji $o.e a re*i pro('e$ (i'o koje s'o.enosti+
/G
7/25/2019 Vest Int Skripta Pot Miklos
48/129
Ve*ta%ka Inte'i"en)ija Skripta
5. Pra"ila za o'(6a"a#$ pr)ptro#a
>ean o pitanja koje se postav'ja'o u pret&ono$ oe'jku je (i'o0 Kako oreiti $atri)u sate.ina$a i (ias za per)eptron $re.u za $no"o u'aza "e je ne$o"u!e vizua'izovati "rani)eo'u%ivanja= U ovo$ oe'jku opisa!e$o a'"orita$ za o(u%avanje per)eptron $re.e kako (inau%i'i a re*avaju pro('e$e k'asi#ika)ije+ ,o%e!e$o sa o(ja*njenje$ pravi'a za o(u%avanje iizve*!e$o pravi'a za o(u%avanje per)eptrona+ U zavr*no$ e'u raz$otri!e$o prenosti io"rani%enja neura'ne $re.e sa sa$o jeni$ s'oje$ neurona+
avne 1/3 "oine- arren 6)Cu''o)& i a'ter ,itts prestavi'i su prvi ve*ta%ki neuron+4'avna oso(ina nji&ovo" $oe'a neurona (i'a je a se ponerisana su$a u'azni& si"na'aupore5uje sa unapre zaati$ pra"o$ kako (i se oreio iz'az neurona+ Kaa je su$a ve!a i'i
jenaka o pra"a pra"u- iz'az !e (iti 1+ Kaa je su$a $anja o pra"a- iz'az !e (iti 7+ Autorisu pokaza'i a $re.e ovakvi& neurona $o"u izra%unati vrenost (i'o koje arit$eti%ke i'i'o"i%ke #unk)ije+ :a raz'iku o (io'o*ki& neurona- para$etri nji&ove $re.e tre(a a se
projektuju po*to $etoe za o(u%anje jo* nisu (i'i poznate+ Ve! u to vre$e veza iz$e5u(io'o"ije i i"ita'ni& ra%unara izazva'a je ve'iko interesovanje+
Kasni& peeseti& "oina pro*'o" veka @rank Dosen('att i $no"i ru"i istra.iva%i razvi'i suk'asu neura'ni& $re.a koje se nazivaju per)eptroni+ Neuroni u ovi$ $re.a$a (i'i su s'i%nioni$a koje su izu$e'i 6)Cu''o)k i ,itts+ Dosen('att9ov k'ju%ni oprinos (io je uvo5enje
pravi'a za o(u%avanje za per)eptron $re.e za re*avanje pro('e$a k'asi#ika)ije uzoraka+ On jeokazao a !e nje"ova pravi'a za o(u%avanje uvek konver"irati pre$a pravi$ te.ina$a$re.e ;uko'iko takve te.ine postoje
7/25/2019 Vest Int Skripta Pot Miklos
49/129
Ve*ta%ka Inte'i"en)ija Skripta
5.+. Ar9itkt(ra pr)ptro#a
,re ne"o *to pre5e$o na pravi'a za o(u%avanje per)eptrona- uve*!e$o neke oatnepoj$ove u per)eptron $er.u+ Op*ta per)eptron $re.a prikazana je na S'i)i +1+
S'ika +1+ ,er)eptron $re.a
Iz'az iz $re.e ore5en je s'ee!o$ #or$u'o$0
7/25/2019 Vest Int Skripta Pot Miklos
50/129
Ve*ta%ka Inte'i"en)ija Skripta
( )
== ru"e7
7nza1
n&ar'i$A ;/+Gean o $o"u!i& pristupa (io (i a postavi$o (1 tako a (ue jenakp/+ To (i o(ez(ei'oa p/u (uu!nosti (ue ispravno k'asi#ikovan+ Na .a'ost- nije te*ko konstruisati pri$er zakoji ovo pravi'o ne $o.e a prona5e re*enje+ S'ee!i ija"ra$ pokazuje pro('e$ koji ne$o.e a se re*i ako vektor sa te.ina$a pokazuje irektno pre$a jeno$ o va )rna kru.i!a+Uko'iko (is$o pri$eni'i pravi'o p(=1 - svaki put !e jean o ova va vektora (iti po"re*nok'asi#ikovan- te.ine !e prosto os)i'ovati u jenu i ru"u stranu- a re*enje nika ne!e (iti
prona5eno+
ru"a $o"u!nost (i'a (i sa(iranjep/ i (1 + Sa(iranje$p/ i (1 - (1 (i pokazivao vi*epre$ap/+ Vi*estruko ponav'janje ovo" postupka izazva'o (i a s$er (1 asi$ptotski te.i kas$erup/+ Ovo pravi'o $ate$ati%ki se $o.e izraziti kao0
??
7/25/2019 Vest Int Skripta Pot Miklos
56/129
Ve*ta%ka Inte'i"en)ija Skripta
Ako je t$/ i a$1- taa p(( oldne( +=11 ;PPean $o"u!i iz(or i'ustrovan je na S'i)i +11+- "e osen%eneo('asti ozna%avaju $esta na koji$a je iz'az 1+ Najta$nija osen%ena o('ast ozna%ava a suiz'azi o(a neurona jenaka 1+ Ovo re*enje o"ovara )i'jni$ vrenosti$a
=
=
=
=
=
=
=
=
1
1-
1
10/-
7
1-
7
103
-1
7-
1
702-
7
7-
7
701
IGC?
/321
ttclassttclass
ttclassttclass
Saa $o.e$o oa(rati vektore sa te.ina$a0
=1
31(
=2
12(
u.ine vektora te.ina nije o interesa- va.na je sa$o nji&ova us$erenost+ Oni $oraju (itiorto"ona'ni na na "rani)e o'u%ivanja+ Saa $o.e$o oreiti (ias- iz(oro$ ta%ke na"rani)i koja zaovo'java jena%inu ;P
7/25/2019 Vest Int Skripta Pot Miklos
65/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ika +11+ O('asti o'u%ivanja
U $atri%noj #or$i i$a$o s'ee!e re'a)ije0
=
=
21
13
2
1
(
(0
=
7
1b
Ovi$ je projektovanje neura'ne $re.e zavr*eno+
1. Riti &l%:i pro'lm kla&i?ika)i$ pomo:( pr)ptro# pra"ila o'(k. Na (lazmr! r%om %o"&ti (laz o#oliki 'ro$ p(ta koliko $ potr'#o %a pro'lm '(%r#. Nako# pro#ala!#$a r#$a #a)rtati gra?ik pro'lma.
=
=
=
=
=
=
=
= 1-
1
17-
2
21-
2
17-
2
2//332211 tptptptp
Kori&titi i#i)i$al# t!i# i 'ia&@
( ) [ ]777 =0 ( ) 77 =b
,o%e!e$o sa izra%unavanje$ iz'aza per)eptrona a za prvi u'azni vektor 1p koriste!iini)ija'ne vrenosti te.ina i (ias+
( ) ( )( ) [ ] ( ) 17&ar'i$72
277&ar'i$77&ar'i$ 1 ==
+
=+= bp0a
Iz'az a ne o"ovara .e'jenoj vrenosti 1t - zato koristi$o per)eptron pravi'o a na
osnovu "re*ke orei$o nove te.ine i (ias+
1171 === ate( ) ( ) [ ] ( )[ ] [ ]222217771 1 =+=+= ,ep00
( ) ( ) ( ) 11771 =+=+= ebb
Saa na u'az $re.e ovoi$o ru"i u'azni vektor 2p koriste!i nove vrenosti te.ina i(ias+
( ) ( )( ) [ ] ( ) 11&ar'i$12
122&ar'i$11&ar'i$
2
==
=+= bp0a
?
7/25/2019 Vest Int Skripta Pot Miklos
66/129
Ve*ta%ka Inte'i"en)ija Skripta
Ovo" puta iz'az ajenak je .e'jeno$ iz'azu 2t +Na osnovu per)eptron pravi'a o(uke- nevr*i$o nikakva poe*avanje te.ina+
( ) ( )12 00 =( ) ( )12 bb =
Saa o'azi$o o tre!e" u'azno" vektora+
( ) ( )( ) [ ] ( ) 71&ar'i$12
222&ar'i$22&ar'i$ 3 ==
=+= bp0a
Oziv $re.e na u'azni vektor 3p jenak je .e'jeno$ iz'azu 3t - tako a ne!e (itinikakvi& pro$ena+
( ) ( )23 00 =
( ) ( )23 bb =
Saa !e$o na u'az $re.e ovesti pos'enji u'azni vektor /p +
( ) ( )( ) [ ] ( ) 71&ar'i$11
122&ar'i$33&ar'i$ / ==
=+= bp0a
Ovo" puta iz'az a ne o"ovara .e'jeno$ iz'azu /t + ,er)eptron pravi'o !e rezu'tovatinovi$ skupo$ vrenosti za i (+
171/ === ate( ) ( ) [ ] [ ] [ ]13111223/ / =+=+= ,ep00
( ) ( ) 7113/ =+=+= ebb
Nakon *to s$o pro*'i sve u'azne vektore- ponovo !e$o po%eti o u'azno" vektora 1p +Ovo" puta iz'az ajenak je .e'jeno$ iz'azu 1t +
( ) ( )( ) [ ] ( ) 7I&ar'i$72
213&ar'i$//&ar'i$ 1 ==
+
=+= bp0a
,o*to se o(ijeni iz'az pok'apa sa .e'jeni$ iz'azo$- ne!e (iti pro$ena+
( ) ( )/? 00 =( ) ( )/? bb =
ru"o ovo5enje u'azno" vektora 2p rezu'tova!e "re*ko$- a nove vrenosti te.ina i(ias9a je0
( ) ( )( ) [ ] ( ) 71&ar'i$7
2
113&ar'i$??&ar'i$ 2 ==
+
=+= bp0a
7/25/2019 Vest Int Skripta Pot Miklos
67/129
Ve*ta%ka Inte'i"en)ija Skripta
Nove vrenosti su0
1712 === ate( ) ( ) [ ] [ ] [ ]3221113?C 2 =+=+= ,ep00
( ) ( ) 117?C =+=+= ebb
U s'ee!a %etiri pro'aska ;svi uzor)i< ne!e (iti "re*ke+
( ) ( )( ) [ ] 33 712
232&ar'i$CC&ar'i$ tbp0a ==
+
=+=
( ) ( )( ) [ ] // 111
132&ar'i$CC&ar'i$ tbp0a ==
+
=+=
( ) ( )( ) [ ] 11 712
232&ar'i$CC&ar'i$ tbp0a ==
+
=+=
( ) ( )( ) [ ] 22 112
132&ar'i$CC&ar'i$ tbp0a ==
+
=+=
,o*to za sve u'azne vrenosti o(ija$o .e'jene iz'aze- zak'ju%uje$o a a'"orita$konver"ira+ Krajnje re*enje je0
[ ]32 =0 1=b
Saa $o.e$o na)rtati "rani)u o'u%ivanja re*enja+ 4rani)a o'u%ivanja ore5ena jejena%ino$0
7132 2122-111-1 =+=++=+= ppbp(p(b0pn
,resek 2p i "rani)e o'u%ivanja na'azi$o postav'janje$ 71=p 0
3
1
3
1
2-1
2 ===
(
bp ako je 71=p
,resek 1p i "rani)e o'u%ivanja na'azi$o postav'janje$ 72=p 0
21
21
1-1
1 ===
(bp ako je 72=p
Dezu'tuju!a "rani)a o'u%ivanja prikazana je na S'i)i +12+
S'ika +12+ 4rani)a o'u%ivanja
G
7/25/2019 Vest Int Skripta Pot Miklos
68/129
Ve*ta%ka Inte'i"en)ija Skripta
4. Pro$kto"ati #(ral#( mr!( ko$a : (zork raz"r&tati ( 6tiri o%"o$# kla&.Pro$kto"a#$ iz"riti kori:#$m pr)ptro# pra"ila o'(k.
Skup za o(u%avanje0
=
=
=
=
=
=
1
7-
1
2
7
7-
2
1
7
7-
1
1332211
tptptp
=
=
=
=
=
=
7
1-
1
2
7
1-
2
1
1
7-
7
2CC??// tptptp
1
1-
2
2
1
1-
1
1IIGG
=
=
=
= tptp
A'"orita$ !e$o po%eti s'ee!i$ ini)ija'ni$ te.ina$a i (ias9o$0
( ) ( )
=
=
1
17-
17
717 b0
,rva itera)ija je
( ) ( )( )
=
+
=+=
1
1
1
1
1
1
17
71&ar'i$77&ar'i$ 1 bp0a
=
==
1
1
1
1
7
71 ate
( ) ( ) [ ]
=
+
=+= 71
17
111
1
17
71
71 1,
ep00
( ) ( )
=
+
=+=
7
7
1
1
1
171 ebb
ru"a itera)ija je
( ) ( )( )
=
+
=+=
7
7
7
7
2
1
71
17&ar'i$11&ar'i$ 2 bp0a
=
==
7
7
7
7
7
72 ate
( ) ( ) [ ]
=
+
=+=
71
1721
7
7
71
1712 2
,ep00
( ) ( )
=
+
=+=
7
7
7
7
7
712 ebb
Tre!a itera)ija je0
( ) ( )( )
=
+
=+=
7
1
7
7
1
2
71
17&ar'i$22&ar'i$ 3 bp0a
=
==
11
71
17
3 ate
7/25/2019 Vest Int Skripta Pot Miklos
69/129
Ve*ta%ka Inte'i"en)ija Skripta
( ) ( ) [ ]
=
+
=+=
11
7212
1
1
71
1723 3
,ep00
( ) ( )
=
+
=+=
1
1
1
1
7
723 ebb
O %etvrte o os$e itera)ije te.ine nije potre(no $enjati+
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )3/?CGI
3/?CGI
bbbbbb
000000
==========
eveta itera)ija aje s'ee!i rezu'tat0
( ) ( )( )
=
+
=+=
1
7
1
1
1
1
11
72&ar'i$II&ar'i$ 1 bp0a
=
== 1
7
1
7
7
71 ate
( ) ( ) [ ]
=
+
=+=
27
7211
1
7
11
72IK 1
,ep00
( ) ( )
=
+
=+=
7
1
1
7
1
1IK ebb
U ovoj ta%ki a'"orita$ je konver"irao- jer !e svi u'azni uzor)i (iti ispravno k'asi#ikovani+Kona%ne "rani)e o'u%ivanja prikazane su na S'i)i +13+
S'ika +13+ 4rani)e o'u%ivanja
7/25/2019 Vest Int Skripta Pot Miklos
70/129
Ve*ta%ka Inte'i"en)ija Skripta
8. Primr za (6#$ pr)ptro#a
:a jeno $a*insko u%enje tipi%no ;tipi%no $a*insko u%enje- potre(no je< je potre(no vi*estotina i'i %ak vi*e &i'jaa pri$era- kako (i per)eptron nau%io .e'jena znanja+ Na pri$er- ako.e'i$o a $a*ina nau%i a postav'ja ija"nozu ko neke konkretne (o'esti- "e je zaato a
pa)ijent i$a sto$a%ne te"o(e- potre(ni su na$ poa)i vi*e &i'jaa (o'esnika+Ipak- za prikaz postupka ovo'jan je jean jenostavan pri$er sa sa$o neko'iko uzoraka+Upozna!e$o se sa jeni$ *ko'ski$ pri$ero$+ ,retpostavi$o a poznaje$o poatke zaneko'iko $aturanata- i na osnovu ti& poataka poku*a!e$o a orei$o koji o $'a5i& 5aka$o"u a ra%unaju na o'i%an uspe&+ ,retpostavi$o a poznaje$o s'ee!e poatke0 a 'i jeu%enik i$ao o'i%an uspe& u pret&onoj "oini- a 'i je u%enik vreno raio- a 'i je $u*ko"
po'a i na kraju- a 'i je u%enik puno iz'azio i pio+ :a svako" o ovi& u%enika zna$o a 'i jeove "oine i$ao o'i%an uspe&+ One u%enike koji su i$a'i o'i%an uspe& s$atra!e$o a su
pozitivni primeri- ok !e u%eni)i koji nisu i$a'i o'i%an uspe& s$atra!e$o a su negativniprimeri+ ,oa)i za *est u%enika prikazani su u Ta(e'i G+1+
>6#ik
/a li $ 'ioo%li6a#prol
go%i#
/a li $m(kara)
/a li"r%#ora%i
/a liprkomr#o
pi$
/a li : 'itio%li6a# o"
go%i#
Di)&ar a a ne a neA'an a a a ne aA'ison ne ne a ne ne>e## ne a ne a ne4ai' a ne a a aSi$on ne a a a ne
Ta(e'a G+1+ ,oa)i u%enika
Ve! na prvi po"'e $o.e$o prepoznati neko'iko stvari0 va u%enika koji su posti"'i o'i%anuspe& ;A'an i 4ai'< i pro*'e "oine su (i'i o'i%ni- i o(a u%enika su vreno rai'a+ 6o.e$o
pri$etiti a nijean o u%enika koji nisu posti"'i o'i%an uspe& ne$aju po$enute oso(ine+Lo"i%no je a ako je neko pro*'e "oine i$ao o'i%an uspe&- i ove "oine je vreno raio a iove "oine i$a o'i%an uspe&+ 6e5uti$- na osnovu ta(e'e $o"'i (i zak'ju%iti i neka ru"a
pravi'a+ Na pri$er ako je neko $u*ko" po'a i ne pije- i'i ako je neko .ensko" po'a ipreko$erno pije- i$a!e o'i%an uspe& u *ko'i+ Ova pravi'a va.e u s'u%aju zaati& u%enika- a'isu veo$a %une- i $no"o su s'o.enije+
U ovo$ pri$eru o(u%avanje !e$o izvr*iti sa jeni$ neurono$ ;per)eptrono$< koji jeprikazan na S'i)i G+1+
S'ika G+1+ ,er)eptron za ore5ivanje uspe&a u%enika
Ap'ika)ija koja koristi s'o.enu neura'nu $re.u $o.e za&tevati $re.u koja se sastoji o vi*estotina i'i %ak &i'jau neurona+ A'i i sa pojeina%ni$ neurono$ $o.e$o posti!i neko
G7
7/25/2019 Vest Int Skripta Pot Miklos
71/129
Ve*ta%ka Inte'i"en)ija Skripta
o(u%avanje+ O(u%avanje neura'ne $re.e na osnovu zaati& poataka nije ni*ta ru"o- ne"opoe*avanje te.ina+ Svaki pri$er ore5uje jenu iz'azno9u'aznu vrenost+ Ove pri$ereispita$o jean za ru"i$ i ako aktue'na $re.a ne aje zaovo'javaju!i iz'az- ona u $a'oj$eri pro$eni$o te.ine tako- a pove!a$o te.ine koje pripaaju aktivni$ veza$a ako jestvarni iz'az iz $re.e 7- a )i'jna vrenost ;na osnovu pri$erae##9a i 4ai'9a- a'i ispitivanje$ Si$on9a te.ine $enja$o na 7+2- 7+1?- 7+2 i+7+1+Ovi$ se o(u%avanje jo* nije zavr*i'o+ Sve uzorke tre(a ponovo i ponovo ispitati- ok $re.ane (ue a'a ono'iko ta%ni& rezu'tata ko'iko je $o"u!e ;$ini$iza)ija "re*ke
7/25/2019 Vest Int Skripta Pot Miklos
72/129
Ve*ta%ka Inte'i"en)ija Skripta
U ovo$ pri$eru $o.e$o oe'iti ore5en zna%aj te.ina$a0 te.ina koja o"ovara uspe&u izpret&one "oine i te.ina koja o"ovara vreno$ rau- na kraju o(u%avanja i$aju ve!evrenosti *to zna%i a su ti para$etri zna%ajniji u onosu na po' u%enika i na to a 'i u%enikvo'i a pije a'ko&o'+
Osnovni a'"orita$ za izvr*avanje postupka o(u%avanja je s'ee!i0 S'u%ajno postaviti po%etne vrenosti te.ina+ :a svaki u'azni uzorak ponoviti s'ee!e0
1+ ako je aktue'ni iz'az 1- a .e'jeni iz'az (i tre(a'o a (ue 7- ona tre(a s$anjitivrenosti te.ina aktivni& veza za d+
2+ ako je aktue'ni iz'az 7- a .e'jeni iz'az (i tre(a'o a (ue 1- ona tre(a pove!ativrenosti te.ina aktivni& veza za d+
ok $re.a ne (ue ava'a ta%ne iz'aze ;i'i ok ne istekne neko vre$enskoo"rani%enje
7/25/2019 Vest Int Skripta Pot Miklos
73/129
7/25/2019 Vest Int Skripta Pot Miklos
74/129
Ve*ta%ka Inte'i"en)ija Skripta
;a< ;(> net=newp(P,T)
,ri %e$u su u'azni ar"u$enti0
, je $atri)a i$enzija D 8 ; u'azni& vektora- svaki i$a D e'e$enata
7/25/2019 Vest Int Skripta Pot Miklos
108/129
Ve*ta%ka Inte'i"en)ija Skripta
4ra#i%ki inter#ejs je izajniran a (ue jenostavan i korisni%ki orijentisan+ Sa "ra#i%ki$inter#ejso$ !e$o se upoznati preko jeno" pri$era u ko$ !e$o kreirati per)eptron neura'nu$re.u za izvr*avanje 'o"i%keA45opera)ije+ U'azni vektor je p=[0 0 1 1; 0 1 0 1],ok su .e'jeni iz'azi t=[0 0 0 1]+ 6re.i !e$o ati i$e !"!et+ Nakon kreiranja- $re.a
!e (iti o(u%ena a izvr*ava .e'jenu #unk)iju+ :a pozivanje "ra#i%ko" inter#ejsa u ko$anniprozor tre(a uku)ati nnt##l+ Taa !e se pojaviti prozor koji je prikazan na S'i)i 12++a+
a< (=temp(1))
p#ssiblem#3es(4,9)=temp(9); 4=4+1; end end endend
'%n$ti#n##dr#ws = 'ind##dr#ws(p#ssiblem#3es,l#sedist) 3a '%n6$i4a nala5i #ne 3rste matri$e 6#4e nis% na l#sedist-% temp=p#ssiblem#3es; pri3remen# #3de smestam# d#bre 3rste
s1=si5e(p#ssiblem#3es);
s1=s1(1); s2=si5e(l#sedist); s2=s2(1);
indees=[]; '#ri=19s1 temp1=p#ssiblem#3es(i,9); '#r4=19s2 temp2=l#sedist(4,9); i'iseA%al(temp1,temp2)==1 indees=[indees i]; end end
end $lear i4 '#r i=19lenth(indees) p#ssiblem#3es(indees(i),9)=[]; end p#ssiblem#3es([indees],9)=[]; ##dr#ws=p#ssiblem#3es;end
'%n$ti#n'inals#l%ti#n = etpath(l#sedist) 3a '%n6$i4a nala5i p%tan4% #d 6ra4n4e $3#ra d# 6#rena stabla7 B t#6% ra53i4an4a stabla ra53i$e se i $3#r#3i 6#4i nis% na p%tan4i
6#na$n# resen4a7
11G
7/25/2019 Vest Int Skripta Pot Miklos
118/129
Ve*ta%ka Inte'i"en)ija Skripta
s=si5e(l#sedist); s=s(1); indees=[]; '#ri=19s-1 i' l#sedist(i,)==l#sedist(i+1,) indees=[indees i];
end end l#sedist([indees],9)=[]; 'inals#l%ti#n=l#sedist;end
Ta(e'a +2+1+ prikazuje ini)ija'iza)iju i prva tri koraka na'a.enje re*enja korak po korak naosnovu napisano" a'"orit$a+
Inicijalizacija
startstate 3 3 7 7 7F
"oa'state 7 7 3 3 1Fi+ OpenList \e$ptY C'oseList \e$ptYii+ OpenList 3 3 7 7 7Fiii+ OpenList \e$ptY
=
11122
17231
17132
kmovespossible
=
11122
17231
17132
7/25/2019 Vest Int Skripta Pot Miklos
119/129
Ve*ta%ka Inte'i"en)ija Skripta
,ro('e$ pre'aska vuka- ze)a i kupusa preko reke+ Na jenoj strani reke na'aze se vuk- ze) ikupus+ a$.ija i$a zaatak a i& preveze na ru"u stranu o(a'e+ Us'ovi su a u %a$a) osi$%a$.ije $o.e a stane jo* sa$o nekone*to ;vuk- ze) i'i kupus< + Uko'iko na jenoj o(a'i
(ez nazora %a$.ije ostanu vuk i ze)- vuk !e pojesti ze)a+ Ako na jenoj o(a'i reke (eznazora %a$.ije ostanu ze) i kupus- ze) !e pojesti kupus+
:aatak re*iti pretra"o$ u *irinu i pretra"o$ u u(inu+Kao eo re*enja ato je sta('o za pretra"u u(insko$ pretra"o$+
S'ika +2+3+ Sta('o za pretra"u za pre'azak vuka- ze)a i kupusa preko reke $etoo$ u(inskepretra"e
11
7/25/2019 Vest Int Skripta Pot Miklos
120/129
Ve*ta%ka Inte'i"en)ija Skripta
/o%atak 2. Lokal#a prtraga
Zadatak.
,ro('e$ kra'ji)a+ Na *a&ovsku ta('u potre(no je postaviti kra'ji)a tako a se $e5uso(none napaaju+
Reenje.
De*enje ovo" zaatka nije jenozna%no+ 6i !e$o zar.ati prvo re*enje koje prona5e$o+ Tokre*avanja zaatka je s'ee!i0 U svaku ko'onu na s'u%ajno $esto stavi$o po jenu kra'ji)u i usvako$ koraku po$eri$o jenu kra'ji)u- tako a nakon to" poteza (ue naj$anje$e5uso(ni& napaa+ Ci'jno stanje je ka (roj $e5uso(ni& napaa pane na nu'u+
Na S'i)i +3+1+ prikazano je jeno o $o"u!i& po'azni& stanja- koje je s'u%ajno oa(rano+ :ato stanje (roj $e5uso(ni& napaa iz$e5u kra'ji)a je 1G+ Na s'i)i su tako5e prikazani svi$o"u!i potezi i (roj napaa nakon to" poteza+ Naj$anji (roj na *a&ovskoj ta('i sa S'ike 81 je
12- a to je $ini$a'an (roj napaa nakon prvo" poteza+ Broj 12 se na'azi na vi*e po'ja- a tozna%i a na vi*e na%ina $o.e$o a pre5e$o u s'ee!e naj(o'je stanje+ U ovakvi$s'u%ajevi$a s'ee!e stanje (ira$o s'u%ajno o naj(o'ji& $o"u!i& stanja+
S'ika +3+1+ >eno o $o"u!i& po'azni& stanja i kva'itet s'ee!e" poteza
S'ei ko$p'etan pro"ra$ski ko napisan u 6ATLAB9u za re*avanje ovo" pro('e$a+
3a4 pr#ram resa3a pr#blem C 6ral4i$a met#d#m l#6alne pretrae7 Pr#ram %3e6 nala5i slede$e stan4e ta6# da tra5i stan4e sa na4man4im br#4em napada7 B slede$em 6#ra6% br#4 napada ne m#ra da b%de man4i #d br#4a napada % preth#dn#m 6#ra6%7$lear$l$=5er#s(C);r=randperm(C);
'#ri=19C (r(i),i)=1;endsh#wthes#l%ti#n()
$lear i[% 3]='ind();
127
7/25/2019 Vest Int Skripta Pot Miklos
121/129
Ve*ta%ka Inte'i"en)ija Skripta
n%matt=100*;A='indatta$6s();$lear %3r$%rrentn%matt=A;whileA
7/25/2019 Vest Int Skripta Pot Miklos
122/129
Ve*ta%ka Inte'i"en)ija Skripta
'#ri=07919C7 3=[i i]; line(%,3,G$#l#rG,G6G) end 3=[0 I]; '#ri=07919C7
%=[i i]; line(%,3,G$#l#rG,G6G) endend
122
7/25/2019 Vest Int Skripta Pot Miklos
123/129
Ve*ta%ka Inte'i"en)ija Skripta
/o%atak 1. Igr za %" o&o'
Zadatak.
Napisati pro"ra$ u pro"ra$sko$ paketu 6ATLAB za 'o"i%ku i"ru Ni$+
Reenje.
,re pisanja pro"ra$sko" koa nave*!e$o pravi'a Ni$ i"re o(jasniti o(itnu strate"iju+i(i)e su "rupisane u tri ovojene "o$i'e+ va i"ra%a koji u%estvuju u i"ri naiz$eni%nouzi$aju proizvo'jan (roj *i(i)a sa jene o "o$i'a+ ,o(enik je onaj i"ra% koji pos'enjiuz$e *i(i)u ;*i(i)eeno o stanja i"re prikazano je na S'i)i +/+1+
S'ika +/+1+ >eno o $o"u!i& stanja i"re
I"ra i$a va stanja01. Dobitno:Ako i"ra% $o.e a i"ra tako a $o.e a po(ei (ez o(zira na potez
protivnika+2. Gubitno:Ako i"ra% ne$a o(itni potez+
o(itna strate"ija0
7 7 1 1 37 1 7 1 ?1 7 7 7 1 1 1 7 OD
Tvrnja0 "u(itna stanja su ona u koji$a #unk)ija OD i$a vrenost nu'a+:a ato stanje i"ra% koji je na potezu i$a o(itnu strate"iju ;po*to je vrenost OD #unk)ije
po ko'ona$a raz'i%it o nu'e- $o"u!e je uzeti *i(i)e tako a pos'e poteza OD #unk)ija i$avrenost nu'a
7/25/2019 Vest Int Skripta Pot Miklos
124/129
Ve*ta%ka Inte'i"en)ija Skripta
S'ei pro"ra$ski ko napisan u 6ATLAB9u za Ni$ i"ru+
This pr#ram is a !8H ame7$lear$l$=inp%t(G#mp%ter #r h%man determines the n%mber #' beans ($Jh)K G,GsG);
i' ==G$G r=randperm(D); p1=r(1); p2=r(2); p.=r(.);elsei' ==GhG p1=inp%t(G:irst pEle9 G); p2=inp%t(G&e$#nd pEle9 G); p.=inp%t(GThird pEle9 G);endp=[p1 p2 p.];disp(G G)disp(G#mp%ter is PlaEer 1, h%man is PlaEer 27G)disp(G G) p1=2; p2=.; p.=1;
p1=1; p2=0; p.=0; p=[p1 p2 p.];
ws = winnin strateE
ws=bit#r(bit#r(p1,p2),p.);
i' ws==0 disp(GPlaEer 2 has winnin strateE7G) disp(G G)elsei' ws
7/25/2019 Vest Int Skripta Pot Miklos
125/129
Ve*ta%ka Inte'i"en)ija Skripta
'print'(GPEle . i beans7 LnG,p(.)) disp(G G) i' s%m(p)==0 disp(GPlaEer 2 is the winner7G) brea6 end
end
'%n$ti#n [p,i] =$#mp%terplaE (p) i' bit#r(bit#r(p(1),p(2)),p(.))==0 i='ind(p); i=i(1); p(i)=p(i)-1; else '#r i=19. i' p(i)==0
$#ntin%eend
'#r 4=19p(i) i' bit#r(bit#r(p(1),p(2)),p(.))==0 ret%rn else p(i)=p(i)-1; end end i' bit#r(bit#r(p(1),p(2)),p(.))==0
ret%rnelse
p(i)=p(i)+4; end
end
endend
12?
7/25/2019 Vest Int Skripta Pot Miklos
126/129
Ve*ta%ka Inte'i"en)ija Skripta
/o%atak 4. G#t&ki algoritmi
Zadatak.
Napisati pro"ra$ za re*avanje pro('e$a kra'ji)a $etoo$ "enetsko" a'"orit$a+
Reenje.
,o*to je pro('e$ kra'ji)a ve! o(ja*njen u ranije$ e'u skripte- ove navoi$o sa$opro"ra$ski ko napisan u 6ATLAB9u+
This pr#ram $reates the p#p%lati#n '#r the C-A%eens pr#blem t# be s#l3ed with eneti$ al#rithms7 The 3ariable n%mp#p $#ntains the n%mber #' indi3id%als7$lear$l$n%mp#p=10; br#4 4edin6i % p#p%la$i4i=5er#s(C,C,n%mp#p); 3eli$ina matri$e CC'#ri=19C ini$i4aln# ra5mestan4e 6ral4i$a
'#r4=19n%mp#p % s3a6% 6#l#n% p# 4edna a=randperm(C); a=a(1); (a,i,4)=1; endendt1=$l#$6;'#rn%men=19000 n%mber #' enerati#ns '#r the al#rithm
n%matta$6=5er#s(1,n%mp#p); in the beinnin the n%mber #' atta$6s '#r ea$h indi3id%al '#ri=19n%mp#p is 0
temp=(9,9,i); [p A]='ind(temp); ='indatta$6s(p,A); n%matta$6(i)=; end [% 3]=min(n%matta$6); % minimal element, 3 inde #' theelement i'min(n%matta$6)==0 res%lt=(9,9,3) imsh#w(1-res%lt,G8nitialHani'i$ati#nG,G'itG) sh#wthes#l%ti#n(res%lt) ret%rn; end
M=sele$ti#n(,n%matta$6,n%mp#p);
=re$#mbinati#n(M,n%mp#p);
"=m%tati#n();
="; min(n%matta$6); t2=etime($l#$6,t1);end
'%n$ti#nn%mber#''atta$6s = 'indatta$6s(a,b) This '%n$ti#n 'inds the n%mber #' atta$6s between C A%eens
3e$t#rs a and b $#ntain the p#siti#ns #' the A%eens
12
7/25/2019 Vest Int Skripta Pot Miklos
127/129
Ve*ta%ka Inte'i"en)ija Skripta
n%mber#''atta$6s = 0;'#ri=19D p1=a(i); A1=b(i); '#r4=i+19C p2=a(4);
A2=b(4); i'((p1==p2) FF (A1==A2) FF (p1-p2==A1-A2) FF (p1-p2==A2-A1)) n%mber#''atta$6s=n%mber#''atta$6s+1; end end n%mber#''atta$6s=n%mber#''atta$6s-1;endend
'%n$ti#nM = sele$ti#n(,n%matta$6, n%mp#p) #%lette wheel sele$ti#n '#r the /
a33al%e=s%m(n%matta$6)Jn%mp#p; 'itnesstemp=n%matta$6Ja33al%e; 'itness=17J'itnesstemp; r#%lette=$%ms%m('itness);
'#ri=19n%mp#p rndn%m=ma(r#%lette)*rand; '#r4=19n%mp#p i'r#%lette(4)>rndn%m M(9,9,i)=(9,9,4); brea6; end end
endend
'%n$ti#n = re$#mbinati#n(M,n%mp#p) re$#mbinati#n #' sele$ted indi3id%als in this $ase we %se #ne p#int $r#ss#3er #' tw# indi3id%als
'#ri=1929n%mp#p-1 temp1=M(9,9,i); temp2=M(9,9,i+1); temprnd=r#%nd(N*rand+1); temp.=[temp1(9,19temprnd) temp2(9,temprnd+19C)]; temp=[temp2(9,19temprnd) temp1(9,temprnd+19C)]; (9,9,i)=temp.; (9,9,i+1)=temp; endend
'%n$ti#n" = m%tati#n() This '%n$ti#n per'#rms the m%tati#n #perati#n a'ter re$#mbinati#n Oe $hane the p#siti#n #' #ne A%een in the wh#le p#p%lati#n temprnd1=r#%nd(I*rand+1); temprnd2=r#%nd(D*rand+1);
temprnd.=r#%nd(D*rand+1); (9,temprnd2,temprnd1)=0; (temprnd.,temprnd2,temprnd1)=1;
12G
7/25/2019 Vest Int Skripta Pot Miklos
128/129
Ve*ta%ka Inte'i"en)ija Skripta
"=;end
'%n$ti#nsh#wthes#l%ti#n(res%lt) imsh#w(1-res%lt,G8nitialHani'i$ati#nG,G'itG)
h#ld #n %=[0 I]; '#ri=07919C7 3=[i i]; line(%,3,G$#l#rG,G6G) end 3=[0 I]; '#ri=07919C7 %=[i i]; line(%,3,G$#l#rG,G6G) endend
12
7/25/2019 Vest Int Skripta Pot Miklos
129/129
Ve*ta%ka Inte'i"en)ija Skripta
Litrat(ra
1+ Stuart Dusse''- ,eter Norvi"0 HestersIges intelligencia- ,ane$Klnvkiam- 277?+
2+ Si$on Harris- >a$es Doss0 FezdJkKn+v az algoritmusokrLl- S:AKKiam- 277+
3+ A'ison Cabse0 HestersIges >ntelligencia ? Alapismeretek- ,ane$klnvkiam- 2772+
/+ '$os Atti'a- 4r Snor- Horvt& 4(or- Vrkoninq Km)zAnna$ria0 Menetikus algoritmusok- Tpote8 Kiam- Buapest- 2772+
?+ ra"an Kuko'j0 Sistemi zasnovani na raunarskoj inteligenciji- @TNIzava*tvo-Novi Sa- 277G+
+ A'tri)&ter 6rta- Horvt& 4(or- ,ataki Bq'a- Strausz 4lr"- Tak)s4(or- Va'on >mzse#04eurNlis hNlLzatok- ,ane$ Klnvkiam- Buapest-277+