Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 63

FAKULTET INFORMACIONIH TEHNOLOGIJA BEOGRAD

NASTAVNI PREDMET:

VETAKA INTELIGENCIJA

Predmetni nastavnik: Prof.dr Neboja Deni

1.UVOD

1.1 Istorijat Vetake inteligencije


Od davnina ljude privlai inteligencija - kako sam pojam inteligencije tako i mogunost konstruisanja inteligentnih maina koje bi mogle samostalno da rade. Takve primere moemo pratiti kroz istoriju. U staroj Grkoj ljudi su se bavili pitanjima inteligencije, znanja i pravilnog zakljuivanja, a meu njima se naroito istakao Aristotel. U XIII veku je Ramon Lull (1235-1316) opisao sistem Ars Magna kojim je pokuao da pomou mehanikog kombinovanja, simbolike notacije i kombinatornih dijagrama ostvari "inteligentan" sistem. Tokom XVII veka, G. V. Leibnitz (1646-1716) i Blaze Pascal (1623-1662) pokuavali su da konstruiu mehaniku raunsku mainu za sabiranje. Cifarska raunska maina koju je konstruisao Charles Babbage, bila je u stanju da po odreenom algoritmu izvrava operacije sa dekadnim brojevima. Sredinom 19-tog veka George Bool razrauje algebru logike u kojoj se algebarska simbolika koristi za operisanje pojmovima pri logikom izvoenju. Englez Alan Turing i Amerikanac Post, 1936-te godine, nezavisno jedan od drugoga objavljuju radove iz oblasti matematike logike i iznose mogunosti konstruisanja univerzalnog transformatora informacija. Meutim, tek pojavom prvog raunara "Electronic Numerical Integrator And Computer" (ENIAC) koga su 1945-te godine izmislili Mauchly i J. Presper Eckert, moe se govoriti o inteligentnim mainama. U poetku su raunari bili prvenstveno namenjeni za izvravanje raunskih operacija ali vrlo brzo je uoeno da oni imaju daleko vee sposobnosti. Ve prvi rezultati u primeni raunara upuivali su na mogunost raunara da preuzme vrenje odreenih intelektualnih sposobnosti. Povoljni rezultati istraivanja naveli su neke od naunika da daju preuranjene izjave da se ubrzo moe konstruisati "mislea maina" ili "elektronski mozak". Zbog ovih preuranjenih izjava su se vodile brojne debate. Krajem 50-tih, sve do sredine 60-tih godina, problematika vetake inteligencije bila je dosta rasplinuta izmeu fantastike, mate, potencijalnih mogunosti i praktinih ostvarenja. Zanemarivanje razlike izmeu potencijalne ostvarljivosti i obima praktinih problema, koji se nalaze na putu do ostvarivanja ideje, je jedan od estih uzroka nerazumevanja mogunosti vetake inteligencije. Ostvarivanjem praktinih rezultata koji su nali primenu u privredi, vetaka inteligencija postaje interesantna za veliki broj naunika razliitih oblasti. Danas postoje realizovani sistemi koji su u stanju da
2

autonomno obavljaju kompleksne probleme, kakve su jedino ljudi bili u stanju da obavljaju. Nije redak sluaj da takvi sistemi obavljaju te zadatke i daleko uspenije od ljudi. U sprezi sa raunarima, maine postaju sposobne da rade samostalno, da upravljaju same sobom i da proizvode druge maine, oslobaajui oveka fizikog i monotonog rada, preputajui mu rad na sloenijim i kreativnijim poslovima. Definicije VI - Vetake Inteligencije Kod strunjaka koji se bave problematikom VI postoje razna shvatanja i definicije. Pre svega, postoje razmimoilaenja u vezi toga da li je VI samo oblast, deo neke nauke - nauna disciplina ili je to samostalna nauka to se tie problematike kojom se VI bavi, tu su razne definicije uglavnom u saglasnosti i odnose se na problematiku konstruisanja maina - ureaja koji e ispoljavati takve vrste ponaanja, koje bi da su rezultat ljudskog ponaanja, bile okarakterisane kao inteligentne 1983 godine bilo je preko 140 definicija VI

Neke od moguih definicija vetake inteligencije: Vetaka inteligencija je nauna oblast u kojoj se izuavaju izraunavanja da bi se izraunavanjem omoguila percepcija, rezonovanje i injenje. Vetaka inteligecija je nauna oblast u kojoj se izuavaju izraunavanja da bi se izraunavanjem omoguila percepcija, rezonovanje, i injenje. Vetaka inteligencija je nauna oblast u kojoj se istrauje kako da se naprave raunari koji bi uspeno radili stvari koje u ovom momentu rade bolje ljudi. Evo jo nekih definicija: VI je deo kompjuterske nauke koja se bavi dizajniranjem inteligentnih kompjuterskih sistema, to jest sistema koji pokazuju karakteristike koje povezujemo sa inteligencijom u ljudskom ponaanju - razumevanje govora, uenje, reavanje problema i tako dalje
3

VI se bavi programiranjem kompjutera za izvoenje zadataka koje trenutno bolje izvravaju ljudi, jer se pri tome koriste vii mentalni procesi kao to je perceptualno uenje, organizacija memorisanog, rasuivanje VI je prouavanje mentalnih moi kroz upotrebu modela kompjutacije. Pri tome je fundamentalna radna pretpostavka da "Ono to mozak ini moe biti zamiljeno na nekom nivou kao vrsta kompjutacije VI je disciplina usmerena na razumevanje ovekove inteligencije kroz konstruisanje raunarskih programa koji oponaaju inteligentno ponaanje VI se bavi prouavanjima kako da kompjuteri rade ono to ljudi trenutno rade bolje Sve ove definicije VI raznih autora uglavnom se odnose na osnovni aspekt VI, a to je imitacija inteligentnog ponaanja kod ljudi. Oblast VI je multidisciplinarna, jer koristi rezultate i povezana je sa raznim drugim naukama kao psihologija, sociologija, fiziologija, programiranje, teorija sistema itd Poznat je Turing - ov test koji predstavlja kriterijum za inteligentno ponaanje maine (raunara). Test se sastoji u tome da ovek vodei konverzaciju preko terminala treba da zakljui da li je sagovornik ovek ili maina. Maina se po ovom testu smatra inteligentnom ako ovek na osnovu odgovora maine ne moe da napravi razliku izmeu ivog sagovornika i maine Termin vetaka inteligencija (engleski artificial inteligence) potie od John-a McCartyja. Mnogi autori se ne slau da termin vetaka inteligencija opisuje najbolje ovu oblast nauke. Mnoge od oblasti informatike u osnovi imaju inteligentno ponaanje ali ne pripadaju vetakoj inteligenciji u uem smislu.

Dva glavna pravca razvoja vetake inteligencije su:


Prouavanje prirodne inteligencije (spoznavanje funkcija mozga, modeliranje rada mozga, simuliranje ovekovog ponaanja, reagovanja i rezonovanja). Postizanje inteligentnog ponaanja primenom drugaijih pristupa, kakvi se ne mogu sresti u prirodnim sistemima.

Vetaku inteligenciju prema pristupu reavanja problema moemo klasifikovati na tri glavna pristupa i to su:

neuronske mree, modeliranje evolucije i


4

heuristiko programiranje.

Klasifikacija vetake inteligencije prema vrsti reavanja problema:

sistemi za reavanje ovekovih uobiajenih zadataka: - prepoznavanje slika i govora, - razumevanje, generisanje i prevoenje prirodnih jezika, - snalaenje u svakodnevnim situacijama, - primena u robotici.

sistemi za reavanje formalnih zadataka: - logike igre, - matematika logika, geometrija, integralni raun, - osobine programa.

sistemi za reavanje ekspertnih zadataka: - konstruisanje, nalaenje greaka, planiranje proizvodnje, - naune analize i dijagnostika (biologija, medicina, hemija, pravo), - finansijska analiza, - programi za razvoj ovakvih sistema.

Tehnike koje pripadaju vetakoj inteligenciji morale bi da koriste znanja koje su organizovana tako da omoguavaju:

generalizaciju, predstavljanje i preslikavanje u formi razumljivoj ljudima, lako modifikovanje, da se koriste informacije koje nisu kompletne, da pomau u smanjenju broja mogunosti koje bi inae morale biti razmatrane (heuristike).

Prepoznavanje oblika je kljuno za snalaenje u svakodnevnim situacijama, kako za ive tako i vetake sisteme. Pri reavanju problema vezanih za prepoznavanje oblika nastaju velike tekoe jer analogne signale koje primaju senzori/receptori sadre veliki broj informacija, od kojih dobar deo sadri um, pa ti signali esto nisu dovoljno jasni. Ovo oteava primenu raunara za snalaenje u svakodnevnim situacijama, pa nije ni udo to su i ivotinje, za koje se smatra da su manje inteligentne od ljudi, sposobne za daleko kvalitetniju vizuelnu i zvunu percepciju i obradu takvih signala nego dananji raunari.
5

Da li postoji vetaka inteligencija? Da li je podela na prirodnu i vetaku inteligenciju opravdana? Nastanak klasine vetake inteligencije druga polovina XX veka Period od nekih desetak godina: sredinom 50 - tih godina, ranih 60-tih godina ili u savremenoj formi oko 1965 Civilizacijski koreni vetake inteligencije: U antikom periodu znaajan je grki filozof Aristotel (384-322 p.n.e) koji se bavio zakonitostima logikog miljenja Teofrast (372-287 p.n.e) i Krisip (281-205 p.n.e) Aristotel je postavio osnovne zakonitosti logikog miljenja koje je nazvao silogizmima

Silogizmi su pravila izvoenja posrednih zakljuaka na osnovu osnovnih sudova ili premisa Primer za silogizam je izvoenje zakljuka iz sledeih sudova: Operativni sistem je osnovni raunarski program. Windows je operativni sistem. Zakljuak: Windows je osnovni raunarski program. U prethodnom primeru moe da se uoi: subjekat S, predikat P i srednji pojam M koji ne figurie u zakljuku, ali slui da povee subjekat i predikat u zakljuku Windows je S, osnovni raunarski program je P, dok je operativni sistem M i ne figurie u zakljuku. Ovakva silogistika figura bi mogla da se predstavi na sledei nain: MP SM SP
6

Osim ove Aristotel daje jo dve silogistike figure: PM SM SP Silogistika figura PM MS SP Potie od Galena (131 200 p.n.e), grkog lekara i filozofa. Istorija koja sledi nije tako znaajna sa aspekta ideja vetake inteligencije, bar ne neposredno. Za neke probleme je potrebno da proe veoma dugo vreme dok se ne krene dalje. Mnogo kasnije filozof i matematiar G. V. Lajbnic (1646-1716) Maina za zakljuivanje koja bi mogla samostalno da vri dokazivanje u raznim naunim oblastima na univerzalan nain reder, 1890, anticipira nastanak Misleih maina koje e oveka osloboditi dela napornog umnog rada analogno kao to su to maine uinile sa fizikim radom Realne mogunosti za konkretno ostvarivanje takvih i slinih ideja naravno nastaju sa pojavom prvih digitalnih elektronskih raunara 40 - tih godina 20. veka. Istovremeno sa nastankom prvih raunara ameriki matematiar Don fon Nojman (1903-1957) daje svoj uveni opti model raunara na kome se zasniva praktino svaki ikada napravljeni digitalni raunar sve do dananjih dana Iako su prvi raunari uglavnom bili namenjeni i koristili se za numerika izraunavanja, brzo je shvaeno da su raunari maine sa daleko irim mogunostima primene Prvi pokuaji primene raunara u oblasti VI bili su na polju igara (ah), dokazivanja teorema (jednostavnije teoreme), i opteg reavanja problema (jednostavniji zadaci) i M-P M-S S-P

Mogunost opteg reavanja problema se pokazala kao izuzetno teak zadatak, tei nego to se to oekivalo Istraivai nisu bili u stanju da metode i sredstva VI primene na zadatke koje reavaju eksperti u raznim oblastima Zbog toga se u daljim istraivanjima panja poklanja sistemima za reavanje specifinih problema u odreenim uskim oblastima Domen VI obuhvata prouavanja u oblastima: Matematika (teorija igara) Razni praktini aspekti primene: Percepcija Robotika Razumevanje jezika Zdravorazumsko razmiljanje Struna problematika u raznim oblastima: Finansijska analiza Dijagnostika i terapija u medicini Analiza naunih problema Itd

Najvanije odrednice sistema VI sa aspekta realizacije na raunarskim sistemima su: teite raunarskih programa u oblasti VI je vie na obradi simbolikih podataka, a manje na numerikoj obradi cilj programa je reavanje problema do reenja se uglavnom dolazi nekom vrstom pretraivanja, a ree direktno programski jezici specifino razvijeni i namenjeni za primenu u oblasti VI su LISP (LISt Processing), PROLOG (PROgraming in LOGic), objektno orijentisani jezici - Smalltalk i dr.
8

Oblast VI obuhvata sledea bitna podruja: Reavanje problema Razumevanje prirodnih jezika Robotika i vienje Sistemi zasnovani na znanju (Knowledge Based Systems - KBS), ukljuujui i ekspertne sisteme Mainsko uenje Logiko zakljuivanje Programiranje

Reavanje problema Reavanje problema predstavlja zadatak koji se najee reava tako da se postupak ralani na proste zadatake ili postupke ije je reavanje rutinsko Mogunosti za reenje moe biti veoma mnogo, tako da se moe zahtevati nalaenje optimalnog reenja Mora se definisati poetno stanje - od ega se polazi u reavanju problema i opisati ciljno stanje koje odgovara reenju Stanje predstavlja svaka situacija koja moe nastupiti pri reavanju problema

