Predstavljanje znanja u informacijskim sustavima Sveuilite u Zagrebu
Predstavljanje znanja u informacijskim sustavima Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Doktorski studij Zimski semestar Nositelj: Prof. dr. sc. Nikola. Bogunović, D-309 nikola. bogunovic@fer. hr Napomena: Ova prezentacija smije se koristiti bez ograničenja samo u nastavi na Sveučilištu u Zagrebu, Fakultet elektrotehnike i računarstva. 1
Predstavljanje znanja u racionalnom agentu Simboličko predstavljanje i obradba znanja Preslikavanje znanja predstavljeno prirodnim jezikom u: • Logiku predikata i specijalizacije: • • Logičko programiranje Prolog Datalog Dedukcijske baze Relacijske baze podataka Sustavi s pravilima Vremenska logika Okviri Predstavljanje i obradba nesavršenog znanja • Probabilistička logika • Faktori izvjesnosti • Neizrazita logika 2
Inteligentno ponašanje = obradba simbola Polazne hipoteze za oblikovanje utemeljeno na obradbi simbola 1. Rasuđivanje je obrada (manipulacija) simbolima (Alan Newell, Herbert Simon, 1976). 2. Svaka “obrada” simbola može se izvesti na Turingovom stroju. (Alonzo Church – Alan Turing, 1936). Hipoteze 1 i 2 nisu matematički dokazive, ali vjerujemo u njihovi točnost na temelju analogije s prirodnim jezikom. Zaključak: Potrebno je izgraditi sustav simbola (skup simbola i njihovih struktura, skup operacija nad simbolima, pretraživanje skupa, odabir rješenja). 3
Razine apstrakcija u računalnom sustavu Izbor metode oblikovanja skupa simbola Razine apstrakcije u računalnom sustavu: 7. Razina znanja 6. Razina simbola 5. Algoritmi i strukture podataka 4. Programski jezici 3. Simbolički strojni jezik (Asemblerska razina) 2. Strojni jezik 1. Sklopovlje Nedostaci viših razina: • • Definirane strukture podataka smanjuju izražajnu moć. Sporost u izvođenju (posebice kritično za primjene s vremenskim ograničenjima). 4
IBM formu 2002 IBM Forum 2002 – Što je potrebno za strojno racionalno rasuđivanje: • Metode predstavljanja znanja (KR – Knowledge Representation) • Automatizirano prikupljanje znanja (KA – Knowledge Acquisition) • Strojno (automatizirano) rasuđivanje (MR - Machine Reasoning) Za predstavljanje znanja i strojno rasuđivanje je odlučujuće: Logika predikata (engl. Predicate calculus) kao opći postupak predstavljanja znanja i automatiziranog rasuđivanja, iako efikasnost izvođenja traži i neke specijalizirane postupke. 5
Formalna (matematička) logika 6
Primjer primjene (Automatizirano upravljanje sustavima): Wos, Overbeek, Lusk, Boyle: Automated Reasoning (str. 393) Stanje svijeta: Staklenik s prozorima na sredini i svakom kraju koji se mogu otvarati i zatvarati, dva grijača (na svakom kraju), pomična pregrada u sredini koja omogućuje različite temperature u dijelovima staklenika. Senzori temperature na svakom kraju staklenika, te senzor vanjske temperature. Senzor brzine vjetra. Problem: Potrebno je održavati postavljenu temperaturu na svakom kraju staklenika skupom pravila poput: “Ako je previše toplo na jednom kraju staklenika i ako su prozori na tom kraju zatvoreni i ako je vanjska temperatura manja od željene u stakleniku i ako je brzina vjetra ispod kritične tada otvori prozore na tom kraju” 7
Primjer primjene (Rješavanje logičkih problema): M. R. Genesereth, N. J. Nilsson: Logical foundations of AI (str. 92) Stanje svijeta: Viktor je ubijen; Artur, Bertram i Carleton su sumljivi. Artur: “Ja nisam. Bertarm je bio prijatelj Viktoru. Carleton je mrzio Viktora. ” Bertram: “Bio sam van grada kad je Viktor ubijen. Nisam ni poznavao Viktora. ” Carleton: “Ja sam nevin. Vidio sam Artura I Bertrama s Viktorom neposredno prije umorstva. ” Dodatne pretpostavke: Svatko, osim možda ubojice, govori istinu. Problem (dokaži hipotezu): Tko je ubojica ? 8
Generički postupak rješavanja: 1. Korak predstavljanja znanja: Preslikaj stanje svijeta i hipotezu (problem) u formalizam odabrane sheme predstavljanja znanja (npr. formalizam predikatne logike). 2. 2. Oblikuj sustav automatiziranog zaključivanja 3. Odredi parametre upravljačkog toka automatiziranog rasuđivanja i pokreni program donošenja zaključka. U nastavku pokazat će se shema predstavljanja znanja i automatiziranog rasuđivanja temeljena na predikatnoj logici (logici predikata prvoga reda, First Order Predicate Logic _ FOPL). 9
Predstavljanje znanja formalnom logikom predikata prvoga reda (Predikatna logika) Napomena: U propozicijskoj logici cijela rečenična izjava zamjenjuje se jednim simbolom (npr. P). Time se ne mogu izraziti odnosi elemenata unutar izjave. Predikatna logika analizira izjavu uvodeći relacije, obilježja i funkcije te time pobliže opisuje odnose elemenata unutar izjave. 10
Sintaksa logičkog sustava Sustav logike sastoji se od 1. Skupa atomičkih elemenata: Propozicijska logika: Prebrojiv skup simbola PS: Predikatna logika: Prebrojiv skup predikata. P, Q, . . . Postoje rezervirani simboli F (false, , , ) konstanta (neistinitost) T (true, 1) konstanta (istinitost) (, ), . neke sinaktičke oznake 2. Skupa logičkih operatora (logičkih vezica): (ne, not, ~) negacija (i, and, &) konjunkcija (ili, or, ) disjunkcija (ako, if, , ) implikacija (akko, iff, , ) ekvivalencija 11
Sintaksa predikatne logike: Temeljni atomički element je predikat: (pred_simb t 1 t 2 … tn) pred_simb(t 1 t 2 … tn) – infiks notacija (analogno LISP-u) - prefix notacija (analogno Prologu) Obje notacije su jednako u uporabi. Velika i mala slova često se miješaju. Npr. PRED_SIMBOL(t 1 t 2 … tn) Vidi konkretan alat. pred_simbol = osnovno obilježje u rečenici (najčešće predikat). ti = članovi = objekti ili odnosi u rečenici. 12
Članovi predikata: Konstante: Rezervirane konstante: Varijable: Funkcije: objekti u nekom svijetu (blok 1, sokrat, …). T, F. razred objekata ili obilježja; mogu poprimiti vrijednosti iz svoje domene; (Npr. : X, Y, …). veza između objekata u rečenici. Formalna sintaksa: (fun_simb t 1 t 2 … tn) Npr. : (otac_od abel kain) Formalna def. člana: 1. Konstanta je član. 2. Varijabla je član. 3. Ako je fun_simb funkcijski simbol sa n-argumenata, a t 1, t 2, …, tn su članovi, tada je (fun_simb t 1 t 2 … tn) član. Kvantifikacijski simboli (uz varijable, pobliže određuju istinitost rečenice): (postoji, za_neki, exist) (za_svaki, svi, for_all) - egzistencijski ili partikularni kvantifikator (barem jedan). - univerzalni kvantifikator (svi), ima središnju ulogu u izražavanju generalizacije. 13
Ispravno definirane formule u predikatnoj logici Atomički elementi i operatori mogu se kombinirati u dobro definirane logičke formule (engl. well formed formula – wff) 1. svaki atomički predikat je formula. 2. ako je Si formula, tada su formule: ( S), (S 1 S 2), (S 1 S 2). 3. ako je X varijabla, a S formula, tada su formule: X S(X), (oznaka S(X) = formula S u kojoj postoji varijabla X) X S(X). Negirani ili nenegirani atomički predikat naziva se literal. Primjeri ispravno definiranih formula u predikatnoj logici: x(čovjek(x) smrtan(x)) ( X Y (((otac X Y) (majka X Y)) (roditelj X Y))) Za preslikavanje izjava prirodnog jezika u ispravno definirane formule predikatne logike potrebna je posebna vještina. Ne postoji automatizirano preslikavanje (prevođenje). 14
Semantika logičkog sustava (predikatne logike) (1) To je proces pridruživanja obilježja istinitosti wff formulama. Neka se skup formula odnosi na neku domenu razmatranja D. • Interpretacija je proces preslikavanja elemenata iz domene D svakoj pojedinoj konstanti, varijabli, i funkciji, te atomičkom predikatu, tako da: • Simbolu T uvijek je pridružena istinita vrijednost. • Simbolu F uvijek je pridružena neistinita vrijednost. • Svakoj konstanti pridruži se jedan element iz D. • Svakom funkcijskom simbolu pridruži se jedan element iz D. • Svakoj varijabli se pridruži neprazan podskup iz D (dozvoljene supstitucije). • Svaka funkcija f, sa m argumenata, definira interpretacijom i evaluacijom preslikavanje iz Dm u D, t. j. : f: Dm D (pridruživanje jednog elementa iz D). • Svaki predikat P, s brojem članova n, definira interpretacijom i evaluacijom svojih članova preslikavanje iz Dn u T, F , t. j. P: Dn T, F (istinito ili ne). • Vrijednost X P(X) je T, ako P(X) je T, za sve vrijednosti X date sa I, a F inače. • Vrijednost X P(X) je T, ako P(X) je T, barem za jednu vrijed. X datoj sa I, a F inače. Vrijednosti formula složenih logičkim operatorima date su odgovarajućim istinitosnim tablicama. 15
Semantika logičkog sustava (predikatne logike) (2) Određivanje istinitosti svodi se na interpretaciju + evaluaciju Primjeri pridruživanja istinitosti atomičkim predikatima: 1. (prijatelj ivan ana) predikat je T, ako u D postoji objekt Ana koja je prijatelj Ivanu. 2. X je domena prirodnih brojeva X (veci X 10) atomički predikat je F X (veci X 10) atomički prediakt je T - u određivanju T potrebne sve supstitucije varijable (problem ako je domena beskonačna) - u određivanju T potrebna jedan supstitucija za koju T (problem ako je domena beskonačna i predikat F) • Skup svih istinitih formula iz domene D = (engl. state of the world). stanje svijeta 16
Semantika logičkog sustava (predikatne logike) (3) Semantika = interpretacija + evaluacija. Semantika formule složene od dva elementa: 2 elementa, svaki s dvije istinitosne vrijednosti = 22 = 4 interpretacije, što daje 24 = 16 istinitosnih tablica (negacija, konjunkcija, disjunkcija, implikacija, ekvivalencija, … ). Dio tablica istinitosti za povezivanje dva elementa: implikacija 17
O implikaciji (P Q): (1) To je materijalna implikacija i nije potpuno intuitivna prirodnom jeziku. Namjera materijalne implikacije je modelirati uvjetnu konstrukciju, (a ne uzročno-posljedičnu vezu), t. j. : ako P tada Q, t. j. ako je P istinit, tada je (P Q) istinito samo ako je Q istinito. Primjer koji pokazuje neintuitivni aspekt materijalne implikacije: (2 + 2 = 4) (“Zagreb je glavni grad Hrvatske”) je istinita formula jer su prethodna (P) i posljedična (zaključna) (Q) tvrdnja istinite. (2 + 2 = 4) (“London je glavni grad Hrvatske”) je neistinita formula jer je posljedična tvrdnja (Q) neistinita. Ali što je s formulama gdje su prethodne tvrdnje neistinite: (2 + 2 = 5) (“Zagreb je glavni grad Hrvatske”) (2 + 2 = 5) (“London je glavni grad Hrvatske”) 18
O implikaciji (P Q): (2) Što je s formulama gdje je prethodna tvrdnja neistinita, a zaključna istinita ili neistinita: (2 + 2 = 5) (“Zagreb je glavni grad Hrvatske”) (2 + 2 = 5) (“London je glavni grad Hrvatske”) U prirodnom jeziku mogli bi ovakvim formulama implikacije pridijeliti bilo istinitost ili neistinitost, a možda čak i tvrditi da ako je prethodna tvrdnja (P) neistinita, implikacija ne mora biti ni istinite ni neistinite. U formalnoj logici prihvaćena je konvencija: Ako je P neistinit, tada je implikacija (P Q) istinita, neovisno o istinitosti Q. 19
O implikaciji (P Q): (3) Zašto ima smisla implikaciju proglasiti istinitom ako je P neistinit ? Koje su moguće opcije: Za P = istinito suglasni smo s istinitosti implikacije (istinita ili neistinita ovisno o Q). Za P = neistinito postoje 4 moguće tablice: P Q 1: 2: 3: 4: F F T T F T F T T F F F T T T nije sporno Ako 1. , to je konjunkcija, ako 2. , to je Q, ako 3. , to je ekvivalencija. Dakle preostaje jedino 4. tablica. 20
Prioritet uporabe operatora: (negacija), (konjunkcija), (disjunkcija), (implikacija), (ekvivalencija) Primjeri uporabe semantičkih pravila za dva elementa Ako su P 1, P 2 istinite, Q 1, Q 2 neistinite, A bilo koja formula (istinita ili ne). Istinite su formule: Q 1 (P 1 P 2) (P 1 A) (A P 1) (Q 1 A) (P 1 P 2) (Q 1 Q 2) Neistinite su formule: P 1 (Q 1 A) (A Q 1) (Q 1 Q 2) (P 1 Q 1) (Q 1 P 1) (A A) = kontradikcija (uvijek neistinito) () - prazna formula (uvijek neistinito) Primjer izračunavanja istinitosti složene formule s 3 elementa P, Q, R: Neka je dana formula: (Q ((( Q) P) R)) Jedna interpretacija (od mogućih 23 = 8) I: P=T, Q=F, R=F Izračunavanje (evaluacija) istinitosne vrijednosti daje formuli neistinitu vrijednost. 21
Pravila ekvivalencije Definicija: Dvije formule su semantički ekvivalentne ili jednake ako imaju jednaku (istu) istinitosnu vrijednost za svaku interpretaciju. Ekvivalencija u slijedećim pravilima može se provjeriti tablicom istinitosti za sve interpretacije. Provjera koincidencije istinitosnih tablica nije u općem slučaju dovoljna, ali definicija je ispravna. Biti će objašnjeno kasnije. (A A) = () ( ( A)) = A (A A) = A (A B) = (B A) ((A B) C) = (A (B C)) ((A B) C) =(A (B C)) = ((A B) (A C)) ( (A B)) = (( A) ( B)) (A B) = (( A) B) (A B) = ((A B) (B A)) (A B) =(( B) ( A)) kontradikcija dvostruka negacija jednaka važnost (idempotencija) jednaka važnost komutativnost asocijativnost distributivnost De Morganov zakon eliminacija uvjeta eliminacija dvostrukog uvjeta 22 transpozicija
Dopuna pravilima ekvivalencije Neka su P(X), Q(X) su ispravno definirane formule logike predikata s varijablom X: ( ( X P(X))) = X ( P(X)) - analogno De Morgan ( ( X Q(X))) = X ( Q(X)) X P(X) = Y P(Y) - simbol varijable nije bitan, ali je bitan X P(X) = Y P(Y) doseg, uvijek unutar jedne formule 23
Primjeri preslikavanja prirodnog jezika u ispravne formule predikatne logike 1. Nitko nije savršen. X (savrsen X), ili X ( (savrsen X)), t. j. "svi su nesavršeni" 2. Svi košarkaši su visoki. X ((kosarkas X) (visok X)) za svaki X u domeni razmatranja vrijedi da ako je (X) košarkaš tada je visok Ispravna uporaba univerzalnog kvantifikatora (1) Neka je okvir razmatranja (skup objekata): { Garfield, Feliks, računalo} Preslikaj u pred. logiku: "Sve mačke su sisavci. " Za sve objekte u okviru razmatranja vrijedi: ako su mačke tada su sisavci. x [ mačka(x) sisavac(x)] 24
Ispravna uporaba univerzalnog kvantifikatora (2) x [ mačka(x) sisavac(x)] (vrijedi za sve objekte x) Dokaz: Supstitucija svih objekata u formulu (konjunkcija formula jer ): [ mačka(Garfield) sisavac(Garfield)] [ mačka(Feliks) sisavac(Feliks)] [ mačka(računalo) sisavac(računalo)] . . . (ostali objekti ako ih ima) prva [ ]: T tablica za druga [ ]: T tablica za treća [ ]: T !!!!! tablica za pa je cijela [ ] formula T !!!!! Ekvivalentno nabrajanju samo tvrdnji koje su istinite na lijevoj strani. Ništa ne govorimo o tvrdnjama koje su neistinite na lijevoj strani. Ako bi preslikali: x [ mačka(x) sisavac(x)] Supstitucija svih objekata daje: [ mačka(Garfield) sisavac(Garfield)] [ mačka(Feliks) sisavac(Feliks)] [ mačka(računalo) sisavac(računalo)] … (ostali objekti ako ih ima) mačka(računalo) = F - daje neistinitu cijelu formulu !! 25
Ispravna uporaba egzistencijskog kavantifikatora (1) Neka je okvir razmatranja (kao prije): Preslikaj u predikatnu logiku: { Garfield, Feliks, računalo} "Garfield ima brata koji je mačka. " Postoji barem jedan (neki) objekt i takav da su mu obilježja istinita. x [brat(x, Garfield) mačka(x)] Dokaz supstitucijom svih objekata u formulu ( disjunkcija formula jer ): [brat(Garfield, Garfield) mačka(garfield)] [brat(Feliks, Garfield) mačka(Feliks)] [brat(računalo, Garfield) mačka(računalo)] … (ostali ako ih ima) Prva [ ] neistinita, ali idemo dalje jer su [ … ] povezane disjunkcijom. Drugi red istinit, cijela formula je istinita (dalje ne moramo ispitivati). 26
Ispravna uporaba egzistencijskog kavantifikatora (2) Ako bi preslikali: x [brat(x, Garfield) mačka(x)] Supstitucija svih objekata u disjunkciju formula daje: [brat(Garfield, Garfield) mačka(Garfield)] [brat(Feliks, Garfield) mačka(Feliks)] [brat(računalo, Garfield) mačka(računalo)] … (ostali objekti ako ih ima) Implikacija je istinta ako je atomički izraz na lijevij strani neistinit ! Npr. ako je: [brat(računalo, Garfield) mačka(računalo)] istinito, cijela je formula istinita !! Egzistencijski kvantificirana implikacijska formula je istinita ako u okviru razmatranja postoji barem jedan objekt za koji je premisa implikacije neistinita (desna strana može biti T ili F). Takva rečenica ne daje nikakvu potvrdnu informaciju. Zaključak: ide uz 27
Tipičan primjer preslikavanja Preslikaj u predikatnu logiku: Rješenje: "Niti jedan student ne sluša sve predmete. " Def. predikate: S(x) x je student L(x) x je predmet B(x, y) x sluša y Prioriteti logičkih operatora: Preporuka: , , . koristi zagrade za prioritet i doseg kvantif. a) “Ne postoji x koji je student i takav da sluša sve predmete. ” x [ S(x) y (L(y) B(x, y) ) ] = obilježje b) “Za svaki x vrijedi: ako je student postoji predmet (bar jedan) koji ne sluša” x [ S(x) ( y (L(y) B(x, y) ) ) ] = obilježje Evidentno: 1) ide uz , ide uz 2) pomicanjem negacije u a) slijedi b) - De. Morgan 28
Nakon sheme predstavljanja znanja slijedi rasuđivanje u prikazanom sustavu: Automatizirano izvođenja zaključka u predikatnoj logici ili Automatizirano dokazivanje teorema (engl. ATP - Automated Theorem Proving) 29
Elementarno generiranje zaključka uporabom semantičkih pravila i pravila ekvivalencije koja generiraju dodatne istinite formule (mehanički) bez razumijevanja konteksta (značenja). 1. 2. 3. 4. 5. 6. Ako P=T, Q=T, generiraj (P Q) = T (uvođenje konjunkcije) Ako P=T, (P Q)=T, generiraj Q = T (modus ponens) Ako Q=T, (P Q)=T, generiraj P (modus tolens) Ako (P Q)=T, generiraj (Q P) = T (komutativnost ) Ako (P Q)=T, generiraj P=T, Q=T ( eliminacija) Ako P=T (odnosno Q=T), generiraj (P Q) = T (uvođenje disjunkcije) 7. Ako [ ( P)]=T, generiraj P=T (eliminacija negacije) 8. Prikazano generiranje zaključka ima vrlo ograničeni doseg i nije dostatno za primjenu u realnim sustavima. 30
Uvodimo Formalan logički sustav Definiramo formalan sustav kao dvojku: { , L} gdje je: G - konačan skup ispravno definiranih formula u odabranom logičkom sustavu (vidi ranije primjere) = stanje svijeta. L – konačan skup pravila dozvoljenih u odabranom logičkom sustavu (npr. ranije navedena semantička pravila) 31
DEFINICIJE OBILJEŽJA U FORMALNOM SUSTAVU (1) Sekvencija formula { 1, 2, …, n} ili pojedina formula i je teorem (dokaz, dedukcija) iz skupa formula , ako je u skupu , ili se može izvesti iz korištenjem pravila zaključivanja L. L { 1, 2, …, n} sekvencija formula je teorem zarez L i formula i je teorem Npr. (skup sadrži dvije istinite formule): = { P, (P Q) } Korištenjem pravila “Modus ponens” (iz skupa dopustivih pravila L), izvodimo da je istinita nova formula Q, te je ta formula Q teorem (dokaz, dedukcija) skupa . Skup je konzistentan akko (ako i samo ako) ne sadrži formule na temelju kojih bi i i i (istovremeno) bili teoremi. = { P, (P Q) } je konzistenatan. = { P, (P Q) } je nekonzistentan, kontradiktoran, uvijek neistinit jer su P istovremeno teoremi (nalaze se u samom skupu ). = { P, Q, (P Q) } je nekonzistentan jer sadrži Q, a pravilom “Modus 32 ponens” može se izvesti Q, dakle Q i Q bi istovremeno bili teoremi.
DEFINICIJE OBILJEŽJA U FORMALNOM SUSTAVU (2) Neka se u formalnom sustavu { , L} izvodi neki teorem (dokaz, dedukcija) i. Ttražimo odgovor da li je i teorem ili ne. Sustav je odrediv ili odlučljiv (engl. decidable), akko postoji algoritam koji će u konačnom vremenu odrediti ili ne teorem i (dati u konačnom vremenu dati odgovor da li teorem i postoji ili ne). Formalan sustav { , L} je poluodrediv ili poluodlučljiv (engl. semidecidable), akko postoji algoritam koji će u konačnom vremenu odrediti teorem ako on postoji. Algoritam završava u konačnom vremenu s odgovorom "da" (za teorem i), ali ne mora završiti u konačnom vremenu s odgovorom "ne"(t. j. i nije teorem). Formalan sustav je neodrediv ili neodlučljiv (engl. undecidable) ako nije odrediv ni poluodrediv. 33
Sintaksa i semantika u formalnom sustavu povezane su interpretacijom (pridruživanjem istinitosti atomima) i evaluacijom (izračunavanjem istinitosti složene formule). Neka interpretacija je model formalnog sustava ako evaluira sve njegove formule u istinito (vrijedi i za svaku formulu pojedinačno). Npr. : interpretacija I: {P=T, Q=F, R=F} formule (Q ((( Q) P) R)) nije model jer ta interpretacija formuli daje neistinitu vrijednost. Skup formula je zadovoljiv (engl. satisfiable) ako ima model (barem jedan). Vrijedi i za pojedinačne formule. Sukladno ranijoj definiciji, nezadovoljiv (nekonzistentan, kontradiktoran) skup formula nema nijedan model. Skup formula implicira ili povlači (engl. entails) formulu , ako je svaki model od ujedno i model od . Formula je tada logička posljedica skupa formula . (svaki model od je model formule ) Formula je valjana ili tautologija (engl. valid) ako je istinita za svaku interpretaciju i evaluaciju. (svaka interpretacija je model formule ) 34
Primjeri logičkih posljedica - 1 Svaka interpretacija koja lijevoj strani od znaka I daje istinitost mora i desnoj strani dati istinitost. 1. (P Q) I P lijeva strana = T samo za (P=T, Q=T), a to daje i desnoj strani =T, dakle gornji izraz vrijedi (P je logička posljedica (P Q). 2. (P Q) I P lijeva strana je istinita za (P=F, Q=T; P=T, Q=F; P=T, Q=T), ali desna za interpretaciju (P=F, Q=T) nije istinita, te P nije logička posljedica (P Q). 3. Q, (P Q) I P skup na lijevoj strani je istinit samo za Q=F, P=T, a to daje istinitost i desnoj strani, te je P logička posljedica navedenog skupa . 4. P I (Q Q) također vrijedi, jer za svaku interpretaciju za koju je lijeva strana istinita (P=T) i desna stana je istinita (desna strana je uvijek istinita). 35
Primjeri logičkih posljedica – 2 G = (A C) (B C) = stanje svijeta = Knowledge Base = KB (umjesto može se koristiti zarez). Neka je: = (A B) KB = ? 36
Formalan sustav { , L} je ispravan (engl. sound) ako i kadgod je L i , t. j. svaka pravilima dokazana formula je ujedno i logička posljedica skupa . L i implicira i Formalan sustav { , L} je kompletan (engl. complete) ako L i kadgod je , t. j. svaku logičku posljedicu skupa moguće je dokazati pravilima L. implicira L i U ispravnom i kompletnom formalnom sustavu { , L} vrijedi: = L i Izvođenje zaključka u logičkom sustavu = dokazivanje logičke posljedice (engl. theorem proving) 37
Obilježja nekih logika: • Većina interesantnih formalnih logičkih sustava je nekompletna, a vrlo malo ih je odredivo. • Propozicijska logika je ispravna, kompletna i odrediva (npr. preslikavanjem u tablicu istinitosti), jer operira s konačnim skupom simbola. • Predikatna logika je: • Poluodrediva (ako teorem postoji, dokazat će se, a ako ne postoji može se ali i ne mora dokazati). • “Čista” (npr. bez aritmetike) predikatna logika je ispravna i kompletna (Gödel). 38
Primjeri formula i obilježja: P - zadovoljiva ali ne i valjana (interpretacija P=T je model, dok interpretacija P=F nije model). (P P) - valjana (tautologija), sve interpretacije (dvije) P=T, P=F, su modeli (formula je istinita). (P P) - kontradiktorna (nezadovoljiva), nema modela. () - kontradiktorna (nezadovoljiva). P (Q P) - valjana (tautologija), sve interpretacije (ima ih 4: FF, FT, TF, TT) su modeli. (P Q) - zadovoljiva. Ima samo jedan model: P=T, Q=T. 39
Dodatno čvršće objašnjenje semantičke ekvivalencije: Definicija: Dvije formule su semantički ekvivalentne ili jednake ako imaju jednaku (istu) istinitosnu vrijednost za svaku interpretaciju I. Npr. Da li su ekvivalentne dvije formule: ((P Q) P) i (R R) jesu sukladno gornjoj definiciji (obje su valjane -- tautologije), ali usporedna provjera istinitosnih tablica nema smisla (simboli su različiti). Definicija ekvivalencije preko pojma logičke posljedice ( ): Dvije formule i su semantički ekvivalentne akko vrijedi: ( I ) i ( I ), često pišemo: znači da vrijedi tautologija (vidi raniju tablicu pravila ekvivalencije): I ( ) Semantička ekvivalencija je na taj način identična dokazljivoj ekvivalenciji t. j. ako želiš dokazati ekvivalentnost, dokaži da je (( ) ( )) tautologija, odnosno da (( ) ( )) je nezadovoljiva. Potreban je sustav za dokazivanje zadovoljivosti !!! 40
Normalni oblici Svaka propozicijska formula može se preslikati (ekvivalentna je) formuli u disjunkcijskom normalnom obliku (DNF) : (k 11 … k 1 n ) (k 21 … k 2 m) … (kp 1 … kpr) Svaka propozicijska formula može se preslikati (ekvivalentna je) formuli u konjunkcijskom normalnom obliku (CNF) : (k 11 … k 1 n ) (k 21 … k 2 m) … (kp 1 … kpr) gdje su: ki = literal (negirani ili nenegirani atomički simbol - atom) klauzula = disjunkcija literala. Npr. : (k 21 … k 2 m) CNF = konjunkcija klauzula 41
SAT problem (zadovoljivost) - temeljni NP problem Tražimo model skupa formula (interpretaciju koja evaluira sve formule u skupu u istinito. To je ekvivalentno traženju modela jedne složene formule koja se sastoji iz konjunkcije svih formula u . skup formula je najčešće dan u CNF obliku: (k 11 … k 1 p ) (k 21 … k 2 r ) … (kp 1 … kps ) Iscrpna procedura rješavanja CNF SAT problema sistematski pridjeljuje istinitosne vrijednosti atomičkim propozicijskim simbolima. Za n atoma 2 n pridruživanja. Eksponencijalna složenost, računalno neizvedivo u općem slučaju. Za DNF – polinomska složenost jer postoji konačan broj literala, a dovoljno je pronaći zadovoljivost u samo jednom disjunkcijskom članu. CNF 2 SAT CNF 3 SAT - polinomska kompleksnost (do 2 literala u klauzuli) - NP kompletno (3 literala u klauzuli) Zadovoljivost formule u CNF obliku s 3 i više literala je NP kompletno. Mnogi stohastički algoritmi (1992, 1993) troše eksponencijalno vrijeme u najgorem slučaju, ali polinomsko u srednjem (očekivanom). 42
Teorem dedukcije ili Zadovoljivost u dokazivanju logičke posljedice Teorem: Formula je logička posljedica formule , t. j. = , akko je formula ) tautologija (valjana). ( Dokaz: Akko je ( ) tautologija (uvijek istinita), onda iz tablice za implikaciju proizlazi da kada je istinit (istinita pretpostavka) i mora biti istinit. To je upravo definicija logičke posljedice. ( ) F F T T T samo ovdje je istinit i ( ) istinito Budući da ( ) mora bit tautologija, to njena negacija ( ) = ( ) mora biti nezadovoljiva. Dakle: = akko je ( ) nezadovoljiva 43
Lema iz koje izravno slijedi postupak dokazivanja: Ako želimo dokazati da je formula C logička posljedica skupa formula (A 1 A 2 . . . An) - (aksiomi, pretpostavke, premise vezani konjunkcijom), formulu C negiramo, dodajemo konjunkcijskom skupu aksioma, te nastojimo dokazati da je tako dobiven skup kontradiktoran, t. j. : Pokaži kontradiktornost u: (A 1 A 2 . . . An ( C)) Kako je prazna formula () nepobitno kontradiktorna, prošireni skup nastojimo pravilima L reducirati na (). Postupak se naziva “reductio ad absurdum”. Primjer (uz ranije dana pravila L): Ako su istinite tvrdnje. P, (P Q), (Q S), dokaži da je istinita tvrdnja S. 1. P 2. (P Q) 3. (Q S) 4. S ; dodajemo negaciju tvrdnje (hipoteze) S iz 1. i 2. modusom ponensom slijedi Q, iz 3. i 4. modusom tolensom slijedi Q, 44 a konjunkcija tvrdnji Q je očita kontradikcija.
Novo (snažno) pravilo u formalnoj logici RAZRJEŠAVANJE - (Robinson 1965) Logička posljedica dviju istinitih, konjunkcijom vezanih, univerzalno kvantificiranih normaliziranih klauzula (pazi sve formule moraju biti normalizirane klauzule) je normalizirana klauzula bez jednog komplementarnog para literala. Normalizirana klauzula je formula oblika disjunkcije literala. Komplementarni parovi su nenegirani i negirani jednaki atomički predikati. Robinsonov teorem zadržava zadovoljivost rezultirajuće formule. 1. (A 1 A 2 . . . An B) 2. (( B) C 1 C 2 . . . Cp) ______________________ 3. (A 1 A 2 . . . An C 1 C 2 . . . Cp) 3 - razriješena formula (engl. resolvent), bez kompl. para B i B. 45
Primjer: (P Q) Klasičan Izvod: (P Q) = P (Q Q) = P (P Q) uporabom distribucije: A (B C) = (A B) (A C) (P P) = P Modus ponens je P poseban slučaj razrješavanja: (P Q) P ( P Q) Q Q Modus tolens je Q Q poseban slučaj razrješavanja: (P Q) ( P Q) P P Lančano pravilo je (P Q) ( P Q) poseban slučaj razrješavanja: (Q R) (P R) ( P R) (P R) 46
Razrješavanje je ispravno (engl. sound) pravilo zaključivanja, t. j. : RES implicira da je - dokaz u literaturi (dobivena formula je doista logička posljedica ) Razrješavanje (samo za sebe) nije kompletno, t. j. nije dostatno za izvođenje svih logičkih posljedica nekog skupa klauzula. Npr. : iz {P, R} skupa ne može se samo razrješavanjem dokazati teorem (P R), jer se nema što razriješiti. Uz razrješavanje koristimo lemu teorema dedukcije (dodavanje negirane hipoteze) i osnovna pravila: 1. korak dod. neg. teorem (teorem oborivosti) P R (P R) 2. korak pravilo neg. 3. korak elimin. 4. korak razrješavanje P R P R P R (), Razrješavanje je oborivo kompletno (engl. refutation complete). 47
Opći postupak dokazivanja teorema (ATP): 1. 2. 3. 4. definiraj skup aksioma E kao ispravne formule (wff) = stanje svijeta. definiraj teorem H kao ispravnu formulu (wff). negirani H dodaj skupu aksioma E, dobiven je skup formula F. preslikaj skup formula F u skup univerzalno kvantificiranih normaliziranih klauzula K. Zatim ponavljaj: izaberi klauzule k 1 i k 2 iz skupa K novi-k : = razriješi (k 1, k 2) dodaj novi-k u skup normaliziranih klauzula K novi-k' : = pojednostavi novi-k sa K ; pojednost. novi-k K : = pojednostavi K sa novi-k’ ; pojednostavi skup K dok: () ili redukcija više nije moguća ako (), vrati "teorem H dokazan" inače, vrati "skup konzistentan, teorem H nije dokazan“ • • Važno je uočiti da u svakom prolazu kroz petlju novi-k proširuje skup klauzula (dodaje se u skup a sve izvorne klauzule ostaju u skupu). Skup se zatim postupcima pojednostavljivanja nastoji smanjiti, najčešće 48 bezuspješno.
Shematski prikaz dokazivanja teorema Konjunkcija E 1 aksioma E 2 E = { Ei } (wff) dodamo negirani teorem H: (wff) … En F K = { k 1, k 2, … , k m } normalizirane klauzule (potrebno zbog razrješavanja) općenito (n+1) m H Skup K: k 1 k 2 Kontradikcija/nezadovoljivost ili ne, t. j. … prazna formula () ili ne km pravila L (razrješavanje i ostala) 49
Preslikavanje formula logike predikata u normalizirane klauzule (1) Normalizirana klauzula: disjunkcija literala. Temeljna ili osnovna klauzula (engl. ground clause): klauzula bez varijabli. Preslikavanje ne zadržava jednakost (ekvivalenciju), ali zadržava zadovoljivost (dostatno za uporabu teorema oborivosti). 1. Eliminirati sve implikacije i ekvivalencije, te umjesto njih koristiti disjunkcije i konjunkcije, npr. : (P Q) = (( P) Q) (P Q) = ((( P) Q) (P ( Q))) 2. Pomaknuti negacije do jediničnih formula, npr. : ( ( P)) = P ( ( X A(X))) = ( X ( A(X))) 3. Preimenovati varijable uz kvantifikatore u istoj složenoj formuli. Npr. : ( X (P(X)) ( X Q(X))) Formule P i Q trebaju sadržati različite varijable (npr. X, Y), ( X (P(X)) ( Y Q(Y))) Doseg varijable je samo unutar formula. 50 Ponekad je korisno formule standardizirati (posebno označiti varijable).
Preslikavanje formula logike predikata u normalizirane klauzule (2) 4. Eliminirati kvantifikatore (skolemizirati - Toraf Skolem). 4. 1 Univerzalni kvantifikator (podrazumijeva se, te se ispušta) ( X ((prizma X) (geom_tijelo X))) ; sve prizme se geom. tijela pišemo jednostavnije: ((prizma X) (geom_tijelo X)) 4. 2 Egzistencijski kvantifikator Pretvorba varijable u novu konstantu ili funkciju, čiji su članovi univerzalno kvantificirane varijable. 4. 2. 1 Egzistencijski kvantifikator nije u dosegu univerzalnog: ( X((nudist X) (demokrat X))) X sup. s novom jedinstvenom konstantom – skolem konst. Dajemo ime nečemu što mora postojati, jer ako je formula istinita, mora postojati bar jedna supstitucija. Odaberemo npr: X = ab_1, te slijedi: 51 ((nudist ab_1) (demokrat ab_1))
Preslikavanje formula logike predikata u normalizirane klauzule (3) 4. 2. 2 Egzistencijski kvantifikator u dosegu univerzalnog: ( X ( Y P(X, Y))) ; predikat P sadrži članove-varijable X i Y Postoji neki Y i nekako ovisi o (odabranom) X. Dajemo novi simbol za Y, (uvodimo funkcijski član - skolem funkciju), jer je Y različit za svaki odabrani X. Y = f(X), pa uz izostavljanje slijedi: P(X, f(X)) ; prefiks notacija Npr. "Svaka osoba ima majku. " X Y (majka X Y) ; infiks notacija Varijabla X označuje svaku osobu. Y označuje određenu (ne svaku), jer ovisi o X. Y zamjenjujemo s funk. članom (m X), pa (uz ispuštanje ): (majka X (m_funkcija X)) 52 ; u infiks notaciji
Preslikavanje formula logike predikata u normalizirane klauzule (4) 5. konjunkcijom složene formule se rastavljaju i pišu svaka posebno. (A (B C)) = (A B) (A C) Formule (A B) i (A C) pišu se kao odvojene klauzule. Nakon izvedenog preslikavanja slijedi: skup normaliziranih klauzula u CNF (konjunkcijskom normalnom obliku) - konjunkcija disjunkcija. 53
Postupci izbora klauzula za razrješavanje (STRATEGIJE) 1. Strategija izbora u širinu (engl. breadth-first-strategy) • U prvoj iteraciji svaka klauzula se uspoređuje sa svakom klauzulom. • U n-toj iteraciji, novo generirane klauzule iz n-1 iteracije dodaju se skupu klauzula, te se sve klauzule uspoređuju svaka sa svakom. • Generira eksponencijalan broj novih klauzula. • Garantira pronalaženje rješenja (strategija je kompletna). 2. Strategija s prvenstvom jediničnih klauzula (jedan literal) (engl. unit preference strategy) - predprocesiranje • Cilj dokazivanje je prazna klauzula. • Stoga u svakom koraku, ako se proizvede klauzula s manje članova od izvornih, dolazi se bliže rješenju. • Razrješavanje s klauzulom koja sadrži samo jedan literal sigurno generira kaluzulu s manje članova nego što ih imaju polazne. 54
3. Strategija skupa potpore (engl. set of support, So. S) • Za skup ulaznih klauzula K, može se definirati podskup T K, (skup potpore). • Ova strategija zahtijeva da barem jedna od klauzula u razrješavanju bude ili ima pretka u T. • Može se pokazati da ako je K nezadovoljiv, a K-T zadovoljiv, strategija skupa potpore je kompletna. • Ako je izvorni set klauzula-aksioma Ei zadovoljiv (uobičajen slučaj), nije oportuno tražiti razrješavanje u tom skupu (to je ustvari K-T skup). Negacija onoga što nastojimo dokazati daje nekonzistentnost. • Strategija skupa potpore zahtijeva stoga da barem jedna od klauzula u razrješavanju bude negirani zaključak ili klauzula generirana ranije razrješavanjem s negiranim zaključkom. • Reducira prostor stanja strategije izbora u širinu, te traži samo sva razrješavanja s negiranim zaključkom i njegovim potomcima, a ne sva kao u strategiji u širinu. 55
4. Linearna ulazna strategija razrješavanja (PROLOG) • Polazi od negiranog zaključka i jedne klauzule iz skupa aksioma. • U svakom slijedećem koraku razrješava se uvijek s rezultatom iz prijašnjeg koraka i jednom novom klauzulom iz skupa aksioma. • Nikad se ne koriste klauzule generirane u nekom od ranijih koraka (kao kod npr. strategije skupa potpore), niti dva aksioma zajedno. • Linarna ulazna strategija nije kompletna. Primjer: Ako ma koja klauzula predstavljala negirani zaključak, linearnom ulaznom strategijom nije moguće doći do prazne klauzule (dokaza). 1. (A B) 2. (A B) 3. ( A B) 4. ( A B) Očito da iz 1 i 2 slijedi A, a 3 i 4 slijedi A, te je skup nekonzistentan. Ako pak koristimo linearnu ulaznu strategiju, polazimo npr. od 1, te 1 i 2 daju 5: A, 5 i 3 daje 6: B, 6 i 4 daje 7: A, i nema (), t. j. kontradik. Slično bez obzira na polaznu klauzulu. 56
Ovisnost efikasnosti strategija o domeni primjene Matematika Širinska Zagonetke Prirodni jezik X Dubinska Skup potpore Prolog X X 57
Izjednačavanje atomičkih predikata (unifikacija) - 1 U razrješavanju tražimo komplementarne parove (radi eliminacije). U propozicijskoj logici atomički predikati su jednaki ili ne (atomički simboli). U predikatskoj logici jedinični predikati s istim predikatskim simbolom i jednakim brojem članova možda se mogu izjednačiti. Iako izvorno nejednaki, treba pronaći supstituciju varijabli, koja bi ih učinila jednakima (obilježje inteligencije ? ). Pažnja: Doseg varijabli je unutar jedne klauzule, te svaku supstituciju varijable treba dosljedno provesti u cijeloj klauzuli. Primjer 1: 1. (p 1 a b) ; p 1 je pred. simbol, a i b se konst. 2. (( (p 1 X b)) (p 2 X c)) ; p 1 i p 2 su pred. , X je varijabla supstitucija: X=a u cijeloj klauzuli 2. 1. (p 1 a b) 2. (( (p 1 a b)) (p 2 a c)) (…) su kompl. parovi koji se u razrješavanju eliminiraju. Ostaje samo (p 2 a c). Skup parova varijabli i pripadnih supstitucija je unifikator: = X=a. 58
Izjednačavanje atomičkih predikata (unifikacija) - 2 Primjer 2: 1. (r 1 Y Z) ; Y, Z su varijable 2. (( (r 1 a X)) (r 2 X b)) ; X je varijabla, a i b su konst. Supstitucija Y=a, Z=a 1 u prvoj klauzuli, te X=a 1 u drugoj daje: 1. (r 1 a a 1) 2. ( (r 1 a a 1)) (r 2 a 1 b)) (…) su kompl. parovi. Razriješena klauzula je (r 2 a 1 b). Postoji i općenitije rješenje. Ako u prvoj klauzuli supstituiramo: Y=a, Z=Xnovi (varijablu zamijenimo s varijablom), a u drugoj X=Xnovi, slijede klauzule: 1. (r 1 a Xnovi) 2. ( (r 1 a Xnovi)) (r 2 Xnovi b)) Razriješena klauzula (r 2 Xnovi b) je općenitija, sadrži varijablu Xnovi koja se može dalje koristiti (u slijedećim koracima). Traži se supstitucija koja daje najopćenutije rješenje, unifikator (supstitucijski parovi) je tada MGU (engl. most general unifier). 59
Izjednačavanje atomičkih predikata (unifikacija) - 3 Test na pojavu (engl. occurs check”) U izjednačavanju se varijabla ne smije zamijeniti članom koji sadrži tu istu varijablu. X se ne može zamijeniti s f(X), jer bi to kreiralo beskonačnu sekvenciju: f(f(f(. . . X))). Ispitivanje takve hazardne situacije naziva se test na pojavu (engl. occurs check). Primjer: (pred_symb_1 X (pred_symb_1 Y (funk X)) Y ) U prvom koraku zamijeni se Y sa X. Slijedi: (pred_symb_1 X (funk X)) (pred_symb_1 X X ) U drugom koraku nastoji se zamijeniti X sa (funk X) što generira beskonačnu petlju. 60
Pojednostavljenje skupa klauzula podrazumijevanjem Podrazumijevanje (engl. subsumption) odbacuje manje općenite klauzule. Upotrebljavamo prefiks notaciju: Npr. stariji( otac_od(X), X) je općenitija jedinična klauzula od stariji( otac_od(ana), ana) Npr. žena(X, Y) žensko(X) je općenitija od žena(ana, ivan) žensko(ana) Npr. P(a, X) P(Y, b) je općenitija od P(a, b) Nije uvijek prednost odbaciti jediničnu klauzulu (jedan od ciljeva u ATP-u). 61
Tautologija u razješavanju Npr. : 1. (P Q) 2. ( P Q) 3. (Q Q) = T (uvijek istinito) • Kako je klauzula 3 uvijek istinita, to njeno dodavanje (kao rezultat razrješavanja) u skup klauzula K ne mijenja ništa niti doprinosi procesu dokazivanja teorema (traganje za kontradikcijom sukladno lemi teorema oborivosti), te se može (poželjno je) izostaviti. • Tautologija se odnosi samo na razrješavanje klauzula 1 i 2. • Skup klauzula K može bit kontradiktoran iako neki parovi klauzula razrješavanjem daju tautologiju. • Postupak dokazivanja teorema može generirati mnogo nepotrebnih novih klauzula, te je pojednostavljivanje skupa K bitan dio postupka. 62
Primjer dokazivanja teorema (1): Aksiomi: A 1 : Svi ljudi su smrtni. A 2 : Sokrat je čovjek. Teorem: ? : Sokrat je smrtan FOPL: X ((covjek X) (smrtan X)) (covjek sokrat) FOPL: (smrtan sokrat) Teorem H negiramo i dodajemo skupu premisa: E 1: ( X ((covjek X) (smrtan X))) E 2: (covjek sokrat) E 3: ( (smrtan sokrat)) Preslikavamo u normalizirane klauzule: K 1: (( (covjek X)) (smrtan X)) K 2: (covjek sokrat) K 3: ( (smrtan sokrat)) Klauzule K 1 i K 2 (strategija u širinu) uz sup. X=sokrat, razriješimo u klauzulu K 4. K 1: (( (covjek X)) (smrtan X)) ; izvorne klauzule K 1 i K 2 ostaju nepromijenjene K 2: (covjek sokrat) K 3: ( (smrtan sokrat)) K 4: (smrtan sokrat) ; novo generirana klauzula dodaje se skupu Klauzule K 3 i K 4 su kontradiktorne, jer njihovim razrješavanjem slijedi (). 63 Time je teorem “Sokrat je smrtan. ” dokazan.
Primjer dokazivanja teorema (2): Primjer ističe važnost unifikatora. A 1 : A 2 : H: Rex se uvijek nalazi gdje i Ivan je u knjižnici. Gdje je Rex ? FOPL: A 1 : A 2 : H: X (nalazi ivan X) (nalazi rex X) (nalazi ivan knjiznica) Y (nalazi rex Y) ; Rex se nalazi svugdje (postavljanje hipoteze !!) Klauzule (uključena negirana hipoteza): K 1 : (nalazi ivan X) (nalazi rex X) K 2 : (nalazi ivan knjiznica) K 3 : (nalazi rex Y) ; Rex se ne nalazi nigdje, ; traži se kontradikcija uz vezanje Y Iz K 1 i K 2 (supstitucija X=knjiznica) slijedi dodatna klauzula: K 4 : (nalazi rex knjiznica) Iz K 3 i K 4 (supstitucija Y=knjiznica) slijedi K 5: (), t. j. kontradikcija. Time je teorem dokazan. Odgovor je sadržan u supstituciji Y=knjiznica. 64
RAZRJEŠAVANJE I JEDNAKOST (1) Npr. (3 + 4) možemo pisati i kao ((3 + 0) + 4) ---> uvođenje aritmetike ! Nemoguće je izgraditi sustav sa svim mogućim varijacijama predstavljanja. Postoji nekoliko popularnih pristupa obradbe jednakosti. 1. Relaciju jednakosti aksiomatiziramo: X X=X X Y (X=Y) (Y=X) X Y Z ( X=Y Y=Z) (X=Z) X Y (Xj=Y) P(X 1 … Xj … Xn) P(X 1 … Y … Xn) X Y (Xj=Y) f(X 1 … Xj … Xn) f(X 1 … Y … Xn) ; refleksija ; simetrija ; transitivnost ; sup. u pred. ; sup. u funk. Dodavanjem ovih formula u skup aksioma uvodi nove (moguće nepotrebne) klauzule i povećava prostor stanja pri razrješavanju. 65
RAZRJEŠAVANJE I JEDNAKOST (2) 2. Paramodulacija (1/2) Cilj je izvesti zamjenu člana u klauzuli koristeći pozitivni literal equal (simbol equal je standard ili konvencija). To je generalizacija supstitucije jednakosti (t. j. može biti duboko ugnježđena). Postupak: - supstitucija varijabli u obje klauzule (“From” i “Into”) - supstiticija člana u “Into” s članom iz equal predikata (“From”). Primjer 2. 1: Postoji jednakost: (majka_od ana) = kata odnosno standardno: (equal (majka_od ana) kata) To je “From” jedinična klauzula (literal, atomički predikat). Neka je željena “Into” klauzula: (starija (majka_od X) X) Supstitucija X=ana u obje klauzule (ovdje se u “From” nema što supstituirati) daje: “From”: (equal (majka_od ana) kata) “Into”: (starija (majka_od ana) Supstitucija člana u “Into” s članom iz “From” (t. j. koristeći equal) daje konačno: (starija kata ana) 66
RAZRJEŠAVANJE I JEDNAKOST (3) 2. Paramodulacija (2/2) Primjer 2. 2 (s varijablama u obje klauzule, obje equal !): “From”: “Into”; (equal (sum 0 X) X) (equal (sum Y (minus Y)) 0) Supstitucija u obje traži: Y=0, X=(minus Y)=(minus 0) Rezultat supstitucije u obje: “From”: (equal (sum 0 (minus 0)) “Into”: (equal (sum 0 (minus 0)) 0 ) Supstitucija “From” u “Into” daje konačno: (equal (minus 0) 0) • • • Kod paramodulacija izvorni oblik (equal (sum Y (minus Y)) 0) ostaje u skupu. Postupak se zaustavlja nakon prve uspješne zamjene. Paramodulacija čuva kompletnost ako se proširi s refleksivnim predikatom: (equal X X) 67
RAZRJEŠAVANJE I JEDNAKOST (4) 3. Postupak demodulacije Demodulacija je postupak prijepisa klauzula u odabran kanonički (standardan) oblik. U postupku se koristi pozitivna jedinična klauzula (predikat) kao demodulator. Npr. neka je demodulator : (otac_od X)) = (djed_od X) Standardizirano pišemo: (equal (otac_od X)) (djed_od X)) ; Demodulator prepisuje član u nekom atomičkom predikatu uz pomoć svoje jedinične klauzule. Npr. , u predikatu (dob (otac_od ana)) 75) funkcijski član (otac_od ana)) se zamjenjuje sa (djed_od ana) iz demodulatora i prepisuje u: (dob (djed_od ana) 75) • • • Izvorni oblik predikata (dob (otac_od ana)) 75) se odbacuje, ( kod paramodulacije ostaje u skupu). Jedna uspješna zamjena pokreće daljnju moguću (kod paramodulacija ne). U nekim posebnim slučajevima može se izgubiti kompletnost. 68
Gödelov teorem nekompletnosti (1931) (ide uz bok Einsteinovoj teoriji relativnosti i Heisenbergovom principu neodređenosti) U FOPL se uvodi skup prirodnih brojeva (N) i aritmetika. “Ne postoji konzistentan i kompletan sustav dokazivanja za FOPL + N. ” Postoje izrazi koji su: istiniti ali nedokazljivi, ili dokazljivi ali nisu istiniti. Aritmetika omogućuje izgradnju kodnog sustava (Godelovi brojevi) za izraze u FOPL + N: Npr. : P = “ P je nedokazljiv” Ako je P istinit, tada je P nedokazljiv (nekompletnost ! ). Ako je P neistinit, tada je P dokazljiv (nekonzistentnost ! ). 69
Tipične primjene ATP-a 1. Matematika 2. Formalna logika 3. Zagonetke 4. Oblikovanje (verifikacija) računalnih sustava 5. Automatizirano upravljanje (engl. automated control) 6. … The TPTP Problem Library for Automated Theorem Proving http: //www. cs. miami. edu/~tptp v 4. 0. 0: 7 MB --> 350 MB, >7000 problema (>30 domena) 70
Problem ubojice - 1 Viktor je ubijen. Artur, Bertram i Carleton su sumnjivci. Artur: “Ja nisam. Bertarm je bio prijatelj Viktoru. Carleton je mrzio Viktora. ” Bertram: “Bio sam van grada kad je Viktor ubijen. Nisam ni poznavao Viktora. ” Carleton: “Ja sam nevin. Vidio sam Artura I Bertrama s Viktorom neposredno prije umorstva. ” Izjave sumnjivaca ovisne su o njihovoj nevinosti. Uvodimo predikate (iza predikatnog simbola je broj članova): nevin/1 prijatelj/2 voli/2 u_gradu/1 poznavati/2 biti_sa/2 71
Problem ubojice - 2 Preslikavamo u predikatnu logiku: ; ; ako je Artur nevin, istinito je: (nevin artur) (prijatelj bertram viktor) (nevin artur) (voli carleton viktor) može: [A (P Q)] = [( A P) ; ; ako je Bertram nevin, istinito je: ( A Q)] = (nevin bertram) (u_gradu bertram) (A P) (nevin bertram) (poznavati bertram viktor) (A Q) ; ; ako je Carleton nevin, istinito je: (nevin carleton) (biti_sa artur viktor) (nevin carleton) (biti_sa bertram viktor) ; ; dodani opći odnosi (biti_sa X viktor) (u_gradu X) (prijatelj X Y) (poznavati X Y) (voli X Y) (poznavati X Y) 72
Problem ubojice - 3 Preslikavanje pretpostavke da je samo jedan kriv: ; ; samo je jedan kriv (nevin artur) (nevin bertram) (nevin artur) (nevin carleton) (nevin bertram) (nevin carleton) Nije ispravno: (…) (…) jer tada i dva ili tri mogu biti kriva Postavljanje hipoteze, tko je kriv = nije nevin X: ; ; negacija hipoteze, t. j. ( (nevin X)) (nevin X) Odabir strategije: Inteligentna (ljudi): + 7 klauzula Set of Support: +224 klauzule Rješenje: X=bertram dovodi do kontradikcije u skupu klauzula 73
Temeljni problemi dokazivanja teorema (ATP) 1. Preslikavanje prirodnog jezika u formalan zapis. 2. Postavljanje hipoteze (supstitucija varijabli). 3. Izvođenje izjednačavanja i test na pojavu. 4. Poluodredivost (poluodlučljivost) predikatne logike. 5. Pojednostavljivanje baze znanja. 6. Tautologije u skupu klauzula. 7. Strategije izbora klauzula. 8. Jednakost u klauzulama (paramodulacija i demudulacija). 9. Aritmetika (Gödel) – nekompletnost i neispravnost predukatne logike. 74
- Slides: 74