4 PRIKAZIVANJE I POHRANA ZNANJA
82
4 PRIKAZIVANJE I POHRANA ZNANJA
Rješavanje kompleksnih problema i zadataka umjetne inteligencije zahtijeva veliku količinu
znanja, ali i mehanizme pomoću kojih manipuliramo tim znanjem. Sada dolazimo do problema
znanja, prikazivanja znanja i pohrane znanja. Što je znanje? Kakvo znanje može biti? Kako znanje
prikazati na način pogodan za pohranu na računalu? Sve su to pitanja na koja odgovaramo u ovom
poglavlju.
4.1
Što je znanje?
Pojam znanja (engl. Knowledge) je jedan od onih filozofskih pojmova koji do dandanas nisu
jednoznačno definirani. Klasična se definicija znanja pridjeljuje grčkom filozofu Platonu (427. 347. g.
pr. n. e.) koji je kazao da bi se neka izjava mogla smatrati znanjem samo ako je ta izjava opravdano
istinito vjerovanje. Pod pojmom vjerovanje (engl. Belief) podrazumijeva se uvjerenost u istinitost bez
prethodne provjere. Vjerovanje je subjektivna mentalna interpretacija do koje smo došli na temelju
osjetilnih informacija, razmišljanja (zaključivanja), ili nam je komunikacijom to prenio netko drugi.
Istina (engl. Truth) je jednako složen pojam kao i znanje koji također nema jedinstvene definicije.
Zaustavimo se samo na tome da ona izražava neku vrstu poklapanja sa stvarnošću i realnošću. Treći je
pojam opravdano (engl. Justified). Postoji cijela teorija koja se bavi upravo problemom opravdavanja
vjerovanja, akcija, emocija, zahtjeva, teorija itd. Da bismo opravdali vjerovanje, treba nam dokaz.
Tipičan primjer vjerovanja i njegovog opravdanja nakon čega dolazimo do znanja je priča u kojoj
partnerica (ili partner) vjeruje da joj druga strana nije vjerna. Tvrdnja Moj partner je nevjeran. je
vjerovanje sve dok se ne opravda dokazima. Dokaz može biti SMS poruka ili ostatak nepoznatog ruža na
ovratniku partnerove košulje. Ovi dokazi opravdavaju vjerovanje, a ako su i istiniti i nisu rezultat slijeda
slučajnosti, onda tvrdnja Moj partner je nevjeran. postaje istinita, postaje znanje kojem možemo
pridružiti vrijednost istinitosti, u ovom slučaju istina.
Platonova definicija znanja filozofima je zanimljiva i u današnje doba (Bezinović, 2006.). Cijela se
znanost temelji na opravdavanju istinitosti. Svako znanstveno istraživanje počinje hipotezom. Hipoteza
je tvrdnja u čiju istinitost vjerujemo, ali da bi ona postala znanje, moramo i opravdati tu istinitost
znanstvenim dokazima. Tek nakon opravdavanja hipoteza postaje novo znanje. Ako se dokaže da hipoteza
Znanje je sigurno jedan od najvažnijih pojmova vezanih uz inteligentne tehnologije i
nebiološku inteligenciju. Kod projektiranja inteligentnog sustava, bez obzira radi li se o
sustavima temeljenim na (dobroj staroj) umjetnoj inteligenciji ili računskoj inteligenciji,
potrebno je znanje. U biti, sustavi umjetne i računske inteligencije upravo se razlikuju po
tome kako se znanje koristi. Prije odgovora na ovo pitanje najprije ćemo se upitati: ''Što
je znanje?''
4 PRIKAZIVANJE I POHRANA ZNANJA
83
nije istinita, ona je i tada znanje za koje sada znamo da je lažno. Istinitost tvrdnje može biti da je istinita
ili da je lažna, ali ona je u oba slučaja postala znanje zato što joj možemo pridružiti stupanj istinitosti.
U nastavku ovog poglavlja (koje se prije svega bavi formalnim prikazom znanja pomoću
matematičke logike) susretat ćemo se s vjerovanjem te opravdanjem i traženjem njegove istinitosti. Za
sada spomenimo samo to da imamo vjerovanje P koje se može ili opravdati ili ne opravdati. Ako se može
opravdati, tada uz pomoć njega možemo opravdati i novo vjerovanje Q koje je s njim povezano. Ako P ne
možemo opravdati, tada iz njega ne možemo opravdati ni vjerovanje Q, ali isto tako ne možemo opravdati
ni vjerovanje da Q nije istinito (neQ). Drugim riječima, o Q ne možemo ništa sigurno kazati ako se P ne
može opravdati.
Uz pojam znanja usko su vezani i pojmovi podaci, informacije i mudrost, kao shvaćanje
(razumijevanje) istinitosti znanja ilustrirano na slici 4-1.
Slika 4-1. Podaci, informacije, znanje i mudrost
Podaci (engl. Data) su simboli bez ikakvog značenja osim vlastitog postojanja. Mogu biti u
različitim formama. Tipičan podatak je 23,4. On sam za sebe ništa ne znači. Radi se samo o slijedu tri
broja između kojih je decimalni zarez. U računalnom svijetu podatke obrađuju tablični kalkulatori. Ono
što nam je ovdje najzanimljivije jest pitanje možemo li podatku 23,4 pridružiti vrijednost istinitosti: Je
li 23,4 istinito? Odgovor je Ne znam. Nemam dovoljno informacija da znam je li 23,4 istinito. Povežemo
li podatak 23,4 s nekim drugim podatkom iz drugog relacijski povezanog skupa, dobivamo informaciju.
Informacije (engl. Information) su obrađeni podaci koji su dobili značenje relacijskim vezama s
drugim podacima. Ovako obrađeni podaci mogu biti korisni, iako to nije uvjet. U računalnom svijetu
4 PRIKAZIVANJE I POHRANA ZNANJA
84
informacije sadrže relacijsku bazu na temelju podataka posloženih u relacijske odnose. Ako je 23,4
spremljeno u tablici u kojoj pohranjujemo izmjerene vrijednosti temperature u stupnjevima C, onda
znamo da se 23,4 odnosi na temperaturu od 23,4
0
C i to je sada već informacija koju na određeni način
možemo izvući iz te relacijske baze. Ponekad se kaže da informacije daju odgovore na pitanja tko, što,
gdje i kada. Iz podataka dolazimo do informacija ako shvatimo odnose ili relacije između njih.
Postavimo sada ponovo pitanje: Je li 23,4
0
C istinito? Odgovor je ponovo: Ne znam. Nemam dovoljno
informacija da znam je li 23,4
0
C istinito. Trebaju mi informacije o tome kada i gdje je temperatura bila
23,4
0
C.Upravo to relacijsko povezivanje više informacija dovodi do tvrdnji kojima možemo pridružiti
stupanj istinitosti, tj. dovodi do znanja.
Znanje (engl. Knowledge) je odgovarajući skup informacija kojima možemo pridružiti stupanj
istinitosti. Tom skupu informacija osnovna je namjena da bude koristan. Znanje se stječe kroz proces
učenja u kojem se informacije pretvaraju u znanje kako bi nam bilo od nekakve koristi, tj. kako bi nam
poslužilo za nešto. Na primjeru prethodnog slučaja temperature od 23,4
0
C znanje bi bilo povezivanje ovog
podatka s podacima o trenutku mjesta i trenutku mjerenja, pa bi znanje bila tvrdnja Danas u 12 sati
temperatura na meteorološkoj postaji Marjan Split bila je 23,4
o
C.. Ova je tvrdnja znanje zato što joj
možemo pridružiti istinitost. Ako je temperatura stvarno danas u podne na Marjanu bila 23,4
0
C, onda je
tvrdnja istinita, a u protivnom je lažna. Znanje uvijek nečemu služi, ako ničemu drugom onda barem
tome da se znamo primjereno odjenuti ako idemo prošetati popodne Marjanom. Ponekad se kaže da je
znanje primjena podataka i informacija s ciljem davanja odgovora na određena pitanja. Iz informacija do
znanja dolazimo ako shvatimo model, obrazac ili predložak (engl. Pattern). Na temelju njega možemo i
predvidjeti što će se u budućnosti događati, a to kod samog poznavanja informacija nije moguće.
Sljedeći je korak shvaćanje toga zašto je tvrdnja istinita ili neistinita, a ovo nas shvaćanje vodi
prema mudrosti. Mudrost (engl. Wisdom) uključuje shvaćanje temeljnih principa uključenih u znanje
zbog kojih je znanje upravo takvo kakvo jest. Mudrost bi bila najveći stupanj spoznaje, koji bi trebao
uključivati ne samo shvaćanje principa već i moral i etiku pa neki autori smatraju da mudrost može imati
samo čovjek. Mi se ovdje ipak priklanjamo blažoj verziji pojma mudrost koja uključuje shvaćanje ne
samo izjave, već i svega što stoji iza određene izjave. Mudrost bi bila kada bismo znali odgovoriti zašto je
danas u podne na Marjanu temperatura bila (ili nije bila) 23,4
0
C. Mudrost uključuje poznavanje modela
i fizikalnih zakonitosti koji su rezultirali upravo ovakvom temperaturom danas u podne na Marjanu.
4.2
Prikupljanje, prikazivanje i pohrana znanja
Sustavi umjetne inteligencije spadaju u šire područje sustava temeljenih na znanju (engl. KBS
Knowledge Based Systems) koji se bave zadacima prikupljanja, prikazivanja, pohrane i primjene znanja.
Ovi su postupci posebno važni za ekspertne sustave koji su jedno od područja primjene umjetne
inteligencije. Oni se temelje na specifičnom znanju koje imaju posebni ljudi koje zovemo eksperti ili
stručnjaci. Gradimo li na primjer specifični ekspertni sustav medicinske dijagnostike, temeljni je zadatak
pronaći eksperta koji to znanje ima, pokušati od njega to znanje i izvući (prikupljanje znanja), te ga
prebaciti u formalni oblik razumljiv računalu i pohraniti u specifičnu strukturu koju nazivamo baza
znanja.
Problemom prikupljanja znanja (engl. Knowledge Elicitation) bave se posebni stručnjaci koji
se ponekad nazivaju i inženjeri znanja (engl. Knowledge Engineers), koji osim računalnog znanja imaju
i specifična znanja psihologije i sociologije. Znanje se najčešće prikuplja u obliku rečenica prirodnog jezika
zato što je to prirodni način komunikacije između ljudi. Različite su metode prikupljanja znanja, a svima
je cilj doći do stvarnoga znanja eksperta. Dijelimo ih u tri grupe (slika 4-2):
postupci prikupljanja znanja koje vodi inženjer znanja
postupci koje vodi ekspert
postupci u suradnji eksperta i inženjera znanja.
4 PRIKAZIVANJE I POHRANA ZNANJA
85
Slika 4-2. Podjela postupaka za prikupljanje ekspertnog znanja
Spomenut ćemo malo detaljnije neke od postupaka prikupljanja znanja:
1. Intervju (engl. Interview)
direktni razgovor između stručnjaka za prikupljanje znanja
(inženjera znanja) i eksperta koji znanje ima. Ovo je možda najčešća metoda prikupljanja
znanja kojoj je prije svega cilj doznati kako ekspert donosi pojedine odluke i provodi
određene procedure. Sastoji se od pitanja i odgovora. Razlikujemo nestrukturirane,
polustrukturirane i strukturirane intervjue. Strukturirani intervjui vode se po
unaprijed utvrđenom transkriptu (pripremljenim pitanjima), a nestrukturirani su u biti
slobodni razgovor.
2. Analiza protokola (engl. PA Protocol Analysis)
analiza postupka kako ekspert stvarno
rješava zadatke. Stručnjak za prikupljanje znanja obično nije u direktnoj interakciji s
ekspertom, već bilježi ili snima postupanja eksperta, te na temelju njih kasnije izvlači
protokole i postupke. U postupcima analize protokola od eksperta se zahtijeva da i
komentira ono što radi, a vezano s tim razlikuju se on-line i off-line postupci. Kod on-line
postupaka ekspert komentira svoje postupke za vrijeme stvarnog rada. Varijanta on-line
metode je da to ne radi ekspert sam, već drugi ekspert koji jako dobro zna što glavi ekspert
radi. Ova se metoda obično naziva metoda sjene (engl. Shadowing). Kod off-line postupaka
ekspert naknadno komentira svoje postupke najčešće gledajući snimku onoga što je radio.
3. Proučavanje slučajeva (engl. Case Study) temelji se na razgovoru s ekspertom o nekim
specifičnim slučajevima, bilo standardnim, bilo složenijim. Kada se obrađuju slučajevi koji
su bilo kritični tada se postupak zove metoda kritičnih odluka (engl. CDM Critical
Decision Method). Ovi postupci često uključuju i intervju i analizu protokola, ali u kontekstu
specifičnih slučajeva koji su se ekspertu pojavili u prošlosti, pa je za njih trebao donijeti
odluku ili provesti određeni postupak.
4 PRIKAZIVANJE I POHRANA ZNANJA
86
Osim ova tri postupka spomenimo da ih postoji još, npr. sortiranje koncepata (engl. Concept
Sorting), ponavljajuće mreže (engl. Repetitory Grid), stepeničaste mreže (engl. Laddered Grids),
simulacije (engl. Simulations), postupak 20 pitanja (engl. 20 Questions), ali oni prelaze okvire ovog
udžbenika.
Nakon prikupljanja znanja ono je obično zapisano riječima i rečenicama prirodnog jezika, u više-
manje slobodnom tekstu. Sljedeći je zadatak znanje prebaciti u formalni zapis kako bismo ga relativno
jednostavno računalno zapisali. Ovaj se postupak naziva prikazivanje ili kodiranje znanja (engl.
Knowledge Coding), a najčešće se provodi korištenjem matematičke logike, od klasične propozicijske i
predikatne, do različitih nestandardnih logika od kojih je posebno neizrazita logika našla posebno mjesto
u praksi.
Treći je korak formalno kodirano znanje pohraniti (engl. Knowledge Storing)
u strukture koje
zovemo baze znanja (engl. Knowledge Bases). Osnovna im je uloga omogućiti što lakši i jednostavniji
dolazak do pojedinih dijelova znanja tijekom provođenja postupka zaključivanja (engl. Inference) i
rasuđivanja (engl. Reasoning) temeljenog na znanju. Ovoj smo problematici, zbog njene izuzetne
važnosti, posvetili cijelo Poglavlje 5.
O načinima pohrane znanja više se detalja može pronaći u nastavku teksta, nakon što se
osvrnemo na osnovne postupke prikazivanja ili kodiranja znanja matematičkom logikom.
4.3 Prikazivanje (kodiranje) znanja matematičkom logikom
Važan pojam u svim sustavima prikaza znanja su činjenice stvari koje predstavljamo. U
logičkim sustavima činjenice su tvrdnje čiju istinitost poznajemo. Kako bismo mogli s jedne strane
činjenice pripremiti za predstavljanje u formalnim prikazima znanja, a s druge strane i koristiti dobivene
rezultate, nužno je uspostaviti vezu između formalnog prikaza i vanjskog svijeta. Najprirodnija takva
veza su riječi i rečenice prirodnog jezika, pa bez obzira kako mi interno činjenice prikazujemo u bazama
znanja, čovjeku je najrazumljivije predstavljanje toga znanja prirodnim jezikom. Na sličan način radi i
naš mozak. Iako još uvijek potpuno pouzdano ne znamo kako mozak sprema znanje, znamo da čovjek
najlakše svoje pohranjeno znanje iskazuje prirodnim, govornim jezikom. Pogledajmo primjer jezičnog
iskazivanja i logičkog prikazivanja nekih tvrdnji:
prirodni jezik: Rex je pas
logičko prikazivanje (propozicijska logika): Rex = pas
prirodni jezik: Rex ima rep.
logičko prikazivanje (predikatna logika): ima_rep(Rex)
Logički formalizam izuzetno je važan zbog činjenice što se novo znanje može generirati iz
starog znanja koristeći postupak matematičkog zaključivanja. Logika barata istinitostima tvrdnji i
daje precizna pravila kako se može odrediti istinitost složene tvrdnje sastavljene od pojedinačnih tvrdnji
poznate istinitosti povezanih logičkim operatorima. Pomoću logike u stanju smo ustanoviti istinitost neke
tvrdnje čiju istinitost ne poznajemo, ako dokažemo da je ta tvrdnja izvedena iz činjenica koje su istinite i
poznate. Logike dijelimo na standardne logike, koje se oslanjaju na klasične logike (propozicijsku ili
predikatnu logiku), i nestandardne logike, od kojih je možda najpoznatija neizrazita (engl. fuzzy)
logika koja je u posljednje vrijeme nezaobilazna kod mnogih primjena inteligentnih tehnologija.
Standardna je logika dvovaljana, tj. ima samo dva stupnja istinitosti, pa tvrdnja može biti ili istinita ili
lažna (neistinita). Trećeg nema. Neke od nestandardnih logika su viševaljane, tj. mogu imati više
stupnjeva istinitosti. Granični slučaj je neizrazita (engl. fuzzy) logika koja je beskonačno valjana. Više
detalja o ovim razlikama u nastavku ovog poglavlja. Za sada se zadržavamo na standardnim logikama.
Grčkog filozofa i prirodnjaka Aristotela (384. 322. pr. Kr.) smatraju prvim priznatim logičarom.
On je razvio veći dio teorije koja je danas poznata pod pojmom klasična logika, silogistička logika ili
Aristotelova logika. U svojoj osnovi silogistička se logika bavi pronalaženjem istinitosti (ili neistinitosti)
na temelju filozofskih argumenata. Danas se još uvijek često upotrebljava zato što su na njoj izgrađene
gotovo sve legalne argumentacije. Pogledajmo primjer:
4 PRIKAZIVANJE I POHRANA ZNANJA
87
Pretpostavke (poznate činjenice)
Ivan je muškarac.
Svi muškarci nekad su bili dječaci.
Zaključak (izvedena činjenica)
Ivan je nekad bio dječak.
Pretvoreno u formu silogističkog zaključivanja gornji se zadatak može simbolički pisati na sljedeći način:
Ivan = muškarac
svi muškarci
®
dječaci
Ivan = dječak
Silogistička logika na neki je način samo formalni zapis zdravog razuma, a koliko je dobra ili nije,
to je potpuno drugo pitanje. Kako se zasnivala na prirodnom jeziku, a on je po svojoj naravi neprecizan i
često dvosmislen, ponekad je ovakvo logičko zaključivanje dovodilo do konfuzije. To je možda prednost u
pravnim sustavima, ali je u tehnici nedostatak, pa se javila potreba za definiranjem logike koja bi bila
preciznija.
Takva je logika nazvana simbolička logika, a otac joj je bio Gottfried Wilhelm!Leibniz (1646.
1717.). Međutim, njegovom smrću rad na simboličkoj logici zaustavlja se na više od 100 godina.
Oživljava ga tek George Boole (1815. 1864.), te se u spomen na njega simbolička logika često i naziva
Boolova logika, ali se često spominje i kao matematička logika. Simbolička logika barata simbolima
(koji su apstrakcija koncepata), činjenicama te vezama između simbola, odnosno činjenica, a na način da
se definiraju operatori baratanja simbolima. U nastavku se bavimo simboličkom interpretacijom
propozicijske logike i predikatne logike.
Slika 4-3. Aristotel, otac klasične logike, Gottfried Wilhelm Leibniz, otac simboličke logike i George Bool,
otac matematičke logike
50
U osnovi računalnog programiranja nalazi se upravo logika. Programski su jezici po mnogim
svojim značajkama samo implementacija specijalnih logičkih formi. Na primjer, u jeziku C logiku
predstavljaju generalne procedure iskazane IF naredbama, dok je jezik Prolog primjer direktne
programske implementacije predikatne logike.
Simbolička logika smatra da se znanje može prikazati simbolima, a zaključivanje se odvija
manipulacijom simbola čime je omogućeno apstraktno rasuđivanje. Formalni logički sustav sastoji se
50
Sve su slike s Wikipedia Commons https://commons.wikimedia.org s licencom Public Domain.
4 PRIKAZIVANJE I POHRANA ZNANJA
88
od sintakse, semantike i teorije dokaza. Sintaksa određuje po kojim se pravilima slažu složeniji logički
izrazi i formiraju u tzv. dobro formulirane formule (engl. wff well-formed formulas). Semantika se
bavi značenjem logičkih izraza i određivanjem njihove istinitosti, dok teorija dokaza definira postupke
kojima se provodi zaključivanje i rasuđivanje. Sintaksa i semantika omogućavaju prikazivanje ili
kodiranje znanja iz stvarnoga svijeta koji nas okružuje, a teorija dokaza omogućava izvođenje novog
znanja iz pohranjenog znanja postupcima zaključivanja i rasuđivanja.
Alfred North Whitehead i Bertrand Russell su u periodu 1910. 1913. godine napisali knjigu
u tri volumena s naslovom Principia Mathematica kao pokušaj da se skupom aksioma i pravila
zaključivanja simboličke logike dokažu sve matematičke istine. Slika 4-4 prikazuje primjer logičkog
dokaza iz knjige da je 1 + 1 = 2. Knjiga je bila vrlo važan doprinos matematici i filozofiji.
Slika 4-4. Logički dokaz da je 1 + 1 = 2 iz knjige Principia mathematicaautora Alfreda Whiteheada i
Bertranda Russella
51
Jedini je problem bio u tome što ova knjiga nikada nije mogla biti dovršena zato što ni jedan
formalni aksiomatski sustav nije sposoban modelirati aritmetiku što je 1931. godine dokazao
matematičar i filozof Kurt Gödel poznatim teoremima nepotpunosti (engl. Gödel's Incompleteness
Theorems). Za umjetnu inteligenciju to i nije toliko važno, ali poznavanje osnovnih principa matematičke
logike izuzetno je važno, pa se u nastavku kratko opisuju osnovni principi standardne i nekoliko
nestandardnih logika s posebnim naglaskom na njihovu primjenu u sustavima pohrane znanja umjetne
inteligencije, a zaključivanjem i rasuđivanjem bavimo se u Poglavlju 5.
4.3.1 Propozicijska logika
Propozicijska logika ili logika sudova je najjednostavnija logika kod koje se činjenice
prikazuju logičkim propozicijama. Na primjer:
prirodni jezik: Pada kiša. logički prikaz: kiša
prirodni jezik: Sunčano je. logički prikaz: sunčano
prirodni jezik: Kada pada kiša, nije sunčano. logički prikaz: kiša
®
¬ sunčano
gdje je ¬ logički operator negacije, a
®
logički operator implikacije.
Propozicijska se logika bavi određivanjem istinitosti ili neistinitosti različitih propozicija, a
propozicija je ispravno postavljena tvrdnja koja može biti istinita ili lažna. Propozicije se međusobno
povezuju operatorima u dobro formulirane formule. Operatora ima ukupno 16, od kojih 15 povezuju
dvije propozicije (binarni operatori), a samo se operator negacija odnosi na samo jednu varijablu (unarni
51
Slika iz https://commons.wikimedia.org/wiki/File:Principia_Mathematica_54-43.png uz licencu Public Domain.
4 PRIKAZIVANJE I POHRANA ZNANJA
89
operator). Deset binarnih operatora imaju i posebno ime, a ostalih pet su komutacije postojećih operatora.
Oznake pojedinih operatora, naziv operatora i jezični primjer su u nastavku.
.
tautologija
67
#
- P je Q Pada kiša$ili$ne$pada$kiša.
disjunkcija -
6 7
- P ili Q Pada kiša ili je zemlja mokra.
® implikacija
6 7
- ako je P onda je Q Ako pada kiša onda je zemlja mokra.
« ekvivalencija
&
6 7
- P je onda i samo onda ako je Q Zemlja je mokra onda i samo onda
ako pada kiša.
konjunkcija
&
6& &7
P i Q Pada kiša i zemlja je mokra.”
ú Schefferova operacija
&
6&|&7
nije istodobno i P i Q Nije istodobno i da pada kiša i da je
zemlja mokra.
ex ekskluzivna disjunkcija
&
6&?,&7
P ili Q, ali nije oboje Pada kiša ili je zemlja mokra, ali
ne oboje.
¯ Piersova operacija (ili Lukasiewiczova operacija)
&
6& &7
niti je P niti je Q Niti pada
kiša niti je zemlja mokra.
o
kontradikcija
&
6
!
7
P nije Q” - Pada kiša$i$ne$pada$kiša.
nema službenog&imena pa ćemo je nazvati valovita implikacija
&
6& &7
ako nije P onda je
Q” Ako ne pada kiša, onda je zemlja mokra.
¬ negacija
&
¬6
nije P” - Ne pada kiša.
Istinitost dvije tvrdnje povezane operatorima računa se pomoću tablica istinitosti prikazuje
tablica 4-1. Broj 1 znači istina, a 0 znači nije istina. Napomenimo da se često istina označava i
simbolima T, t ili true, a laž (neistina) simbolima
, f ili false.
Tablica 4-1. Tablica istinitosti tvrdnji povezanih različitim logičkim operatorima klasične Aristotelove
logike
!
"
!"
#
! "
" !
! "
"
! "
! "
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
!
"
!
|
"
!)*+)"
¬"
¬!
! "
! "
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
Od svih ovih operacija za umjetnu inteligenciju najznačajnije su operacije negacije, konjunkcije,
disjunkcije, implikacije i ekvivalencije.
Složene propozicije konstruiramo iz više propozicija povezanih operatorima. Na primjer, složenu
tvrdnju:
((A i B) ili (C i neD))
logički zapisujemo:
((A
B)
(C
¬
D))
Ovako zapisan logički izraz je dobro formulirana formula. Dobro formulirana formula je i logički
izraz
((P
®
Q)
®
(
¬
Q
®¬
P))
4 PRIKAZIVANJE I POHRANA ZNANJA
90
Ako je na primjer propozicija P tvrdnja Objekt je stol., a propozicija Q tvrdnja Objekt je
namještaj.ovu formulu možemo jezično interpretirati:
Ako je objekt stol, onda je on namještaj, a ako objekt nije namještaj nije ni stol.
S druge strane logički izraz
((P
®
Q)
®
(PP)Q))
nije dobro formulirana formula i ne možemo ga ni na koji način suvislo jezično interpretirati. Propozicije
u drugom dijelu implikacije nisu povezane važećim logičkim operatorima, a izraz čak ima i jednu
zatvorenu zagradu viška.
Zagrade određuju redoslijed operacija, a istinitost se traži primjenom operatora od lijeva na desno.
Ako zagrade nisu označene postoji dogovor o redoslijedu izvođenja operacija: ¬, , Ú, ®, «. Prvo se izvodi
operacija negacije, zatim konjunkcija, disjunkcija, implikacija i na kraju ekvivalencija. Postupak
utvrđivanja istinitosti dobro formulirane formule naziva se interpretacija formule i ona određuje
značenje (semantiku) složene logičke propozicije. Pretpostavimo da su u logičkom izrazu ((A
B)
Ú
(C
¬
D))
tvrdnje A, B i D istinite, a da tvrdnja C nije istinita. Tablice istinitosti za pojedine logičke operatore daju:
A B C D
¬
D (A
B) (C
¬
D) (A
B)
(C
¬
D)
1 1 0 1 0 1 0 1
što znači da je složena propozicija ((A i B) ili (C i neD)) istinita.
Kod formalnog zapisa interpretacije formule možemo koristiti i funkcijske oznake t(.) i t(.)
52
koje
se međusobno u interpretaciji razlikuju. t(.) je funkcija koja pojedinim propozicijama pridružuje
vrijednosti istinitosti, a t(.) je funkcija pomoću koje interpretiramo istinitost složenih propozicija (dobro
formuliranih formula). Obje funkcije poprimaju vrijednosti na dvočlanom skupu {0,1}, gdje kao i prije 0
znači laž, a 1 znači istina. Za prethodni slučaj imamo:
t(A)=1, t(B) = 1, t(C) = 0, t(D) = 1
t((A
B)
(C
¬
D))=(t(A)
t(B))
&∨
(t(C)
¬
t(D))=(1
1)
∨&
(0
¬
1)=(1
1)
∨&
(0
0)=1
0 = 1
S obzirom na poznati redoslijed operacija ¬, , , ®, « formulu
((A
∧&
B)
Ú
(C
∧&¬
D)) smo mogli pisati i bez zagrada kao (A
∧&
B
∨&
C
∧&¬
D).
Ako se dvije složene propozicije sastoje od istih osnovnih propozicija i imaju istu tablicu istinitosti
za njih kažemo da su ekvivalencije i povezujemo ih znakom º. Pri tome treba uočiti razliku između
ekvivalencije º i operatora ekvivalencije «. Ekvivalencija º samo kaže da se lijeva i desna strana sastoje
od istih propozicija i imaju istu tablicu istinitosti, a operator ekvivalencije « je operator definiran svojom
tablicom istinitosti. Na primjer, propozicije (P
∧&
Q) i (Q
∧&
P) su ekvivalencije pa možemo pisati (P
∧&
Q)
º
(Q
∧&
P), a (P
∧&
Q)
«
(Q
∧&
P) označava novu propoziciju R koja ima svoju vrijednost istinitost, ovisno o
tome kakve su istinitosti propozicija P i Q. Najvažnije ekvivalencije imaju i svoje ime, a koriste se kod
pojednostavljivanja složenih propozicija:
KOMUTATIVNOST P
∧&
Q
&º&
Q
&∧&
P
P
∨&
Q
&º&
Q
&∨&
P
ASOCIJATIVNOST (P
∧&
Q
)&∧&
R
&&º&&
P
&∧&(
Q
&∧&
R
)
(P
∨&
Q
)&∨&
R
&º&&
P
&∨&(
Q
&∨&
R
)
DE MORGANOVI TEOREMI ¬ (P
∨&
Q
)&º&&
¬Q
&∧&
¬ P
¬ (P
∧&
Q
)&º&&
¬Q
&∨&
¬ P
DISTRIBUTIVNOST P
∧&(
Q
&∨&
R
)&º&&(
P
&∧&
Q
)&∨&(
P
&∧&
R
)
52
Prva je funkcija oznaka zapisana običnim slovima, a druga pojačanim slovima (bold).
4 PRIKAZIVANJE I POHRANA ZNANJA
91
P
∨&(
Q
&∧&
R
)&º&&(
P
&∨&
Q
)&∧&(
P
&∨&
R
)
APSORPCIJA P
∨&(
P
&∧&
Q
)&º&
P
&&
P
∧&(
P
&∨&
Q
)&º&
P
&&
P
∨&(
¬P
&∧&
Q
)&º&(
P
&∨&
Q
)
P
∧&(
¬P
&∨&
Q
)&º&(
P
&∧&
Q
)
ZAKON KONTRADIKCIJE P
∧&
¬P
&º&0&
TAUTOLOGIJA P
∨&
¬P
&º&1&
DVOSTRUKA NEGACIJA ¬¬P
º&
P
IDEMPOTENCIJA P
∧&
P
&º&
P
P
&&
P
&º&
P
KONTRAPOZICIJA (P ® Q)
º
(¬Q ® ¬P)
ELIMINACIJA UVJETA (P ® Q)
º
(¬P
∨&
Q)
ELIMINACIJA DVOSTRUKOG (P « Q)
º
(P ® Q)
∧&
(Q ® P)
Svaku od ovih ekvivalencija možemo i jezično interpretirati. Pogledajmo primjer kontrapozicije.
Rečenica: Ako je predmet stol, onda je on namještaj. je implikacija. Njena kontrapozicija koja je u svim
kombinacijama istinitosti ekvivalentna s osnovnom implikacijom je rečenica Ako predmet nije namještaj,
onda on nije stol.. Ili pogledajmo primjer eliminacije uvjeta. Implikacija Ako ti ne odeš, onda ću otići ja.
je za sve vrijednosti istinitosti identična (ekvivalentna) tvrdnji Otiđi ili idem ja.. Uz dvostruku negaciju
vezana je i poznata šala vezana uz dalmatinski govor. Upitate li osobu u Dalmaciji hoće li na kavu s vama,
odgovor je često A ne neću. što u biti znači Hoću.”.
Važan dio propozicijske logike su pravila zaključivanja na temelju kojih provodimo postupak
logičkog rasuđivanja (engl. Logical Reasoning)
i to posebno automatiziranog logičkog rasuđivanja
(engl. Automated Reasoning)
o čemu govorimo u Poglavlju 5. Ovdje spomenimo samo to da se u postupku
logičkog zaključivanja korištenjem tablica istinitosti dokazuje da zaključak slijedi iz određenih
pretpostavki. Na taj se način može automatizirati postupak izvođenja istinitosti tvrdnji čiju istinitost ne
poznajemo na temelju poznavanja istinitosti drugih tvrdnji koje su logički povezane s tvrdnjama
nepoznate istinitosti.
Iako je propozicijska logika osnova digitalne elektronike, sklopovskog ustroja računala i brojnih
računalnih jezika, ona nije baš najpogodnija za prikazivanje ljudskog znanja zato što nema mogućnosti
prikazivanja odnosa između objekata, pa se korištenjem propozicijske logike ne može upotrijebiti nikakva
klasifikacija.
Pogledajmo primjer dviju propozicija:
prirodni jezik: Ivan je čovjek. ® logički prikaz: Ivan = čovjek
prirodni jezik: Luka je čovjek. ® logički prikaz: Luka = čovjek
Na desnoj strani imamo dvije nezavisne propozicije koje logički nemaju ništa zajedničko, bar u
okviru propozicijske logike. Međutim, mi znamo da one i te kako imaju zajedničkih svojstava, pa bi bilo
prirodnije tvrdnje Ivan je čovjek. i Luka je čovjek. napisati u obliku svojstvenih izjava čovjek(Ivan) i
čovjek(Luka), a to je način izražavanja tvrdnje u okviru predikatne logike.
4.3.2 Predikatna logika
Propozicijska logika ne dozvoljava formiranje generalnih izjava tipa Marko jede sve što mu je
drago.”. U duhu propozicijske logike za sva jela koja Marko voli trebamo napisati posebne propozicije, na
primjer Marko voli čokoladu., Marko voli kekse., Marko voli sir., Marko ne voli pršut. itd.
Predikatna logika to omogućava. Umjesto da se bavi propozicijama koje se ne mogu raščlaniti,
4 PRIKAZIVANJE I POHRANA ZNANJA
92
predikatna logika uvodi pojam predikata koji je u biti funkcija koja vraća vrijednost istinitosti (0 ili
1) u ovisnosti o svojim argumentima.
Na primjer, u prethodnom primjeru uvodimo predikat voli(.,.) koji ima dva argumenta. Prvi se
argument odnosi na osobu, a drugi na jelo koje ta osoba voli ili ne voli. Očito je da će funkcija
voli(marko,čokoladu) vratiti vrijednost istinitosti 1, zato što Marko voli čokoladu, a voli(marko,pršut)
vratiti vrijednost istinitosti 0, zato što Marko ne voli pršut.
Za drugi primjer uzmimo predikat je_tvrd(.) koji ima samo jedan argument. Ubacivanjem
argumenta kamen, funkcija je_tvrd(kamen) vraća vrijednost istinitosti istina (1), a ubacivanjem
argumenta pamuk je_tvrd(pamuk) vraća vrijednost istinitosti laž (0). Formalno to pišemo:
je_tvrd(kamen)=1
je_tvrd(pamuk)=0
a jezična interpretacija je u biti ista kao u propozicijskoj logici:
Kamen je tvrd.
Pamuk nije tvrd.
Osnovna razlika između predikatne i propozicijske logike je odvajanje atributa od objekata
koji posjeduju te atribute. Drugim riječima, u predikatnoj logici može se definirati funkcija kojom
određujemo tvrdoću bilo kojeg objekta, dok se u propozicijskoj logici za svaki pojedini slučaj mora
definirati posebna tvrdnja.
Predikatna logika ima dosta zamršenu povijest. Charles Sanders Pierce (1839. 1914.),
američki filozof, logičar i matematičar, je 1885. godine prvi put predikatnu logiku spomenuo kao poseban
logički sustav, naslanjajući se na rad Georga Boola, iako je i prije njega 1879. godine njemački filozof,
logičar i matematičar Gottlob Frege (1848. 1925.) u logiku uveo pojmove relacija i kvantifikatora, što
propozicijska logika nije imala. Ovi su radovi uglavnom zaboravljeni dok ih 1917. godina nije ponovo
popularizirao u svojim predavanjima David Hilbert (1862. 1943.).
Osnovni pojmovi predikatne logike su:
Domena je skup elemenata nad kojima se izvode zaključivanje, na primjer skup ljudi.
Konstante su elementi domene. U prethodnom primjeru to su pojedini ljudi koji imaju svoja
imena. Mi ćemo ih označavati malim slovima, pa je domena koju čine ljudi s imenima Marko,
Ivan i Marija skup {marko, ivan, marija}, a marko, ivan i marija su konstante te domene.
Varijable su simboli koje obično označavamo slovima X, Y, W itd., a koji mogu poprimiti bilo
koju vrijednost iz domene.
Predikat je funkcija koja preslikava jedan ili više elemenata domene u jednu od vrijednosti
istinitosti (istina, 1, T, t, true ili laž, 0, ^, f, false). Predikat govori o nekom svojstvu elemenata
domene ili o međusobnim relacijama elemenata domene. Na primjer, je_tvrd(kamen) vraća
stupanj istinitosti tvrdnje da konstanta kamen zadovoljava svojstvo je_tvrd. Ovakav predikat
sa samo jednom konstantom zove se unarni predikat. Predikati mogu imati i veći broj
argumenata, npr. predikat voli(X,Y) gdje se X odnosi na osobu, a Y na jelo, ili jednak(X,Y)
koji vraća 1 samo ako su X i Y jednaki, ili veći(X,Y) koji vraća vrijednost istinitosti 1 samo
ako je X > Y. Predikat s dvije konstante zove se binarni predikat”.
Ovome možemo dodati i pojam funkcije koja preslikava jednu ili više konstanti natrag u domenu.
Na primjer, ZBROJ(X,Y) čija je domena skup cijelih brojeva i koja vraća zbroj konstanti X i Y, na primjer
ZBROJ(2,3) = 5, pa će na primjer predikat veći(ZBROJ(2,3),4) vratiti vrijednost istinitosti 1, zato što je
ZBROJ(2,3) veći od 4.
Konstante, varijable, funkcije i predikati čine 4 disjunktna skupa predikatne logike. Konstante,
varijable i funkcije još se nazivaju i izrazi (engl. Terms), a predikati zajedno sa svojim argumentima
atomi (engl. Atoms). Atomi povezani logičkim operatorima, na primjer (parni(3)
Ú
veći(3,4)), čine
logičku formulu.
4 PRIKAZIVANJE I POHRANA ZNANJA
93
Najveći doprinosi predikatne logike su upotreba varijabli i uvođenje kvantifikatora. Pomoću
varijabli generaliziramo predikat, npr.
voće(X) ®
¬
povrće(X)
što&čitamo:&Ako je X voće, tada X nije povrće.
Predikatna logika razlikuje dva kvantifikatora:
- univerzalni kvantifikator koji se čita za svaki i
- egzistencijalni kvantifikator koji se čita postoji ili egzistira.
Na primjer, za tvrdnju Sve mačke su životinje. pišemo:
X. (mačke(X) ® životinje(X))$
ili tvrdnju: Postoji osoba koja se zove Ivan. pišemo:
X. (osoba(X) ime(X, Ivan))
I kvantifikatori imaju svoje ekvivalencije,&što&znači&da&je&istinitost&tvrdnji na lijevoj i desnoj strani
ista:
¬
X. P(X)
º
$
X.
¬
P(X)
¬$
X. P(X)
º
X.
¬
P(X)
X.
&∀
Y.P(X,Y)
º
Y.
&∀
X.P(X,Y)
$
X.
$
Y.P(X,Y)
º
$
Y.
$
X.P(X,Y)
X.P(X)
∧&∀
X.Q(X)
º
X.(P(X)
Q(X))
$
X.P(X)
$
X.Q(X)
º
$
X.(P(X)
Q(X))
Kvantifikatori se mogu odnositi samo na varijable, kao u prethodnim primjerima, a mogu se
odnositi i na varijable i na predikate. Pod pojmom predikatne logike obično se podrazumijeva prvi slučaj
kada se kvantifikatori odnose samo na varijable. Ovakav se tip logike naziva još i logika prvog reda ili
skraćeno FOL (čita se ef-ou-el) prema engleskim riječima First-Order Logic. Sinonimi su i predikatna
logika prvog reda ili kraće FOPL Fist-Order Predicate Logic i niža predikatna logika. Ako se
kvantifikatori mogu odnositi i na predikate, tada se govori o logici drugog reda (SOL Second-Order
Logic). U okviru ovog teksta zadržavamo se samo na predikatnoj logici prvog reda.
Jedan od značajnih jezika umjetne inteligencije Prolog u potpunosti se zasniva na predikatnoj
logici. Predikatnu logiku koristimo i za formalni prikaz znanja i za formalno prikazivanje pravila na
osnovi kojih dolazimo do zaključka. Sjetimo se zadatka dva vrča. U njemu smo logičkim formulama
definirali uvjete prelaska iz jednog stanja unutar prostora rješenja zadatka u drugo stanje. Važno je
napomenuti da se u predikatnoj logici vrijeme ne prikazuje. Na primjer, predikat pisati(krleža,zastave)
znači i Krleža je napisao zastave.” i Krleža piše zastave.” i Krleža će napisati zastave.”.
Predikatna logika dozvoljava da se ista tvrdnja prikaže na različite načine. Na primjer, tvrdnju
Kuća je žute boje. možemo prikazati kao:
žuta(kuća)
boja(kuća, žuta)
vrijednost(boja, kuća, žuta)
Predikatna logika u potpunosti se naslanja na propozicijsku logiku, pa više-manje sve što smo
kazali za propozicijsku logiku vrijedi i za predikatnu logiku, uz to da sada imamo i kvantifikatore.
Ako u formuli neku od varijabli povežemo s kvantifikatorom, tada kažemo da je ta varijabla
vezana. U protivnom je varijabla slobodna. Na primjer, u formuli
X. (P(X,Y)) varijabla X je vezana, a varijabla Y slobodna. Kvantifikatori imaju prednost u odnosu na
logičke operatore, a redoslijed izvođenja logičkih operatora je isti kao kod propozicijske logike.
Određivanje istinitosti formule i ovdje se zove interpretacija formule. Tablice istinitosti logičkih
4 PRIKAZIVANJE I POHRANA ZNANJA
94
operatera su iste kao kod propozicijske logike, pa ostaje jedino pitanje interpretacija formula koje sadrže
varijable i kvantifikatore.
Značenje (interpretacija) kvantifikatora definira se na način da je formula u kojoj imamo vezanu
varijablu ovim kvantifikatorom istinita za sve konstante iz domene te varijable. Neka je predikat
voli(X,čokoladu), a varijabla X poprima vrijednosti na domeni {marko, ivan, marija}. Formula
X.voli(X,čokoladu) znači da su istinite sve tri tvrdnje voli(marko,čokoladu), voli(ivan,čokoladu) i
voli(marija,čokoladu).
Značenje (interpretacija) kvantifikatora definira se na sličan način, samo što je dovoljno da je
jedan od prije navedenih predikata istinit. Ako u prethodnom primjeru samo Marko voli čokoladu, a Ivan
i Marija je ne vole, formula X. voli(X,čokoladu) nije istinita, ali je formula X. voli(X,čokoladu) istinita
zato što postoji predikat voli(marko,čokoladu) koji je istinit.
Predikatna logika ima i svoja specifična pravila zaključivanja o kojima ćemo više govoriti u
dijelu o zaključivanju. U ovom poglavlju zanima nas prije svega kako formulom predikatne logike
formalno prikazati znanje. Neke smo primjere već vidjeli pa ih sada pokušajmo sistematizirati.
Prikazivanje jednostavnih činjenica (tvrdnji)
Tvrdnje oblika Marko voli čokoladu. ili Ivan voli Mariju.su jednostavne za prikazivanje u
duhu predikatne logike. Uobičajeno je koristiti glagol kao predikat, a imenice kao argumente
voli(marko,čokoladu) ili voli(ivan,mariju). Na sličan način prikazujemo i tvrdnje koje opisuju osobinu, na
primjer boju Kuća je žuta., s tim da se sada svojstvo (atribut) uzme za predikat, a imenica za argument
žuta(kuća). Složene tvrdnje formiramo koristeći logičke operatore. Na primjer, Kuća je žuta i velika.u
duhu predikatne logike iskazujemo formulom (žuta(kuća) velika(kuća)). Ovdje je važno napomenuti da
se logički operatori ne mogu koristiti kod povezivanja argumenata, već samo kod povezivanja predikata.
Formula (voli(marko,sir) voli(marko,pršut)) je ispravna, a formula (voli(marko,sir pršut)) nije.
Prikazivanje uzročno posljedičnih veza
Uzročno -posljedične veze su posebno važne. Cijeli niz ekspertnih sustava temelji se na prikazu
uzročno-posljedičnih odnosa između varijabli. Ako je Marko gladan, onda će on jesti kruh. u duhu
predikatne logike prikazujemo uvođenjem predikata gladan(X) i jesti(X,Y) koji su povezani operacijom
implikacije:
gladan(marko) ® jesti(marko,kruh)
Kvantifikatore koristimo kako bismo izraz poopćili. Neka je domena varijable X skup ljudi. Ako
su ljudi gladni, onda jedu kruh. iskazujemo formulom
X.(gladan(X) ® jesti(X,kruh))
Naravno da se mogu koristiti različite kombinacije logičnih operatora. Pogledajmo nekoliko
složenijih primjera i njihov prikaz u duhu predikatne logike:
Svatko voli nekoga.
X.(osoba(X) ®
$
Y. (osoba(Y)
voli(X,Y))
Netko je voljen od svih.
$
X.&
Y.( voli(X,Y))
Postoji stol koji nema 4 noge.
$
X.(stol(X)
¬
broj_noga(X,4))
Ne postoji voće koje je papreno.
¬
$
X.(voće(X)
papreno(X))
4 PRIKAZIVANJE I POHRANA ZNANJA
95
Kako bismo na primjer mogli prikazati pojam djeda u duhu predikatne logike? Trebamo definirati
tri predikata s dva argumenta: djed(X,Y), otac(X,Y) i majka(X,Y) koji znače X je djed od Y, odnosno X
je otac od Y i X je majka od Y. Važno je znati na koga se pojedini argument odnosi. Obično se na prvom
mjestu pojavljuje argument koji se u jezičnom iskazu javlja prvi. Pojam djeda sada možemo definirati
logičkom formulom:
X.
Y.
Z . ((otac(X,Z)
otac(Z,Y))
(otac(X,Z)
majka(Z,Y)) ® djed(X,Y))
Na kraju napomenimo još jednom da se programski jezik Prolog u potpunosti oslanja na
predikatnu logiku i ima ugrađene sve mehanizme predikatnog računa pomoću kojih se provodi
automatsko logičko zaključivanje. Pri tome je formalizam prikaza malo drugačiji pa se primjerice logička
implikacija
((otac(X,Z)
otac(Z,Y)) ® djed(X,Y))
u Prologu označava
djed(X,Y):-
otac(X,Z),
otac(Z,Y).
Na prvom je mjestu obično posljedični dio implikacije, a iza znaka :- uzročni. U standardnom
logičkom prikazu implikacija se interpretira:
Ako je X otac od Z i Z otac od Y, onda je X djed od Y.
a u Prolog obliku:
X je djed od Y ako je X otac od Z i Z otac od Y.
Predikatna logika je dobar matematički aparat za prikaz znanja, ali postoji cijeli niz tvrdnji koje
se ne mogu prikazati predikatnom logikom, a često su baš takve informacije važne u sustavu umjetne
inteligencije. Upravo se zbog toga pokušalo znanje prikazati i nekim drugim logikama. Neke od logika
koje ćemo spomenuti u nastavku koristimo kod prikaza tvrdnji tipa:
Temperatura je danas vrlo visoka. Kako prikazati tvrdnju koja iskazuje relativni stupanj u ovom
slučaju temperature.
Ljudi plave kose obično imaju plave oči. Kako prikazati iznos sigurnosti.
Bolje je pomaknuti više figura nego protivnik. Kako prikazati ovu heurističku informaciju.
Znam da Ivan misli da će Marko pobijediti, ali ja mislim da će on izgubiti. Kako prikazati više
različitih vjerovanja odjednom.
Ljudi često barataju vjerovanjima ili uvjerenjima (engl. Beliefs). Svako od njih je podržano
odgovarajućim dokazima, ali nije rijetkost da je skup vjerovanja nepotpun ili ponekad čak
nekonzistentan. Kako koristiti nepotpune, nejasne, nesigurne informacije s kojima predikatna logika ne
može izaći na kraj? Upravo zbog toga rješenja su tražena u drugim, tzv. nestandardnim logikama
(standardne logike su propozicijska i predikatna logika).
4.3.3 Nestandardne logike
Nestandardne logike možemo podijeliti u dvije osnovne grupe (Turner, 1984.):
1. Logike koje proširuju standardne logike i nisu s njima u kontradikciji. Kod njih vrijede
svi aksiomi standardnih logika plus neki dodatni. Tipičan primjer su modalne logike, na
primjer osnovna modalna logika koja uvodi nove operatore: L (nužno je) i M (moguće je),
zatim temporalne logike kojima se dodaje pojam vremena, neke trovaljane logike itd.
2. Logike koje su u suprotnosti sa standardnim logikama, kod kojih se pojedini aksiomi
suprotstavljaju aksiomima standardnih logika. Tipičan primjer su viševaljane logike, kao
na primjer Kleenova, Łukasiewiczeva, Bochvarova, neizrazita (engl. fuzzy) logika itd.
4 PRIKAZIVANJE I POHRANA ZNANJA
96
U ovom se poglavlju u najkraćim crtama osvrćemo na neke od njih.
Modalna logika
Modalne logike uvode tzv. modalitete, odnosno barataju konceptima kao što su mogućnost,
nužnost, eventualnost, možda, mora, može itd. Prva od njih je osnovna modalna logika koja uvodi samo
koncepte nužnosti i mogućnosti. Nastala je kao proširenje klasične predikatne logike uvođenjem
operatora L (ili à) (koji se interpretira nužno je (engl. Necessarily))
i operatora M (ili ) (koji se
interpretira kao moguće je (engl. Possibly)). Ako je neka tvrdnja P važeća u okviru predikatne logike,
tada je i tvrdnja LP i MP važeća u okviru modalne logike, a interpretira se na sljedeći način:
P - tvrdnja A je točna
LP - nužno je da je tvrdnja A točna
MP - moguće je da je tvrdnja A točna
Operatori su međusobno ovisni, pa jednog možemo izračunati iz drugog uz dodatnu primjenu
operatora negacije.
LP º
¬
M
¬
P
MP º
¬
L
¬
P
Kaže se da je neka tvrdnja moguća ako bi mogla biti istinita, bez obzira što je ili nije istinita u
ovom trenutku. Isto tako tvrdnja je nužna ako nije moguće da bi bila lažna. Na sličan način možemo
kazati da je tvrdnja moguća ako nije nužno da je ona lažna.
Modalna logika u umjetnoj se inteligenciji ponekad koristi kod modeliranja zaključivanja o
znanju, iako se često ističe da je previše ograničena, pa se modaliteti pokušavaju uvesti na druge načine.
Temporalna logika
Temporalna logika također spada u modalne logike i nastaje kao proširenje standardnih logika.
Osnovni razlog njenog uvođenja je taj što predikatna logika nije kadra baratati s informacijama kod kojih
je važan pojam vremena. U temporalnoj logici ista tvrdnja može imati različitu vrijednost istinitosti u
različitim vremenima tvrdnja može npr. biti istinita neki trenutak u prošlosti, a u ovom trenutku
neistinita i opet postati istinita u budućnosti. Postoji više različitih temporalnih operatora, a dijelimo ih
na kvantifikatore (A, E) i operatore (X, G, F, U). Kvantifikatori i operatori uvijek idu u paru (na primjer
AX ili EF), a značenje im je sljedeće:
Kvantifikatori
Aza sve (All)
Epostoji bar jedan (Exists)
Operatori
Nprvo sljedeće stanje - prvo sljedeće vrijeme (Next)
Gsva stanja - sva vremena (Globally)
Fpostoji stanje - neko vrijeme u budućnosti (Finally)
Uod ovog stanja do nekog budućeg stanja - od ovog vremena do nekog budućeg&vremena (Until)
Pogledajmo primjer. Neka su p i q propozicije koje su točne, na primjer:
p = Ja volim čokoladu.”
q = Vani je vruće.”
Kombinacija temporalnih kvantifikatora i operatora daje:
AG.p$$$Voljet$ću$čokoladu,$u$svim$vremenima.”$
EF.p Možda ću voljeti čokoladu jedan put u budućnosti.”
4 PRIKAZIVANJE I POHRANA ZNANJA
97
A(pUq) Od sada pa dok ne postane vani vruće, voljet ću čokoladu svaki dan.”
Temporalna se logika u umjetnoj inteligenciji koristi za modeliranje domena koje uključuju pojam
vremena, ali se isto tako koristi i u računarskim znanostima za predviđanje ponašanja računalnog
programa. Osim temporalne logike u okviru umjetne inteligencije predloženi su i drugi postupci pomoću
kojih se može uvesti koncept vremena, na primjer John McCarthy je predložio tzv. situacijski račun
(engl. Situation Calculus).
Viševaljane logike
Kod viševaljanih ili viševalentnih logika (engl. Many-valued, Multi-valued, Multiple-valued
ili Multivalent Logics) uvode se dodatni stupnjevi istinitosti. U svim dosadašnjim logikama tvrdnja je
mogla biti samo istinita ili lažna, vrijednosni skup stupnjeva istinitosti imao je samo dva člana {0,1}, gdje
0 znači laž, a 1 istina. Ovo pravilo, koje u klasičnol logici nazivamo princip isključenja trećega ili
zakon isključenja srednjega (engl. Principle of Excluded Third ili Law of Excluded Middle) formulirao
je i sam Aristotel preko principa nekontradikcije (engl. PNC - Principle of Non-contradiction). Jedna
od njegovih tvrdnji iz Metafizike glasi: Najsigurnije od svih osnovnih načela jest da proturječne tvrdnje
nisu istinite istodobno.. Sud može bili ili istinit, ili lažan, trećega nema. Logički se to iskazuje
zakonom kontradikcije (P
∧&
¬ P
&º&0
) ili tautologijom (P
∨&¬
P
º&1
). Stoička filozofska škola se zalagala
za strogu primjenu ovoga zakona, dok su već i epikurejci dozvoljavali mogućnost da ni jedan od dvaju
sudova koji se međusobno negiraju ne bude istinit (ne vrijedi tautologija). Problem se aktualizira
početkom dvadesetog stoljeća kada se predlažu različiti sustavi viševaljane logike kod kojih se vrijednosni
skup istinitosti proširuje. To je moguće napraviti na dva načina:
dodavanjem novih vrijednosti koje nisu u kontradikciji s aksiomima klasične logike, pa se u
tom slučaju radi samo o proširenoj klasičnoj logici koja razrješava njene pojedine nedostatke
ili
dodavanjem novih vrijednosti istinitosti koje su u suprotnosti s aksiomima klasične logike,
posebno sa principom isključenja trećeg.
Postoji cijeli niz trovaljanih logika nastalih proširenjem klasične logike dodavanjem treće
vrijednost istinitosti. Tipičan primjer je Kleenova logika koju je predložio logičar Stephen Kleen (1909.
1994.), a koja uvodi treću vrijednost istinitosti koja se naziva neodlučeno (engl. Undecided)
i označava
simbolom ? ili slovom u. Neodlučeno znači da se ne može odlučiti o istinitosti tvrdnje. Uvođenjem
vrijednosti ? potrebno je proširiti tablice istinitosti za sve operatere, pa se primjerice tablice istinitosti
negacije, konjunkcije, disjunkcije i implikacije definiraju tablicom 4-2. Prisjetimo se da se implikacija
može zamijeniti s negacijom i disjunkcijom korištenjem eliminacije uvjeta: (P ® Q)
º
(¬P
∨&
Q)
Tablica 4-2. Tablica istinitosti logičkih operatora u Kleenovoj trovaljanoj logici
Drugi primjer je Łukasiewiczeva trovaljana logika koju je predložio poznati poljski
matematičar Jan Łukasiewicz (1878. 1956.). Ona uvodi treću vrijednost istinitosti nazvanu
neodređeno (engl. Indeterminate)
i označenu slovom i. Pojam neodlučno razlikuje se od pojma
neodređeno. Neodlučeno znači da postoji praznina u istinitosti, da se ne možemo odlučiti je li istinito
ili ne, a moglo bi biti ili jedno ili drugo, dok neodređeno znači da se istinitost ne može odrediti, odnosno
problem nije u tome da ne znamo vrijednost istinitosti samo zbog toga što nemamo dovoljno informacija,
već nismo uopće u mogućnosti proračunati vrijednost istinitosti. Motivacija Łukasijewicza je bila ukloniti
P® Q
Q
P
1
0
?
1
1
0
?
0
1
1
1
?
1
?
?
Q
&∨&&
P
Q
P
1
0
?
1
1
1
1
0
1
0
?
?
1
?
?
P
&&
Q
&
Q
P
1
0
?
1
1
0
?
0
0
0
0
?
?
0
?
¬ P
1
0
0
1
?
?
4 PRIKAZIVANJE I POHRANA ZNANJA
98
nemogućnost Aristotelove logike da bilo što kaže o istinitosti nečega što će se dogoditi u budućnosti.
Tablice istinitosti za operacije negacije, konjunkcije i disjunkcije su iste kao i kod Kleenove logike, ali se
razlikuje implikacija. Definira je tablica 4-3. Razlika je u tome da je implikacija istinita ako neodređeno
implicira neodređeno.
Tablica 4-3. Tablica istinitosti implikacije u Lukasiewiczevoj trovaljanoj logici
Treći primjer trovaljane logike koja je nastala kao proširenje klasične logike je Bochvarova
logika koju je predložio Dmitrii Antolevich Bochvar (1903. 1990.) inspiriran semantičkim
paradoksom. Uzmimo za primjer tvrdnju Ova tvrdnja je lažna.. Ako je istinita, tada mora biti lažna, a
ako je lažna, tada mora biti istinita. Da bi riješio ovaj paradoks, Bochvar uvodi treću vrijednost koja nije
ni istinita ni lažna, već jednostavno paradoksalna ili besmislena (engl. Meaningless), a označava se
slovom m. Operacije negacije, konjunkcije, disjunkcije i implikacije u slučaju Bochvarove logike definiraju
se tablicom 4-4.
Tablica 4-4. Tablica istinitosti logičkih operatora u Bochvarovoj trovaljanoj logici
Sljedeći je korak daljnje proširenje vrijednosnog skupa istinitosti. Prvi je to napravio američki
matematičar Post koji je 1921. godine uveo logički sustav koji je mogao imati n vrijednosti istinitosti, a
n je bio veći ili jednak 2 (n
³
2). Sličnu su logiku kasnije predložili
Ł
ukasiewicz i Tarski. Łukasiewicz je
1922. godine predložio logiku s
0
53
vrijednosti istinitosti,
što znači da vrijednosti istinitosti ima
beskonačno u konačnom intervalu vrijednosti između 0 i 1. Sve su ove logike ostale na razini matematike
i filozofije, a prvi veći pomak koji je doveo do šire primjene viševaljanih logika u sustavima umjetne
inteligencije dogodio se 1965. godine uvođenjem teorije neizrazitih (engl. fuzzy) skupova, te kasnije i
neizrazite (engl. fuzzy) logike. Neizrazita teorija skupova i neizrazita logika matematički su temelji
neizrazitih sustava (engl. Fuzzy Systems) koji su jedan od važnih dijelova računske inteligencije o kojoj
smo govorili u uvodnom poglavlju. Neizraziti sustavi su posebno veliku primjenu našli u sustavima
automatskog vođenja, pa su obično iza imena inteligentno vođenje (engl. Intelligent Control) u biti krije
tehnologija temeljena na neizrazitoj teoriji skupova i neizrazitoj logici.
53
0
aleph-nula (engl. aleph-zero, aleph-naught, aleph-null) iskazuje kardinalnost skupa (broj elemenata) prirodnih brojeva. Kaže
se da je kardinalnost skupa prirodnih brojeva ℵ
0
, a kako prirodnih brojeva ima beskonačno, aleph-nula upravo to i iskazuje.
P® Q
Q
P
1
0
i
1
1
0
i
0
1
1
1
i
1
i
1
P® Q
Q
P
1
0
m
1
1
0
m
0
1
1
m
m
m
m
m
Q
&∨&&
P
Q
P
1
0
m
1
1
1
m
0
1
0
m
m
m
m
m
P
&&
Q
&
Q
P
1
0
m
1
1
0
m
0
0
0
m
m
m
m
m
¬ P
1
0
0
1
m
m
4 PRIKAZIVANJE I POHRANA ZNANJA
99
Torija neizrazitih (fuzzy) skupova i neizrazita (fuzzy) logika
Teoriju neizrazitih skupova (engl. Fuzzy Set Theory) uveo je 1965. godine Lotfi Aliasker
Zadeh (1921. 2017.), profesor na University of California, Berkley, da bi je kasnije djelomično proširio
i na neizrazitu logiku (engl. Fuzzy Logic)
54
.
Slika 4-5. Lotfi Aliasker Zadeh, otac neizrazite (fuzzy) logike 1988. godine
55
Zadeh je neizrazite skupove uveo razmatrajući problem računanja u situacijama neodređenosti
(engl. Vagueness), pa se prije svega trebamo upitati što je neodređenost? Neodređenost je vezana uz
logički paradoks poznat pod imenom Sorites paradoks, gdje sorites dolazi od pridjeva grčke riječi sōros
(σωρός), što znači gomila. Zamislimo gomilu pijeska za koju kažemo Ovo je gomila pijeska.”. Maknemo li
jedno zrno pijeska iz gomile, je li ona još uvijek gomila? Većina bi ljudi kazala da jest. Ponavljajmo sada
isti postupak i uklanjajmo zrno po zrno. Pitanje je koje zrno treba ukloniti da gomila više ne bude gomila.
Očito je da nije moguće imenovati baš jedno zrno nakon kojega gomila prestaje biti gomila. Između pojma
gomila i negomila, ne postoji oštar prijelaz. Ako je zrna malo, to nije gomila, ako ih je puno, to je
gomila, a negdje između njih postoji područje neodređenosti. Zadeh je za razrješenje ovog problema uveo
pojam fuzzy set koji hrvatski prevodimo neizraziti skup koji predstavlja skup koji nema oštre granice
između pripadanja i nepripadanja nekog elementa tom skupu (vidi sliku 4-6).
54
Logika i skupovi su čvrsto povezani, pa se tako teorija skupova smatra područjem matematičke logike. 1880. g. John Venn je uveo
dijagrame, koje po njemu zovemo Vennovi dijagrami, s ciljem vizualizacije logičkih propozicija i relacija. Prije njega nešto slično je
uveo i Euler. Eulerovi i Vennovi dijagrami danas su sastavni dio teorije skupova. Kod logike govorimo o istinitosti tvrdnje P, a kod
teorije skupova o pripadnosti skupu P. Na primjer, uzmimo tvrdnju P = Ivan je visok čovjek.. U duhu predikatne logike predikat je
visoki_ljudi, a argument Ivan pa predikat visoki_ljudi(Ivan) može u klasičnoj logici vratiti vrijednost 0 (laž) ako Ivan nije visok čovjek
ili 1 (istina) ako Ivan jest visok čovjek. Kod teorije skupova uzimamo skup P = Visoki ljudi i razmatramo pripadanje jedinke a =
Ivan skupu Visoki ljudi. Formalno to možemo napisati pomoću funkcije pripadnosti elementa a akupu P:
!
P
(a) koja kod standardne
teorije skupova može imati vrijednost 0 (ne pripada) ili 1 (pripada), a kod neizrazite teorije skupova bilo koju vrijednost između 0 i 1.
Lotfi Zadeh je ideju neizrazitosti (eng. fuzzynes) najprije uveo kroz teoriju skupova, da bi je kasnije interpretirao i logikom."
55
Za fotografiju Credit to Cindy Manly-Fields, UC Berkley.
4 PRIKAZIVANJE I POHRANA ZNANJA
100
Slika 4-6. Ilustracija funkcije istinitosti tvrdnje Ovo je gomila pijeska. Na apscisnoj osi je broj zrna
pijeska, a na ordinati vrijednost istinitosti tvrdnje. Kod klasične logike to može biti 0 ili 1, pa kod jednog
broja zrna (n) moramo odlučiti je li sada nastala gomila pijeska ili nije. Kod neizrazitog pristupa
vrijednost istinitosti kontinuirano raste. Način rasta funkcije istinitosti može biti subjektivan (nekome je
gomila prije, nekome kasnije), ali ne može biti proizvoljan. Nitko neće funkciju istinitosti tvrdnje Ovo je
gomila.” definirati padajućom krivuljom. Možda samo Antuntun kod koga je malo neobičan umiz
pjesme Grigora Viteza Kako živi Antuntun”.
Namjerno ga je nazvao riječju fuzzykoja u engleskom jeziku nema jedinstveni prijevod, već se
može prevoditi kao kovrčav, maljav, nejasan, pomućen, a u kontekstu koji se koristi u umjetnoj
inteligenciji najbolje mu odgovara pojam neizrazit koji i mi koristimo. Suprotni pojam je crispkojeg
prevodimo izrazit ili jasni. Cijela se teorija sastoji od toga da postoji beskonačno mnogo stupnjeva
pripadanja određenog elementa nekom skupu. Ako on sigurno pripada tom skupu, onda mu je stupanj
pripadanja 1, ako sigurno ne pripada, stupanj pripadanja mu je 0, a ako djelomično pripada, onda je
stupanj pripadanja bilo koji broj iz intervala od 0 do 1. Drugim riječima, stupanj pripadanja određenog
elementa nekom skupu vrijednosti poprima iz zatvorenog intervala [0,1].
Neizrazita logika se može uvesti na više načina. Posebno su zanimljiva dva pristupa (Dubois i
Pride, 1980.):
1. Neizrazitom interpretacijom propozicijske ili
predikatne
logike, sa ciljem zaključivanja i u
situacijama neodređenosti. I dalje imamo predikate, i dalje imamo argumente, samo što
predikat ne vraća vrijednost istinitosti iz dvočlanog skupa {0,1}, već iz zatvorenog intervala
[0,1]. Obično se naziva bazna neizrazita logika (engl. Base ili Basic Fuzzy Logic), a u biti
radi se o neizrazitoj interpretaciji Łukasijewiczeve
¥
-valjane logike.
2. Uvođenjem lingvističkih vrijednosti istinitosti na način kako to radimo u prirodnom jeziku.
Ovo je Zadehov pristup koji se uobičajeno smatra neizrazitom logikom (engl. Fuzzy Logic),
iako ima brojne nedostatke, pa je upitno da li se uopće može smatrati logikom.
Bazna neizrazita logika
U primjeru Sorites paradoksa sa slike 4-6 vrijednost istinitosti tvrdnje Ovo je gomila. u
ovisnosti o broju zrnaca pijeska koje gomila sadrži je broj između 0 i 1, pri čemu 0 znači potpunu neistinu
(laž) tvrdnje, a 1 potpunu istinu tvrdnje. Bilo koji broj između označava istovremeno i neistinitost i
istinitost tvrdnje. Na primjer ako je istinitost tvrdnje 0,6 onda je neistinitost ove tvrdnje 1- 0,6 = 0,4 o
čemu u nastavku detaljnije govorimo.
4 PRIKAZIVANJE I POHRANA ZNANJA
101
U drugom primjeru vratit ćemo se tekstu o predikatnoj logici gdje smo imali predikat je_tvrd i
argument kamen koji je vraćao vrijednost istinitosti 1:
je_tvrd(kamen) = 1
a jezično smo ga interpretirali
Kamen je tvrd.
I u neizrazitoj logici to ostaje, zato što je kamen stvarno tvrd. Međutim, postavimo li pitanje
je_tvrd(guma) u standardnoj predikatnoj logici moramo se odlučiti i kazati ili je ili nije, a u neizrazitoj
logici kažemo na primjer da je guma tvrda sa stupnjem istinitosti (engl. Degree of Truth) koja ima
vrijednost 0,8 kada se radi o tvrdoj gumi, odnosno 0,4 ako se radi o mekoj gumi.
je_tvrd(guma_1) = 0,8
je_tvrd(guma_2) = 0,4
Prvi slučaj mogli bismo jezično interpretirati
Guma je prilično tvrda.ili Guma je dosta tvrda.
a drugi
Guma nije toliko tvrda.ili Guma je malo tvrda.
Kako stupanj istinitosti poprima vrijednosti na zatvorenom intervalu [0;1] često se miješa sa
stupnjem vjerojatnosti (engl. Degree of Probability), ali se oni bitno razlikuju. Stupanj vjerojatnosti je
vezan s ponavljanjem pokusa, a stupanj istinitosti iskazuje naš, najčešće subjektivni, osjećaj pripadnosti.
Zato se ponekad i naziva stupanj mogućnosti (engl. Degree of Possibility). Pokažimo to primjerom.
Pretpostavimo da ispred sebe imamo dvije grupe od deset boca, grupu A za koju znamo da je
stupanj vjerojatnosti da tekućina u bocama pripada skupini tekućina pogodnih za piće” 0,9 i grupu B
za koju znamo da je stupanj mogućnosti (ili stupanj istinitosti) da tekućina u bocama pripada skupini
tekućina pogodnih za piće” također 0,9. Slučajnim odabirom izaberemo jednu bocu iz prve grupe i jednu
bocu iz druge grupe. Pitanje je iz koje bismo se boce radije napili? Naravno, iz boce koja ima stupanj
mogućnosti da je u njoj tekućina pogodna za piće 0,9. Zašto? Zato što je sigurno da je u svim bocama
skupine B tekućina pogodna za piće. Ova grupa ima visoki stupanj istinitosti tvrdnje: Ovo je tekućina
pogodna za piće. Tekućine u njima možda nisu idealne, nemaju stupanj istinitosti 1, ali smo prilično
sigurni da ni u jednoj od tih boca nije tekućina koja nije pogodna za piće. S druge strane za grupu A koja
ima stupanj vjerojatnosti 0,9 da je u boci tekućina pogodna za piće”, šansa nam je 1:10 da naletimo na
bocu u kojoj nije tekućina pogodna za piće. Stupanj mogućnosti iskazuje stupanj koliko je tekućina
pogodna za piće”, a vjerojatnost je li tekućina pogodna za piće”. Pojam nije pitka je puno opasniji od
pojma ne tako dobra za piće”. U grupi A, i to možda baš u boci koju smo odabrali, može biti i otrovna
tekućina, na primjer klorovodična kiselina, a u grupi B, u najgorem slučaju može biti nešto što se
procjenitelju nije svidjelo, na primjer mlako pivo, pa je zato dao stupanj mogućnosti 0,9 (slika 4-7).
Slika 4-7. Vjerojatnost i mogućnost za skupinu A kažemo da je vjerojatnost da je u boci tekućina
pogodna za piće 0,9, a za skupinu B da je mogućnost da je u boci pitka tekućina 0,9. Iz koje biste se
skupine radije napili?
4 PRIKAZIVANJE I POHRANA ZNANJA
102
Ovaj primjer ilustrira kako neizrazitost i vjerojatnost u osnovi nose dvije potpuno različite vrste
informacija. Neizrazitost iskazuje pripadnost ili sličnost objekta neprecizno definiranom svojstvu, a
vjerojatnost daje relativnu učestalost pojave tog svojstva kod analiziranih objekata. Pridruživanje
vrijednosti istinitosti neizrazitom sudu rezultat je iskustva i intuicije procjenitelja, a vrijednost
vjerojatnosti rezultat je ponavljanja pokusa.
Kao ilustraciju pojma neizrazitosti pogledajmo i drugi primjer. Natko živi u stanu koji ima samo
dvije prostorije: kuhinju i sobu. Pitamo se gdje je Natko? Je li on u sobi ili kuhinji? Ako kažemo da je
vjerojatnost da je Natko u sobi 0,5 onda je on sigurno ili u sobi ili u kuhinji. Zavirimo li deset puta Natku
u stan, on će pet puta biti u sobi, a pet puta biti u kuhinji. A što ako je Natko točno na vratima između
sobe i kuhinje? Vjerojatnost ne može uhvatiti taj slučaj s obzirom na to da on nije ni u sobi ni u kuhinji,
već točno između njih. Sa stupnjem mogućnosti ili stupnjem istine hvatamo baš taj slučaj kada kažemo
da je mogućnost da je Natko u sobi 0,5, ali isto tako i da je mogućnost da je Natko u kuhinji 0,5. Zavirimo
li deset puta Natku u stan, on će svih deset puta biti na vratima između kuhinje i sobe, znači na neki
način jednako i u kuhinji i u sobi.
Složeni izrazi ovakve interpretacije neizrazite logike formiraju se povezivanjem osnovnih
neizrazitih izraza logičkim operacijama. Logičke operacije su iste kao kod propozicijske i predikatne
logike, ali, naravno, imaju potpuno drugačije tablice istinitosti. I u ovom je dijelu neizrazita logika ostala
dosljedna sebi, na način da ne postoji samo jedna neizrazita logika, već nekoliko njih, koje se razlikuju po
tome na koji se način definiraju temeljni logički operatori konjunkcije i disjunkcije (negacija se u svima
njima definira na isti način).
Neka su P*(X) i Q*(X) dva predikata neizrazite logike koji imaju vrijednosti istinitosti p i q.
Oznakom * naglašavamo da se radi o predikatima neizrazite logike.
P*(X) = p , Q*(X) = q ; p, q
Î [
0,1]
Na primjer, možemo uzeti predikat biti_u_kuhinji i biti_u_sobi, a argument je Natko.
biti_u_kuhinji(Natko)=0,3
biti_u_sobi(Natko)=0,6
Stupnjevi mogućnosti iskazuju naš subjektivni osjećaj gdje je Natko poznavajući navike njegovog
ponašanja.
Mogućnost da je Natko u kuhinji je 0,3 , a mogućnost da je Natko u sobi je 0,6.
Negacija ¬ se u svim neizrazitoj logici definira izrazom
¬
P*(X)= 1 - p
Za naš primjer vrijedi:
¬
biti_u_kuhinji(Natko)= 1 0,3 = 0,7
¬
biti_u_sobi(Natko)= 1 0,6 = 0,4
odnosno
Mogućnost da Natko nije u kuhinji je 0,7, a mogućnost$da$Natko$nije$u$sobi$je$0,4.$
Operator konjunkcije (veznik i) definira se matematičkom binarnom operacijom koja se naziva
triangularna ili T-norma. T-norma je funkcija sa Kartezijevog produkta zatvorenih intervala
[
0,1] na
isti taj zatvoreni interval:
T: [0;1] × [0;1] [0;1] (4-1)
sa svojstvima
KOMUTATIVNOSTI T(a ; b) = T(b ; a)
MONOTONOSTI T(a ; b)
£
T(c ; d), ako je a
£
c i b
£
d
ASOCIJATIVNOSTI T(a ; T(b; c)) = T(T(a ; b); c)
NUL ELEMENT T(a ; 0) = 0
4 PRIKAZIVANJE I POHRANA ZNANJA
103
ELEMENT IDENTITETA T(a ; 1) = a
Svaka T-norma ima svoju konormu koja se naziva S-norma a dobije se iz T-norme izrazom
S(a ; b) = 1 - T(1-a ; 1-b) (4-2)
S-norma također zadovoljava svojstva komutativnosti, monotonosti i asocijativnosti, a kod nje je
nul element 1, a element identiteta 0. U neizrazitoj logici S-norma služi za definiranje operatora
disjunkcije (veznik ili). Postoji puno različitih T-normi i S-normi i sve one mogu poslužiti kod definiranja
tablica istinitosti operacija neizrazite logike. U praksi je najpopularnija i možda najjednostavnija
neizrazita logika koja koristi operaciju minimuma (min) kao T-normu i operaciju maksimuma (max) kao
S-normu.
T(a ; b)= min(a ; b) (4-3)
S(a ; b) = max(a ; b) (4-4)
Ova se neizrazita logika zbog toga i naziva min-max neizrazita logika ili najčešće samo
neizrazita logika. Drugi primjer neizrazite logike je Lukasiewiczeva neizrazita logika kod koje
vrijedi:
T(a ; b)= max(0 ; a+b-1) (4-5)
S(a ; b) = min(a+b,1) (4-6)
a ponekad se koristi i produkt-suma neizrazita logika kod koje je:
T(a ; b)= a
.
b (4-7)
S(a ; b) = a + b - a
.
b (4-8)
U nastavku razmatramo samo min-max neizrazitu logiku koju ćemo dalje jednostavno nazivati
samo neizrazita logika. Tablica 4-5 daje istinitosti osnovnih logičkih operatora neizrazite logike.
Tablica 4-5. Tablica istinitosti tvrdnji povezanih različitim logičkim operatorima neizrazite min-max
logike
!
"
!
"
#
!
"
"
!
!
p
q
max(p;1-p;q;1-q)
max(p;q)
max(p;1-q)
p
!
"
!
"
"
!
"
!
"
p
q
max(1-p;q)
q
min(max(1-p;q);
max(p;1-q))
min(p;q)
!
"
!
|
"
!
)*+)"
¬"
"
!
p
q
max(1-p;1-q)
max(min(1-p;q);
min(p;1-q))
1-q
min(p;1-q)
!
"
¬!
!
"
!
"
p
q
1-p
min(1-p;q)
min(1-p;1-q)
min(p;1-p; q;1-q)
U tablici je navedena standardna definicija operacije implikacije, međutim u praksi se najviše
koristi još jednostavnija definicija implikacije koja je poznata kao Mamdanieva implikacija:
P*(X)
®
Q*(X) = min (p ; q) (4-9)
Ime je dobila po profesoru Ebrahimu Mamdaniu (1942.-2010.) koji je tijekom rada na Queen
Mary Collegu u Londonu 1977. godine objavio prvu praktičnu primjenu neizrazite logike u vođenju
složenog procesa koji je uspješno do tada mogao voditi samo čovjek. Na taj način uveo je pojam
4 PRIKAZIVANJE I POHRANA ZNANJA
104
neizrazitog vođenja (engl. Fuzzy Control), komercijalno sigurno najuspješnijeg proizvoda inteligentnih
tehnologija.
Vratimo se Natku i njegovom boravku u stanu. Istinitost tvrdnji: Natko je u kuhinji i u sobi.” i
Natko je u kuhinji ili u sobi.” računamo u duhu min-max neizrazite logike
P*(X)
Ù
Q*(X)= min(p ; q)
P*(X)
Ú
Q*(X)= max(p ; q)
biti_u_kuhinji(Natko)
Ù
biti_u_sobi(Natko) = min (0,3 ; 0,6) = 0,3
biti_u_kuhinji(Natko)
Ú
biti_u_sobi(Natko) = max (0,3 ; 0,6) = 0,6
Zadehova neizrazita logika
Zadehova neizrazita logika povezana je s postupkom koji se zove računanje s riječima (engl.
CWW Computing With Words). Zadeh je predložio ideju pridavanja matematičkog značenja riječima i
rečenicama prirodnog jezika korištenjem neizrazitih skupova. Računanje s riječima omogućava uspješnu
matematičku formalizaciju znanja čovjeka iskazanu riječima i rečenicama prirodnog jezika pogodnu za
primjenu u sustavima automatskog zaključivanja.
Kod ove neizrazite logike istinitost tvrdnje P određujemo lingvističkim vrijednostima istinitosti
t(P) koji pripadaju prebrojivom skupu TV (kratica dolazi od engl. riječi Truth Values), na primjer:
TV = {istinito, lažno, neistinito, vrlo istinito, ne vrlo istinito, prilično istinito, ... }
Svaka od ovih lingvističkih vrijednosti istinitosti se definira neizrazitim skupom definiranom
preslikavanjem sa zatvorenog intervala [0;1] na taj isti interval:
G
"#$%
:
[
0; 1
]
[0; 1]
(4-10)
Pri tome je dovoljno definirati samo neizraziti skup lingvističke vrijednosti istinito, a ostale
lingvističkih vrijednosti istinitosti računamo koristeći odgovarajuću matematičku formu za modeliranje
dodanih riječi ne, vrlo, prilično itd. Zadeh ove dodane riječi naziva ograde (engl. Hadges), a definira
ih pravilima proračuna (engl. Rules of Computation). Za pridružna funkcija pojma istinito
µ
istinito
(X),
X
Î
[0;1], ostale vrijednosti istinitosti iz skupa TV definiramo izrazima:
µ
lažno
(X) =
µ
istinito
(1 - X) (4-11)
µ
neistinito
(X) = 1 -
µ
istinito
(X) (4-12)
µ
vrlo_istinito
(X) = (
µ
istinito
(X))
2
(4-13)
µ
prilično_istiniti
(X) = (
µ
istinito
(X))
1/2
(4-14)
Treba uočiti razliku između pojmova „lažno i neistinito. Lažno je vrijednost istinitosti
negacije tvrdnje P koju zapisujemo
t
(
¬
P), dok je neistinito negacija istinitosti tvrdnje P koja zapisujemo
¬t
(P).
Pogledajmo primjer s diskretnim neizrazitim skupovima istinitosti koji se u praktičnim
primjenama više koriste. Za razliku od kontinuiranih neizrazitih skupova istinitosti koji kao podršku Ω
imaju kontinuirani interval [0;1], kod diskretnih neizrazitih skupova istinitosti vrijednosti su ograničene
na diskretni skup podrške. U našem primjeru on će imati 11 vrijednosti
W
D
= {0 ; 0,1 ; 0,2 ; 0,3 ; 0,4 ; 0,5
; 0,6 ; 0,7 ; 0,8 ; 0,9 ; 1}. Lingvističke vrijednosti istinitosti sada definiramo preslikavanjem:
G
"
:
W
&
[0; 1]
(4-15)
Pri tome koristimo poseban način zapisivanja. Pogledajmo ga na primjeru definiranja pojma „istinito
diskretnim neizrazitim skupom:
µ
istinito
(X) =0,2/0,6+0,4/0,7+0,6/0,8+ 0,8/0,9+1/1
4 PRIKAZIVANJE I POHRANA ZNANJA
105
U ovom se zapisu ne radi se o razlomcima ili operacijama dijeljenja i zbrajanja, već o simboličkom zapisu
diskretnog neizrazitog skupa. U brojniku je vrijednost istinitosti, a u nazivniku element diskretne
podrške kojem je ta vrijednost pridijeljena. Uobičajeno je da se u ovakvom zapisu ne navode one
vrijednosti podrške za koje je vrijednost pridružne funkcije 0. Interpretiramo ga na slijedeći način.
Istinitost elementa podrške 1 pripada pojmu „istinito sa stupnjem pripadnosti 1, elementa 0,9 sa
stupnjem pripadnosti 0,8 itd, a svi elemenati podrške manji ili jednak od 0,5 ne pripadaju pojmu „istinito.
Sada definiramo i ostale vrijednosti istinitosti:
µ
lažno
(X) =1/0+0,8/0,1+0,6/0,2+ 0,4/0,3+0,2/0,4
µ
neistinitoi
(X) =1/0+1/0,1+1/0,2+1/0,3+1/0,4+1/0,5+0,8/0,6+0,6/0,7+0,4/0,8+ 0,2/0,9+0/1
µ
vrlo_istinito
(X) =0,04/0,6+0,16/0,7+0,36/0,8+ 0,64/0,9+1/1
µ
prilično_istiniti
(X) =0,45/0,6+0,63/0,7+0,77/0,8+ 0,89/0,9+1/1
Slika 4-8 prikazuje pridružne funkcije ovih vrijednosti istinitosti.
Slika 4-8. Pridružne funkcije diskretnih vrijednosti istinitosti
Pogledajmo sada primjere korištenja logičkih operatora negacije. Uzmimo tvrdnju
P = „Natko crta dobro.” čija je istinitost vrlo istinito definirana pridružnom funkcijom:
t
(P) =0,4/0,6+0,16/0,7+0,36/0,8+ 0,64/0,9+1/1
Da je istinitost ove tvrdnje bila ne vrlo istinito tada bi njena pridružna funkcija bila:
¬t
(P) = (1-0)/0+(1-0)/0,1+(1-0)/0,2+(1-0)/0,3+(1-0)/0,4+(1-0)/0,5+(1-0,4)/0,6+(1-0,16)/0,7+
+(1-0,36)/0,8+ (1-0,64)/0,9+(1-1)/1 =
=1/0+1/0,1+1/0,2+1/0,3+1/0,4+1/0,5+0,6/0,6+0,84/0,7+0,64/0,8+0,36/0,9
što je potpuno drugačije od istinitosti tvrdnje
¬
P = „Natko ne crta dobro.” čija bi pridružna funkcija bila:
t
(
¬
P) = 0,4/(1-0,6)+0,16/(1-0,7)+0,36/(1-0,8)+ 0,64/(1-0,9)+1/(1-1) =
= 0,4/0,4+0,16/0,3+0,36/0,2+ 0,64/0,1+1/0 = 1/0+0,64/0,1+0,36/0,2+0,16/0,3+0,4/0,4
Kod primjene ostalih logičkih operatora koristi se princip ekstenzije (engl. Extension principle)
temeljen na Tablici 4-5, čiji detaljni opis prelazi okvire ovog udžbenika, pa upućujemo čitaoce na
literaturu
56
.
Spomenimo još i to da je jedna od razlika između beskonačno valjanih logika predloženih
početkom 20. stoljeća i Zadehove neizrazite logike u tome što, na primjer, Łukasiewiczeva beskonačno
valjana logika poznaje samo dva kvantifikatora kao i klasična logika (svi i neki), a neizrazita logika uvodi,
bar teorijski, beskonačno mnogo kvantifikatora na način jednak onome na koji su kvantifikatori
definirani i u prirodnom jeziku. Jezik poznaje veliki broj kvantifikatora na primjer, kada u jeziku neko
56
Na primjer rad Abdul Khaliq i Amais Ahmad Fuzzy Logic and Approximate Reasoning" - https://www.diva-
portal.org/smash/get/diva2:832139/FULLTEXT01.pdf
4 PRIKAZIVANJE I POHRANA ZNANJA
106
svojstvo želimo pridijeliti određenoj grupi jedinki, onda se može kazati: skoro svi”, jako puno”, vrlo
malo”, ne više od 100”, velika većina”, teško bilo koji”, skoro ni jedan” itd. Njihovo značenje je svima
dobro poznato, a pitanje je kako ovakve izraze matematički formalizirati. Koristi se isti princip kao kod
definiranja vrijednosti istinitosti temeljen na Zadehovom računanju s riječima.
Ovako definirana neizrazita logika ne zadovoljava brojna svojstva koja bi formalna logika morala
zadovoljavati, pa se po nekim autorima i ne može smatrati logikom. Osnovni problem je taj što kod
proračuna istinitosti složene tvrdnje sastavljene iz više tvrdnji povezanih logičkim operatorima ne dobije
neka od vrijednosti iz skupa dozvoljenih vrijednosti istinitosti TV. Najčešće se dobije neizraziti skup
istinitosti koji se ne poklapa niti s jednim od dozvoljenih neizrazitih skupova vrijednosti istinitosti iz
skupa TV. I sam Zadeh je bio svjestan ovog problema, pa je predložio postupak lingvističke
aproksimacije (engl. Linguistic Approximation) kojim se dobiveni neizraziti skup preslikava u neku od
vrijednosti istinitosti iz skupa TV. Međutim i bez zadovoljavanja matematičkog formalizma neizrazita
logika je pronašla brojne praktične primjene u različitim područjima o čemu detaljnije govorimo u
poglavlju o neizrazitom zaključivanju i rasuđivanju.
Vjerojatnosne logike
Kao&zadnju logiku, možda jednu od najraširenijih, barem što se tiče upotrebe u dijagnostičkim
ekspertnim sustavima, navest ćemo tzv. vjerojatnosnu logiku, odnosno s njom povezano vjerojatnosno
zaključivanje.
Do sada smo uglavnom razmatrali metode kod kojih se pretpostavlja da je tvrdnja istinita ili
lažna, odnosno kod neizrazite logike negdje između istinite i lažne, a nismo uzeli u obzir mogućnost da
nešto bude vjerojatno istinito. Uvođenje vrijednosti istinitosti vodi prema vjerojatnosnom
zaključivanju i uglavnom se koristi kod tri tipa problema:
kada su ulazne informacije slučajne npr. distribucija oboljenja ljudi za vrijeme epidemije
vanjski svijet nije toliko slučajan, ali nemamo uvijek dostupne sve informacije, npr. izvjesnost
uspjeha ako neki lijek koristimo za liječenje neke bolesti i
svijet izgleda slučajan zato što ga nismo opisali dovoljno detaljno, npr. prepoznavanje pisanog
rukopisa.
Tipičan primjer je ekspertni sustav medicinske dijagnostike. Nikada se ne može tvrditi da su neki
simptomi apsolutno presudni za neku bolest, ali postoje vjerojatnosti (uvjetne vjerojatnosti) da je neka
hipoteza ispravna ako je prisutan određeni uvjet.
Vjerojatnosne logike su se uvele na različite načine, od jednostavne pretpostavke da su vrijednosti
istine vjerojatnosti, pa do kompleksnijih sustava kod kojih se vjerojatnosti ne povezuju direktno s
tvrdnjama. Ipak, najzanimljivija primjena vjerojatnosti je u vjerojatnosnom zaključivanju koje se
zasniva na Bayesovom teoremu. Osmislio ga je engleski matematičar, filozof i teolog Thomas Bayes
(1701. 1761.), a zanimljivo je da je prvi put javno prezentiran tek 1763. godine, dvije godine nakon
Bayesove smrti. O samom zaključivanju govorimo u jednom od sljedećih poglavlja, a ovdje naglasimo
samo to da se znanje potrebno za vjerojatnosno zaključivanje pohranjuje u vidu uvjetnih vjerojatnosti.
Poznata znanja vezana su s određenom hipotezom i uvjetima koji nju potkrepljuju. Ako su:
P(E|H
i
) vjerojatnosti da ćemo opaziti zadovoljenje uvjeta E ako je istinita hipoteza H
i
(uvjetna
vjerojatnost)
P(H
i
) vjerojatnost da je hipoteza H
i
istinita ako nemamo nikakvih opažanja (a priori vjerojatnost od H
i
),
P(E) vjerojatnost da je uvjet E istinit nezavisno od hipoteze H
i
(a priori vjerojatnost od E)
P(E
Ù
H
i
) vjerojatnost da su i uvjet E i hipoteza H
i
istiniti (združena vjerojatnost)
Bayesov teorem daje način kako izračunati:
P(H
i
|E) vjerojatnost da je hipoteza H
i
istinita ako je zadovoljen uvjet E (a posteriori vjerojatnost od H
i
):
!
"
#
L
$
%
&
'
M(N&∧&O
!
)
P(Q)
' (
M(N|O
!
)∙M
(
O
!
)
P(Q)
'
M(N|O
!
)∙M
(
O
!
)
M(N|O
!
)∙M
(
O
!
)
!
(4-16)
4 PRIKAZIVANJE I POHRANA ZNANJA
107
Uvjetne vjerojatnosti dobivamo na temelju stvarnog ponavljanja eksperimenta, za razliku od
stupnja mogućnosti neizrazite logike do kojih dolazimo na temelju subjektivne procjene eksperta.
Pogledajmo primjer proračuna uvjetne vjerojatnosti. Slika 4-9 prikazuje sliku na kojoj se nalazi
dim šumskog požara i ručno segmentirana slika na kojoj je dim izdvojen od strane čovjeka procjenitelja.
Slika 4-9. Ulazna slika na kojoj se vidi dim šumskog požara i ručno segmentirana slika na kojoj je samo
dim izdvojen od strane čovjeka procjenitelja
Neka je hipoteza H
i
Na slici je dim šumskog požara., a uvjet E pojava određene sive nijanse,
npr. srednje vrijednosti sive komponente rgb(127,127,127). Da bismo izračunali uvjetnu vjerojatnost
P(E|H
i
) treba nam n ovakvih različitih slika na kojima je dim šumskog požara i na kojima je dim ručno
segmentiran. Sljedeći je korak da za svih n slika, ali samo za onaj dio slike koji pripada dimu, prebrojimo
piksele koji imaju boju rgb(127,127,127). Ako ukupno na svim slikama imamo m piksela koji pripadaju
dimu, a k piksela ima boju rgb(127,127,127), uvjetna vjerojatnost da će neki piksel imati boju
rgb(127,127,127), ako pripada dimu je P(E|H
i
) = k/m. Detaljnije ćemo o zaključivanju korištenjem
vjerojatnosnog zaključivanja i rasuđivanju govoriti u poglavlju 5..
Nemonotone logike
Na kraju objasnimo još i pojam nemonotonih logika (engl. Non-monotonic Logic). Da bismo ih
shvatili, trebamo objasniti pojam monotonosti zaključivanja (engl. Monotonicity of Entailment).
Tradicionalni sustavi zasnovani na predikatnoj logici su monotoni u smislu nove činjenice ne dovode u
pitanje istinitost neke od već postavljenih tvrdnji. Na primjer istinitost klasičnog načina silogističkog
zaključivanja Ivan je muškarac. Svi muškarci nekad su bili dječaci. Zbog toga Ivan je nekad bio dječak.”
se ne mijenja ako uvedemo novu tvrdnju: Ivan je muškarac. Svi muškarci nekad su bili dječaci. Krave
daju mlijeko. Zbog toga Ivan je nekad bio dječak.”. Prednost ovakvog sustava je konzistentnost, što znači
da dodavanjem nove tvrdnje nije potrebno provjeravati jesu li prethodne tvrdnje s njom konzistentne i
nije potrebno pratiti koje su sve tvrdnje već dokazane. Nedostaci monotonih logika su što ne mogu
rješavati situacije kod kojih:
imamo nekompletne informacije
imamo promjenjive situacije ili
koristimo pretpostavke pri rješavanju,
a to su upravo problemi koji se javljaju pri rješavanju stvarnih životnih zadataka. Rijetko kada su nam
dostupne sve informacije potrebne za rješavanje određenih zadataka, međutim, iako informacije
nedostaju, uvijek postoji mogućnost pogađanja, ako ne postoje dokazi o protivnom.
Primjer: Pretpostavimo da smo pozvani na ručak u kuću u koju prvi put idemo. U prolazu
prolazimo pored prodavaonice cvijeća. Pitanje je hoćemo li domaćici kupiti cvijeće? Na ovu odluku utječe
velik broj činjenica, ali mi ćemo se vjerojatno držati općenitog pravila da većina ljudi voli cvijeće, pa
4 PRIKAZIVANJE I POHRANA ZNANJA
108
pretpostavljamo da i domaćica kod koje idemo također voli cvijeće, te ćemo cvijeće i kupiti. Međutim, ako
već na vratima osoba počne kihati zato što je alergična na cvijeće, mi nužno moramo mijenjati istinitost
prethodne tvrdnje, ali ne samo nje nego i svih tvrdnji koje su s njom povezane.
Ovakvo zaključivanje na temelju najvjerojatnijih pretpostavki naziva se abduktivno
zaključivanje o kojem više govorimo u Poglavlju 5. Primjer tvrdnji koje ga održavaju je većina ljudi voli
cvijeće”, većina pasa ima rep itd., pa ako nemamo dokaza u protivnost te tvrdnje, mi je prihvaćamo i po
njoj se rukovodimo. U praksi nam je često potreban baš ovakav način zaključivanja, a posebno u
situacijama kada imamo nepotpune informacije, promjenjive situacije ili situaciju kada za pronalazak
potpunog rješenja trebamo postaviti pretpostavke o parcijalnim rješenjima. Nemonotono zaključivanje
(engl. Non-monotonic Reasoning ) je zaključivanje kod kojeg osim abduktivnog zaključivanja imamo i
mogućnost mijenjanja istinitosti tvrdnji za koje smo ustanovili da više nisu istinite. Puno ga je teže
realizirati nego monotono zaključivanje, prije svega zato što uklanjanje neke od tvrdnji može utjecati na
niz drugih tvrdnji koje tada isto tako treba korigirati. Zbog toga je svaki put, osim izvedene tvrdnje, nužno
spremiti i cjelokupni dokaz, odnosno barem slijed tvrdnji na temelju kojih smo izveli danu tvrdnju.
Primjer sustava pomoću kojeg se može implementirati nemonotono zaključivanje je sustav
održavanja istinitosti (engl. TMS Truth Maintenance System). Uveo ga je 1979. godine Jon Doyle sa
MIT-a. TMS nije sustav zaključivanja, već sustav koji podržava zaključivanje na način da provjerava
konzistentnost baze znanja. Svaka od tvrdnji koja se u TMS-u naziva čvor može biti u jednom od dva
stanja:
IN kada za nju vjerujemo da je istinita
OUT kada ne vjerujemo da je istinita, bilo zbog toga što nema razloga da u nju vjerujemo bilo
zbog toga što trenutno nisu važeći razlozi da u nju vjerujemo.
Osim toga, svakom čvoru pridodajemo listu provjera pomoću kojih utvrđujemo valjanost
(istinitost) čvora. Jedna od takvih provjera je tzv. Support List (SL), a temelji se na tome da i svakom
pojedinom čvoru (tvrdnji) pridodamo listu čvorova na osnovi koje zaključujemo o valjanosti te tvrdnje i
koji su sada u IN-listi, te listu čvorova na osnovi koje bismo zaključivali lažnost, ali koji su trenutno u
OUT-listi. Pogledajmo primjer.
Čvor&(tvrdnja)&koji&ima&obje&liste&prazne&naziva&se&premisa.&Tipičan&primjer&je:&
(1) zima je (SL (.) (.))
To je čista tvrdnja koja je sada u generalnoj IN listi. Neka je druga tvrdnja:
(2) hladno je (SL (1) (.))
Ona u svoj listi na temelju koje zaključujemo njenu istinitost ima tvrdnju (1). Ovdje je važno
naglasiti da mi tvrdnje uključujemo nezavisno o TMS. TMS samo provjerava konzistentnost.
Pretpostavimo sada da imamo i treću tvrdnju:
(3) toplo je
koja nema ni jednu od lista zato što je trenutno u generalnoj OUT listi. Međutim, ako je (3) na popisu
trebamo izmijeniti (2) na način
(2) hladno je (SL (1) (3))
Ovakva tvrdnja naziva se pretpostavka. Ona je istinita ako je tvrdnja
(1) zima je - u IN-listi i tvrdnja
(3) toplo je - u OUT-listi.
Međutim, ako tvrdnja (3) uđe u IN listu
(3) toplo je (SL (.) (.))
tada tvrdnja (2) više nije istinita. Znači možemo imati dvije moguće situacije. Prva situacija:
IN ((1),(2)) OUT ((3))
(1) zima je (SL ( ) ( )) istinita
(2) hladno je (SL(1) (3)) istinita
4 PRIKAZIVANJE I POHRANA ZNANJA
109
(3) toplo je lažna
ili druga situacija:
IN ((1), (3)) OUT ((2))
(1) zima je (SL ( ) ( )) istinita
(2) hladno je (SL(1) (3)) lažna
(3) toplo je (SL( ) ( )) istinita
TMS uvijek provjerava sve pretpostavke. Međutim, ima slučajeva kada je broj pretpostavki velik
pa provjera konzistentnosti oduzima mnogo vremena. Zbog toga je razvijen i sustav održavanja
istinitosti temeljen na pretpostavkama (engl. ATMS - Assumption Truth Maintenance System)
kod
kojega se na osnovi pretpostavki višeg reda provjeravaju samo pojedine pretpostavke iz baze znanja.
4.4
Strukturna pohrana znanja
Kognitivna psihologija razlikuje dva tipa znanja: deklarativno i proceduralno. Deklarativno
znanje je statičko znanje koje se odnosi na činjenice, njihove atribute i relacije među njima, na primjer
C je treće slovo abecede, krava ima 4 noge, krava je sisavac i slično. Proceduralno znanje je dinamičko
znanje koje se odnosi na to kako se nešto događa ili kako se nešto postiže, na primjer postupak kako se
kuha čaj.
Znanje se formalno pohranjuje u baze znanja, strukturne forme organizirane tako da se lako može
doći do bilo kojeg elementa unesenog znanja, ali isto tako i jednostavno provoditi rasuđivanje, traženje
zaključaka, novoga znanja koje nije već eksplicitno prisutno u bazi znanja. Strukturno organiziranje baza
znanja jednim je dijelom preuzelo podjelu znanja na tipove koje predlaže kognitivna psihologija, pa su
razvijene različite deklarativne i proceduralne sheme za pohranu znanja, ali su uz njih predložene i neke
druge strukture. Sve ih možemo grubo svrstati u četiri grupe (slika 4-10):
Slika 4-10. Neke od shema za strukturnu pohranu znanja
logičke sheme za prikaz znanja
deklarativne (mrežne) sheme za prikaz znanja
4 PRIKAZIVANJE I POHRANA ZNANJA
110
proceduralne sheme za prikaz znanja i
okvire.
U logičke sheme spada prikaz znanja temeljen na matematičkoj logici, kako standardnoj tako
i nestandardnoj, dok se postupak zaključivanja temelji na pravilima zaključivanja. Možda najvažniji
predstavnik logičkih shema su produkcijski sustavi temeljeni na logičkoj implikaciji
57
. Ovakav način
pohrane znanja već smo upoznali kod problema dvaju vrčeva. Znanje o tome kako iz jednog stanja
prostora rješenja zadatka prijeći u sljedeće stanje formalno je bilo zapisano nizom logičkih implikacija.
One su na lijevoj strani imale uvjet za primjenu pravila, a na desnoj rezultat do kojeg se došlo primjenom
pravila. Možemo kazati da su produkcijski sustavi danas sigurno jedan od najrasprostranjenijih načina
pohrane znanja pa ćemo ih u nastavku posebno obrađivati. U logičke sheme za prikaz znanja svakako
trebamo uključiti i opisnu (deskriptivnu) logiku uvedenu kao formalni jezik za predstavljanje znanja
u potpunosti temeljen na logici, a s njom je usko vezan i OWL (engl. Web Ontology Language), jezik za
formalni zapis ontologija, pa ćemo o opisnoj logici više kazati pri kraju ovog poglavlja.
U deklarativne ili mrežne sheme, koje se ponekad zovu i asocijativne sheme, znanje se
pohranjuje u obliku objekata (koncepata) i njihove relacijske i asocijativne povezanosti. Grafički prikaz
ovakvog načina pohrane znanja su mrežni prikazi (liste, grafovi) kojima se naglašava povezanost
pojedinih elemenata znanja. Mrežnim shemama pohranjuje se statičko znanje. Najistaknutiji
predstavnici su semantičke mreže i konceptualne ovisnosti. Ovdje bismo mogli na neki način uključiti
i ontologije, razvijene u okviru semantičkog Weba. Iako su ontologije primarno razvijene za formalno
definiranje kategorija, svojstava i relacija između koncepata, entiteta i podataka unutar određene
domene u svrhu razmjene znanja između različitih agenata, prije svega računalnih, a ne za pohranu
znanja i formiranje baza znanja, one ipak predstavljaju strukturni način formalnog prikaza znanja iz
neke domene. Kod projektiranja inteligentnih sustava obično se najprije kreće od definiranja ontologije
domene u kojoj će inteligentni sustav djelovati.
Proceduralne sheme služe i za prikaz proceduralnog, dinamičkog znanja. Proceduralan prikaz
znanja ujedno je i stvarni plan kako znanje koristi u dinamičkom rješavanju nekog zadatka. Spomenut
ćemo scenarij, proceduralnu shemu koja je direktno preuzeta iz stvarnog života i korištena kod pohrane
znanja o dinamičkim postupcima. U proceduralne sheme neki autori ubrajaju i produkcijske sustave s
obzirom na to da produkcijska pravila daju posljedicu primjene određenog pravila, ako je uzročni dio
zadovoljen.
Okviri u svemu tome imaju posebno mjesto kao neka vrsta fuzije deklarativnih i proceduralnih
metoda. Okviri su strukture preko kojih na primjer možemo implementirati semantičku mrežu kojoj smo
dodali i proceduralni dodatak kako manipulirati pohranjenim znanjem.
U nastavku se kratko opisuju osnovne značajke najznačajnijih struktura za pohranu znanja, a
tko želi naučiti više, upućujemo ga na literaturu u posljednjem poglavlju.
4.4.1 Produkcijski sustavi
Logički sustavi služe prije svega za osnovno prikazivanje (kodiranje) znanja, a postoji niz primjera
vrlo uspješnih inteligentnih sustava kod kojih je znanje i strukturno pohranjeno samo u obliku logičkih
propozicija. Tipičan primjer su produkcijski sustavi (engl. Production Systems), ponekad zvani i
produkcijski sustavi pravila (engl. Production Rule Systems) ili sustavi temeljeni na pravilima
(engl. RDSs Rule Based Systems), kod kojih su osnovni dijelovi baze znanja uzročno-posljedična ako
onda pravila (engl. If ... Then ... Rules), matematički formalizirana logičkom implikacijom. Ovakve
baze znanja imaju posebno mjesto u sustavima umjetne inteligencije, a s njima smo se već susreli kod
problema dvaju vrčeva.
57
Napomenimo da neki autori produkcijske sustave uključuju u proceduralne sheme za prikaz znanja, međutim kako
se u potpunosti temelje na formalnoj logici i logičkim pravilima zaključivanja, u okviru ovog teksta ipak smo ih
uključili u logičke sheme za pohranu znanja.
4 PRIKAZIVANJE I POHRANA ZNANJA
111
Rečenicu Napuni 4-litarski vrč. (iz problema dvaju vrčeva) formalno zapisujemo logičkom
implikacijom (x, y | x < 4)
®
(4, y),&čija bi jezična interpretacija bila: Ako vrč od 4 litre nije pun, onda ga
napuni do vrha. Na lijevoj je strani formalni opis situacije kod kojeg možemo primijeniti ovo pravilo, a
na desnoj posljedica, stanje koje ćemo dobiti nakon što pravilo primijenimo. Lijeva je strana Ako... uvjet,
stanje, premisa, antecedenta, a desna onda... posljedica, akcija, zaključak, konsekventa.
Matematičar i logičar Emil Leon Posta (1987. 1954.) jedan je od prvih znanstvenika koji se
bavio produkcijskim pravilima, pa je između ostalog dokazao da se svaki matematički ili logički sustav
može prikazati nekom vrstom produkcijskih pravila. U području umjetne inteligencije početkom 1970-ih
godina uvode ih pioniri umjetne inteligencije Allen Newell i Herbert A. Simon nazivajući svako
produkcijsko pravilo osnovnom granulom znanja (engl. Chunk of Knowledge).
Formalni zapis jednog produkcijskog pravila je logička implikacija P
®
Q, a produkcijski sustav
sastoji se od n produkcijskih pravila međusobno povezanih logičkim operatorom disjunkcije (veznik ili):
(P
1
®
Q
1
)
∨&&
(P
2
®
Q
2
)
∨&...&∨
(P
n
®
Q
n
)
&
(4-17)
Na primjer, kod jednostavnog opisa načina funkcioniranja sustava grijanja s tri pravila (koji ćemo
spominjati kod neizrazitog zaključivanja) možemo pisati:
(1) Ako je temperatura niska, onda grijanje jako. ili
(2) Ako je temperatura srednja, onda grijanje srednje. ili
(3) Ako je temperatura visoka, onda grijanje malo.
I na lijevoj strani antecedente i na desnoj strani konsekvente može biti i složeni logički izraz, na
primjer kod sustava koji upravlja i temperaturom i vlažnošću zraka produkcijsko pravilo može biti:
Ako je temperatura niska i vlažnost niska, onda grijanje jako i ovlaživanje jako.
što formalno možemo zapisati:
(P
1
Ù
R
1
)
®
(Q
1
Ù
U
1
)
Na primjer, u dijagnostičkom sustavu pokretanja automobila možemo definirati tri pravila:
Ako automobil neće upaliti, onda provjerite bateriju i provjerite gorivo.
Ako baterija slaba, onda napunite bateriju.
Ako goriva nema, onda napunite gorivo.
što formalno zapisujemo:
P
1
®
(Q
1
Ù
U
1
)
Q
1
®
S
1
U
1
®
T
1
Temeljni postupak zaključivanja kod produkcijskog sustava je eliminacija implikacije i to
modus ponens, koji smo već spominjali kod silogističkog zaključivanja:
Ivan = muškarac
svi muškarci
®
dječaci
Ivan = dječak
i modus tollens, ali o njima više u poglavlju o logičkom zaključivanju. Ovdje ćemo samo spomenuti
ulančavanje (engl. Chaining)
produkcijskih pravila. Ulančavanje može biti unaprijed (engl. Forward
Chaining)
ili unatrag (engl. Backward Chaining). Na primjer, kod primjera dijagnostičkog sustava
pokretanja automobila ulančavanje unaprijed bilo bi:
Ako automobil neće upaliti, onda provjerite bateriju.® Ako je baterija slaba, onda napunite bateriju.
a unatrag:
4 PRIKAZIVANJE I POHRANA ZNANJA
112
Ako se bateriju treba napuniti, onda znači da je slaba.® Ako je baterija slaba, onda automobil neće
upaliti.
Poseban problem produkcijskih sustava je pojava konflikata. Konflikt je situacija kada
nekoliko pravila iz baze znanja zadovolje trenutni uvjet (stanje, premisu, antecedentu). Pitanje je koje
pravilo primijeniti? Kako bi se razriješila ova situacija, produkcijski sustav treba imati mehanizam
razrješavanja konflikata (engl. Conflict Resolution Strategy). To je moguće ostvariti na više načina:
red pojavljivanja pravila primijeni pravilo koje se prvo pojavilo
vremenski zadnje pravilo primijeni pravilo koje je po vremenu zadnje dodano
do sada nekorišteno pravilo primijeni pravilo koje do sada nije bilo korišteno
pravilo koje je više određeno primijeni pravilo koje najviše sužava ulazne uvjete (ima
najviše ulaznih uvjeta)
proizvoljno primijeni pravilo slučajnim izborom.
Prolog je programski jezik u potpunosti prilagođen programiranju produkcijskih sustava.
Primjer realizacije u Prologu
58
problema punjenja dvaju vrčeva je:
% Pravila pretakanja
move(s(X,Y),s(4,Y)):- X is 0.
move(s(X,Y),s(X,3)):- Y is 0.
move(s(X,Y),s(0,Y)):- X > 0.
move(s(X,Y),s(X,0)):- Y > 0.
move(s(X,Y),s(0,Z)):- Z is X + Y, Z =< 3.
move(s(X,Y),s(Z,0)):- Z is X + Y, Z =< 4.
move(s(X,Y),s(Z,3)):- Z is X - (3 - Y), Z >= 0.
move(s(X,Y),s(4,Z)):- Z is Y - (4 - X), Z >=0.
% Zaključivanje
moves(Xs):- moves([s(0,0)],Xs).
moves([s(X0,Y0)|T], [s(2,Y1),s(X0,Y0)|T])
:- move(s(X0,Y0),s(2,Y1)), !.
moves([s(X0,Y0)|T],Xs):-
move(s(X0,Y0),s(X1,Y1)),
not(member(s(X1,Y1),[s(X0,Y0)|T])),
moves([s(X1,Y1),s(X0,Y0)|T],Xs).
pokreni:- moves(Xs), write(Xs), nl, fail.
Početno stanje je s(0,0), a konačno stanje s(2,Y1)
59
. Pokretanjem naredbe pokreni dobije se dio
kraćih rješenja
60
, a među njima su i dva najkraća od 7 koraka koja smo već naveli u Poglavlju 2 kod
definiranja problema dvaju vrčeva.
58
58
Korišten je online Prolog interpreter - https://swish.swi-prolog.org
59
Napomena: Ako želimo neko drugo završno stanje, npr. (2,0), tada s(2,Y1) na oba mjesta trebamo zamijeniti sa
s(2,0), a ako želimo neko drugo početno stanje, tada s(0,0) trebamo zamijeniti s njim.
60
Napomena: Ako želimo dobiti sva moguća rješenja, treba ukloniti ! iz naredbe:
moves([s(X0,Y0)|T], [s(2,Y1),s(X0,Y0)|T] :- move(s(X0,Y0),s(2,Y1)), !.
4 PRIKAZIVANJE I POHRANA ZNANJA
113
?- pokreni
[s(2,3),s(4,1),s(0,1),s(1,0),s(1,3),s(4,0),s(0,0)]
[s(2,0),s(0,2),s(4,2),s(3,3),s(3,0),s(0,3),s(1,3),s(4,0),s(0,0)]
[s(2,0),s(0,2),s(4,2),s(3,3),s(3,0),s(0,3),s(4,3),s(4,0),s(0,0)]
[s(2,3),s(4,1),s(0,1),s(1,0),s(1,3),s(4,0),s(4,2),s(3,3),s(3,0),s(0,3),s(0,0)]
[s(2,0),s(0,2),s(4,2),s(3,3),s(3,0),s(0,3),s(0,0)]
[s(2,3),s(4,1),s(0,1),s(1,0),s(1,3),s(4,0),s(4,3),s(0,3),s(0,0)]
false
Algoritam traženja je povratni (engl. Backtracking) pa je zato početno stanje krajnje desno, a završno na
početku. Drugi programski jezik posebno razvijen za izgradnju produkcijskih sustava je Jess
61
. Jess je
pisan u Javi, a kod procesiranja pravila koristi Rete algoritam
62
, vrlo efikasan algoritam za rješavanje
složenijih poklapanja.
Produkcijskim sustavima još ćemo se vraćati u poglavlju 4.4.6 gdje govorimo o ontologijama i
zaključivanju korištenjem ontologija, te posebno u poglavlju 5 u kojem detaljno obrađujemo problematiku
zaključivanja i rasuđivanja.
4.4.2 Semantičke mreže
Mrežne strukture za prikaz znanja imaju dugu povijest. Grčki neoplatonski filozof Porphyry iz
Thyre (234. 305.) predložio je hijerarhijski prikaz oblika stabla s korijenom na vrhu za prikaz
Aristotelovih kategorija. Sličnu strukturu imaju i semantičke mreže koje se u umjetnoj inteligenciji
koriste za prikaz statičkog, deklarativnog znanja, inspirirane prije svega pretpostavkom vezanom uz to
kako funkcioniraju ljudske dugotrajne asocijativne memorije (engl. Long-Term Associative
Memories). Pretpostavlja se da se ljudsko dugotrajno pamćenje temelji na relacijski povezanim različitim
činjenicama, na primjer kada osjetimo miris jela koji je u djetinjstvu kuhala baka, miris povezujemo i s
bakom i s jelom koje je ona kuhala.
U računarstvu se ideja semantičkih mreža prvi put pojavila ranih 1960-ih godina i bila je vezana
uz problematiku strojnog prevođenja prirodnog jezika. Semantičke mreže prvi je spomenuo Richard
Hook Richens (1919. 1984.) 1956. godine kao međujezik za strojno prevođenje prirodnih jezika.
Osnovna je ideja semantičkih mreža pohraniti znanje u obliku semantičkih relacijskih veza između
koncepata. Margarete Masterman (1910. 1986.) je 1961. godine definirala skup od 100 primitivnih
tipova koncepata za definiranje 15.000 koncepata. U konačnom obliku definirala ih je grupa znanstvenika
ranih 1960-ih godina radeći na projektu SYNTHEX, a M. Ross Quillian ih je u konačnoj formi uobličio
u svojoj doktorskoj disertaciji Semantic Memory1966. godine (Quilian, 1966., 1967.).
Postoje različiti tipova semantičkih mreža, a možda su najzanimljivije hibridne koje uključuju
različite tipove, npr. definicijske mreže (engl. Definitional Networks)
koje naglašavaju podtipove
koncepata i koriste poveznice klasa i sub-klasa (relacija isa detalji u nastavku) i izjavne mreže (engl.
Assertional Networs)
kod kojih se izjavljuju propozicije npr. svojstva koncepata (relacija has detalji u
nastavku).
Grafički prikaz semantičke mreže je usmjereni graf gdje su čvorovi koncepti, a usmjerene grane
relacijska veza između njih. Kod semantičkih mreža i ljudskih asocijativnih mreža imamo koncepte u
čvorovima i relacijske veze između njih, s tim da su kod semantičkih mreža relacijske veze formalizirane
standardnim relacijama.
Slika 4-11 prikazuje primjer semantičke mreže kojom opisujemo otok Brač.
i zamijeniti je naredbom:
moves([s(X0,Y0)|T], [s(2,Y1),s(X0,Y0)|T] :- move(s(X0,Y0),s(2,Y1)).
61
https://www.jessrules.com/jess/
62
https://www.jessrules.com/doc/71/rete.html
4 PRIKAZIVANJE I POHRANA ZNANJA
114
Slika 4-11. Dio semantičke mreže kojom opisujemo otok Brač
Čvorovi su koncepti (pojmovi), a grane relacije između njih. Standardne relacije su:
isa od engleskih riječi is a u hrvatskom prijevodu jepovezuje klasu i super-klasu, npr.
Brač je otok (u semantičkoj mreži formalno Brač isa otok) ili cijeli slijed nasljeđivanja:
srdela isa plava_riba ®plava_riba isa riba$®$riba$isa$živ o tinja”$® životin ja $isa$živo_biće”.&
ako od engleskih riječi a kind of ili ponekad inst ili instance of u hrvatskom
prijevodu je vrstapovezuje jedinku i klasu npr. „otok je vrsta reljefnog oblika(u semantičkoj
mreži formalno otok ako reljefni_oblik).
is_a_part u hrvatskom prijevodu je dio povezuje svojstveni dio i cjelinu, npr. Supetar
je dio Brača(u semantičkoj mreži formalno Supetar is_a_part Brač). Pogledajmo i primjer s
nasljeđivanjem: leća is_a_part oka ®oko is_a_part glave ®glava is_a_part ribe”.
has u hrvatskom prijevodu ima povezuje objekt i njegove atribute, npr. Brač ima
razvedenu obalu (u semantičkoj mreži formalno Brač has razvedenu_obalu). Ponekad se
koristi i prop od engleske riječi property u prijevodu svojstvo.
relacije svojstava koje se proizvoljno nazivaju ovisno o kojim svojstvenim konceptima
govorimo. Kod otoka Brača to su naseljenost, povezanost, poljoprivredne_kulture, itd. Na
primjer, u relaciji: Brač je dobro naseljen. (u semantičkoj vezi formalno iskazano Brač
naseljenost dobra). U primjeru na slici 4-10 nismo koristili proizvoljne relacije svojstava već
smo sve relacije nastojali svesti na standardne, pa smo umjesto Brač naseljenost dobra
koristili Brač has dobru_naseljenost.
Sliku 4-10 bismo mogli opisivati s pola stranice teksta: Brač je otok. Otoci su vrste reljefnog
oblika. Dio otoka Brača je Supetar. Supetar je naselje. Supetar ima trajektnu luku. Brač je dobro naseljeni
otok . Semantička mreža sve to vrlo jednostavno prikazuje i što je možda još i važnije omogućava
4 PRIKAZIVANJE I POHRANA ZNANJA
115
zaključivanje koristeći prije svega principe nasljeđivanja
ili tranzitivnosti (engl. Inheritance). Ako x
ima neka svojstva, a y je na primjer relacijom isavezan s njim, onda je i y preuzeo sva ta svojstva. Na
primjer, uzmimo relaciju opis koja za otok kaže okružen vodom&što&bismo&jezično&iskazali&Otok je sa
svih strana okružen vodom. Kako vrijedi Brač je otok, onda je on i preuzeo sva svojstva otoka pa tako
vrijedi i Brač je sa svih strana okružen vodom.”.
Standardne relacije u predikatnoj logici najčešće uzimamo kao predikate:
isa(Brač,otok) = isa(x,y)
isa(otok,reljefni_oblik) = isa(y,z)
pa tada tranzitivnost definiramo implikacijom:
x
y
z isa(x,y)
isa(y,z)
®
isa(x,z)
što jezično interpretiramo kao Kako je Brač otok, a otok je reljefni oblik, onda je i Brač reljefni oblik.
Zaključivanje u semantičkim vezama temelji se na praćenju veza u mreži. Nasljeđivanje postaje
složenije u slučaju višestrukog nasljeđivanja kada koncept pripada većem broju kategorija (npr. da smo
za otok kazali istovremeno i da je vrsta reljefnog oblika i da je vrsta konceptualnog iskazivanja pojma
usamljenosti). Nasljeđivanje u tom slučaju nije jednoznačno, te vraća različite koncepte koji ponekad
mogu biti i kontradiktorni. Vezano uz ovaj primjer naglasimo da u semantičkim mrežama postoje i
disjunktivne (ili) i konjunktivne (i) standardne veze. Na primjer, za disjunktivnu vezu Otok je reljefni
oblik ili Otok je konceptualni pojam usamljenosti, a za konjunktivnu Supetar je dio Brača i Supetar
je bračka općina”.
Na kraju pogledajmo još i kako možemo u obliku semantičkih mreža pohraniti znanje iskazano
rečenicama prirodnog jezika korištenjem proizvoljnih relacijskih svojstava:
Ivan i Marija se vole i Ivan je dao Mariji knjigu Otok”.
4 PRIKAZIVANJE I POHRANA ZNANJA
116
Vina vinarije Vina Brač 1903' imaju najmanju etiketu koja je dobila nagradu Golden Drum za tržišnu
komunikaciju.
Slika 4-12. Dva jezična iskaza i odgovarajuće semantičke mreže
Semantičke mreže jednostavno se definiraju u standardnim programskim jezicima umjetne
inteligencije Lispu i Prologu. Na primjer, koncept Brač sa slike 4-10 u Lispu možemo definirati:
(setq *database*
'((brac (isa otok)
(has dobra_naseljenost)
(has razvedena_obala)
(has dobra_povezanost))
(supetar (isa naselje)
(is_a_part brac)
(has trajektna_luka))))
Algoritam 4-1 daje primjer realizacije cijele semantičke mreže sa slike 4-10 u Prologu, te primjere
zaključivanja. Kod definiranja pravila nasljeđivanja korištena je rekurzija i proceduralna apstrakcija.
Algoritam 4-1. Realizacija semantičke mreže koja opisuje dio otoka Brača sa slike 4-10 u Prologu
% Činjenice
isa(brac,otok).
isa(supetar,naselje).
isa(vidova_gora,planina).
%
ako(otok,reljefna_forma).
ako(planina,reljefna_forma).
%
is_a_part(supetar,brac).
is_a_part(vidova_gora,brac).
%
has(okruzen_vodom,otok).
has(dobra_naseljenost,brac).
4 PRIKAZIVANJE I POHRANA ZNANJA
117
has(razvedena_obala,brac).
has(dobra_povezanost,brac).
has(vidikovac, vidova_gora).
has(trajektna_luka,supetar).
%
% Pravilo podklase
podklasa(X,Y):-isa(X,Y).
podklasa(X,Y):-isa(X,Z),podklasa(Z,Y).
%
% Pravilo primjerka
primjerak(X,Y):-ako(X,Y).
primjerak(X,Y):-ako(X,Z),podklasa(Z,Y).
%
% Pravilo biti_dio
biti_dio(X,Y):-is_a_part(X,Y).
biti_dio(X,Y):-is_a_part(X,Z),biti_dio(Z,Y).
%
% Pravilo svojstva
svojstvo(X,Y):-has(X,Y).
svojstvo(X,Y):-primjerak(Y,Z),svojstvo(X,Z).
svojstvo(X,Y):-podklasa(Y,Z),svojstvo(X,Z).
svojstvo(X,Y):-biti_dio(Y,Z),svojstvo(X,Z).
Primjer zaključivanja
63
s ovom semantičkom mrežom:
? podklasa(brac,Y)
Y=otok
?- primjerak(X,Y)
X=otok
Y=reljefna_forma
X=planina
Y=reljefna_forma
? biti_dio(X,brac)
X=supetar
X=vidova_gora
? svojstvo(X,brac)
X=dobra_naseljenost
X=razvedena_obala
X=dobra_povezanost
X=okruzen_vodom
63
Korišten je online Prolog interpreter - https://swish.swi-prolog.org
4 PRIKAZIVANJE I POHRANA ZNANJA
118
Semantičke mreže imaju brojne nedostatke. Neki od njih su sljedeći: relacije nisu u potpunosti
standardno definirane, ne razlikuju se klase i individualne jedinke, relacije između čvorova su samo
binarne relacije (pa je nemoguće opisivati predikatne izjave od 3 ili više argumenata). Zbog ovih
nedostataka semantičke mreže i nisu pronašle baš široku primjenu u praktičnim primjenama umjetne
inteligencije, ali su vrlo važne za shvaćanje koncepata pohrane znanja.
4.4.3 Scenarij
Scenarij (engl. Script) je strukturni prikaz koji opisuje stereotipne sekvence događanja u
određenom kontekstu. Scenarijom organiziramo informacije zajedničke za uobičajene događaje (npr.
odlazak u restoran, postupak kupnje, način vođenja procesa, postupanje u kriznim situacijama itd.).
Pretpostavlja se da na sličan način i ljudi pamte tipične procedure. Scenarij je formalno predložen 1977.
godine u radu Rogera Carla Schanka i Roberta Abelsona (Schank, Abelson, 1977) s ciljem
organiziranja struktura konceptualne ovisnosti u opisima tipičnih situacija. Teoriju konceptualne
ovisnosti (engl. Conceptual Dependency)
nekoliko su godina prije (1974. godine) predložili Roger Carl
Schank i Charles J. Riegel (Schank, Riegel, 1974) za formalno modeliranje dubokih semantičkih
struktura prirodnog jezika.
Svaki scenarij ima sljedeće komponente:
Ulazne uvjete (engl. Entry Conditions) uvjeti koji moraju biti ispunjeni prije nego li se
scenarij izvede.
Rezultat (engl. Result) situacija koju ćemo dobiti na kraju izvedbe scenarija.
Rekvizite (engl. Props) objekti koji su opisani u scenariju.
Uloge (engl. Roles) osobe koje sudjeluju u scenariju.
Varijacije (engl. Track) varijacija univerzalnog ponašanja koju opisuje scenarij. Varijacije
istog scenarija dijele neke zajedničke osobine, ali ne sve.
Scene (engl. Scenes) sekvenca događaja.
Slika 4-12 prikazuje jedan tipičan scenarij postupka konzumacije hrane u standardnom
restoranu. Svaku scenu možemo direktno opisati njezinim slijedom događaja ili pozvati njezin scenarij,
pa npr. umjesto definiranja scene ulazak pomoću predikatne logike kako pokazuje slika 4-13 može se
koristiti i poseban scenarij ulazakkoji će imati iste rekvizite i uloge. Ovaj scenarij vrijedi za standardne
restorane kod kojih konobar prima narudžbu, dok bi za neki drugi tip restorana scenarij bio potpuno
različit.
SCENARIJ
restoran
VARIJACIJA
kafić
REKVIZITI
restoran, stol, jelovnik, hrana, novac
ULOGE
gost, konobar, kuhar
ULAZNI UVJETI
gladan(gost) & ima_novac(gost)
REZULTAT
¬ gladan(gost) & ima_manje_novca(gost) &
ima_više_novca(konobar)
SCENA 1
ULAZAK
ulazi(gost, restoran).
bira(gost, stol).
sjeda(gost, stol).
4 PRIKAZIVANJE I POHRANA ZNANJA
119
SCENA 2
NARUČIVANJE
uzima(gost, jelovnik).
bira(gost, hrana).
zove(gost, konobar).
naručuje(gost, hrana).
bilježi(konobar, hrana).
izlazi(konobar, restoran).
kuha(kuhar, hrana).
SCENA 3
KONZUMIRANJE
daje(kuhar, hrana, konobar).
ulazi(konobar, restoran).
nosi(konobar, hrana).
jede(gost, hrana).
SCENA 4
PLAĆANJE
vadi(gost, novac).
uzima(konobar, novac).
SCENA 5
IZLAZAK
diže_se(gost, stol).
izlazi(gost, restoran).
Slika 4-13. Scenarij koji opisuje događanja u standardnom restoranu adaptirano prema primjeru
(Schank and Abelson, 1977)
U ovom primjeru sva događanja u restoranu su kodirana predikatnom logikom, s tim da su
predikati akcije (događanja), a uloge i rekviziti su predikatni argumenti (konstante elementi domene).
Da bi se scenarij primijenio, ulazni uvjet (gladan(gost) & ima_novac(gost))=1 treba biti istinit, a
po završetku scenarija istiniti su rezultati (sit(gost) & ima_manje_novca(gost) &
ima_više_novca(konobar)) = 1. Primjer je pojednostavljen u odnosu na originalni pristup utemeljen
na konceptualnim ovisnostima koji su Schank i Abelson koristili u svom radu. Konceptualne
ovisnosti formaliziraju tipične akcije, a neke od njih potrebne za scenarij restoran
64
:
ATRANS promjena nosioca veze (glagol dati)
PTRANS prijenos fizičke lokacije objekta (glagol ići)
ATTEND fokusirati osjetilni organ (glagol zapaziti)
MBUILD mentalno stvarati nove informacije (odlučiti)
MOVE premjestiti tijelo ili dio tijela od strane vlasnika (glagol pokrenuti)
INGEST progutati objekt od stane živog bića (glagol jesti).
Konceptualne ovisnosti uvode i pojam agenta i objekta. Agent provodi akciju nad objektom, a
objekt može biti i on sam.
64
Za više detalja pogledati radove (Schank i Rieger 1974) i (Schank i Abelson 1977).
4 PRIKAZIVANJE I POHRANA ZNANJA
120
Korištenje ovih oznaka Scena 1 ULAZAK može se formalno zapisati na sljedeći način:
gost PTRANS u restoran
gost ATTEND oči na stolove
gost MBUILD stol
gost PTRANS gost do stol
gost MOVE gost u poziciju sjedenje
Scena 3 KONZUMIRANJE može se formalno zapisati na sljedeći način:
kuhar ATRANS hrana konobar
konobar PTRANS restoran
konobar ATRANS hrana gost
gost INGEST hrana
Scenu 1 možemo još formalnije zapisati u duhu Lisp programskog jezika koristeći pojmove agent i objekt:
PTRANS(agent(gost))(objekt(gost))(to(restoran))
(ATTEND(agent(gost))(objekt(oči))(to(stol))
(MBUILD(agent(gost))(objekt(gost))(to(stol))
(PTRANS(agent(gost))(objekt(gost))(to(stol))
(MOVE(agent(gost))(objekt(gost))(position(sjedenje)))
Scenarij, kao i semantičke mreže, ima brojna ograničenja, ali je ipak pronašao praktičnu primjenu
kod ograničenog razumijevanja tekstualnih priča, jednog od zahtjevnijih zadataka u području umjetne
inteligencije. Jedan od primjera je SAM (engl. Script Applier Mechanism) kojeg je 1978. godine predložio
Richard Edward Cullingford. SAM je omogućavao razumijevanje jednostavnih novinskih tekstova uz
odgovaranje na pitanja vezana uz sadržaj teksta.
4.4.4 Okviri
Strukturno prikazivanje znanja okvirima nastalo je kao rezultat proučavanja načina na koje ljudi
analiziraju novu situaciju. Postoje brojni eksperimenti koji navode na misao da ljudi informacije koje
pamte organiziraju u strukture po zajedničkim karakteristikama i svojstvima koje nadopunjavaju novim
iskustvom, činjenicom ili zaključkom. Polovinom 1970-ih godina pojavila se ideja da se i znanje strukturno
organizira u slične strukture nazvane okviri (engl. Frames). Teorija okvira inicijalno je započela s MIT
tehničkim izvještajem Marvina Minskyja Okvir za predstavljanje znanja (engl. A Framework for
Representing Knowledge) iz 1974. godine. Minsky je predložio shemu za pohranu znanja kod koje bi se
znanje pohranjivalo u paketima nazvanim okviri koji su bili uključeni u mrežu nazvanu sustav okvira
(engl. Frame System) u kojoj pojedini okvir ukazuje na druge za njega relevantne okvire obično koristeći
standardne relacije semantičkih mreža (a_kinf_of, is_a_part, is_a, itd.).
Ideja je krenula od toga da npr. izjava Brač je otok.zapravo znači Brač je jedinka koja pripada
klasi otok., ali u konačnoj varijanti okviri su definirani kao složene semantičke mreže organizirane tako
da se pomoću njih mogu prikazati zajedničke osobine stvari. Okvir je struktura koja sadrži podatke ili
procedure koje se odnose na isti objekt, organizirane tako da se cijela struktura može uključivati ili
isključivati u druge strukture. Okvir tipično opisuje određenu klasu objekata, kao na primjer stolicu ili
sobu, pa ga nazivamo generički okvir (engl. Generic Frame). Okvir se može odnositi i na pojedini
konkretni objekt, pa ga u tom slučaju nazivamo pojedinačni okvir (engl. Instance Frame). Svi
pojedinačni okviri nasljeđuju sva svojstva svojih generičkih okvira. Na primjer, obavezno vrijednost
okvira stolica treba biti sjedeća ploha. Stolica može biti s ili bez naslona, s tri ili četiri noge, međutim
ako nema sjedeće plohe, onda objekt ne može biti stolica. U pojedinačnom okviru koji se odnosi na neku
konkretnu stolicu ovo se svojstvo ne treba posebno upisivati, zato što se prenosi iz generičkog okvira
stolica.
4 PRIKAZIVANJE I POHRANA ZNANJA
121
Okvir se sastoji se od tzv. SLOTS (razdjeljaka) kojima definiramo i opisujemo određene aspekte
objekta. Razdjeljci imaju svoje dijelove koji se zovu FACETS (stranice). FACET može biti alfa-numerička
vrijednost (VALUE), drugi okvir, ali može i pripadati različitim dodacima (DEMONS) koji definiraju
procedure (akcije) koje treba poduzeti ako se pristupi tom SLOT-u. Tipični DEMONS su:
if_added što treba napraviti kada se SLOT puni podacima (ovaj DEAMON obično prati i
DEAMON range koji daje dopuštene vrijednosti novih podataka)
if_removed što treba napraviti kada se iz SLOT-a uklone podaci
if_changed što treba napraviti kada se u SLOT-u promijene podaci
if_needed što treba napraviti kada se zatraže podaci iz SLOT-a
if_new što treba napraviti kada se formira novi slot, a posebna mjesta imaju i
help kada se SLOT dohvati, a ne može se izvršiti zatraženi postupak (na primjer dodaje se
vrijednost, a ona se ne uklapa u range), te
default vrijednost iz ranga koja se vraća, ako u SLOT-u nema konkretnih podataka, a
DEAMON if_needed (ako postoji) ne može pronaći odgovor.
Kako bi se uočila razlika između strukture scenarij i okvir, ilustrativni primjer okvira restoran
prikazuje slika 4-14. Okvir je povezan relacijskom vezom a_kind_of s generičkim okvirom poslovna
ustanova. Postoji nekoliko SLOTS koji imaju svoj range, default vrijednost i proceduralni dodatak
if_needed. SLOT vrijeme_rada u svom range pokazuje na drugi generički okvir radno_vrijeme.
Okviri su najčešće međusobno povezani u semantičku mrežu. Primjer dijela sustava okvira koji
prikazuju ustroj FESB-a prikazuje slika 4-15.
Na vrhu je generički okvir FESB”, a ispod su generički okviri podklase ustrojnih jedinica Zavod
i Računski centar”. Na nižim razinama su pojedinačni okviri pojedinih Katedri i nekoliko nastavnika i
suradnika pojedinih ustrojbenih jedinica. Generički okviri uobičajeno imaju default vrijednosti koje se
mogu redefinirati u donjim slojevima. Da je umjesto default vrijednosti stavljena fiksna vrijednost, donji
slojevi ne bi je mogli mijenjati, već bi je direktno preuzeli. Fiksne vrijednosti ostaju nepromijenjene za
generičke okvire podklase i pojedinačne okvire.
Generički okviri uobičajeno imaju default vrijednosti koje se mogu redefinirati u donjim
slojevima. Da je umjesto default vrijednosti stavljena fiksna vrijednost, donji slojevi ne bi je mogli
mijenjati, već bi je direktno preuzeli. Fiksne vrijednosti ostaju nepromijenjene za generičke okvire
podklase i pojedinačne okvire. Na primjer, u frame_111 koji predstavlja katedru KaMIS namjerno smo
napravili pogrešku i još jedanput unijeli SLOT predstojnik, sada s drugim imenom, međutim on ne može
zamijeniti fiksnu vrijednost SLOT-a predstojnik u podklasi Zavod za elektroniku i računarstvo kojoj
KaMIS pripada. Isto tako svi okviri nasljeđuju SLOT-ove koji u njima nisu posebno definirani. Na
primjer, trebamo li telefon Zavoda za elektroniku i računarstvo, sustav okvira vratit će telefon FESB-a,
koji je u hijerarhiji iznad jedino definiran.
Na primjer, u frame_111 koji predstavlja katedru KaMIS namjerno smo napravili pogrešku i još
jedanput unijeli SLOT predstojnik, sada s drugim imenom, međutim on ne može zamijeniti fiksnu
vrijednost SLOT-a predstojnik u podklasi Zavod za elektroniku i računarstvo kojoj KaMIS pripada. Isto
tako svi okviri nasljeđuju SLOT-ove koji u njima nisu posebno definirani. Na primjer, trebamo li telefon
Zavoda za elektroniku i računarstvo, sustav okvira vratit će telefon FESB-a, koji je u hijerarhiji iznad
jedino definiran.
U ovom primjeru nemamo proceduralne dodatke. Mogli smo ih primjerice dodati za proračun
godina pojedinog djelatnika, ako bi u njegovom okviru postojao SLOT godina_rodjenja, a poznata nam
je i vrijednost varijable sadasnja_godina. U tom slučaju za SLOT starost stavili bismo proceduru:
starost: if_needed sadasnja_godina-godina_rodjenja
4 PRIKAZIVANJE I POHRANA ZNANJA
122
Slika 4-14. Dio generičkog okvira koji opisuje „restoran“
4 PRIKAZIVANJE I POHRANA ZNANJA
123
Slika 4-15. Dio generičkog okvira koji prikazuje ustroj FESB-a
Okviri su općenite strukture, pogodne za strukturno prikazivanje bilo kojeg znanja, a veliku
primjenu pronašli su u sistemima dijagnostike pod kojima je nužno koristiti i određeno heurističko a i
determinističko znanje. Prikaz znanja okvirima 1970-ih i 1980-ih godina bio je poprilično popularan, pa
su razvijeni i posebni jezici za prikazivanje i baratanje okvirima. Primjeri su FRL Frame Representation
Language (1977), KRL Knowledge Representation Language (1977), KL-ONE Knowledge Language
4 PRIKAZIVANJE I POHRANA ZNANJA
124
One (1980), LOOPS Lisp Object-Oriented Prigramming System (1983) itd., ali se okviri jednostavno
prikazuju i u standardnim jezicima umjetne inteligencije.
Kod pohrane znanja okvirima zaključivanje je slično kao kod semantičkih mreža i uglavnom se
temelji na principima nasljeđivanja (tranzitivnosti). Na slici 4-14 i algoritmu 4-2 prikazan je primjer
definiranja dijela generičkog okvira i zaključivanja po principu nasljeđivanja, a za realizaciju je korišten
jezik Lisp.
Algoritam 4-2. Realizacija okvira dijela ustroja FESB-a sa Slike 4-14 u Lispu
;gnu clisp 2.49
; FESB
(setf (get 'FESB 'isa) '(Tehnički fakultet))
(setf (get 'FESB 'partOf) '(Sveučiliste u Splitu))
(setf (get 'FESB 'ime) '(FESB))
(setf (get 'FESB 'adresa) '(Ruđera Boškovića 32))
(setf (get 'FESB '(strucno_tijelo)) '(Fakultetsko vijeće))
(setf (get 'FESB 'telefon) '(305777))
(setf (get 'FESB 'studiji) (list 'Elektrotehnika 'Računarstvo 'Strojarstvo
'Brodogradnja '(Industrijsko inženjerstvo)))
; Zavod
(setf (get 'Zavod 'partOf) 'FESB)
(setf (get 'Zavod 'ime) '(Zavod))
(setf (get 'Zavod 'tip) '(Ustrojna jedinica))
; Računski centar
(setf (get 'Računski_centar 'partOf) 'FESB)
(setf (get 'Računski_centar 'ime) '(Računski centar))
(setf (get 'Računski_centar 'tip) '(Ustrojna jedinica))
; Zavod za elektroenergetiku
(setf (get 'Zavod_za_elektroenergetiku 'kindOf) 'Zavod)
(setf (get 'Zavod_za_elektroenergetiku 'ime) '(Zavod za elektroenergetiku))
(setf (get 'Zavod_za_elektroenergetiku 'predstojnik) '(Goran Petrović))
(setf (get 'Zavod_za_elektroenergetiku 'studiji) '(Elektrotehnika))
; Zavod za elektroniku i racunarstvo
(setf (get 'Zavod_za_elektroniku_i_računarstvo 'kindOf) 'Zavod)
(setf (get 'Zavod_za_elektroniku_i_računarstvo 'ime) '(Zavod za elektroniku i
računarstvo))
(setf (get 'Zavod_za_elektroniku_i_računarstvo 'predstojnik) '(Dinko Begušić))
(setf (get 'Zavod_za_elektroniku_i_računarstvo 'studiji) (list 'Elektrotehnika
'Računarstvo))
; Darko Stipaničev
4 PRIKAZIVANJE I POHRANA ZNANJA
125
(setf (get 'Darko_Stipaničev 'partOf) '(Zavod za elektroniku i racunarstvo))
(setf (get 'Darko_Stipaničev 'ime) '(Darko Stipaničev))
(setf (get 'Darko_Stipaničev 'zvanje) '(Redoviti profesor))
(setf (get 'Darko_Stipaničev 'ured) '(A413))
(setf (get 'Darko_Stipaničev 'telefon) '(305643))
; Ljiljana Šerić
(setf (get 'Ljiljana_Šerić 'partOf) '(Zavod za elektroniku i računarstvo))
(setf (get 'Ljiljana_Šerić 'ime) '(Ljiljana Šerić))
(setf (get 'Ljiljana_Šerić 'zvanje) '(Izvanredni profesor))
(setf (get 'Ljiljana_Šerić 'ured) '(A401))
(setf (get 'Ljiljana_Šerić 'telefon) '(305651))
; Lada Sartori
(setf (get 'Lada_Sartori 'partOf) '(Računski centar))
(setf (get 'Lada_Sartori 'ime) '(Lada_Sartori))
(setf (get 'Lada_Sartori 'zvanje) '(Viši predavač))
(setf (get 'Lada_Sartori 'ured) '(A226))
(setf (get 'Lada_Sartori 'telefon) '(305726))
; funkcije
(defvar *trazeno-svojstvo* '(trazeno_svojstvo))
(defun inherit-get (object property) (setq a (or (get object property)
(get-from-parents (or (get object 'partOf) (get object 'kindOf)) property))) (setf
*trazeno-svojstvo* a) )
(defun get-from-parents (parents property) (cond ((null parents) nil)
((atom parents) (inherit-get parents property)) (t (or (get-from-parents (car parents)
property)
(get-from-parents (cdr parents) property)))))
Primjer zaključivanja
65
s ovim sustavom okvira, kada se ne pronalazi podatak u okviru pa ga se
traži u okvirima s kojima je traženi okvir povezan, je u nastavku:
(inherit-get 'Zavod_za_elektroniku_i_računarstvo 'telefon) (print *trazeno-svojstvo*)
(305777)
(inherit-get 'Darko_Stipaničev 'adresa) (print *trazeno-svojstvo*)
(RUĐERA BOŠKOVIĆA 32)
Dobra strana prikaza znanja okvirima je u tome što okviri grupiraju relacijski povezano znanje i
što se jednostavno proširuju dodavanjem novih SLOTS, a osnovni nedostatak je u tome što u sustavu
okvira nije baš jednostavno provoditi zaključivanje.
65
Korišten je online Lisp kompajler - https://rextester.com/l/common_lisp_online_compiler
4 PRIKAZIVANJE I POHRANA ZNANJA
126
4.4.5 Opisne logike
Opisne ili deskriptivne logike (engl. DL Descripton Logic) uvedene su 1980-ih godina kao
formalna struktura za predstavljanje znanja u potpunosti temeljena na logici, prije svega kako bi se
prevladali nedostaci semantičkih mreža i okvira koji nisu imali formalnu logičku semantiku. DL-ovi su
formalni jezici za predstavljanje znanja, teorijska osnova za implementaciju specijaliziranih jezika za
prikaz i pohranu znanja, od kojih je najpoznatiji mrežni jezik OWL, najčešće korišten za definiranje
ontologija (vidi poglavlje 4.4.6). DL-ovi se temelje na logici prvog reda (engl. FOL First Order Logic), s
tim da su terminologija i oznake malo drugačije (tablica 4-6).
Tablica 4-6. Terminologija predikatne logike prvog reda (FOL) i opisne logike (DL)
FOL
DL
konstanta
pojedinac
unarni predikat
koncept
binarni predikat
uloga
Postoji puno vrsta opisnih logika koje se dijele ovisno o tome koji su dozvoljeni operatori. Jedna
od najjednostavnijih opisnih logika je ALC (engl. Atributtive concept Language with Complements) koja
znači da se radi o jeziku atributivnih koncepata s komplementom. Ova opisna logika modelira pojedince,
koncepte i uloge, ali i relacije između njih. Pojedinac (engl. Individual) je individualni objekt domene,
koncept (engl. Concept) predstavlja skup pojedinaca, a uloga (engl. Role) predstavlja binarnu relaciju
između pojedinaca ili između koncepata. Na primjer, pojedinci su sime, marija, rita (tri osobe Šime,
Marija i Rita), koncepti su unarni predikati, npr. Musko(sime), Zensko(marija), Zensko(rita),
što& znači& da& je osoba Šime muško, a osobe Marija i Rita ženske”, a uloge binarni predikat
imaDijete(sime,rita), imaDijete(marija,rita),&što&možemo&interpretirati&Šime ima dijete
Ritu, Marija ima dijete Ritu. Ovo je zapis u obliku predikatne logike prvog reda (FOL), a ALC
DL ima i svoje posebne simbole i oznake za operatore koje prikazujemo u tablici 4-7. ALC opisna logika
je u biti pojednostavljena verzija predikatne logike prvog reda na način da je ograničena samo na binarne
predikate.
U duhu DL-a, pojedince, koncepte i uloge koje smo spomenuli prije tablice sada zapisujemo:
pojedinci: sime, marija, rita
klase i pridruživanje pojedinaca klasama: sime:Musko, marija:Zensko,
rita:Zensko
pridruživanje uloga pojedincima: (sime,rita):imaDijete,
(marija,rita):imaDijete. Napomenimo i to da se pridruživanje uloga ponekad zapisuje
i sime imaDijete rita, marija imaDijete rita.
Tablica 4-7. Oznake i operatori ALC opisne logike i njihova interpretacija u predikatnoj logici prvog reda
(FOL)
SIMBOL
OPIS
DL ZAPIS
FOL ZAPIS
a , b
pojedinci
a , b
a , b
C , D
koncepti
C , D
C(a) , D(b)
R , P
uloge
R
R(a,b)
4 PRIKAZIVANJE I POHRANA ZNANJA
127
koncept koji sadrži sve
pojedince - vršni koncept
(Top Concept)
prazni koncept - donji
koncept(Bottom Concept)
Konjunkcija (presjek)
CD
C(a) D(a)
Disjunkcija (unija)
CD
C(a) D(a)
¬
negacija
¬C
¬C(a)
univerzalno ograničenje
R.C
b(R(a,b)®C(b))
egzistencijalno
ograničenje
R.C
b(R(a,b) C(b))
inkluzija
(hijerarhija)koncepata
(podskup)
C D
a(C(a)®D(a))
ekvivalencija koncepata
C D
a(C (a)D(a))
:
pridruživanje pojedinaca
konceptima
a:C
C(a)
:
pridruživanje uloga
pojedincima
(a,b):R
R(a,b)
U opisnoj logici složene koncepte definiramo ekvivalencijom ili inkluzijom koncepata. Na primjer,
pojam Otac definiramo na sljedeći način:
Otac Musko⊓∃imaDijete.Osoba
Otac Musko
U prvom slučaju definirali smo potpuni uvjet, što znači da su svi pojedinci koji pripadaju konceptu
Otac su nužno i pojedinci presjeka koncepta Musko i egzistencijalnog ograničenja imaDijete koncepta
Osoba. Naravno, vrijedi i obrnuto, pa je C D u biti kraći način zapisa C D i D C.
U drugom slučaju definiramo samo nužni uvjet za koncept Otac. Svi koji pripadaju konceptu
Otac su podskup koncepta presjeka koncepata Musko. To znači ako je neki pojedinac član koncepta Otac
onda je on nužno i član koncepta LjudskoBice Musko, ali obrnuto ne vrijedi.
Koncepti vezani operatorima inkluzije () i ekvivalencije () nazivaju se opće inkluzije
koncepata (engl. GCI General Concept Inclusion) ili terminološki aksiomi (engl. Terminology
Axioms). Skup terminoloških aksioma označava se oznakom TBox&čini&prvi&dio& strukture&baze znanja
(engl. KB Knowledge Base). Drugi dio strukture baze znanja je ABox skup aksioma tvrdnji (engl.
Assertional Axioms) koji sadrži tvrdnje o konkretnim pojedincima i relacijama, na primjer:
sime:Musko,marija:Zensko,rita:Zensko,(sime,rita):imaDijete,(marija,rita):imaDijete
Baza znanja KB je uređeni par KB = ( TBox , ABox ) gdje TBox sadrži općenito znanje o domeni
kojom se bavimo, a ABox informacije o konkretnim entitetima i odnosima unutar domene.
Važan dio opisne logike je zaključivanje i rasuđivanje. O samim pojmovima zaključivanja i
rasuđivanja više u poglavlju 5, a ovdje samo spomenimo da se u opisnoj logici kod zaključivanja obično
postavljaju pitanja vezana uz pripadanje članova ABox-a pojedinim konceptima, inkluzijama koncepata
4 PRIKAZIVANJE I POHRANA ZNANJA
128
i konzistentnosti TBox-a, a osnovni suvremeni algoritam rasuđivanja je tzv. tableau algoritam čiji
detalji prelaze okvire ovog udžbenika
66
, a ovdje ćemo samo prikazati kratki primjer. Tableau algoritam
reducira problem rasuđivanja na problem zadovoljenja koncepata, te pronalazi interpretaciju koja
zadovoljava koncepte u pitanju. Reduciranje problema inkluzije temelji se na dokazivanju ako je C D
tada C¬D ne može vrijediti. Ovo je intuitivno jasno. Ako je C uključen u D, tada presjek C i neD ne može
biti zadovoljen zato što je C cijeli uključen u D. Na sličan način kod reduciranja problema ekvivalencije
ne mogu vrijediti dva uvjeta: C ¬D i D ¬C.
Primjer tableau algoritma
Zadano je: Muz Muskarac, Muskarac Osoba
Pitanje: Je li Muz Osoba
Rasuđivanje: Testiramo postoji li pojedinac koji je Muz i nije Osoba, odnosno testiramo
zadovoljenje koncepta K
0
=(Muz¬Osoba):
K
0
(a) ® (Muz(a)¬Osoba(a))
Muz(a) ® Muskarac(a)
Muskarac(a) ® Osoba(a)
iz čega ulančavanjem slijedi Muz(a) ® Osoba(a)što&vodi&u&konflikt&s&konceptom K
0
da postoji pojedinac
koji je Muz i nije Osoba, pa K
0
nije zadovoljen, a iz toga slijedi da je Muz Osoba istinito za sve pojedince.
Osim jednostavne ALC opisne logike koja uvodi atributivne koncepte, u upotrebi su i složenije
opisne logike. Na primjer, ako se ALC proširi s tranzitivnim ulogama, opisna logika postaje S logika, a
dodavanjem i dodatnih svojstava dobijemo složenije opisne logike na kojima se temelji jezik OWL za opis
ontologija koje spominjemo u sljedećem poglavlju. Najvažnija proširenja svojstava prikazuje tablica 4-8 s
primjerima:
Tablica 4-8. Osnovna proširenja ALC logike (dodaci na tablicu 4-7)
DL
LOGIKA
PROŠIRENJE
PRIMJER
S
tranzitivnost
uloga
R*
(ivan,petar):imaBrata,(petar,luka):imaBrata ®
(ivan,luka):imaBrata
Ako Ivan ima brata Petra, a Petar ima brata
Luku onda i Ivan ima brata Luku.
H
inkluzija
(hierarhija)
uloga (podskup)
R P
imaOca imaRoditelja
(josip,luka):imaOca®(josip,luka):imaRoditelja
Ako Josip ima oca Luku , onda Josip ima i
roditelja Luku, ali ne samo njega, Josip ima
i nekog drugog roditelja.
O
nominalni
koncepti
Vikend = {Subota,Nedjelja}
Roditelji = {Otac,Majka}
66
Za detalje vidi (Baader et al., 2007).
4 PRIKAZIVANJE I POHRANA ZNANJA
129
I
inverzija uloga
R
-
imaOca imaDijete
-
(josip,luka):imaOca (luka,josip):imaDijete
Ako Josip ima oca Luku, onda Luka ima oca
Josipa i obrnuto.
Q
kvalificirana
brojevna
ograničenja
(=, =<, >=)
P >= nR.C
Bogatas >= 2 posjeduje.Kuce
Bogataši su dio skupine vlasnika dvije ili
više kuća.
N
brojevna
ograničenja
(=, =<, >=)
P =< nR
Doktor =< 2 imaRoditelja
Dio onih koji imaju 2 ili manje roditelja su
doktori.
F
funkcionalna
svojstva
1=< R
R
kompleksna
inkluzija
(hierarhija)
uloga
R P R ili R P P
prijateljOd neprijateljOd neprijateljOd
Prijatelj od neprijatelja je neprijatelj.
D
uvođenje tipova
podataka
uvode se tipovi podataka tipa
int, string, float, boolean i njihovih
vrijednosti
imaGodina.>=
18
4.4.6 Ontologije
Ontologije su u informacijskim znanostima primarno razvijene u okviru semantičkog Weba za
formalno definiranje kategorija, svojstava i relacija između koncepata, entiteta i podataka unutar
određene domene i to prije svega u svrhu razmjene znanja između različitih računalnih entiteta
(agenata). Ontologije nisu uvedene kao strukturni oblik pohrane znanja s ciljem formiranja baza znanja
o čemu u ovom poglavlju govorimo, ali budući da ontologije ipak predstavljaju strukturni način formalnog
prikaza znanja specifične domene, ipak zaslužuju kratki opis. Ovo pogotovo vrijedi zbog toga što se kod
projektiranja inteligentnih sustava obično najprije kreće od definiranja ontologije domene u kojoj će
inteligentni sustav djelovati, pa su zbog toga ontologije u stvari preduvjet kod definiranja baze znanja.
Prije svega trebamo naglasiti da se filozofski pojam ontologije bitno razlikuje od
informatičkog pojma ontologije. Filozofski pojam ontologije vezan je uz izučavanje pojma bitka.
Informacijska znanost samo je posudila pojam i ontologiju definirala kao Eksplicitnu specifikaciju
konceptualizacije domene. Jednostavnije kazano, ontologija u informatici definira koncepte
(objekte), kako opće tako i pojedinačne (individualne), njihove klase, svojstva i atribute uključujući i
ograničenja na njih, produkcijska pravila, aksiome i događaje, a sve to s ciljem definiranja
zajedničkog rječnika domene kako bi se to zajedničko značenje moglo razmjenjivati između ljudi, između
računalnih entiteta (softverskih agenata), i između ljudi i softverskih agenata. Definiranjem ontologije
omogućava se ponovno korištenje (engl. Reuse)
domenskog znanja kako bi se izbjegla višestruka
definiranja i omogućila interoperabilnost. Definiranjem ontologije razdvaja se domensko znanje od
operativnog znanja.
4 PRIKAZIVANJE I POHRANA ZNANJA
130
Pojam ontologije uveo je 1990. godine David Powers u nešto drugačijem kontekstu vezanom uz
strojno učenje prirodnog jezika, dok je samu definiciju ontologije kao specifikaciju konceptualizacije
uveo 1993. godine Tom Gruber u članku Prema načelima za dizajn ontologija koje se koriste za razmjenu znanja
(Gruber, 1993.). Od tada do danas razvijeni su ili modificirani brojni računalni jezici prilagođeni
definiranju ontologije. Možemo ih grubo podijeliti u tri grupe:
Jezici temeljeni na logici prvog reda FOL (engl. First Order Logic). Primjer je jezik KIF
(engl. Knowledge Interchange Format) koji je primarno razvijen, kako mu i naziv kaže, za
razmjenu znanja između računalnih sustava.
Jezici temeljeni na logici sustava okvira (engl. Frame Logic). Primjer su već spomenuti
jezici FRL (engl. Frame Representation Language) i KL-ONE (engl. Knowledge Language
One) koji su postojali i prije 1990. godine, ali su sada prilagođeni i za definiranje ontologija.
Mrežni jezici, sigurno najznačajniji, razvijeni za korištenje u semantičkom Webu. Primjer
su RDF (engl. Resource Description Framework), XML (engl. eXtensible Markup Language),
DAML (engl. DARPA Agent Markup Language), i na kraju jedan od najznačajniji jezika za
prikaz ontologija OWL (engl. Web Ontology Language).
Jezik OWL je semantički Web jezik, standardiziran od W3 konzorcija
67
s ciljem prikazivanja
složenog znanja o objektima, grupama objekata i relacija između njih, ali i mogućnošću rasuđivanja,
donošenja novog znanja (zaključaka) na temelju definiranog znanja. OWL se u tome bitno razlikuje od
mrežnih jezika XML i RDF koji nemaju tu mogućnost. OWL je računalni jezik temeljen na logici na način
da ga jednostavno može interpretirati drugi računalni program. U prvoj se je verziji pojavio 2004. godine,
a u sadašnjoj verziji OWL 2 prisutan je od 2012. godine. OWL ima tri podjezika: OWL Light, OWL DL
68
i
OWL Full koji se razlikuju po izražajnosti i efikasnosti postupka rasuđivanja i pripadaju različitim
tipovima opisne logike. OWL Light je SHIF(D), OWL DL SHION(D), a OWL 2 DL SROIQ(D). U okviru
OWL 2 predložena su i tri podjezika prilagođena specifičnim primjenama: OWL 2 QL za jednostavnu
integraciju s bazama podataka, OWL 2 EL jednostavna varijanta jezika i OWL 2 RL posebno
projektiran za rad s produkcijskim sustavima.
U ovom kratkom uvodu u OWL zaustavit ćemo se samo na tablici 4-8 koja prikazuje povezanost
naredbi u OWL-u i njihove sintakse u opisnoj logici (DL) i predikatnoj logici prvog reda (FOL), te na
nekoliko tipičnih primjera zapisa izraza opisne logike u OWL jeziku. OWL jezik poznaje nekoliko
različitih sintaksi, na primjer funkcionalnu, OWL2 XML, Manchester, RDF/XML i RDF/Turtle sintaksu.
Mi ćemo u primjerima
69
koristiti RDF/XML sintaksu i samo na kraju ukratko se osvrnuti i na neke druge
sintakse.
Tablica 4-8. Sintaksa naredbi u OWL XML, OWL Manchester sintaksi, te u opisnoj logici (DL) uz
primjere
OWL XML izraz
Manchester izraz
DL
sintaksa
PRIMJER
Class
Class
Koncepti
C
klasaMusko
Individual
u OWL notaciji
owl:Thing
Individual
Pojedinc
i a
član klase „Ivan“
67
https://www.w3.org/OWL/
68
Kratica DL dolazi od engleskih riječi Description Logic, u prijevodu „opisna logika“ koju smo spomenuli u
prethodnom poglavlju.
69
Ovdje je dana samo kratka reinterpretacija službenog primjera OWL RDF/XML, a za više detalja čitatelje
upućujemo na https://www.w3.org/TR/owl-xmlsyntax/apd-example.html
4 PRIKAZIVANJE I POHRANA ZNANJA
131
ObjectProperty
ObjectProperty
Uloge
R(a,b)
veze između pojedinaca
„Ivan ima dijete Marija“
DataPropertyValue
DataValue
DataProperty
veze između pojedinaca i
vrijednosti
„Ivan je visok 1,8m
KONSTRUKTORI KONCEPATA
IntersectionOf
C and D
CD
Osoba and Musko
smrtnik i musko
UnionOf
C or D
CD
Musko or Zensko
musko ili zensko
ComplementOf
not C
¬C
not Muskonije musko
OneOf
{a b}&
{a}& {b}
Ivan i Marija
Restriction(R
allValuesFrom(C))
R only C
R.C
imaDijete only Profesor
Svi profesori koji
imaju dijete.“
Restriction(R
someValueFrom(C))
R some C
R.C
imaDijete some Profesor
Postoji lijecnik koji
ima dijete.“
Restriction(R
maxCardinality(nC)
)
R max n C
(=<nR.C)
imaDijete max 3 Profesor
Profesor ima najviše 3
djeteta“
Restriction(R
minCardinality(nC)
)
R min n C
(>=nR.C)
imaDijete min 2 Lijecnik
Liječnik ima 2 i više
djece
Restriction(R
ExactCardinality(nC)
)
R exactly n C
(=nR.C)
imaDijete exactly 2 Vozac
Vozac ima 2 djeteta“
hasValue
R value a
R(a)
godinaBerbe value 2013
ONTOLOGIJSKI AKSIOMI
SubClassOf
SubClassOf
C D
OsobaZivotinjaBiped
EquivalentClasses
EquivalentClasses
C D
CovjekOsoba Musko
SubPropertyOf
SubPropertyOf
R P
imaSina imaDijete
inverseOf
InverseOf
R ¬P
imaDijetenot imaRoditelja
EquivalentProperty
EquivalentTo
R P
imaSina imaMuskoDijete
4 PRIKAZIVANJE I POHRANA ZNANJA
132
FunctionalProperty
FunctionalProperty
R(a,b)
R(a,c)
b=c
Ako su svojstva
rodilaKcer(marija,anu)
rodilaKcer(marija,ivu)
deklarirana kao
funcionalna tada vrijedi:
ana = iva
InverseFuncional
Property
InverseFuncional
Property
R(a,b)
R(c,b)
a=c
Ako su svojstva
rodilaKcer(marija,ana)
rodilaKcer(iva,ana)
deklarirana kao inverzno
funcionalna tada vrijedi:
marija = iva
SymetricProperty
SymetricProperty
R(a,b)
R(b,a)
Ako je svojstvo
imaPrijatelja(ivo,luka)
deklarirano kao simetrično
tada vrijedi:
imaPrijatelja(luka,ivo)
TransitiveProperty
TransitiveProperty
P
+
P
Ako je svojstvo
imaPretka deklarirano
kao transitivno tada za
P(x,y) i P(x,z) vrijedi
P(x,z)
U RDF/XML sintaksi OWL datoteka koja ima ekstenziju .owl započinje i završava <rdf...> tagovima
između kojih dolazi OWL sadržaj. Pogledajmo primjer definiranja vezene uz opise vina.
<owlx:Ontology
owlx:name="http://laris.fesb.hr/vino"
xmlns:owlx="http://www.w3.org/2003/05/owl-xml">
<owlx:Class owlx:name="Vino" owlx:complete="false" />
<owlx:Class owlx:name="OpisnikVina" owlx:complete="false" />
<owlx:Class owlx:name="Svijetla" owlx:complete="false" />
<owlx:Class owlx:name="Tamna" owlx:complete="false" />
<owlx:Class owlx:name="CrvenoVino" owlx:complete="false" >
<owlx:Class owlx:name="#Vino" />
</owlx:Class>
<owlx:Class owlx:name="MirisVina" owlx:complete="false">
<owlx:Class owlx:name="#OpisnikVina" />
</owlx:Class>
<owlx:Class owlx:name="BojaVina" owlx:complete="false">
<owlx:Class owlx:name="#OpisnikVina" />
<owlx:OneOf>
<owlx:Individual owlx:name="#Bijela" />
<owlx:Individual owlx:name="#Roza" />
<owlx:Individual owlx:name="#Crvena" />
</owlx:OneOf>
</owlx:Class>
<owlx:Individual owlx:name="vinoPlavacMali">
4 PRIKAZIVANJE I POHRANA ZNANJA
133
<owlx:type owlx:name="CrvenaVina" />
</owlx:Individual>
<owlx:Individual owlx:name="berba2013">
<owlx:type owlx:name="VinskaGodina" />
<owlx:DataPropertyValue owlx:property="godinaBerbe">
<owlx:DataValue
owlx:datatype="&xsd;positiveInteger">2013</owlx:DataValue>
</owlx:DataPropertyValue>
</owlx:Individual>
<owlx:ObjectProperty owlx:name=" imaOpisnikVina ">
<owlx:domain owlx:class="Vino" />
<owlx:range owlx:class="OpisnikVina" />
</owlx:ObjectProperty>
<owlx:ObjectProperty owlx:name="imaBoju ">
<owlx:range owlx:class="BojaVina" />
</owlx:ObjectProperty>
<owlx:SubPropertyOf owlx:sub="imaBoju">
<owlx:ObjectProperty owlx:name="imaOpisnikVina" />
</owlx:SubPropertyOf>
<owlx:Class owlx:name="BijeloVino" owlx:complete="true">
<owlx:IntersectionOf>
<owlx:Class owlx:name="#Vino" />
<owlx:ObjectRestriction owlx:property="#imaBoju">
<owlx:hasValue owlx:name="#Bijela" />
</owlx:ObjectRestriction>
</owlx:IntersectionOf>
</owlx:Class>
</owlx:Ontology>
Ontologija je zapis znanja lako razumljiv i čovjeku. U prvoj smo grupi OWL naredbi tipa
owlx:Class definirali nekoliko različitih klasa i pod-klasa. U nastavku smo koristili i inkluzije klasa,
npr. CrvenoVinoVino. U drugoj smo grupi definirali jednog člana klase (pojedinca) nazvanog
CrvenoVino koji se zove PlavacMali. Naredba za definiranje člana klase owlx:OneOf je korištena i
kod definiranja klase BojaVina na način da su definirana tri moguća člana: Bijela, Roza i Crvena.
Nakon toga je definirano nekoliko svojstava kod kojih je korištena i definicija domene owlx:domain koja
definira tko sve može imati svojstvo owlx:range koji kaže koje vrijednosti su dopuštene. U slijedećoj je
grupi primjer upotrebe presjeka i ograničenja. Klasu BijeloVino definiramo kao presjek klase Vino i
ograničenja na vrijednost svojstva imaBoju isključivo na vrijednosti Svijetla.
RDF/XML sintaksa slična je OWL XML sintaksi, pa su i zapisi slični. Manchester OWL sintaksa
je sintaksa prije svega prilagođena jednostavnom razumijevanju od strane korisnika i često se koristi u
editorima ontologija. Primjer definiranja klase, članova klase i svojstva u ovim sintaksama je:
RDF/XML sintaksa:
<owl:Class rdf:ID="Vino" />
<CrnaVina rdf:ID="vinoPlavacMali" />
<owl:ObjectProperty rdf:about="imaOpisnikVina">
<rdfs:domain rdf:resource="#Vino" />
<rdfs:range rdf:resource="#OpisnikVina" />
</owl:ObjectProperty>
Manchester sintaksa:
Class: Vino
Annotation: ...
4 PRIKAZIVANJE I POHRANA ZNANJA
134
Individual: PlavacMali
Annotation: ...
Type: CrvenaVina ,...
DataProperty: imaOpisnikVina
Annotation: ...
Domain: Vino ,...
Range: OpisnikVina ,...
Već smo spomenuli da se kod projektiranja inteligentnih sustava obično kreće od definiranja
ontologije domene u kojoj inteligentni sustav treba funkcionirati. Ručna izrada ontologija, pogotovo kod
kompleksnijih sustava, nije baš pravo rješenje, već je potrebno koristiti editore ontologija. Jedan od
najčešće korištenih editora je Protégé
70
, editor otvorenog koda napisan u Javi i razvijen na Stanfordu.
Osim desktop varijante Protégé ima i web-verziju
71
koja u potpunosti podržava OWL 2 i omogućava
kolaborativni razvoj ontologija na distribuirani način. Protégé koristi Manchester sintaksu kod
definiranja operacija na skupovima i ograničenja svojstava, pa je zbog toga su u Tablici 4.8 dani izrazi i
u Manchester sintaksi.
DL logike bazu znanja definiraju skupom aksioma tvrdnji označenih kao ABox i skupom
terminoloških aksioma označenih s TBox.
U OWL-u ABox čine:
pojedinci (članovi klasa) koji predstavljaju konkretne stvari koje mogu pripadati jednoj
ili više klasa npr. vinoPlavacMali, osobaIvan, osobaAna.
a TBox:
klase (skupine pojedinaca koji imaju iste osobine ili ponašanje) poput Vino, BijelaVina,
Osoba, Musko
hijerarhije klasa kojima se definiraju odnosi između klasa poput subClassOf
svojstva objekata koja definiraju veze između dva pojedinca (člana klase) poput
imaOpisnikVina i
svojstva podataka kojima se pojedincima pridjeljuju konkretne vrijednosti poput
godinaBerbe.
Kod razvoja ontologija predlaže se sljedeći slijed koji se može ciklički ponavljati:
Analiza zahtjeva i domene
®
Određivanje svrhe ontologije
®
Razmatranje mogućnosti ponovne
upotrebe
®
Nabrajanje pojmova
®
Definiranje klasa
®
Definiranje svojstava
®
Definiranje
ograničenja
®
Kreiranje pojedinca
Rasuđivanje u OWL jeziku uglavnom se temelji na ontologijskom rasuđivanju (engl. Ontology-
Based Reasoning)
koje koristi zaključivanje temeljeno na klasifikaciji (engl. Classification-Based
Inference). Na primjer, svojstvo ivan imaZenu marija uz obiteljsku ontologiju povlači i cijeli niz
zaključaka koji su uključeni u obiteljsku ontologiju:
ivan pripada klasama Musko, Osoba
marija pripada klasama Zensko, Osoba
dok za zaključak tipa
marija imaMuza ivan
70
https://protege.stanford.edu
71
https://webprotege.stanford.edu
4 PRIKAZIVANJE I POHRANA ZNANJA
135
trebalo bi pravilo kojim se povezuju svojstva imaZenu i imaMuza kao i mehanizam rasuđivanje
temeljeno na pravilima (engl. Rule-Based Reasoning)
koje nije u potpunosti podržano u OWL-u. Postoje
određena pravila primjerice inverseOf
72
ili transitiveProperty, ali za ozbiljnije rasuđivanje
temeljeno na pravilima nužno je OWL proširiti jezicima pravila. Primjer su tri jezika koja podržava i
w3.org: SWRL (engl. Semantic Web Rule Engine)
73
, Notation 3 (N3) logic
74
i RIF (engl. Rule
Interchange Format)
75
.
SWRL je podržan u novijim verzijama Protégé editora kao nadopuna OWL DL jezika. Ima
različite sintakse, od formalne XML koja je kombinacija OWL XML prezentacije i RuleML XML jezika do
simbolička sintakse lako čitljive čovjeku u kojoj se pravila zapisuju vrlo slično logičkim implikacijskim
zapisima. Na ovaj se način pravila unose i u Protégé. Na primjer:
Covjek(?p) -> Osoba(?p)
Osoba(?p), imaBracuSestre(?p,?s) -> imaBrata(?p,?s)
Osoba(?x), imaDijete min 1 Osoba(?x) -> Roditelj(?x)
Protégé je editor u kojem se uz ontologije mogu unijeti i ovakva pravila, ali za zaključivanje
temeljeno na pravilima treba i mehanizam zaključivanja korištenjem pravila (engl. Reasoner ili
Rule Engine)
koji će na temelju ulaznih podataka i pravila donijeti zaključak:
ivan imaZenu marija
(?a imaZenu ?b) -> (?b imaMuza ?a)
MEHANIZAM ZAKLJUČIVANJA:
marija imaMuza ivan
Postoji puno programa
76
koji imaju ugrađene mehanizme zaključivanja korištenjem pravila.
Razlikuju se po tome na koji se jezik pravila naslanjaju, na koji je način realizirano ulančavanje pravila
i jesu li komercijalni, slobodni zatvorenog koda ili slobodni otvorenog koda. Primjer programa otvorenog
koda je Cwm
77
, univerzalni procesor podataka semantičkog Web-a koji ima implementirano unaprijedno
ulančavanje i koristi pravila zapisana u jeziku pravila Notation 3 (N3) logic. Tu je i Euler/EYE
78
s
ulančavanjem unatrag i pravila zapisana u Notation 3 (N3) logic, a posebno je zanimljiv SQWRL (engl.
Semantic$Query-Enhanced$Web$Rule$Language)
79
prilagođen korištenju pravila zapisanih u SWRL jeziku
pravila koji ima i Java API sučelje i grafičko sučelje koje se može integrirati u Protégé. Dobar prikaz
tehnologija semantičkog Web-a je (Khriyenko, 2019).
................................................
Dodatak: Slika
80
ispod prikazuje prof. Harolda Cohena (1928.-2016.), pionira primjene umjetne
inteligencije u umjetnosti i autora prvog računalnog programa AARON koji je crtao originalne
umjetničke slike. Neke od njih prikazana je u desnom dijelu i ispod. AARON se razvijao od
monokromatskog umjetnika, do umjetnika koji je izvrsno baratao bojama koristeći različite tehnike.
72
U pravilo inverseOf mogli bismo uklopiti gornji primjer definirajući imaMuza inverseOf imaZenu, te na
temelju toga zaključiti marija imaMuza ivan, a može se defirati i posebno pravilo kako će se pokazati u nastavku.
73
https://www.w3.org/Submission/SWRL/
74
https://www.w3.org/TeamSubmission/n3/
75
https://www.w3.org/TR/rif-overview/
76
Popis programa može se pronaći na https://en.wikipedia.org/wiki/Semantic_reasoner
77
https://www.w3.org/2000/10/swap/doc/cwm.html
78
https://github.com/josd/eye
79
https://github.com/protegeproject/swrlapi/wiki/SQWRL
80
Slika i Cohenove izjave su preuzeti s
http://geneticsandculture.com/genetics_culture/pages_genetics_culture/gc_w05/cohen_h.htm
4 PRIKAZIVANJE I POHRANA ZNANJA
136
&
Cohen je u jednom razgovoru kazao: Napisao sam ga (misli na AARON-a) kako bih otkrio što bi
nezavisna (strojna) inteligencija mogla učiniti, na temelju nekog znanja o svijetu i rudimentarnih fizičkih
sposobnosti. I, pritom, da ONA pouči MENE mogućnostima koje nisam zamišljao. Bio bih sretniji da
AARON -ov rad u budućnosti što MANJE sliči ljudskim radovima.. AARON nije vidio niti jednu svoju
sliku. Cohen ga je samo učio principe kompozicije, perspektive, slaganja boja, morfologije objekata koje je
crtao i slično, kako je i naglasio: Ne govorim mu što da radi. Govorim mu ono što mora znati, a ON sam
odlučuje što će učiniti.". AARON je u najvećem dijelu napisan u LISP-u, a njegove slike su prisutne u
brojnim galerijama svijeta uključujući i Victoria & Albert Museum u Londonu u čijoj su kolekciji i neke
od slike ispod (https://collections.vam.ac.uk/search/?q=Cohen%20Harold). Više o Haroldu Cohenu i
njegovom radu na http://aaronshome.com.
Razvoj Aaonovog crtanja od 1977.g. (gore lijevo), 1987.g. i 1995.g. do (ispod) 1995.g. i 2002.g. (obje)