Razumevanje govornog jezika Razumevanje govornog jezika od strane maine je vano zbog mogunosti znaajnog unapreenja komunikacije ovek raunar Tu postoje veliki problemi zbog sloenosti govornog jezika i esto prisutnih simbola, fraza koji se ne tumae neposredno i esto su ako se doslovce tumae besmisleni, zatim zbog rasplinutosti i nedovoljne odreenosti jezikih konstrukcija

Roboti Roboti su maine koje samostalno obavljaju razne mehanike radnje i operacije VI se u ovoj oblasti bavi pre svega: Kontrolisanjem pokreta robota Problematikom prepoznavanja okoline Uenje Razumevanje govora Da bi funkcionisanje robota bilo svrsishodno, pokreti moraju biti adekvatni trenutnom stanju neposrednog okruenja Preko senzora se dobijaju informacije na primer vizuelne, koje dalje treba obraditi tako da se "prepoznaju" i razlikuju objekti i senke iz neposredne okoline

10

2. NEURONSKE MREE

2.1 Poetak neuronskih mrea Poetak neuro-raunarstva obino se vezuje za 1943. godinu i lanak Warrena McCullocha i Waltera Pittsa Logiki raun ideja svojstvenih nervnoj aktivnosti. Ovaj lanak je esto citiran. Kibernetiar Norbert Winer i matematiar John von Neumann su smatrali da bi istraivanja na polju raunarstva, inspirisana radom ljudskog mozga, mogla biti izuzetno zanimljiva. Knjiga Donalda Hebb-a iz 1949. godine The Organization of behavior (Organizacija ponaanja) iskazuje ideju da je klasino psiholoko uslovljeno ponaanje prisutno kod svih ivotinja, jer je ono svojstvo neurona. Ova ideja nije bila nova, ali ju je Hebb vie razradio od prethodnika, predlaui odreeni zakon uenja za sinapse, a pomou njega je izveo kvalitativno objanjenje nekih eksperimentalnih rezultata iz psihologije. Poetkom pedesetih godina, najvie uticaja na dalji razvoj neuronskih mrea je imao rad Marvin Minsky-a koji je u tom periodu konstruisao neuroraunar pod imenom Snark (1951). Frank Rosenblatt je zasluan za otkrie jednoslojne neuronske mree, zvane perceptron. Ovaj raunar je mogao uspeno da podeava teinske koeficijente, meutim ovaj raunar nije postigao znaajnije praktine rezultate. Tek krajem pedesetih godina (1957-1958), Frank Rosenblatt i Charles Wightman sa svojim saradnicima su uspeli da razviju raunar pod nazivom Mark I koji predstavlja prvi neuroraunar. Neto posle Rosenblatta, Bernard Widrow je sa svojim studentima (najpoznatiji je Ted Hoff, kasnije tvorac mikroprocesora) razradio novi tip neurona - ADALINE (ADAptivini LINearni Element, prenosna funkcija f(x)=x) i odgovarajui zakon uenja. U periodu od 1950-tih do ranih 1960-tih godina napisano je nekoliko knjiga i osnovano nekoliko kompanija koje se bave neuroraunarima. Meutim, sredinom 1960-tih godina dolo je do zastoja zbog dva oigledna problema. Prvo, veina istraivaa je prila problemu sa kvalitativne i eksperimentalne strane, zanemarujui analitiki pristup. Drugo, poetni entuzijazam je bio toliko jak da su uveliko publikovana predvianja da nas od vetakog mozga deli samo nekoliko godina istraivanja.
11

Ovakav zanos je dalje diskreditovao ovu oblast i odbio veliki broj istraivaa. Mnogi od ovih ljudi su napustili neuroraunarstvo i preli u srodna polja. Sredinom 1960-ih godina je pristup reavanja problema neuronskih mrea okarakterisan kao pogrean, nakon to Marvin Minsky i Seyour Papert u knjizi Perceptrons objavljuju matematiki dokaz da jednoslojna neuronska mrea Perceptron ne moe da naui funkciju XOR, uz pretpostavku da dodavanjem vie slojeva neurona taj problem nee biti prevazien. Tano je da neuron nije u stanju da izvede pomenutu funkciju, ali za iole sloeniju mreu od nekoliko neurona to predstavlja veoma jednostavan zadatak. Njihov dokaz je diskreditovao istraivanja neuronskih mrea, a finansiranja su preusmerena na druge oblasti vetake inteligencije. U periodu izmeu 1967. do 1982. godine pojavljuju se istraivai koji daju znaajan doprinos razvoju ove oblasti kao to su Teuvo Kohonen, Kunihiko Fukushima i Stephnen Grossberg. Naroito se istakao Teuvo Kohonen, koji je otkrio nekoliko tipova neuronskih mrea koje su po njemu dobile naziv. U ovom periodu se pojavio i backpropagation algoritam. U radu na ovom algoritmu su se posebno istakli sledei naunici: Amari (1967.) dodaje unutranje slojeve perceptronskoj mrei, Bryson i Ho (1969.) razvijaju algoritam slian backpropagation algoritmu, Werbos (1974) nezavisno od prethodnika razvija backpropagation algoritam, a Parker (1982) unapreuje backpropagation algoritam. Poetkom 80-ih, amerika vojna agencija DARPA (Agencija za odbrambene istraivake projekte) postala je zainteresovana za NM i finansiranja su ponovo zapoela. Sredinom 80-tih, poznati fiziar John Hopfield dao je veliki doprinos popularizaciji neuronskih mrea, objavljujui rad u kome je napravio paralelu izmeu neuronskih mrea i odreenih fizikih sistema. Poetkom devedesetih, Bart Kosko u knjizi Neural Networks and Fuzzy Systems dokazuje da neuronske mree i fuzzy logika opisuju isti skup problema i samim tim otvara novu oblast koja se naziva soft computing. Rumenel, Hinton i Williams (1986) dokazuju veliku promenljivost i potencijal backpropagation algoritma. Krajem 80-tih i poetkom 90-tih, neuronske mree i neuro raunarstvo se uvodi kao predmet na nekoliko elitnih univerziteta u SAD, dok se danas neuronske mree gotovo mogu sresti na svim univerzitetima.

2.2 ta su neuronske mree Postoje dve kategorije neuronskih mrea: vetake i bioloke neuronske mree. Predstavnik biolokih neuronskih mrea je nervni sistem ivih bia. Vetake neuronske
12

mree su po strukturi, funkciji i obradi informacija sline biolokim neuronskim mreama, ali se radi o vetakim tvorevinama. Neuronska mrea u raunarskim naukama predstavlja veoma povezanu mreu elemenata koji obrauju podatke. One su sposobne da izau na kraj sa problemima koji se tradicionalnim pristupom teko reavaju, kao to su govor i prepoznavanje oblika. Jedna od vanijih osobina neuronskih mrea je njihova sposobnost da ue na ogranienom skupu primera. U ovom radu, kada se govori o neuronskim mreama, misli se prvenstveno na vetake neuronske mree (engleski termin Artificial Neural Networks skraeno ANN), zbog toga to se uglavnom govori o modelima neuronskih mrea (skraeno NM), realizovanim na raunarima. U strunoj literaturi, nije redak sluaj da se izostavlja re vetake iako se misli na njih. Bioloke neuronske mree su daleko komplikovanije od svojih matematikih modela koji se koriste za vetake neuronske mree. NM predstavljaju sistem sastavljen od veoma velikog broja jednostavnih elemenata za obradu podataka. Ovakvi sistemi su sposobni za prikupljanje, memorisanje i korienje eksperimentalnog znanja. Ne postoji jedinstvena definicija neuronskih mrea. Meutim, veina ljudi bi neuronske mree definisala na sledei nain: Neuronska mrea je sistem sastavljen od vie jednostavnih procesora (jedinica, neurona), svaki od njih ima lokalnu memoriju u kojoj pamti podatke koje obrauje. Te jedinice su povezane komunikacionim kanalima (vezama). Podaci koji se ovim kanalima razmenjuju su obino numeriki. Jedinice obrauju samo svoje lokalne podatke i ulaze koje primaju preko konekcije. Ogranienja lokalnih operatora se mogu otkloniti tokom treninga. Veliki broj NM su nastale kao modeli biolokih neuronskih mrea. Istorijski gledano, inspiracija za razvoj NM proizilazi iz elje da se konstruie vetaki sistem sposoban za prefinjeno, moda inteligentno, izraunavanje na slian nain kao to to ljudski mozak rutinski izvodi. Potencijalno, NM nam pruaju mogunost za razumevanje rada ljudskog mozga.

Vetake neuronske mree su kolekcija matematikih modela koji simuliraju neke od posmatranih osobina biolokih nervnih sistema i povlae slinosti sa prilagodljivim biolokim uenjem. Sainjene su od velikog broja meusobno povezanih neurona (obraujuih elemenata) koji su, slino biolokim neuronima, povezani svojim vezama koje sadre propusne (teinske) koeficijente, koje su po ulozi sline sinapsama.
13

Uenje se kod biolokih sistema obavlja putem regulisanja sinaptikih veza koje povezuju aksone i dendrite neurona. Uenje tipinih dogaaja putem primera se ostvaruje preko treninga ili otkria do tanih setova podataka ulaza-izlaza koji treniraju algoritam ponavljanjem podeavajui propusne (teinske) koeficijente veza (sinapse). Ove veze memoriu znanje neophodno za reavanje specifinog problema. Veina NM ima neku vrstu pravila za obuavanje, ime se koeficijenti veza izmeu neurona podeavaju na osnovu ulaznih podataka. Drugim reima, NM ue preko primera (kao to deca ue da prepoznaju konkretan predmet, objekat, proces ili pojavu preko odgovarajuih primera) i poseduju sposobnost za generalizaciju posle trening podataka. Veliki potencijal NM se nalazi u mogunosti paralelne obrade podataka, tokom izraunavanja komponenti koje su nezavisne jedne od drugih. Neuronske mree su sistemi sastavljeni od vie jednostavnih elemenata (neurona) koji obrauju podatke paralelno. Funkcije koje su NM u stanju da obrauju odreene su strukturom mree, jainom konekcije a obrada podataka se izvodi u neuronima. Svaki elemenat operie samo lokalnim informacijama. Svaki elemenat radi asinhronizovano, kao da nema sistemskog sata. Iako NM postoje od 1940-tih godina, one nisu imale znaajniju praktinu primenu sve do 1980-tih, kada su algoritmi postali dovoljno prefinjeni za optu upotrebu (aplikacije). Danas se NM primenjuju za reavanje sve veeg broja svakodnevnih problema sa znaajnom kompleksnou. U programiranju se mogu koristiti kao generator (engleski engine) koji je u stanju da vri razliita prepoznanja i klasifikacije i koji ima sposobnost da izvri generalizaciju prilikom odluivanja pri nepreciznim ulaznim podacima. NM nude idealno reenje za raznovrsno klasifikovanje problema, kao to je prevoenje teksta u govor, prepoznavanje slova, reavanje problema za koje ne postoji algoritamsko reenje. Pokazuju dobre rezultate prilikom predvianja i modelovanja sistema gde fiziki procesi nisu jasni ili su veoma kompleksni. Prednost NM lei u visokoj elastinosti prema poremeajima u ulaznim podacima i u sposobnosti da ui. NM esto uspeno reava probleme koji su previe kompleksni za konvencionalne tehnologije (na primer, problem koji nema algoritamsko reenje ili za koji je algoritam previe komplikovan da bi bio pronaen) i one su esto dobra pratnja problemima koje ljudi reavaju.

14

U ovom delu se pod neuronska mrea podrazumeva vetaka neuronska mrea. Vetake neuronske mree su inspirisane prirodnim neuronskim mreama, tj. nervnim sistemima ivih bia. Na Slici 1 je dat izgled jednog prirodnog neurona. Prirodni neuron ulazne signale dobija preko dendrita, obino kraih nervnih zavretaka koji primljene signale dovode do tela elije. Telo elije vri neku funkciju nad njima i proizvodi izlazni signal, koji se putem dugog nervnog zavretka axon-a dostavljaju do sinapsi. Sinapse su veze sa drugim neuronima. Ono to je interesantno za sinapse je da one imaju odreeno pojaanje (odnosno slabljenje) signala.

Neuronska mrea je skupina neurona povezana teiranim vezama. Ovo nije definicija, jer je pojam neuronske mree takoe dosta opiran, pa je teko dati preciznu definiciju koja bi obuhvatila sve postojee neuronske mree. Iako su NM imale neobinu istoriju, one su jo uvek u ranoj fazi razvoja. Moda se sad moe rei da smo na kraju poetka. Danas NM nalaze veoma irok spektar primena u razliitim praktinim oblastima.
15

Slika 2: Model vetakog neurona

Ono to je zajedniko za sve neuronske mree je neuron. Tipina struktura vetakog neurona data je na slici 2. Neuron ima nekoliko ulaza (uopteno to moe biti meavina vanjskih ulaza i izlaza iz nekih drugih neurona). Svaki ulaz ima svoju specifinu teinu. Ulazi, pomnoeni svojim teinama, se sabiraju (ukljuujui i prag ako postoji), a zatim se taj zbir proputa kroz funkciju aktivacije. Rezultat funkcije aktivacije je ujedno i izlaz iz neurona. 2.3 Podela neuronskih mrea prema smeru prostiranja informacija Neuronske mree se mogu podeliti prema smeru prostiranja informacija kroz mreu: Feedforward (nerekurzivne, nerekurentne ili nepovratne) - Vii slojevi ne vraaju informaciju u nie slojeve. Vre prostiranje signala samo u jednom smeru (od ulaza prema izlazu) odnosno propagaciju signala. Predstavnici: Vieslojni perceptron sa primenjenim backpropagation algoritmom. Feedback (rekurzivne ili rekurentne ili povratne) - Vii slojevi vraaju informacije nazad u nie slojeve. Izlaz iz neurona se vraa u nie slojeve ili u isti sloj. Predstavnici: Hopfildove, Celularne neuronske mree, Kohoneno16

