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