Formalna matematika logika u oblikovanju ekspertnih sustava 1
Formalna (matematička) logika u oblikovanju ekspertnih sustava 1
Za koje vrste problema su primjereni ekspertni sustavi zasnovani na matematičkoj logici ? • Oblikovanje ekspertnih sustava na razini znanja nameće određenu shemu predstavljanja znanja. • Predikatna logika prvoga reda je popularna shema predstavljanja znanja. • IBM Forum 2002: Predikatna logika se može koristiti za SVE navedene reprezentacije znanja (iako efikasnost u izvođenju traži i neke specijalizirane sheme): • Deklarativne izjave • Lingvističko znanja • Proceduralno znanje • Raspoznavanju uzoraka • Robotski vid • Ostale aktivnosti racionalnog agenta 2
Primjer problema: M. R. Genesereth, N. J. Nilsson: Logical foundations of AI (str. 92) Stanje svijeta: Viktor je ubijen; Artur, Bertram i Carleton su sumnjivi. 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 ? 3
Primjer problema: 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” 4
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 rasuđivanja 3. 2. 1 Korak: Odredi parametre upravljačkog toka automatiziranog rasuđuvanja. 4. 2. 2 Korak: Pokreni program automatiziranog donošenja zaključka. U nastavku pokazat će se shema predstavljanja znanja i automatiziranog rasuđivanja temeljena na predikatnoj logici. 5
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. 6
Sintaksa logičkog sustava Sustav logike sastoji se od 1. Skupa atomičkih elemenata: Predikatna logika: Prebrojiv skup predikata. Postoje rezervirani simboli F (false, , , ) konstanta (neistinitost) T (true, 1) konstanta (istinitost) (, ), . neke sintaktič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 7
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 (npr. Otter). pred_simbol = osnovno obilježje u rečenici (najčešće predikat). ti = članovi = objekti ili odnosi u rečenici. 8
Č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. 9
Sintaksno 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)) - prefix notacija ( X Y (((otac X Y) (majka X Y)) (roditelj X Y))) - infix notacija Za preslikavanje izjava prirodnog jezika u ispravno definirane formule predikatne logike potrebna je posebna vještina. Ne postoji automatizirano preslikavanje (prevođenje). 10
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. Taj simbol predstavlja neku funkcijsku vezu (relaciju). • 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 11 istinitosnim tablicama.
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 12
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 13
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”) 14
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. 15
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. 16
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) () - prazna formula Primjer izračunavanja istinitosti složene formule s 3 elementa P, Q, R: Interpretacija (jedan od mogućih svjetova, ovdje 23 mogućih interpretacija) Neka je jedna interpretacija I: P=T, Q=F, R=F, izračunavanje (evaluacija) istinitosne vrijednosti daje formuli: (Q ((( Q) P) R)) neistinitu vrijednost. 17
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 18 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 19
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)] 20
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 !! 21
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). 22
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 23
Ispitni zadatak iz predikatne logike 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 24
Teorijske osnovice oblikovanja sustava za automatizirano rasuđivanje u predikatnoj logici ili Automatizirano dokazivanje teorema (engl. ATP - Automated Theorem Proving) 25
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) Prikazano generiranje zaključka ima vrlo ograničeni doseg i nije dostatno za primjenu u ekspertnim sustavima. 26
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) 27
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 ili kontradiktoran jer su P istovremeno teoremi (nalaze se u samom skupu ). = { P, Q, (P Q) } je nekonzistentan jer sadrži Q, a pravilom “Modus ponens” može se izvesti Q, dakle Q i Q bi istovremeno bili teoremi. 28
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. 29
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 ) 30
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). 31
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 = ? 32
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 33
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). 34
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. 35
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. 36
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 37
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). 38
Teorem dedukcije – osnovica automatiziranog rasuđivanja 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 (pretpostavka) i mora biti istinit. To je upravo definicija logičke posljedice. ( ) F F T T T Budući da ( ) mora bit tautologija, to njena negacija ( ) = ( ) mora biti nezadovoljiva. Dakle: = akko je ( ) nezadovoljiva, t. j. kontradiktorna 39
Primjena teorema dedukcije – dokazivanje obaranjem - 1 Neka je formula dana u obliku CNF (konjunkciji klauzula): = [(t 11 … t 1 n ) (t 21 … t 2 m) … (tp 1 … tpr)] gdje su tij literali. kao konjunkciju klauzula možemo zamisliti kao bazu u kojoj su istinite klauzule (npr. početne postavke – aksiomi nekog problema): A 1: (t 11 … t 1 n ) A 2: (t 21 … t 2 m) … Ap: (tp 1 … tpr) Tražimo dokaz: Da li je neka formula logička posljedica skupa formule danim sa ? Teorem dedukcije kaže: Ako želimo dokazati da je neka formula logička posljedica formule , moramo dokazati nezadovoljivost formule ( ). Dakle formulu negiramo i dodamo formuli (klauzulama), te uporabom dopustivih pravila pokušavamo pokazati kontradiktornost (nezadovoljivost) u ( ). Nezadovoljivost možemo pokazati ako primjenom dozvoljenih pravila uspijemo generirati praznu formulu “( )” (jer je ona sigurno nezadovoljiva). 40
Primjena teorema dedukcije – dokazivanje obaranjem – 2 Neka su istinite (konjunkcijom povezane) formule u skupu : 1. P 2. (P Q) 3. (Q S) Skup formula u CNF obliku: = [ (P) ( P Q) ( Q S) ] Neka vrijede uobičajena pravila slaganja dviju formula logičkim vezicama te dodatna pravila Modus ponens i Modus tolens (vidi ranije naveden skup L). Time je definiran formalan sustav { , L}. Pokaži da li je formula S logička posljedica gornjih formula. 1. 2. 3. 4. P (P Q) (Q S) S ; teorem dedukcije: dodajemo negaciju formule S Iz 1. i 2. Modusom ponensom slijedi Q i dodaje se u . Iz 3. i 4. Modusom tolensom slijedi Q i dodaje se u . Konjunkcija tvrdnji Q je očita kontradikcija (prvo pravilo ekvivalencije). Zaključak: Formula S je logička posljedica gornjih formula. 41
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. 42
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) 43
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). 44
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 45 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 ili ne, t. j. () ili ne … km pravila L (razrješavanje i ostala) 46
Preslikavanje formula logike predikata u normalizirane klauzule (1) – većina alata radi automatski 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. 47 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: 48 ((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)) 49 ; 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. 50
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. 51
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. 52
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. 53
Ovisnost efikasnosti strategija o domeni primjene Matematika Širinska Zagonetke Prirodni jezik X Dubinska Skup potpore Prolog X X 54
Izjednačavanje atomičkih predikata (unifikacija) - 1 (najbitniji dio alata za automatizirano rasuđivanje) U razrješavanju tražimo komplementarne parove (radi eliminacije). 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. 55
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). 56
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. 57
Tautologija u razrješ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 (konjunkcija s istinitošću ništa ne mijenja) niti doprinosi procesu dokazivanja teorema (traganje za kontradikcijom sukladno lemi teorema oborivosti), te se može 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. 58
Postupci pojednostavljivanja istinitih klauzula - 1 1. Uporaba temeljnih pravila: Npr. : (P R P) (P P Q) pojednostavi (spoji) u (P R) izostavi cijelu jer je evidentno valjana (T) 2. Podrazumijevanje (engl subsumption) klauzula Klauzula 1 podrazumijeva klauzulu 2 , ako su literali u 1 podskup literala u 2. Npr. : (P R) podrazumijeva klauzule (P R Q) Svaka disjunkcija s istinitom formulom je istinita. 59
Postupci pojednostavljivanja istinitih klauzula - 2 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 automatiziranom zaključivanju – dokazivanju teorema). 60
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 (). 61 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 svagdje (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. 62
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. 63
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) 64
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) 65
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. Ograničeno na gornju razinu u jediničnoj klauzuli (predikatu), bez ugnježđivanja. Npr. neka je demodulator : Standardizirano pišemo: (otac_od X)) = (djed_od X) (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. 66
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 ! ). 67
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) 68
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 1 član u atomičkom predikatu 2 2 1 2 2 69
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) 70
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 = (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 71
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. 72
- Slides: 72