ve neuronske mree, dvostruko asocijativne neoronske mree. Feedback mree imaju mnogo vee procesne sposobnosti od Feedforward mrea. 2.4 Podela neuronskih mrea prema vrsti podataka Prema vrsti podataka koje obrauju neuronske mree se mogu podeliti na: analogne i diskretne. Ova podela se retko koristi poto su gotovo sve neuronske mree diskretne. 2.5 Podela neuronskih mrea prema vrsti uenja i pravcu prostiranja signala- Problemi uenja Postoje dve glavne formulacije problema uenja: Nadgledano uenje je pristup problemu uenja koji se odnosi na situacije u kojima se algoritmu zajedno sa podacima iz kojih ui daju i eljeni izlazi. Algoritam treba da naui da za date podatke (ne nuno trening podatke) prui odgovarajue izlaze. Nenadgledano uenje je pristup problemu uenja koji se odnosi na situacije u kojima se algoritmu koji ui pruzaju samo podaci bez izlaza. Od algoritma koji ui oekuje se da sam uoi neke zakonitosti u podacima koji su mu dati. Naravno, ovi drastino razliiti pristupi se ne odnose na iste vrste problema. Kao primer nadgledanog uenja moemo pomenuti klasifikacija lanaka na raunarske i ostale, kod koje su unapred poznati primeri za razliite kategorije. Primer nenadgledanog uenja je takozvano klasterovanje uoavanje grupa na neki nain slinih objekata kada nemamo prethodno znanje o tome koliko grupa postoji ili koje su njihove karakteristike. Jedan primer primene klasterovanja bi mogao da bude redukcija skupa boja slike. Pikseli slike se mogu grupisati klasterovanjem po njihovoj blizini u RGB prostoru boja, a potom se iz svakog klastera moe izabrati po jedna boja koja bi ga predstavljala i kojom bi bili obojeni svi pikseli koji pripadaju tom klasteru. U daljem tekstu e biti vie rei o navedenom primeru.

Vrste neuronskih mrea podeljene prema vrsti uenja i pravcu prostiranje signala: 2.5.1 Nenadgledano uenje Nenadgledano uenje slui za reavanje klase problema iji cilj je odreivanje naina na koji su podaci organizovani. Ono predstavlja spontano uenje, bez uitelja, tj.
17

bez invervencije eksperimentatora. Ovakav nain uenja pogodan je kod zadataka kod kojih se koristi set podataka (training set) i kada je potrebno odrediti uzajamnu vezu izmeu tih podataka. Tipini problemi za ije reavanje se koristi nenadgledano uenje su klasterovanje i generalizacija. Meu neuronskim mreama, esto korieni algoritmi, koji koriste nenadgledano uenje, su samoorganizujue mape i teorija adaptivne rezonance. Feedback mree 1) Aditivna Grossbergova - Additive Grossberg (AG) 2) Grossbergova sa odlaganjem - Shunting Grossberg (SG) 3) Teorija binarne adaptivne rezonancije - Binary Adaptive Resonance Theory (ART1) 4) Teorija analogne adaptivne rezonancije - Analog Adaptive Resonance Theory (ART2, ART2a) 5) Diskretna Hopfildova - Discrete Hopfield (DH) 6) Kontinualna Hopfildova - Continuous Hopfield (CH) 7) Diskretna bidirekciona asocijativna memorija - Discrete Bidirectional Associative Memory (BAM) 8) Privremena asocijativna memorija - Temporal Associative Memory (TAM) 9) Adaptivna bidirekciona asocijativna memorija - Adaptive Bidirectional Associative Memory (ABAM) 10) Kohenove samoorganizujue mape - Kohonen Self-organizing Map/Topology-preserving map (SOM/TPM) 11) Kompetitivno uenje - Competitive learning 1) Matrice sa mogunou uenja- Learning Matrix (LM) 2) Pobueno-primorano uenje - Driver-Reinforcement Learning (DR) 3) Linearna asocijativna memorija - Linear Associative Memory (LAM) 4) Optimizovana linearna asocijativna memorija - Optimal Linear Associative Memory (OLAM) 5) Slabo rasporeena distribuirana asocijativna memorija - Sparse Distributed Associative Memory (SDM) 6) Fuzzy ascocijativna memorija - Fuzzy Associative Memory (FAM)
18

Feedforward mree:

7) Counterpropagation (CPN) 2.5.2 Nadgledano uenje Feedback mree 1) Brain-State-in-a-Box (BSB) 2) Fuzzy kongitivne mape - Fuzzy Congitive Map (FCM) 3) Bolcmanova maina - Boltzmann Machine (BM) 4) Mean Field Annealing (MFT) 5) Rekurzivno kaskadno povezivanje - Recurrent Cascade Correlation (RCC) 6) Povratna propagacija kroz vreme - Backpropagation through time (BPTT) 7) Povratno uenje u realnom vremenu - Real-time recurrent learning (RTRL) 8) Recurrent Extended Kalman Filter (EKF) Feedforward mree: 1) Perceptron 2) Adaline, Madaline 3) Backpropagation (BP) 4) Koijeva maina - Cauchy Machine (CM) 5) Adaptivni heuristiki kriterijum - Adaptive Heuristic Critic (AHC) 6) Neuronske mree sa vremenskim zadravanjem - Time Delay Neural Network (TDNN) 7) Asocijativno nagraivanje - Associative Reward Penalty (ARP) 8) Avalanche Matched Filter (AMF) 9) Backpercolation (Perc) 10) 11) 12) 13) 14) 15) Artmap Adaptivne logike mree - Adaptive Logic Network (ALN) Kaskadne veze- Cascade Correlation (CasCor) Proireni Kalman-ov filter - Extended Kalman Filter(EKF) Kvantizacija vektora uenja - Learning Vector Quantization (LVQ) NM zasnovane na verovatnoi- Probabilistic Neural Network (PNN)
19

16) Opte regresione neuronske mree - General Regression Neural Network (GRNN)

2.6. Samoorganizujue mape Samoorganizujua mapa je tip vetake neuronske mree ija obuka se vri nenadgledanim uenjem kako bi se dobila niskodimenzionalna (najee dvodimenzionalna), diskretna reprezentacija ulaznih uzoraka. Ovakva diskretna reprezentacija podataka zove se mapa. Samoorganizujue mape razlikuju se od drugih tipova neuronskih mrea po tome to uvaju informaciju o topolokim svojstvima ulaza pomou funkcije susednih neurona. Osobine samoorganizujue mape omoguuju joj vizualnu predstavu niskodimenzionog pogleda na visokodimenzione podatke, tj. viedimenziono skaliranje. Ovaj model je prvi put kao neuronsku mreu opisao finski profesor Teuvo Kohonen, stoga se ove mree zovu i Kohonenove mape. Samoorganizujue mape rade u dve faze: uenje i mapiranje. Uenje izgrauje mapu pomou ulaznih uzoraka. Ovaj proces je kompetitivan i naziva se i kvantizacija vektora. Mapiranje vri klasifikaciju ulaznog vektora. Samoorganizujua mapa sastoji se iz komponenti koje se nazivaju vorovi ili neuroni. Svaki neuron ima vektor teina, istih dimenzija kao i vektor ulaznih podataka, i poziciju u prostoru mape. Procedura smetanja vektora iz prostora podataka u mapu sastoji se iz: pronalaenja neurona iji vektor teina ima vrednosti najblie vektoru iz prostora podataka i dodeljivanja koordinata mape ovog neurona vektoru. 2.6.1 Treniranje samoorganizujue mape Cilj obuke samoorganizujue mape je izazivanje sline reakcije razliitih delova mape na odreene ablone sa ulaza. Ovakva reakcija je analogna nainu na koji se obrauju vizualne, auditorne i ostale ulne informacije u mozgu oveka. Teine neurona se najee inicijalizuju malim, sluajnim vrednostima. Mreu je potrebno obuiti sa velikim brojem vektora uzoraka koji predstavljaju, to je mogue blie, vektore koji se oekuju u toku faze mapiranja. Obino se obuavanje sa istim uzorcima vri vie puta, kroz nekoliko iteracija.

20

Kohonenova mapa se obuava kompetitivnim uenjem1. Kada se mrei preda uzorak za uenje, rauna se njegovo odstojanje od vektora teina svih neurona mree. Neuron ije su vrednosti vektora teina najblie ulazu je neuron sa najveim podudaranjem. Vrednosti ovog neurona i njegovih suseda u SOM reetki se potom pribliavaju vrednostima ulaza. Uticaj ulaza na vrednosti vektora teina neurona opada sa vremenom i udaljenou od neurona sa najveim podudaranjem. Formula kojom se vri auriranje vrednosti vektora teina neurona Wv(t) je: Wv(t + 1) = Wv(t) + (v, t) (t)(D(t) - Wv(t)), gde je (t) monotono opadajui koeficijent uenja, a D(t) je ulazni vektor. Funkcija susednih neurona (v, t) zavisi od rastojanja izmeu neurona sa najveim podudaranjem i neurona v. Postoje dva naina za auriranje vrednosti: Najjednostavniji nain je auriranje sa istom vrednosti svih neurona koji se nalaze dovoljno blizu neurona sa najveim podudaranjem, dok vrednosti ostalih ostaju nepromenjene. Drugi nain je auriranje suseda upotrebom gausove funkcije. Bez obzira koji je nain auriranja, funkcija susednih neurona smanjuje radijus svog delovanja tokom vremena. To znai da e na poetku obuke, kada je iroko susedstvo, samoorganizacija biti vrena na nivou cele mree. Vremenom e se susedstvo suziti na samo nekoliko neurona ije teine konvergiraju lokalnim srednjim vrednostima. Ovaj postupak ponavlja se za svaki ulazni vektor isti broj puta. Obino je broj iteracija velik (). Na kraju obuke, mrea pravi veze izlaznih neurona sa grupama ili ablonima ulaznih podataka. Tokom mapiranja postoji samo jedan pobedniki neuron. To je neuron iji vektor teina ima vrednosti najblie ulaznom vektoru. 2.7 Kvantizacija Kvantizacija vektora je tehnika kojom se iskoriava struktura ulaznih vektora u svrhu kompresije podataka. Tanije, ulazni prostor deli se u odreeni broj regiona i za svaki region definie se rekonstrukcioni vektor. Kada kvantizator dobije novi ulazni vektor, prvo se utvruje region kojem on pripada. Dalje se u algoritmu taj ulazni vektor predstavlja reprodukcionim vektorom za dati region. Ovim postupkom, upotrebom kodirane verzije reprodukcionog vektora umesto originalnog ulaza, ostvaruje se znaajna uteda u memorijskom prostoru koji je potreban za uvanje podatka, na raun tanosti
1

Kompetitivno uenje je proces nenadgledanog uenja vetakih neuronskih mrea pri kojem se neuroni takmie za dozvolu da se aktiviraju za odreeni skup ulaznih podataka.

21

(kvaliteta) podatka. Kolekcija reprodukcionih vektora naziva se code book, a njeni lanovi code words. Kvantizator vektora sa najmanjom deformacijom, tj. gubitkom kvaliteta podataka zove se Voronoi ili najblii-sused kvantizator. Voronoi elije su grupe taaka ulaznog prostora koje odgovaraju odreenom regionu tog prostora primenom pravila najblii sused, prema Euklidskoj metrici. Algoritam SOM-a sadri priblian metod za nenadgledano izraunavanje Voronoi vektora pri emu se aproksimacija odreuje vektorima teina sinapsi neurona. 2.8 Topologija Kohonenove samoorganizujue mape Koriena Kohonenova samoorganizujua mapa ima dva sloja, ulazni i izlazni, bez skrivenih slojeva. Setimo se da smo u ranijem delu teksta kao primer nenadgledanog uenja naveli takozvano klasterovanje uoavanje grupa na neki nain slinih objekata kada nemamo prethodno znanje o tome koliko grupa postoji ili koje su njihove karakteristike. Kao primer primene klasterovanja smo naveli redukciju skupa boja slike. Pikseli slike se mogu grupisati klasterovanjem po njihovoj blizini u RGB prostoru boja, a potom se iz svakog klastera moe izabrati po jedna boja koja bi ga predstavljala i kojom bi bili obojeni svi pikseli koji pripadaju tom klasteru. Svaki neuron u ulaznom sloju predstavlja jedan piksel iz bloka slike dok svaki neuron u izlaznom sloju predstavlja jedan ili vie blokova slike. Shodno tome, poveavanjem veliine bloka poveava se i broj neurona u ulaznom sloju. Broj neurona u izlaznom sloju ne zavisi direktno od veliine bloka ili veliine slike, jer su esto blokovi u slikama slini, pa se vie blokova moe aproksimirati jednim izlaznim neuronom. Iako neuroni u izlaznom sloju na prvi pogled imaju samo dva suseda (krajnji samo jednog), logiki ih posmatramo kao matricu u kojoj svaki neuron ima etiri suseda (krajnji po dva). Dijagonalne susede ne posmatramo. Ovo ima znaaja pri obuavanju mape. Za svaki neuron prenosna funkcija je linearna. 2.9 Obuavanje Prilikom kreiranja Kohonenove samoorganizujue mape broj neurona u ulaznom sloju se odreuje na osnovu broja piksela u svakom bloku. to je blok vei, vie neurona e postojati u ulaznom sloju. Broj neurona u izlaznom sloju odreuje korisnik. to je broj neurona vei, obuavanje traje due.

22

