You are on page 1of 24

UVOD U

NEKONVENCIONALNE
RAČUNALNE POSTUPKE
Algoritamski (klasični) pristup
rješavanju problema
● Postupak rješavanja problema je egzaktan, ima
jasnu matematičku podlogu i moguće ga je
kasnije rekonstruirati
● Nužno je znati točan postupak dolaska do
rješenja
● Način opisivanja problema računalu nije
doživio konceptualne promjene od samog
početka računarstva kao znanosti
● Iako su računala ubrzana milijardu puta, način
rješavanja problema je ostao nepromijenjen
Nekonvencionalni postupci (1/2)
● engl. Soft Computing Methods
● Postupak rješavanja problema nije egzaktan,
sustav samostalno dolazi do rješenja, te sam
postupak često nije moguće rekonstruirati
● Nema garancije pronalaska optimalnog rješenja
(sustav pronalazi dobra rješenja)
● Dovoljno je poznavati željena svojstva rješenja,
ali ne i put pronalaženja rješenja
● Koriste se visoko paralelni algoritmi
Nekonvencionalni postupci (2/2)
● Nekonvencionalni postupci predstavljeni su
skupom alata i tehnika, te su usko vezani uz
discipline koje uključuju neizrazitu logiku,
neuronske mreže, genetske algoritme itd.
● Prema prof. Zadehu, nekonvencionalni postupci
su: „pristupi u računarstvu koji koriste
izvanredne paralelne sposobnosti ljudskog uma
za učenje i razumijevanje u neizvjesnom i
nepreciznom okruženju“
Primjer rješavanja problema pomoću
nekonvencionalnih postupaka (1/2)
Primjer rješavanja problema pomoću
nekonvencionalnih postupaka (2/2)
● Na slici je prikazano na koji način neuronski
prepoznavač znakova (engl. Neural Character
Recognizer) zajedno s bazom znanja (engl. knowledge
base) prilikom određivanja značenja napisane riječi
● Neuronski prepoznavač znakova generira dva moguća
značenja napisane riječi: „dag“ i „dog“
● Ukoliko baza znanja sadrži dodatnu informaciju o
tome da je riječ povezana s nazivom životinje,
zaključak je da se radi o riječi „dog“
Klasična umjetna inteligencija
● engl. Artificial Intelligence (AI)
● Temeljena na predikatnoj logici (engl.
predicate logic), a jezik koji podržava logičke
programe je PROLOG (PROgramming in
LOGic)
● Našla je primjenu u teoriji igara i ekspertnim
sustavima (uska i poznata domena problema),
ali se pokazala nekorisnom u rješavanju
problema stvarnog svijeta
Primjer ekspertnog sustava
Primjer: program u PROLOG-u (predikatna logika)

otac(ivo,tomo). „Ivo je Tomin otac.“


otac(ivo,jasna). „Ivo je Jasnin otac.“

majka(ana,tomo). „Ana je Tomina majka.“


majka(ana,jasna). „Ana je Jasnina majka.“

spol(ivo,muško). „Ivo je muškog spola.“


spol(ana,žensko). „Ana je ženskog spola.“
spol(tomo,muško). „Tomo je muškog spola.“
spol(jasna,žensko). „Jasna je ženskog spola.“

sestra(X,Y):- „X je sestra od Y ako imaju istog oca


otac(O,X), i majku, ako je X ženskog spola, te
otac(O,Y), X i Y nisu ista osoba.“
majka(M,X),
majka(M,Y),
spol(X,žensko),
not(X=Y).

● Npr. upit: sestra(X,tomo), odnosno, pitanje „Tko


je Tomina sestra?“, dati će odgovor „jasna“.
Inspiracija principima iz prirode
● Postupci kojima na kojima se temelji kolegij
inspirirani su postupcima iz prirode, npr. neuronske
mreže i genetski (evolucijski) algoritmi
● Ti postupci prilagođeni su problemima iz stvarnog
svijeta, podaci s kojima se radi su nepotpuni,
nepouzdani i neegzaktni, a prostor pretraživanja
podataka je vrlo velik
● Imaju mogućnosti učenja
● Cilj je da računala rade u okolinama i na način u koji
funkcionira ljudsko biće, koje će samostalno
prikupljati informacije iz okoline, pohranjivati ih,
sistematizirati ih i iz njih izvoditi nove informacije i
nova znanja
Genetski algoritmi (1/6)
● Globalni postupci optimiranja temeljeni na
principu evolucije živih organizama
● Moguće rješenje problema predstavljeno je
jedinkom populacije (kromosomom), koja se
sastoji od niza gena
● Osim načina kodiranja potrebno je definirati
funkciju cilja (engl. fitness function, cost
function) koja određuje kvalitetu pojedine
jedinke
Genetski algoritmi (2/6)
● Bolje jedinke (koje imaju veću vrijednost
funkcije cilja) imaju veću šansu za
preživljavanje / stvaranje potomstva
● Nove jedinke stvaraju se rekombinacijom
postojećih jedinki i mutacijom
● Iz generacije u generaciju populacija sadrži sve
bolje jedinke (bolja rješenja)
Genetski algoritmi (3/6)
● Primjer rekombinacije:
Genetski algoritmi (4/6)
● Primjer mutacije:
Genetski algoritmi (5/6)
● Genetski algoritam moguće je primijeniti za
rješavanje problema ako su ispunjeni sljedeći
uvjeti:
– Prikaz rješenja moguće je rastaviti na niz
nezavisnih parametara – gena, koji mogu
poprimati binarne, numeričke, tekstualne i
druge vrijednosti
– Moguće je vrednovati rješenje, odnosno,
procijeniti koliko je dobro u odnosu na druga
rješenja
– Poželjno je imati što finije stupnjevanje pri
usporedbi rješenja
Genetski algoritmi (6/6)
● Primjene genetskih algoritama:
– Sve primjene gdje se koriste klasične metode
optimiranja i mnoge primjene gdje klasične
metode nisu primjenjive (funkcija cilja mora
biti derivabilna, neprekidiva itd.)
– Određivanje najkraćeg (najpovoljnijeg) puta,
dizajn proizvoda, odabir najboljih članova
skupa, određivanje parametara neuronske
mreže ili neizrazitog sustava itd.
Neuronska mreža (1/3)
● Omogućuje po volji točnu aproksimaciju
funkcije koja povezuje ulazni s izlaznim
podatkovnim vektorom
● Najčešće korišteni tip je feed-forward mreža
bez povratnih veza, koja se sastoji od ulaznog
sloja, jednog ili više skrivenih slojeva i
izlaznog sloja
● Iz vrijednosti ulaza i parametara mreže
izračunava se vrijednost izlaza
Neuronska mreža (2/3)
● Pojednostavljeni prikaz neuronske mreže:
Neuronska mreža (3/3)
● Parametre neuronske mreže moguće je odrediti
iz poznatih podataka (učenjem)
● Neuronska mreža ima svojstvo generalizacije,
tako da ispravno može klasificirati nepoznati
uzorak koji je po nekom svojstvu sličan
poznatim uzorcima
● Primjene: raspoznavanje uzoraka, predviđanje
nastavka niza (uklanjanje šuma) itd.
● Nedostatak je nemogućnost rekonstrukcije
procesa odlučivanja (crna kutija) za mreže koje
sadrže više od deset neurona
Neizrazita logika (1/3)
● engl. Fuzzy Logic
● Poopćenje klasične (Boole-ove logike) – stupanj
pripadnosti nekom skupu može biti u intervalu [0, 1],
umjesto samo 0 ili 1
● Primjer: pripadnost skupu „toplo“
Neizrazita logika (2/3)
● Ulazne i izlazne varijable definiraju se preko
niza funkcija pripadnosti koje odgovaraju
određenim područjima vrijednosti ulazne
varijable (npr. temperatura može biti „niska“,
„srednja“ ili „visoka“)
● Ulazi i izlazi povezuju se pravilima: „Ako je
temperatura srednja i tlak visok tada grijač
grije slabo“
Neizrazita logika (3/3)
● Istovremenom primjenom svih pravila
izračunava se vrijednost izlaza ovisno o
vrijednosti ulaza
● Mogućnost aproksimacije jednaka je kao i kod
feed-forward neuronske mreže, ali je kod
neizrazitog sustava moguć uvid u proces
zaključivanja
Preciznost i značenje u realnom svijetu
Područja korištenja AI tehnika
● Ekspertni sustavi
● Analiza slike i računalni vid
● Navigacija za pokretne robote
● Raspoznavanje govora i razumijevanje jezika
● Kontrola procesa

You might also like