Obuavanje se vri tako to se na ulaz mape dovede element kojim se vri obuavanje i odredi se neuron koji se aktivirao. Da bi se mapa valjano obuila potrebno je izvriti obuavanje u vie iteracija. 2.10 Kompresija pomou obuene mape Kada je Kohonenova samoorganizujua mapa obuena mogue ju je iskoristiti kao kodnu knjigu za kompresiju slike. Na ulaz obuene mape dovode se jedan po jedan blok i sa izlaza se oita aktiviran neuron. Indeksi bloka dovedenog na ulaz i aktiviranog neurona potom se zapamte. Prilikom dekompresije se za svaki od zapamenih indeksa blokova uzme odgovarajui neuron i njegov teinski vektor koji se rekonstruie u blok. Slika se dobija slaganjem blokova u odgovarajuem redosledu.

2.11 Primena samoorganizujuih mapa Samoorganizujue mape nalaze praktinu primenu u mnogim oblastima savremene nauke i inenjerstva. Najznaajniju primenu imaju u analizi, klasterovanju i vizuelizaciji podataka. Neka od konkretnih reenja su: prepoznavanje govora (za ta je samoorganizujue mape Teuvo Kohenen prvobitno koristio), bibliografska klasifikacija, medicinska dijagnostika, tumaenje seizmikih aktivnosti, sistemi za manipulaciju i skladitenje slika, kompresija podataka. Kroz prethodno navedeni primer, nastala su mnoga aplikativnog reenja za kompresiju slike pomou Kohenenove samoorganizujue mape. Teoretski se neuronske mree mogu obuiti za izraunavanje svake izraunljive funkcije. One mogu uraditi sve to moe normalan digitalan raunar da uradi. Meutim u praksi, neuronske mree najbolje rezultate pokazuju na podruju klasifikacije, funkcije aproksimacije, na problemima mapiranja ija je tolerancija neprecizna, na problemima koji imaju dosta dostupnih podataka za trening ili na problemima koji zahtevaju brzu primenu odgovarajueg pravila u zavisnosti od ulaznih podataka.
23

Isto tako mapiranje vektora izmeu prostora moe se aproksimirati precizno putem neuronskih mrea. Neuronske mree ne mogu da stvore informaciju koju ne sadre trening podaci. Sa ljudske strane posmatrano, uenje je menjanje individue. Blie odredba uenja je sazrevanje. Da li nae sazrevanje zavisi od razvoja vetake inteligencije, vreme e pokazati

2.12 Sistemi zasnovani na znanju (KBS) Sistemi zasnovani na znanju (Knowledge Based Systems - KBS) treba da omogue pre svega simboliko predstavljanje znanja, nalaenje reenja i eventualno samostalno uveavanje znanja na osnovu iskustva Za razliku od podataka kojima raunarski programi uobiajeno operiu i koji su uglavnom numerike prirode, pri predstavljanju znanja karakteristino je da se koriste preteno nenumeriki podaci Postoji vie naina za predstavljanje znanja i to su produkciona pravila, semantike mree, frejmovi, objekti, itd. o emu e vie rei biti u poglavlju o ekspertnim sistemimaOd posebnog interesa je reavanje problema kada nije poznato algoritamsko reenje problema, kada odgovarajui algoritam ne postoji, ili kada je algoritam poznat, ali implementacija na raunaru prevazilazi resurse raunara U tom sluaju se koriste heuristike, pravila za reavanje kojima se na osnovu prethodnog znanja, iskustva i intuicije suava i usmerava podruje traganja za reenjem Primena heuristika ne mora da garantuje nalaenje reenja u optem sluaju za bilo koji mogui skup ulaznih podataka, kao to je sluaj sa algoritmom Ipak, vrednost ovih pravila je neosporna i pre svega je praktine prirode, ako se u praksi do reenja moe doi u velikom broju sluajeva Slino ovome, mogu se razmatrati i sluajevi kada se ne raspolae sa svim potrebnim podacima o datom problemu, ili kada su podaci poznati sa izvesnim stepenom verovatnoe U tom sluaju su i dobijeni zakljuci prihvatljivi samo sa izvesnom verovatnoom, pa se sistem koristi za procenu izvesnosti pojedinih mogunosti Vana je i provera logike konzistentnosti podataka, jer se moe desiti da podaci budu takvi da ne mogu nikako da odgovaraju realno moguem sluaju
24

Automatsko usvajanje i korienje prethodnog iskustva pri reavanju srodnih i slinih problema je neto to ne bi sasvim eliminisalo potrebu za daljim dodavanjem i usavravanjem znanja koje sistem poseduje, od strane oveka, ali bi sigurno tu potrebu umanjilo

2.13 Logiko zakljuivanje Logiko zakljuivanje je od velikog interesa u VI, i do sada su razvijeni sistemi koji se baziraju uglavnom na deduktivnom zakljuivanju Ali da bi deduktivno zakljuivanje uopte i bilo mogue, potrebno je da se primenjuje u teorijski potpuno poznatoj i izuenoj oblasti koja ima zatvoren sistem znanja Deduktivno zakljuivanje ima tu prednost nad induktivnim, da je jednoznano, pa samim tim i lake ostvarljivo Ovakvi sistemi mogu dokazivati razna tvrenja, teoremeSa induktivnim zakljuivanjem ve nije tako, jer se induktivno zakljuivanje bazira na generalizaciji iskustva, i zakljuci se mogu prihvatiti sa nekom verovatnoom Dakle, automatizacija induktivnog zakljuivanja treba da bude "predlagakog" karaktera

2.14 Programiranje Programiranje o kome je ovde re, nije aktivnost ljudi programera, ve automatizovano programiranje koje realizuje sistem VI Od interesa je razvoj programa za odreene svrhe, kao i usavravanje ve postojeih programa

2.15 Veza sa intelektualnim procesima Jedno od vanih stanovita sa kojih se vri istraivanje i razvoj oblasti VI je mogunost saznavanja i istraivanja u oblasti intelektualnih procesa kod ljudi (ispitivanje funkcija mozga) pri emu se polazi od pretpostavke da mogu da postoje analogije Prirodnije bi bilo suprotno, tj. da se na osnovu poznavanja funkcionisanja ljudskog mozga grade sistemi VI
25

Meutim, zbog nedovoljnog poznavanja intelektualnih procesa, na sve naine se pokuava da se doe do odreene predstave ili modela u ovoj oblastiNaravno, postoje i protivnici ovakvog gledita, J. Searle, M. Boden.... Boden smatra da se iz injenice da sistem VI na pr. uspeno rei neki problem, ne moe zakljuiti da se i mozak ponaa na isti nain, i to povezuje sa injenicom da to to je neka teorija u saglasnosti sa eksperimentom, ne mora da iskljui i mogunost da i neka drugaija teorija takoe bude u saglasnosti sa istim eksperimentalnim injenicama Nezavisno od ove dileme, sistemi VI su definitivno nali svoju primenu i svoje mesto u mnogim oblastima nauke, tehnike, socijalno-ekonomskim problemima, pa e sa tog aspekta i biti tretiraniJedan od efekata razvoja VI je da korienje raunara postaje mogue sa manje znanja programiranja nego ranije, to omoguava da se vie vremena posveti problemu koji se reava Analogno kao to spreadsheet programi omoguavaju raunanje bez potrebe programiranja, razni sistemi VI treba da omogue korienje i primenu znanja u drugim oblastima reavanja problema Sa preuzimanjem zadataka koje su prethodno iskljuivo ljudi obavljali, raunarske nauke dalje napreduju Kada neka nova tehnika VI postane dovoljno usavrena, stabilna za primenu i dostupna, esto gubi svoju pripadnost VI Na osnovu prethodnog izlaganja i definicija, moe se rei da je naziv VI uslovan i da pre svega oznaava oblast istraivanja, jer je za sada inteligencija pre svega svojstvo ivih bi

26

3. MAINSKO UENJE Uenje je dosta irok pojam pa ga je zbog toga teko precizno opisati. Definicije uglavnom koriste fraze kao sticanje znanja, razumevanja ili vjetine prouavanjem, sleenjem uputstava ili kroz iskustvo i izmena uobiajnog ponaanja kroz iskustvo. Postoje mnoge paralele izmeu mainskog i ivotinjskog/ljudskog uenja. Razlog je jednostavan: mnoge tehnike mainskog uenja su zasnovane na teorijama ivotinjskog uenja (i uenja kod ljudi) koje razvijaju psiholozi. Maine ue, uopteno reeno, kad god promene svoju strukturu, program ili podatke tako da poboljaju oekivane performanse u budunosti. Neke od ovih promena, kao na primer zapisivanje sloga u bazi podataka, se obino i ne nazivaju uenje. Ali, ako se uspenost softvera za prepoznavanje govora pobolja nakon nekoliko istreniranih reenica, tada opravdano kaemo da je maina nauila. Mainsko uenje Mainsko uenje, dakle uenje koje nije vezano za neposrednu intervenciju oveka je jedna od karakteristika sistema kojima se odlikuju sistemi VI Veina sistema je takva da zahteva direktnu intervenciju oveka za izmenu postojeeg, ili dodavanje novog znanja, a postoje i takvi sistemi VI koji mogu da formiraju neku vrstu iskustva, kao to je u prethodnoj taki pomenuto Sa svakim reenim problemom uveava se znanje sistema VI

Mainsko uenje se obino odnosi na promene u sistemima u oblasti vetake inteligencije.

3.1 Zato mainsko uenje Postavlja se pitanje zato bi se neko uopte bavio mainskim uenjem. Dostignua u oblasti mainskog uenja mogu pomoi u shvatanju kako ivotinje i ljudi ue, a pored toga postoji I nekoliko ininjerskih razloga: Neke zadatke ne moemo dobro opisati osim pomou primera, tj. moemo navesti primere ulaza i odgovarajueg izlaza, ali ne i tane relacije izmeu ulaza i izlaza. U tom sluaju elimo da maina uenjem na primerima izmeni svoju unutranju
27

strukturu/podatke/program tako da njena prenosna funkcija to bolje odgovara implicitnoj relaciji sadranoj u trenanom skupu primera. Mogue je da se u velikoj hrpi podataka nalaze vane relacije. Mainsko uenje se esto moe koristiti za pronalaenje ovih relacija. To je poznato kao data mining rudarenje za podacima. Dizajneri (ljudi) esto naprave maine koje ne rade tano onako kako to neko eli. Odreene karakteristike radnog okruenja moda nisu poznate u vrieme dizajniranja. A i radno okruenje se stalno menja. Mainsko uenje moe pomoi da se maine (bar delimino) prilagoavaju radnom okruenju u cilju postizanja eljenog ponaanja. Koliina dostupnih podataka o nekom problemu moe biti prevelika da bi ga ovek eksplicitno izmodelirao/isprogramirao. Maine koje naue ovo znanje mogu s vremenom da ga prikupe i vie nego to bi ljudi bili voljni ak i da zapiu. Ljudsko znanje se proiruje i produbljuje. Stalni redizajn sistema vetake inteligencije je nepraktian, ali bi se pomou mainskog uenja moglo da stane u kraj barem dielu problema.

3.2 Izvori mainskog uenja Radovi u mainskom uenju se meusobno pribliavaju (konvergiraju), a potiu iz nekoliko glavnih izvora: Statistika: interpolacija i ekstrapolacija vriednosti funkcija na osnovu nekoliko poznatih taaka i slini problemi. Moe se smatrati mainskim uenjem jer se procene baziraju na uzorcima podataka iz problemskog okruenja. Modeli mozga: nelinearni elementi sa teiranim ulazima su predloeni kao jednostavni model biolokog neurona, i osnova su za neuronske mree. Psihologe zanima koliko dobro ovi modeli aproksimiraju ivi mozak (sa aspekta uenja). Ova oblast se ponekad zove i konekcionizam, Adaptivna teorija upravljanja: upravljanje procesom koji ima nepoznate parametre koji se u toku rada moraju procjenjivati. Ovi parametri se esto i menjaju u toku rada, i upravljanje procesom mora voditi brigu i o tome. Primer su neki aspekti upravljanja robotom na bazi senzorskih ulaza.
28

Psiholoki modeli: izmeu ostalog drvo odluivanja i semantike mree. Vetaka inteligencija: od poetka su se istraivanja u ovoj oblasti bavila mainskim uenjem. Evolucijski modeli: modeliranje programa u analogiji sa teorijom evolucije. Najpoznatiji su genetski algoritmi i genetsko programiranje.

29

4. AUTOMATSKO UENJE 4.1 Automatsko rezonovanje Automatsko rezonovanje je oblast raunarstva posveena razumevanju razliitih aspekat a rezonovanja na koji omoguava pravljenje softvera pomou koga raunari mogu da rez onuju potpuno ili skoro potpuno automatski. Kao takvo, automatsko rezonovanje se obi no smatra podoblau vetake inteligencije, ali ova oblast ima jake veze i sa teorijskim raunarstvom , pa i filozofijom. Najrazvijenije oblsti automatskog rezonovanja su verovatno automatsko dokazivanje teo rema (i manjeautomatska, ali pragmatinija podoblast, interaktivno dokazivanje teorema ) i automatska provera dokaza (za koju se smatra da garantuje korektno rezonovanje pod fiksnim pretpostavkama), ali su znaajni napori uloeni i u razvijanje rezonovanja analo gijom, indukcijom i abdukcijom. Druge vane teme su rezonovanje pod nesigurnim okol nostima i nemonotono rezonovanje. Alati i tehnike koje automatsko rezonovanje koristi ukljuuju aparaturu klasine logike i rauna za automatsko dokazivanje teorema, ali i fazi logiku, bajesovsko uenje, rezonov anje sa maksimalnom entropijom i veliki broj manje formalnih ad hok tehnika. Dva kljuna problema vezana su za razvoj vetake inteligencije i automatsko rezonova nje: mogunost formalizacije neformalno postavljenih zadataka, nalaenje dovoljno efikasnih strategija i procedura pretraivanja u mnotvu varijanata. Od uspeha u njihovom reavanju zavisi praktino ostvarivanje potencijalnih mogunosti. Bitna komponenta svakog rezonovanja je sposobnost zakljuivanja. Na zakljuivanju se temelje sposobnosti uenja, otkrivanja primera i kontraprimera, uoavanje analogija, pr epoznavanje objekata i druge. Posebno znaajno mesto u tome pripada logikom zaklju ivanju, tj. izvoenju posledica iz datog skupa premisa. Logiko izvoenje se moe svesti na problem dokazivanja teorema. Zato je jedan od klj unih aspekata formalizacije rezonovanja, razrada deduktivnih sistema koji omoguuju r ealizaciju automatskog dokazivanja teorema. Cilj automatskog dokazivanja teorema jeste projektovanje i implementacija raunarskih programa koji dokazuju ili pomau pri dokazivanju teorema.
30

U poetku je primena programa za dokazivanje teorema bila iskljuivo u oblasti matem atike a posle I u oblastima kao to su: korektnost programa, generisanje programa, upitn i jezici nad relacionim bazama podataka, projektovanje elektronskih kola, izgradnja eksp ertnih sistema itd.

4.2 Uenje Uenje moe u celosti da se definie kao glavna sposobnost inteligentnih sistema. Intelig encija je odreena: Mehanizmima uenja i Rezultatima uenja. Mehanizam uenja moe da se predstavi kroz algoritam procesa uenja. Ovde treba nap omenuti da postoje dva dela procesa uenja: heuristiko i logiko. Proces uenja se sastoji iz: prikupljanja ulaznih podataka iz okruenja, indukcije, dedukcije i analize informacija. Uenje moe da se definie kao upravljanje faktorima, koji utiu na reavanje postavljen og problema i koji ne mogu da se uzmu u obzir u klasinim algoritmima. Modeliranje simbolima U VI se koriste simboli ( umesto algoritama ) pomou kojih se predstavljaju realni pred ameti, njihove karakteristike i relacije koje postoje meu njima. Induktivno zakljuivanje je takav oblik zakljuivanja kod koga se polazi od empirijskih ( iskustvenih) injenica, a zakljuak, koji se izvodi iz tih injenica, prevazilazi granice on oga to te injenice kau. Indukcija je pretpostavka. (Opaam /znam da je A, na osnovu toga pretpostavljam da j e i B. Jeste ? Nije ? Hajde da vidimo. Da pokuamo da naemo nain da se uverimo da j e B, kao sto smo se uverili da je A na osnovu ega smo i pretpostavili B. A ne garantuje B logiki, vec se mora proveriti empirijski.)

31

Deduktivno zakljuivanje je takav oblik zakljuivanja kod koga se neki stav (koji zovem o zakljuak) izvodi iz nekakvih drugih stavova (koje zovemo premise ili pretpostavke). Za izvlaenje zakljuka nije bitno da li su premise istinite ili nisu. (Ukoliko je A onda nu zno mora da sledi B. To ne znaci da jeste A i da jeste B. To samo znaci da B govori isto to i A /nema novih i nformacija/ samo na drugaiji nain. Da li je A i da li je B, nije bitno za tvrenje u kome se kae ako A onda nuzno B) Primer: 1)Ako Pera ima 5 dinara i 2)Ako Mika ima 3 dinara onda 3)Pera i Mika zajedno imaju 8 dinara Da bi se diskutovalo o validnosti zakljuka 3) nije vazno da li Pera stvarno ima 5 dinara i Mika 3. Necemo da gledamo Peri i Miki u depove. Vazno je samo da li, ukoliko je to t ako kako se iznosi u 1) i 2) onda nuno sledi 3). Ukoliko sledi, zakljuivanje je ispravno, ukoliko ne sledi zakljuivanje nije ispravno (validno). Zakljuak validne dedukcije nikada ne sadri vie informacija nego to je sadrano u pre tpostavkama.

To je razlog zato dedukcija uvek sadri sigurnost i moze se logiki proveriti (nikada ne govori nita novo), a zato je indukcija uvek u nekom pogledu nesigurna i ne moe se lo giki proveriti ve samo empirijski. Dedukcijom se ne moe doi do novih informacija, samo indukcijom. Ako na osnovu iskustva donesemo zakljuak koji prevazilazi nae iskustvo, jedini nain da se on proveri je opet (novo) iskustvo. Ispitivanje novih informacija, dobijenih indukcijom se ne moe dokazati dedukcijom. Indukcija moe samo biti jaka ili slaba, za razliku od dedukcije koja je sigurno ispravna i li neispravna.

32

Indukcija je pretpostavka, putokaz, upuuje na ta da se obrati panja u sledecim iskustv ima. Istraivanja u Vetakoj inteligenciji su fokusirana na sledee komponente inteligencije: uenje, razmiljanje, reavanje problema, percepcija i razumevanje prirodnog jezika.

Postoji vie razliitih oblika uenja koji su primenjeni na oblast vetake inteligencije. N ajjednostavniji se odnosi na uenje na grekama preko pokuaja. Na primer, najjednosta vniji raunaraski program za reavanje problema matiranja u jednom potezu u ahu, je is traivanje mat pozicije sluajnim potezima. Jednom iznaeno reenje, program moe za pamtiti poziciju i iskoristiti je sledei put kada se nae u identinoj situaciji. Jednostavno pamenje individualnih poteza i procedura poznato kao mehaniko uenje je vrlo lak o implementirati u raunarski sistem. Prilikom pokuaja implementacije tzv., uoptavanj a, javljaju se vei problemi i zahtevi. Uoptavanje se sastoji od primene prolih iskustav a na analogne nove situacije. Na primer, program koji ui prola vremena glagola na srp skom jeziku mehanikim uenjem, nee biti sposoban da izvede prolo vreme, recimo gl agola skoiti, dok se ne nae pred oblikom glagola skoio, gde e program koji je sposo ban za uoptavanje nauiti "dodaj o i ukloni ti" pravilo, te tako formirati prolo vreme glagola skoiti, zasnivajui se na iskustvu sa s linim glagolima. Uenje stabala odluivanja

Razmotrimo igru sa 20 pitanja. Jedan igra zamilja neki predmet, a drugi treba da pogo di o kom je predmetu re. Kako bi pogodio o kom predmetu se radi igra koji pogaa im a pravo da postavi 20 pitanja na koje odgovor moe biti da ili ne. Kada misli da je posta vio dovoljno pitanja, igra moe dati svoj sud o kom predmetu se radi i igra se zavrava. Oito, proces ispitivanja se moe predstaviti u vidu stabla koje u svakom voru ima po j edno pitanje, osim u listovima u kojima se nalazi sud igraa o nepoznatom predmetu. Sv aki vor osim listova ima dve grane oznaene sa da ili ne koje vode u podstablo koje odg ovara nastavku ispitivanja posle razmatranog pitanja. Ovo je primer stabla odluivanja.
33

Ovakva stabla se mogu uoptiti zanemarivanjem ogranienja na 20 pitanja i tako to bi s e dozvolilo da odgovori ne moraju biti samo da ili ne, ve da mogu pripadati odreenom unapred definisanom skupu za dato pitanje. Ovakva stabla se mogu automatski nauiti i z primera koji za svaku instancu ukljuuju vrednosti njenih atributa i vrednost ciljne fun kcije za tu instancu. Uenje stabala odluivanja je metod aproksimacije diskretnih ciljnih funkcija u kome se nauena funkcija predstavlja u vidu stabla. Slino igri 20 pitanja, svakom voru stabla o dgovara test nekog atributa instance, a grane koje izlaze iz vora razliitim vrednostima t og atributa. Listovima odgovaraju vrednosti ciljne funkcije. Instance su opisane vrednost ima svojih atributa. Klasifikuju se polazei od korena, sputajui se niz granu koja odgo vara vrednosti testiranog atributa instance koju klasifikujemo. Klasa se dodeljuje instanc i kad se doe do lista. Uenje stabala odluivanja je ve primenjeno u razliitim problemima. Jedan primer se odnosi na predvianje budue potranje za knjigama u bibliotekama, na osnovu nekih nj ihovih atributa (npr. jezik, datum objavljivanja, datum poslednjeg iznajmljivanja itd.). K njige za koje se predvia da nee biti skoro traene se mogu smestiti u magacin. Istraiv anje je raeno u biblioteci univerziteta Harvard. Sredinom devedesetih godina stabla odl uivanja su primenjena u klasifikaciji tumora i prognozi njihovog ponaanja. Svaka instanca je opisivana pomou 31 og atributa, a klasifikacije su date nezavisno od strane vie strunjaka. U astronomiji sta bla odluivanja su primenjena u cilju razlikovanja zvezda i tragova kosmikih zraka na s nimcima teleskopa Habl. Na osnovu 20 numerikih karakteristika, sa stablima dubine do 9 vorova, postignuta je preciznost klasifikacije od 95%. Takoe postoje primene i u ek onomiji i drugim oblastima. Korienje stabla odluivanja nije podjednako pogodno za sve probleme uenja. Potrebn o je da se instance predstavljaju pomou vrednosti fiksnog broja atributa. Skup vrednosti bi trebalo da bude diskretan i mali, mada se na kontinualne atribute moe primeniti disk retizacija tako to bi se skup podelio u podintervale. Svakom podintervalu se pridruuje oznaka koja zamenjuje vrednosti atributa iz tog inter vala u zapisimainstanci. Stabla odluivanja se pokazuju posebno primenljiva u sluaju k ada je neophodno predstavljanje disjunkcija uslova, kada podaci za trening sadre greke i kada u trening skupu postoje instance kojima nedostaju vrednosti nekih atributa.
34

Ukoliko stablo odluivanja instanci dodeljuje neku klasu, to znai da instanca ispunjava sve uslove koji su definisani putanjom od korena do odgovarajueg lista kroz stablo i obl ika su atribut=vrednost. Stoga putanje kroz stablo predstavljaju konjunkcije ovakvih usl ova. Za svaku klasu mogue je uoiti putanje koje se zavravaju listovima koji odgovara ju toj klasi. Disjunkcija svih takvih konjunkcija definie instance koje pripadaju datoj kl asi prema datom stablu. Jedan od najpoznatijih algoritama za uenje stabla odluivanja j e ID3. Ovaj algoritam konstruie stablo od korena, nanie, pitajui se u svakom voru ko ji je najbolji atribut koji se u datom voru moe testirati. Ovose odreuje statistikim krit erijumom koji meri koliko dobro neki atribut sam klasifikuje podatke. Atribut ne moe b iti dva puta korien u jednoj putanji od korena do lista. Za sve vrednosti odabranog atri buta kreiraju se grane do vorova naslednika, a podaci za treniranje se dele izmeu ovih vorova tako da svaki od njih nasleuje primere koji imaju odgovarajuu vrednost preth odno testiranog atributa. Za svaki od vorova naslednika ovaj postupak se rekurzivno pri menjuje sve dok nije ispunjen bar jedan od sledea dva uslova: 1. u putanji od korena do trenutnog vora iskorieni su svi atributi, 2.sve instance za trening koje su pridruene trenutnom voru imaju istu vrednost ciljnog atributa. Svakom listu se pridruuje najea oznaka instanci za trening koje su mu pridr uene. Algoritam je preciznije dat na slici 11.2.

35

Treba primetiti da ID3 preferira stabla sa manjom dubinom, kao i stabla u kojima se atri buti koji nose vei dobitak informacije nalaze blie korenu. Ovo je posledica toga
36

to izgradnja stabla poinje od praznog stabla pri emu se dodaje nivo po nivo i n aina na koji se biraju atributi koji se pridruuju vorovima. Afinitet prema kraim stablima je zanimljiva pretpostavka jer je u skladu sa odavno poznatim filozofskim principom kojim se esto vode i naunici Okamovom otri com: entitete ne treba umnoavati preko potrebe, odnosno najjednostavnije objanj enje je verovatno i najbolje.

37

Pravilo rezolucije teorema potpunosti Rezolucija je primer metode zakljuivanja koja se moe efikasno automatizovati, i u odr eenim sluajevima se pokazuje da je to ispravna i kompletna procedura zakljuivanja. Definicija rezolvente (zakljuak principom rezolucije) Neka za sastavke D1 i D2, koji ne sadre zajednike promenljive (to se uvek moe posti i preoznaavanjem promenljivih), i za literale L1D1, L2D2 vae uslovi: (1) Skupovi L1 i L2 nisu prazni, (2) Za skup A svih atominih formula sadranih u L1L2 postoji NOU A, (3) Elementi jednolanih skupova L1A i L2A obrazuju komplementaran par. Rezolve nta sastavaka D1 i D2 je sastavak (D1\L1)A(D2\L2)A. Definicija rezolucije Metod rezolucije se zaustavlja za svaku iskaznu formulu i u zavrnom skupu klau za postoji prazna klauza ako i samo ako je polazna formula nezadovoljiva. Metod rezolucije moe na razne naine biti modifikovan tako da bude efikasniji. U svom osnovnom obliku, metod rezolucije proverava da li je dati skup klauza (ne)zado voljiv. Meutim, metod rezolucije moe se koristiti i za ispitivanje valjanosti. Neka su D1 i D2 sastavci za koje su ispunjeni uslovi (1) (3) i R njihova rezolventa. Pra vilo izvoenja:zove se rezolucija. Neka je (C) def CF , gde F skup svih rezolventi elemenata skupa C. Za skup sastavaka S, skup n(S) definie se na sledei nain: 1. 0(S) = S ; 2. n+1(S) = (n(S)), n0. Teorema o rezoluciji Konaan skup sastavaka S je nezadovoljiv ako skup n(S) za neko konano n0 sadri p razan sastavak Pobijanje (opovrgavanje) datog skupa sastavaka S je konaan niz sastavaka B1,...Bk, tak av da za svaki lan Bi, 1ik, vai:
38

1. BiS ili Bi je rezolventa neka dva prethodna lana niza, 2. Bk je prazan sastavak. Sledi, pobijanje datog skupa sastavaka S je izvoenje praznog sastavka iz skupa S, p ri emu skup pravila izvoenja sadri samo pravilo rezolucije. Iz teoreme o rezoluciji sledi: Konaan skup sastavaka S je nezadovoljiv ako postoji pobijanje za S. Zato je teorema o rezoluciji ujedno i teorema o potpunosti ovog logikog sistema. Specifine forme rezolucije (OL rezolucija): ureena linearna rezolucija sa markiranim literalima Poveanje efikasnosti linearne rezolucije, bez naruavanja potpunosti, postie se uvoen jem ureenih sastavaka i informacije o rezolviranim literalima.Informacija o rezolvirani m literalima uva se tako to se prilikom rezolucije ne odbacuju komplementarni literali, ve se u rezolventi zadrava literal koji pripada prvom sastavku. Taj literal se na neki na in markira.Sada se celokupan postupak odreivanja OL rezolvente moe opisati na sledei nain. Neka je D1 centralni sastavak i D2 boni sastavak. 1. Preoznaavanje promenljivih (tako da u sastavcima ne bude zajednikih promenljivi h). 2. Odreivanje NOU za poslednji ti (k=1,2,...) iz D2 (ako postoji rezolventa datih sastavaka ne moe odrediti). literal u D1 i k za neko k, ako ne postoji onda se OL

3. Formiranje rezolvente markiranjem poslednjeg literala u D1 i dopisivanjem ostatka sastavka D2 bez ktog literala. 4. Iskljuivanje nemarkiranih literala identinih mlaem literalu u rezolventi i ispitivan je tautologinosti. 5. Operacija skraivanja (brisanje svih markiranih literala iza kojih nema nemarkiranih ).

39

6. Operacija saimanja (brisanje poslednjeg nemarkiranog literala kada je on ko mplementaran nekom markiranom za neki unifikator ). 7. Ponovna primena koraka 5 i 6 sve dok je to mogue (dok se na poslednji nemarki rani literal ne bude mogla primeniti operacija saimanja, ili dok se ne dobije prazan sastavak p).

ta se ui? Pored ostalih kriterijuma, postoji i pitanje ta se treba (na)uiti. Najee su to funkcije, i njima se i bavimo u ovom radu. Takoe je mogue uiti i druge raunske strukture: 1. Logiki programi i skupovi pravila 2. Konani automati 3. Gramatike 4. Sistemi za reavanje problema. 4.3 Uenje funkcija Postoji takozvano supervizijsko i samostalno uenje. Samostalno uenje je ogranieno na klasifikaciju uzoraka u podskupove, na neki prikladan nain. Supervizijsko uenje je mnogo korisnije, mogu se uiti nepoznate funkcije ili aproksimirati poznate (kompleksne) funkcije. Kod nepoznatih funkcija imamo nekoliko poznatih uzoraka (taaka, vektora), na osnovu kojih pokuavamo napraviti funkciju koja e se to bolje slagati sa nepoznatom u poznatim takama (i nadamo se da e se dobro slagati i u ostalim takama nepoznate funkcije). Kod funkcija koje treba aproksimirati, mi biramo uzorke kako nam najvie odgovara: minimalan broj koji rezultuje odgovarajuom aproksimacijom, takav raspored da imamo to uniformniju preciznost na domenu, itd

40

5. LOGIKO PROGRAMIRANJE I OPTIMIZACIJA Istraivanja vezana za obradu prirodnih jezika i automatsko dokazivanje teorema dovela su do stvaranja oblasti koja je nazvana logiko programiranje. U ovom seminarskom radu bie prestavljene osnove na kojima su razvijene ideje logikog programiranja, a deo panje bie posveen i Prologu, najpopularnijem jeziku proizalom iz tih ideja. Analizirae se i karakteristike Prologa, njegova sintaksa i semantika, mehanizam izvoenja i razlike u odnosu na konvencionalne programske jezike kao to su: Pascal, C, Fortran itd. Bie razmotreno u kolikoj je meri Prolog zaista jezik logikog programiranja i kakve su njegove primene u oblasti vetake inteligencije.

5.1 Elementi logikog programiranja Prolog je skraenica nastala iz rei programiranje u logici (engleski termin: programming in logic). Logika je pre pojave Prologa upotrebljavana za opisivanje problema. Meutim, kada je pokazano da skup formula moe imati i proceduralnu interpretaciju, logika je iskoriena i kao programski jezik. Osnovna ideja logikog programiranja izraena je takozvanom jednainom Kowalskog: algoritam = logika + kontrola pri emu je pod logikom podrazumevan opis problema dat formulama, dok je kontrola formalni mehanizam izvoenja, tj. zakljuivanja, koji ostvaruje sam raunar (odnosno odgovarajui program). Zadatak programera je da opie ta je problem, a na raunaru je da odgovori kako da se taj problem rei. Odatle logiki jezici po pravilu imaju dva posebna dela: deo za prihvatanje opisa problema, tj. korisniki interfejs i deo za automatsko izvravanje programa, tj. mehanizam izvoenja Oito je da je ideja logikog programiranja bliska vetakoj inteligenciji. Logiko programiranje omoguava pisanje programa u raznim njenim oblastima, ali i sam razvoj jezika logikog programiranja je znaajno polje istraivanja u vetakoj inteligenciji.
41

Ideja formulisana jednainom Kowalskog nije u potpunosti postignuta, poto jezici koji pretenduju da su jezici logikog programiranja poseduju i neke nelogike elemente, na primer kontrolne komponente. Pa ipak i ti postojei jezici donose niz pogodnosti: sintaksa i semantika jezika su relativno jednostavne (logiki jezici nemaju naredbu goto, naredbe pridruivanja, naredbe ciklusa i if-then-else naredbe), rezonovanje o logikim programima je lake nego o proceduralnim, veliki broj problema se moe reiti metodologijom logikog programiranja (ekspertni sistemi, baze podataka, obrada prirodnih jezika itd.) postoje znaajne olakice u paralelizaciji logikih u odnosu na proceduralne programe razvoj logikih programa je obino znatno bri nego razvoj proceduralnih programa Osnovni problem logikog programiranja je efikasnost izraunavanja. Jezici logikog programiranja pokuavaju da taj problem ree na razne naine, pre svega korienjem nekih elemenata kontrole i paralelizacijom izvravanja.

5.2 Logike promenljive Promenljive koje se koriste u logikim jezicima su nazivi memorijskih lokacija. Zbog toga su dozvoljene naredbe pridruivanja oblika X :=X+1, kao i dodeljivanje vrednosti promenljivoj na vie mesta u programu. Ovo za posledicu ima takozvane bone efekte i inherentnu sekvencijalnost. Boni efekat je situacija u kojoj funkcija ne samo da vraa rezultat, ve menja i sadraje nekih memorijskih lokacija kojima odgovaraju globalne promenljive. Sekvencijalnost proizilazi iz injenice da rezultat rada programa direktno zavisi od redosleda navoenja naredbi u programu.

Primer 1. Neka su data dva segmenta proceduralnih programa: x := 3; z := x; x := 2; x := 2; z := x; x := 3;

Naredbe ovih segmenata su iste, ali se razlikuju u redosledu navoenja, pa je vrednost promenljive z na kraju njihovog izvravanja razliita. Promenljive koje se koriste u logikim jezicima su blie pojmu promenljivih u logici. Osnovni mehanizam manipulacije podacima u logikim programima je unifikacija. Promenljive vrednost dobijaju jedino unifikacijom i to samo jednom, pri emu ta
42

vrednost moe biti konstanta, ali i promenljive, ili term koji sadri neku promenljivu. Zatim, iako je u logikim jezicima mogue napisati sintaksno ispravan analogan naredbe X := X + 1, to nema smisla, poto se X nikada ne moe unifikovati sa X + 1.

5.3 Odnos logike i logikog programiranja Na osnovu iznetog u elementima logikog programiranja, zajedniko za logiko programiranje i automatsko dokazivanje teorema je: logiki jezik se koristi za opis znanja i formalno izvoenje se koristi pri nalaenju reenja problema. Meutim, logiko programiranje se ne svodi na automatske dokazivae, poto: logiko programiranje koristi formalni logiki jezik za definisanje izraunljivih funkcija logiko programiranje koristi proceduru izvoenja koja je voena ciljem za izvravanje takvih definicija kao programa.

5.4 Neke osobine Prologa Prolog je najvie korien programski jezik inspirisan idejom logikog programiranja. Popularnost Prologa proistie iz niza njegovih osobina, od kojih e biti navedene neke od najvanijih. Prolog poseduje snanu mogunost manipulacije simbolima, ukljuujui unifikaciju logikih promenljivih. Unifikacija slui i kao mehanizam prenosa parametara i vri selektovanje i konstrukciju objekata. Automatski backtracking 2 omoguava generisanje i testiranje kao osnovu upravljanja tokom izvrenja programa, a ako ovaj model kontrole nije pogodan za neku aplikaciju, mogue je isprogramirati pogodniji mehanizam. Program, odnosno klauze, i podaci imaju istu formu. Zato je olakano pisanje programa koji kao podake obrauju neke druge programe, to je posebno pogodno u primenama u kojima je podrano mainsko uenje. Takoe, Prolog program se moe shvatiti i kao relaciona baza podataka koja sadri pravila i injenice, i gde je omogueno lako dodavanje i uzimanje informacija iz baze i postavljanje sloenih pitanja.
2

Ne postoji prevod koji bi zadovoljio i opisao funkciju koja predstavlja vraanje na prethodne korake, stoga se koristi u jednostavnom obliku kao engleska re

43

Kako osnovnu celinu jezika ine relacije, Prolog prua mogunost definisanja procedura koje se koriste za vie od jedne namene. Recimo, u Prologu je lako napisati program koji zavisno od postavljenog upita pronalazi zbir dva broja, ili sve mogue sabirke koji daju eljeni rezultat. Prolog, kao jezik logikog programiranja, nema naredbe dodeljivanja, petlji, bezuslovnog prelaska itd. Ovaj jezik za predstavljanje osobina i meusobnih veza objekata koristi predikate. Predikati se definiu procedurama, tj. skupovima Hornovih klauza koje u glavi imaju isti predikat. Sloenije strukture podataka mogu simulirati slogove (kao u Pascalu) i liste (kao u Lispu). Uifikacija predstavlja osnovni mehanizam za manipulaciju podacima. Izvravanje prolokog programa zapoinje postavljanjem upita i odvija se prema strategiji SLD-rezolucije. Prolog poseduje skup takozvanih ugraenih predikata za aritmetiku, ulaz/izlaz i sistemske servise, kao i kontrolne komponente fail i cut. Sve ove karakteristike obezbeuju da Prolog bude univerzalni programski jezik, odnosno da se u Prologu moe izraunati bilo ta to moe biti izraunato i u drugim programskim jezicima. Meutim, naina na koji to ini Prolog je potpuno razliit u odnosu na konvencionalne jezike. Pre svega, problem se opisuje, dok se postupak reavanja preputa sistemu. Za opis znanja prevashodno se koristi rekurzivni postupak. Zbog toga programer koji radi u Prologu mora prihvatiti sasvim novi nain miljenja.

5.5 Predstavljanje znanja Znanje koje se predstavlja u Prologu moe se podeliti u: injenice, tj. jednostavne iskazne reenice i pravila, tj. uslovne iskazne reenice. Zajedno, sve ove reenice predstavljaju bazu znanja, odnosno proloki program. injenice se zapisuju kao jedinine definitne klauze: predikat(Arg1, Arg2,...,Argn), kojima se predstavljaju odnosi izmeu objekata, ili svojstva tih objekata. Odnos (odnosno svojstvo) je nazvan imenom predikata 3 , a argumenti su ono izmeu ega postoji taj odnos, tj. to ima to svojstvo. injenice koje ne sadre promenljive se nazivaju osnovne injenice. Primer 2. Osnovnom injenicom otac(miodrag, vladimir).
3

Add, is, cut, kao i nestandardne rei, se upotrebljavaju kao predikati

44

se tvrdi da je Miodrag Vladimirov otac. injenicom voli(X, Y). se tvrdi da svi vole sve, dok se tvrdnja da svako voli samog sebe zapisuje sa: voli(X, X). Kako se pretpostavlja da su promenljive univerzalno kvantifikovane, injenica voli (X, Y), je zapravo zapis formule (X)(Y)voli(X,Y), pa je njeno tumaenje upravo onako kako je dato u primeru 2. Promenljive iz razliitih reenica, ak i kada su jednake po imenu, su sasvim nezavisne, pa ako recimo promenljiva X u jednoj klauzi programa dobije neku vrednost, to se ni na koji nain ne odraava na promenljivu X iz neke druge klauze. Pravilima odgovaraju nejedinine definitne klauze, koje se za ovu priliku zapisuju u obliku: zakljuak : - pretpostavke. Zakljuak je atomska formula, glava klauze, dok su pretpostavke jedan, ili vie literala zajedno koji obrazuju telo klauze. Literali tj. atomske formule i njihove negacije, su obino konjuktivno povezane, to se oznaava navoenjem zareza izmeu njih. Primer 3. Pravila roditelj(X,Y) :- otac(X,Y). roditelj(X,Y) :- majka(X,Y). kau da je X roditelj od Y, ako mu je bilo otac, bilo majka. Slino tome, pravilom deda(X,Y) :- otac(X,Z), roditelj(Z,Y). se kae da je X deda od Y, ako je X otac od Z, a Z roditelj od Y. Veza izmeu literala u telu klauze moe biti i disjunktivna, to se oznaava navoenjem take zareza izmeu literala. Primer 4. Pravilo roditelj(X,Y) :- otac(X,Y); majka(X,Y). ima isto znaenje kao i prva dva pravila iz prolog primera kojima je u potpunosti ekvivalentno.

45

Kao u prethodnom primeru, svaki zapis sa disjunktivnom vezom izmeu literala ima ekvivalentan zapis u kojima su literali konjuktivno povezani. U prologu je zato uobiajeno da se uglavnom koristi konjuktivni zapis. Kada injenicama i pravilima definiemo neki predikat, moemo ga koristiti i u klauzama za druge predikate, kao to je uraeno sa predikatima deda, otac i roditelj u primeru 3. Ovim postupkom ostvaruje se bogata hijerarhija klauza koje ine opis naeg znanja, odnosno proloki program. U klauzama se isti predikat moe nalaziti i u glavi i u telu, a takav pristup se naziva rekurzivni pristup. Primer 5. Relaciju predak definiemo sledeim pravilima, od kojih je drugo rekurzivno: predak(X,Y) :- roditelj(X,Y). predak(X,Y) :- roditelj(X,Z), predak(Z,Y). pravila imaju jednostavno znaenje, naime X je predak od Y, ako mu je roditelj, ili ako je X roditelj nekog pretka od Y.

5.6 Ciljevi u Prologu Cljevi su upitne reenice. Postavljanjem cilja zapoinje akcija, odnosno izvravanje prolokog programa. Cilj je spisak literala razdvojenih zarezom i obino se unosi preko tastature kada se pojavi prompt korisnikog interfejsa sistema (najee upitnik). Tada sistem cilj tumai kao pitanje Da li je tano da...? i pomou mehanizma izvoenja trai odgovor na to pitanje. Odgovor4 je esto samo da, ili ne, ali ako u cilju postoje promenljive daju se i vrednosti promenljivih za koje je utvreno da je cilj zadovoljen. Primer 6. Neka je dat proloki program koji se odnosi na meusobne roake veze i koji se sastoji od injenica i pravila. otac(gojko, brana). otac(brana, miroslav). otac(brana, mara). otac(miroslav, aca). otac(miroslav, jelena).
4

odnosno yes, ili no

46

otac(rajko, vera). majka(vera, aca). majka(vera, jelena). majka(stana, miroslav). majka(stana, mara). majka(slavka, vera). roditelj(X,Y) :- otac(X,Y). roditelj(X,Y) :- majka(X,Y). predak(X,Y) :- roditelj(X,Z). predak(X,Y) :- roditelj(X,Z), predak(Z,Y).

Postavljanjem upita, na osnovu znanja predstavljenog programima dobijaju se odgovori. Recimo: ?- otac(gojko, brana). yes Ovde je upit bio jednostavno pitanje da li je Gojko Branin otac, na ta je sistem, na osnovu injenice prisutne u programu odgovorio da jeste. Slino, ?- otac(gojko, mara). no Ovde sistem meu injenicama nije naao potvrdu pitanja, a kako cilj nije ni posledica klauza iz programa, odgovor je negativan. Kada se postavi pitanje ko je Marin otac ?- otac(X, mara). X = brana na osnovu injenice otac(brana, mara) koja se nalazi u bazi, proloki sistem pronalazi odgovor da je to Brana. Ako se upita ija je majka Vera: ?- majka(vera, X). X = aca;
47

X = jelena; no dobie se odgovor das u to Aca i Jelena I da ih nema vie. Zapravo, najpre e se ustanoviti da je Vera Acina majka, a nakon to se otkuca taka-zarez i kraj reda (to predstavlja zahtev za pronalaenje sledeeg reenja), sistem e pronai i drugi odgovor, tj. da je Vera Jelenina majka. Kada se nakon toga ponovi zahtev za pronalaenje sledeeg reenja, sistem e ustanoviti da takvih reenja vie nema i odgovorie sa no. Za odgovor na pitanje da li je Gojko Acin predak analizira se rekurzivno pravilo iz procedure predak: ?- predak(gojko, aca). yes a odgovor se dobija na osnovu toga to je Gojko Branin otac, dok je Brana Acin predak. Ovo opet vai poto je Brana Miroslavov otac, koji je Acin predak. I konano, Miroslav je Acin predak, poto mu je otac, a time i roditelj. Odgovor na pitanje da li je Rajko Jelenin predak bi bio da, ali odgovor na pitanje da li je Aca Jelenin predak bi bio ne. Postavljanjem pitanja da li je i Aca neiji brat: ?- brat(aca, X). No dobio bi se odgovor no, poto u program predikat brat nije definisan. Ali ako bi se dodalo sledee pravilo: brat(X,Y):-otac(O,X), otac(O,Y), majka(M,X), majka(M,Y), pol(X,musko), not(X=Y). i ponovo postavilo isto pitanje, odgovor bi bio yes, dok bi X dobilo vrednost Jelena. Iz prethodnog primera se vidi da dobijanje odgovora no na pitanje da li je Aca neiji brat ne znai da Aca nije neiji brat, ve da se takav odnos ne moe izvesti iz postojee baze znanja. Odatle bi preciznije tumaenje odgovora no na bilo koji postavljeni upit nekom prolokom program bilo koliko ja znam to nije sluaj, ili nisam uspeo izvesti.

5.7 Sintaksa prologa Azbuku kojom se piu rei i reenice u Prologu sainjavaju velika i mala engleska slova, dekadne cifre i pomoni znaci (taka, zarez, taka,-zarez, dvotaka, minus, zvezdica,
48

plus, donja crta itd). Nizanjem ovih simbola dobijaju se konstante, promenljive i strukture koje se sve zajedno nazivaju termi. Definicija 1. Konstanta je atom ili broj. Atomi su: 1. niz slova, cifara i donjih crta koji poinje malim slovom, 2. niz znakova izmeu apostrofa i 3. niz pomonih znakova Brojevi su dekadni celi ili realni brojevi. Brojevi mogu imati znak, a mogu bit ii neoznaeni. Primer 7. Atomi su prema pravilu (1) petar, x_ i a3. Prema pravili (2) atomi su mika i zika, dok su prema pravilu (3) atomi ==>, ;, ***, :- itd. Brojevi su 120, -120, -0,123 itd. Definicija 2. Promenljivu predstavlja niz slova, brojeva i posebnih znakova _. Promenljive poinju velikim slovom ili posebnim znakom _. Primer 8 Promenljive su A,Ab, _A, _, __, _314, X, itd. Promenljive za koje nije od znaaja koju e vrednost dobiti nazivaju se anonimne promenljive i ne moraju se imenovati, npr., zaljubljen(X) :- voli(X,_). ime se eli rei da je neko zaljubljen, ako voli nekoga, bez obzira ko to bio (jer je drugi argument predikata voli anonimna promenljiva). Opseg vaenja imena promenljive je pravilo, odnosno injenica, u kome se promenljiva pojavljuje, tako da su promenljive istog imena iz razliitih reenica meusobno nezavisne. Definicija 3. Struktura je konstrukcija dobijena od jednostavnih termova. Opti oblik structure je: funktor(Argument1, Argument2,, Argumentn) Funktor je atom koji povezuje argument strukture u celinu. Argument su termi, bilo prosti (atom ii promenljive), bilo i sami strukture. Funktor strukture je odreen imenom i arnou5. Zapis mu je Ime/BrojArgumenata. Primer 9. Sledei termi su structure: dob(jelena, 14)
5

Ako je f operacija koja preslikava An u A, tada prirodni broj n nazivamo njenom arnou. Drugim reima, arnost je broj argumenata operacije, tj. broj njenih operanada.

49

datum(Dan, Mesec, Godina) zaposlen (ime(nikola), roen(1960), zanimanje(programer)) formirani redom pomou funktora dob/2, datum/3, ime/1, roen/1, zanimanje/1 i zaposlen /3. Strukture p(a) i p(a,b) su formirane razliitim funktorima p/1 i p/2. esta je grafika prezentacija struktura pomou drveta, kada se u koren postavlja funktor najvieg prioriteta, a iz svakog vora polazi onoliko grana kolika je arnost funktora. Prva struktura iz prolog primera bi bila predstavljena kao na slici 1.

Slika 1. Grafiki prikaz strukture6

U proceduralnim jezicima strukturama odgovaraju slogovi (u Pascalu: records). Tako bi poslednjoj strukturi iz primera 9 odgovarao slog: zaposlen = Record ime: string; roen: integer; zanimanje: string; end; Kao to je reeno, u Prologu podaci i klauze imaju istu formu, odnosno i klauze su termi. Recimo, klauza p(x) :- q(X), r(X). se prezentuje drvetom kao term na slici 2:

Grafiki prikaz se koristi radi lakeg snalaenja prilikom pisanja koda procedure

50

Slika 2. Grafiki prikaz klauze

5.8 Strukture podataka U prolokim programima se esto koriste podaci koji imaju strukturu liste i koji sup o znaenju analogni povezanim listama koje se javljaju u proceduralnim programskim jezicima kakav je Pascal, s tim da je njihova prezentacija i manipulacija u Prologu specifina. Iskustvo pokazuje das u ove structure podataka, kao i sve ostale structure koje se pomou njih realizuju, pogodne za predstavljanje znanja id a se njima relativno jednostavno manipulie, pre svega rekurzivnim postupcima. Lista je niz podataka u kojem se zna kojim redosledom se javljaju podaci, a jedan isti podatak se moe u listi pojaviti vie puta. Poto su podaci ureeni prema pojavljivanju, u listi se zna koji je element prvi i on se naziva glava liste, kao i koji su sve elemnti iza njega, a oni se zajedno nazivaju rep liste. Lista moe da ne sadri ni jedan element, a u tom sluaju se naziva prazna lista. U prologu se lista uokviruje uglastim zagradama, izmeu kojih se piu lanovi liste razdvojeni zarezom. Prazna lista se zapisuje sa []. Lista koja sadri samo jedan element, recimo a, se zapisuje sa [a], a lista koja sadri tri elementa a, b i c sa [a,b,c]. Jedna lista moe biti lan neke druge liste, recimo lista [a,b] je drugi lan liste [a, [a,b], c, d]. Simbol uspravne crte () se koristi da razdvoji izvestan broj lanova sa poetka liste od ostatka liste koji je takoe lista. Primer 10. injenica p([a,aZ]) vai za one liste koje na poetku imaju dva lana a, za kojima sledi ostatak liste, dok injenica p([aZ]) vai za one liste koje na poetku imaju lan a, za kojim sledi ostatk liste. Osnovne operacije u radu sa listama su: proveravanje da li se neki objekat nalazi u listi, proveravanje da li su dve liste jednake, sortiranje listi, nadovezivanje listi,
51

obrtanje liste itd. One se realizuju rekurzivnim postupcima u kojima se po pravilu odgovarajua akcija uradi za glavu liste, a zatim se ceo postupak ponovi za rep liste.

Primer 11. Sledei program reava problem ispitivanja pripadanja nekog objekta listi: element(X, [XRep]). element(X, [YRep]):- element(X,Rep). Ovaj program se tumai na sledei nain. Prva klauza se moe proitati kao: proizvoljni objekat X se nalazi u listi, ako je jednak njenoj glavi. Druga klauza se tada ita: ako objekat X nije jednak glavi liste, on se u listi nalazi samo ako se nalazi u njenom repu. Pomou listi se moe realizovati veoma mnogo drugih struktura podataka. Recimo, binarno drvo se moe prikazati trolanom listom iji je prvi lan koren drveta, drugi lan odgovara levom, a trei desnom poddrvetu. Naravno, mogue su i raznorazne druge realizacije. Primer 12. Binarnom drvetu sa slike 3 odgovara lista [a, [b, [],[]],[c, [d, [],[]],[e, [],[]]]].

Slika 3. Grafiki prikaz liste

5.9 Negacija u prologu Upotreba negacije u Prologu zasniva se na principu formulisanom kao negacija kao konani neuspeh. Cilj ?-not A je taan samo ako je drvo izvoenja u ijem je korenu A, konano i bez ijednog vora uspeha. Drugim reima, not A je zadovoljeno, ako A nije zadovoljeno. Odavde se formula A koja odgovara upitu ne dokazuje neposredno, kako je to sluaj u formalnim
52

sistemima matematike logike. U sledeem primeru je ilustrovano to odstupanje od standardnog pristupa u matematikoj logici. Primer 13. Neka program sadri samo jednu klauzu: b. i neka je postavljen upit: ?-a. no Dobijeni odgovor je negativan, to znai da sistem ne moe izraunati da je upit zadovoljen. Ali na upit: ?-not a. yes se dobija pozitivan odgovor, to bi znailo da sistem raspolae saznanjima da a nije tano. Meutim, odgovor yes u ovom sluaju znai da sistem nije bio u stanju da izrauna zadovoljenje upita ?-a, a ne da je izraunao zadovoljenje upita ?-not a, kako bi se dogodilo da je postavljen upit ?-b. yes

5.10 Ugraeni predikati u prologu Prolog je dovoljno izraajan da je mogue definisati sve funkcije ne koristei ugraene predikate. Ali u praksi ugraena podrka nekim funkcijama je potrebna zbog: lakeg i efikasnijeg programiranja, poboljanja aritmetikih operacija i pristupa okolini sistema, kao to su izlazno/ulazna opsluenja, komande operativnog sistema itd. Dok su korisniki predikati definisani procedurama koje pie programer, ugraeni predikati se isporuuju uz sistem. Njihovo izvravanje je zbog toga optimizovano. Primeri ugraenih predikata su aritmetiki predikati (+, - , / ,...), predikat is, predikati za izlaz/ulaz (write, read), predikati za brisanje klauza iz baze znanja i za ubacivanje klauza u bazu znanja (retract, assert), predikat za ispitivanje uspeha cilja (call), takozvani
53

predikat drugog reda za pronalaenje svih, odnosno svih razliitih reenja nekog cilja (setof, bagof) i konano kontrolni predikati (cut, fail, repeat). Ovde e biti prikazano nekoliko ovih predikata kao ilustracija. U prolokom programu mogla bi se napisati procedura iji je predikat arnosti tri, dok su mu argumenti sabirci i odgovarajui zbir. Takva procedura bi se mogla sastojati od veoma dugakog niza injenica oblika: add(0,1,1). add(0,2,2). ... ili bi se mogla definisati rekurzivno, pravilima oblika: add(0,Y,Y). add(X,Y,Z) :- X1 is X-1, Z1 is Z-1, add(X1, Y, Z1). Meutim, oigledno je do kakvih implementacionih problema vodi ovakav pristup. U prvom sluaju bila bi zauzeta ogromna memorija, dok bi u drugom sluaju, za izraunavanje zbira iole veih brojeva bilo potrebno veoma puno koraka izvoenja. Dakle, bez obzira koji pristup izabrali, dobijeno reenje bie krajnje neefikasno. Ugraeni aritmetiki predikati, a ovde konkretno predikat +, reava ovakve probleme i u kombinaciji sa predikatom is, koriste se u raunanju vrednosti izraza kao to je prikazano u sledeem primeru. Primer 13. Pri postavljanju sledeih upita, dobijaju se odgovarajui odgovori: ?- X is 3+2. X=5 ?- X is 2*5, Y is 4+X X = 10 Y = 14

U prethodnim odeljcima su analizirane karakteristige Prologa. Na osnovu njih se moe stei utisak o ovom jeziku i oceniti njegova pogodnost za primenu u vetakoj inteligenciji.
54

Prolog je zamiljen kao jezik logikog programiranja i po nizu osobina on to jeste, ali ipak ne u potpunosti. Na primer, u Prologu je bitan redosled navoenja klauza i predikata u njima, to zbog komutativnosti dusjunkcije i konjukcije, ne bi trebalo da bude sluaj. Dalje, razmatranjem drveta izvoenja jasno se uoava da ako je neka grana drveta beskonana, sistem nikada nee nai eventualna reenja koja se javljaju u granama koje se javljaju desno od nje. Upotreba kontrolnih predikata, poput fail i cut, naruava zahteve formulisane u jednaini Kowalskog prema kojima se u logikom programiranju kontrola izvoenja poverava sistemu, a od programera zahteva samo da opie problem. Konano, ni tretman negacije u Prologu nije u duhu logike negacije. Sa druge strane Prolog i zadovoljava neke karakteristike logikih jezika: poseduje deklarativnost, ne koristi promenljive kako ih koriste proceduralni jezici, nema naredbi petlje, bezuslovnog skoka itd. Sve ove primedbe ne znae da je Prolog lo jezik. Naprotiv, on je zbog svoje deklarativne prirode, relativno jednostavne semantike, velike izraajnosti i lakoe baratanja sa drvoidnim strukturama kojima se pogodno prezentuje znanje, iroko prihvaen kao programski jezik opte namene, a pogotovo kao sredstvo za razvoj aplikacija u oblastima vetake inteligencije. Najei primer za to su ekspertni sistemi. Treba napomenuti da je zbog inteligencije prolokog sistema pisanje u Prologu znaajno bre nego u proceduralnim jezicima.

55

PRIMER: ahovski me Kasparov - DEEP BLUE Razmotrimo uveni ahovski me odigran u maju 1997 izmedju svetskog ahovskog ampiona Garija Kasparova i IBM-ovog superraunara DEEP BLUE Preuzeto sa IBM ovog site-a : WWW.CHESS.IBM.COM Da li DEEP BLUE uopte i koliko koristi vetaku inteligenciju ? DEEP BLUE je specijalno dizajniran raunar koji je namenjen igranju aha na najviem svetskom nivou, i bazira se na paralelnom sistemu RS/6000 SP DEEP BLUE Osim za ah, raunarski sistem na kome se bazira DEEP BLUE nalazi primenu i u nekim sasvim drugaijim oblastima kao to su na primer: ienje i dekontaminacija mesta za odlaganje otrovnih otpadaka Vremensku prognozu Modelovanje finansijskih podataka Automobilski dizajn Razvoj novih medikamentoznih terapija Server za Web site-ove IBM-ov site WWW.CHESS.IBM.COM upravo koristi raunar baziran na istoj tehnologiji kao i DEEP BLUE ahovski me Kasparov - DEEP BLUE
56

U meu odigranom 1997 godine raunar DEEP BLUE je pobedio Kasparova sa rezultatom od 3.5 prema 2.5 Samo godinu dana ranije u februaru 1996 u prethodnom meu takodje protiv Garija Kasparova, DEEP BLUE je izgubio Interesantno je da je IBM-ov istraivaki tim koji stoji iza razvoja raunara DEEP BLUE uspeo da ga u tako kratkom roku usavri u meri dovoljnoj za pobedu nad svetskim ahovskim ampionom Osnovne izmene su se prema reima direktora IBM-ovog istraivakog tima odnosile na program koji moe da menja parametre izmedju dve partije, zatim dodato je jo ahovskog znanja i sam sistem je jai od prethodnog, pre svega bri je priblino dva puta Prema izvetajima sa mea, i to u poslednjoj estoj partiji Gari Kasparov je proivljavao zaista teke trenutke Na osnovu prvih nekoliko poteza, mogla se oekivati strategijska borba i pozicija je za crnog, tj. Kasparova bila veoma solidna Dramatian preokret je nastao ve posle sedmog poteza Kasparova, kada je DEEP BLUE odigrao interesantan potez naizgled dosta neuobiajen za mainu DEEP BLUE je naime inicirao neravnopravnu razmenu, tj. rtvovao je konja za peaka Ovakav potez je u datoj situaciji poznat kao vrlo jak, jer statistika pokazuje da samo jedan od devet igraa koji prihvati ovakvu rtvu moe da izbegne poraz, i to ako ima sree Posle ovog poteza koji mu je onemoguio rokadu, Kasparov je promenio stil igre i poeo da igra odbrambeno otvaranje Karo Kan kao njegov stari protivnik Anatolij Karpov Medjutim ve u 19 potezu partija je zavrena u korist raunara, to je istovremeno znailo i pobedu u meu Jedno od merila vanosti ovog mea je da je razvojni tim IBM-ovih strunjaka podelio $700.000 nagrade za osvojeno prvo mesto, dok je za drugo mesto Kasparov dobio $400.000 ah se ve dugo vremena smatra za jednu od igara kod koje pre svega dolaze do izraaja ovekove intelektualne sposobnosti, to ovom dogadjaju i daje najveu teinu
57

Svojevremeno je u filmu Odiseja u svemiru 2001 snimljenom 1968, ahovska partija izmedju raunara HAL na svemirskom brodu Discovery, i jednog od astronauta trebalo da pokae intelektualnu mo raunara Zanimljivo je da ime HAL predstavlja svojevrsnu skraenicu od Heuristically programmed ALgorithmic computer. Heuristike i heuristiko programiranje su danas veoma vani u VI i bie detaljnije objanjeni u vezi Ekspertnih Sistema.

6. Modifikovani Turing-ov test Da bi se pomenuti Turing-ov test za dokazivanje inteligentnog ponaanja maine mogao praktino koristiti, potrebno je uvesti odredjena ogranienja Pre svega potrebno je ograniiti oblast konverzacije izmedju oveka i maine Jedno od vrlo praktinih reenja u tom smislu je ahovsko ogranienje Da bi se raunaru pruila to vea ansa, test se ne sastoji u tome da se na osnovu direktne partije preko terminala donese zakljuak o prirodi nevidljivog protivnika U direktnoj partiji bi se na osnovu nekih neuobiajenih poteza koji nisu povueni sa ciljem da se pobedi ve da se na osnovu reakcije protivnika zakljui da li je ovek ili raunar Umesto toga, test se sastoji u tome da se analiziranjem zapisanih poteza ve odigrane partije zakljui o prirodi igraa, pri emu je mogue da raunar ili ovek budu jedan ili oba igraa U jednom takvom eksperimentu, Gari Kasparov je s vremena na vreme ali ne pouzdano mogao da zakljui o kakvim se protivnicima radi ah se naravno ne moe uzeti kao neki opti pokazatelj ili kriterijum inteligentnog ponaanja, iz prostog razloga to je to jedna veoma specifina aktivnost ak ta vie, moe se rei da ah ne predstavlja tako veliki problem za primenu na raunaru kao to su to neki drugi problemi, na primer prepoznavanje oblika, razumevanje govora, planiranje, itd Ljudi i raunari jednostavno nemaju isti pristup ahu
58

Osnovne prednosti raunara su ogromna brzina i mogunost memorisanja ogromnog broja razliitih pozicija Osim toga, svesno ili nesvesno ljudi mogu menjati stil igre za vreme jedne partije, i time koristiti uoene slabosti raunara Sa druge strane, postoje situacije kada je izraunavanje velikog broja poteza unapred izuzetno vano, na primer u ahovskim zavrnicama kada ostane malo figura Na primer, kralj i pion protiv kralja, konja i lovca moe da predstavlja vrlo teku zavrnicu Primenom raunara za analizu u ovakvim sluajevima dolo se do reenja koja su imala i po nekoliko stotina potezaPojedini ahisti su ak probali da naue potreban niz poteza, to predstavlja svojevrsno oponaanje raunara ah spada u red problema u kojima su raunari danas uporedivi sa ljudima Prema tvrenju Kloda enona osnivaa teorije informacija, ah je dobro definisan kako u dozvoljenim potezima tako i u konanom cilju Nije ni suvie jednostavan da bi bio trivijalan, a ni suvie komplikovan za postizanje zadovoljavajueg reenja

Igra go sa dalekog istoka se smatra komplikovanijom od aha, i za sada ak ni raunar kao to je DEEP BLUE ne bi mogao da postigne zadovoljavajue rezultate u takvoj igri Postoji veliki broj teih problema u kojima raunari zaostaju za ljudima kao to su prepoznavanje oblika, razumevanje govora, uenje, sloeno planiranje U ovakvim problemima je primenjivanje metoda koji se zasnivaju na sirovoj snazi raunara neadekvatno Pobeda raunara nad svetskim ahovskim ampionom bazira se pre svega na primeni prednosti koje prua sirova snaga raunara, a manje na primeni metoda koje imitiraju ponaanje ljudi, ili moda nekih jo uspenijih metoda Inteligentno ponaanje je (jo uvek) svojstvo vezano za najvie oblike ivota, za ljude pre svega Sutinsko razumevanje inteligencije i funkcije mozga bi moglo da bude povezano sa razvojem raunara i koncepata VI analogno kao to je to bio sluaj sa upoznavanjem funkcije nekih drugih organa
59

Na primer, ljudi su kroz vekove imali prilike da vide srce ubijene ivotinje, ali nisu znali funkciju tog organa Danas, vrlo jednostavno objanjavamo funkciju srca tako to ga poredimo sa neim poznatim, a to je pumpa, i kaemo da je srce u stvari jedna vrsta pumpe Slino tome, oko poredimo sa mranom komorom ili foto kamerom Funkcija nerava nam moe biti jasna ako ih uporedimo sa icom koja provodi elektrine impulse Ali da bi razumeli kako funkcionie mozak, da li emo prethodno morati da napravimo neki vetaki sistem baziran na raunarima koji e koristiti neke sline kljune koncepte kao i mozak?

60

http://www.opera-17.com/showbiz/2010/02/21/opera17-vam-cita-misli-cik-pokusaj-daslazes/

61

Literatura 1) Vetaka inteligencija,dr Predrag Janii, vanredni profesor Matematikog fakulte ta u Beogradu Mladen Nikoli, asistent na Matematikom fakultetu u Beogradu 2) .Osnove vetake inteligencije IPopovi Zoran, Tanja Vukovi Centar za multidis ciplinarne studije Univerzitet u Beogradu 3) Mainsko uenje,inteligentni agenti Popovi Zoran Centar za multidisciplinarne st udije Univerzitet u Beogradu 4) http://sr.wikipedia.org 5) Simon Haykin, Neural Networks a Comprehensive Funfations, McMaster University, Canada, 1999. 6) Mihael Jani, Norme za kompresiju mirnih slika, Sveuilite elektrotehnike i raunarstva, Fakultet u Zagrebu, Zagreb, 2002. 7) Christophe Amerijckx, Michael Verleysen, Philippe Thissen, Jean-Didier Legat, Image compression by self-organized Kohonen map, IEEE Transactions on neural networks, vol. 9, 1998. 8) Wikipedia, Dynamic range, http://en.wikipedia.org/wiki/Dynamic_range 9) Wikipedia, JPEG, http://en.wikipedia.org/wiki/JPEG 10) Wikipedia, Discrete cosine transform, http://en.wikipedia.org/wiki/Discrete_cosine_transform

62

11) Wikipedia, Java Virtual Machine, http://en.wikipedia.org/wiki/Java_Virtual_Machine 12) Steve Manley, Java DCT Compression Libraries Documentation, http://www.nyx.net/~smanley/dct/DCT.html, 2006. 13) Wikipedia, Neuroph documentation, http://neuroph.sourceforge.net/documentation.html 14) Wikipedia, Lenna, http://en.wikipedia.org/wiki/Lenna

63

You might also like