71
Formalna (matematička) logika u oblikovanju ekspertnih sustava 1

Logika [Compatibility Mode]

Embed Size (px)

Citation preview

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

2

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

Primjer 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.”

3

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 ?

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.

4

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”

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. Korak: Podesi parametre upravljačkog toka automatiziranog rasuđuvanja.

3. Korak: Pokreni program.

5

3. Korak: Pokreni program.

U nastavku pokazat će se shema predstavljanja znanja i automatiziranog rasuđivanja temeljena na predikatnoj logici.

Formalna (matematička) logika

Logika određuje postupke ispravnog rasuđivanja (analogno aritmetici).

1. Svaki čovjek je smrtan.2. Sokrat je čovjek.Zaključak: 3. Sokrat je smrtan.

(Ako je istinita rečenica 1 i 2, “logički slijedi” rečenica 3.)

1. Svaki αααα ima obilježje ββββ.2. γγγγ je αααα.

6

2. γγγγ je αααα.3. γγγγ ima obilježje ββββ.

"Logićki slijedi" samo na temelju oblika (forme), a ne na temelju sadržaja (konteksta).

Matematička ili formalna logika daje sustav zaključivanja u kojem je "logički izveden" zaključak barem tako dobar kao polazne pretpostavke.Temelj: formalan sustav (definicija formalnog sustava slijedi kasnije).

Niti jedan formalan sustav ne može osigurati istinite polazne pretpostavke.

Propozicijska logika (sudova, iskaza, tvrdnji)(engl. propositional logic, propositional calculus)

SintaksaLogika iskaza preslikava deklarativne rečenice (koje mogu biti istinite ililažne) u sustav simbola. Npr.: “Sokrat je mudar.” preslikava se u simbol P.Sustav propozicijske logike sastoji se od:PS: P, Q, ... PS je prebrojiv skup atoma, simboličkih varijabli, simbolaLogički operatori (vezice):¬ (ne, not, ~) negacija∧ (i, and, &) konjunkcija∨ (ili, or, |) disjunkcija

7

∨ (ili, or, |) disjunkcija⇒ (ako, if, ⊃, →) implikacija⇔ (akko, iff, ≡, ↔ ) ekvivalencijaRezervirani simboli:F (false, ∅, 0, ⊥⊥⊥⊥) konstanta (neistinitost)T (true, 1) konstanta (istinitost)(, ), . znakovi zagrada, zareza i točke

Def. (rekurzivno) ispravno formiran (wff) složeni iskaz, ili formula:1. Svaki atom je formula.2. Ako su P i Q formule, onda su formule: (¬P), (¬Q), (P∧Q), (P∨Q),

(P→Q), (P↔Q).

Semantika

Interpretacija: pridruživanje obilježja istinitosti (T, F) atomičkim simbolimaI: PS → BOOLgdje je BOOL={ T, F }, t.j. funkcija s kodomenom T ili F (istinito ili lažno).

Semantika dvaju složenih sudova prikazuje se istinitosnom tablicom.2 suda = 22 = 4 interpretacije, 24 = 16 istinitosnih tablica

Neke važnije tablice istinitosti za povezivanje dva suda:

8

implikacija ekvivalencija kontradikcija tautologijaP Q (P ⇒⇒⇒⇒ Q) (P ⇔⇔⇔⇔ Q) (), ⊥⊥⊥⊥ T

________________________________________________________________________________

I1 : T T T T F TI2 : T F F F F TI3 : F T T F F TI4 : F F T T F T

Još neke elementarne tablice istinitosti:

9

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”)

10

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”)

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

11

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.

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 F F T T

12

F F F F T T

F T F T F T

T F F F F F

T T T 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.

Semantička pravila

P1, P2 istiniteQ1, Q2 neistiniteA bilo koja formula (istinita ili ne).

Istinite su formule: Neistinite su formule:¬Q1 ¬P1(P1 ∧ P2) (Q1 ∧ A)(P1 ∨ A) (A ∧ Q1)(A ∨ P1) (Q1 ∨ Q2)(A ⇒⇒⇒⇒ P ) (P ⇒⇒⇒⇒ Q )

13

(A ⇒⇒⇒⇒ P1) (P1 ⇒⇒⇒⇒ Q1)(Q1 ⇒⇒⇒⇒ A) (P1 ⇔⇔⇔⇔ Q1)(P1 ⇔⇔⇔⇔ P2) (Q1 ⇔⇔⇔⇔ P1)(Q1 ⇔⇔⇔⇔ Q2) () - prazna formula

Primjer izračunavanja istinitosti složene formule s 3 propozicijska simbolaP, 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.

Pravila ekvivalencijeDefinicija:Dvije formule su semantički ekvivalentne ili jednakeako imaju jednaku (istu) istinitosnu vrijednost za svaku interpretaciju I.Ekvivalencija u slijedećim pravilima može se provjeriti tablicom istinitosti zasve interpretacije. Provjera koincidencije istinitosnih tablica nije u općemslučaju dovoljna, ali definicija je ispravna. Biti će objašnjeno kasnije.

(A ∧ ¬A) = () kontradikcija(¬(¬A)) = A dvostruka negacija(A ∧ A) = A jednaka važnost (idempotencija)(A ∨ A) = A jednaka važnost

14

(A ∨ A) = A jednaka važnost(A ∨ B) = (B ∨ A) komutativnost(A ∧ B) = (B ∧ A) komutativnost((A ∨ B) ∨ C) = (A ∨ (B ∨ C)) asocijativnost((A ∧ B) ∧ C) =(A ∧ (B ∧ C)) asocijativnost(A ∧ (B ∨ C)) = ((A ∧ B) ∨ (A ∧ C)) distributivnost(A ∨ (B ∧ C)) = ((A ∨ B) ∧ (A ∨ C)) distributivnost(¬(A ∨ B)) = ((¬A) ∧ (¬B)) De Morganov zakon(¬(A ∧ B)) = ((¬A) ∨ (¬B)) De Morganov zakon(A ⇒ B) = ((¬A) ∨ B) eliminacija uvjeta(A ⇔⇔⇔⇔ B) = ((A ⇒ B) ∧ (B ⇒ A)) eliminacija dvostrukog uvjeta(A ⇒ B) =((¬B) ⇒ (¬A)) transpozicija

Formalan sustav

Definiramo formalan sustav kao dvojku: {ΓΓΓΓ, L} gdje je ΓΓΓΓ - konačan skup ispravno formiranih formula (wff)L – konačan skup pravila zaključivanja

Neka temeljna pravila zaključivanja (jedan mogući skup L)

Generiraju dodatne istinite formule (mehanički) bez razumijevanja konteksta (značenja).

15

bez razumijevanja konteksta (značenja). Pogodna za strojnu primjenu.Semantički korespondiraju sa semantikom "istinitosti".

• 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)• Ako [¬¬¬¬(¬¬¬¬P)]=T, generiraj P=T (eliminacija negacije)

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ΓΓΓΓ |−|−|−|− 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 ΓΓΓΓ.

16

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, (P ⇒⇒⇒⇒ Q) } je nekonzistentan ili kontradiktoran jer su P i ¬¬¬¬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.

DEFINICIJE OBILJEŽJA U FORMALNOM SUSTAVU (2)

Neka se u formalnom sustavu {ΓΓΓΓ, L} izvodi neki teorem ωωωωi (traž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.

17

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.

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.

18

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 ωωωω)

Primjeri logičkih posljedicaSvaka 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

19

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).

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 ΓΓΓΓ |−|−|−|− ωωωω

20

ΓΓΓΓ |=|=|=|= ωωωω implicira ΓΓΓΓ |−|−|−|− L ωωωωi

U ispravnom i kompletnom formalnom sustavu {ΓΓΓΓ, L} vrijedi:

ΓΓΓΓ |=|=|=|= ωωωω = ΓΓΓΓ |−|−|−|− L ωωωωi

Većina interesantnih formalnih sustava je nekompletno, 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.

Primjeri:Prioritet logičkih operatora:Najviši: ¬¬¬¬ negacija

∧∧∧∧ konjunkcija∨∨∨∨ disjunkcija⇒ implikacija

Najniži: ⇔⇔⇔⇔ ekvivalencija

Formule: Obilježja:

P zadovoljiva ali ne i valjana (interpretacija P=T je

21

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.

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: αααα ≡≡≡≡ ββββ

22

(αααα 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).

Primjeri ekvivalentnih formula:((P ∧∧∧∧ Q) ⇒⇒⇒⇒ P) ≡≡≡≡ (R ∨∨∨∨ ¬¬¬¬R)((P ∧∧∧∧ Q) ⇒⇒⇒⇒ R) ≡≡≡≡ (P ⇒⇒⇒⇒ (Q ⇒⇒⇒⇒ R))

Normalni oblici

Svaka propozicijska formula može se preslikati (ekvivalentna je) formuli u

disjunkcijskom normalnom obliku (DNF) :

(k11 ∧∧∧∧ … ∧∧∧∧ k1n ) ∨∨∨∨ (k21 ∧∧∧∧ … ∧∧∧∧ k2m) ∨∨∨∨ … ∨∨∨∨ (kp1 ∧∧∧∧ … ∧∧∧∧ kpr)

Svaka propozicijska formula može se preslikati (ekvivalentna je) formuli u

konjunkcijskom normalnom obliku (CNF) :

23

konjunkcijskom normalnom obliku (CNF) :

(k11 ∨∨∨∨ … ∨∨∨∨ k1n ) ∧∧∧∧ (k21 ∨∨∨∨ … ∨∨∨∨ k2m) ∧∧∧∧ … ∧∧∧∧ (kp1 ∨∨∨∨ … ∨∨∨∨ kpr)

gdje su:ki = literal (negirani ili nenegirani atomički simbol - atom)

klauzula = disjunkcija literala. Npr.: (k21 ∨∨∨∨ … ∨∨∨∨ k2m)

CNF = konjunkcija klauzula

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:

(k11 ∨∨∨∨ … ∨∨∨∨ k1p ) ∧∧∧∧ (k21 ∨∨∨∨ … ∨∨∨∨ k2r ) ∧∧∧∧ … ∧∧∧∧ (kp1 ∨∨∨∨ … ∨∨∨∨ kps )

Iscrpna procedura rješavanja CNF SAT problema sistematski pridjeljuje istinitosne vrijednosti atomičkim propozicijskim simbolima. Za n atoma 2n pridruživanja.

24

Za n atoma 2n 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 2SAT - polinomska kompleksnost (do 2 literala u klauzuli)CNF 3SAT - 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).

Meta pravila zaključivanja (ne u logici nego o logici)

(omogućuju oblikovanje algoritma za automatizirano izvođenje dokaza – teorema, ATP engl. automated theorem proving)

1. Teorem dedukcije:

(A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) |=|=|=|= C, t.j.:C je logička posljedica istinite formule (A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An),

25

akko je formula ((A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) ⇒⇒⇒⇒ C)valjana (uvijek istinita, tautologija).

Dokaz:

- ako je formula ((A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) ⇒⇒⇒⇒ C) valjana, uz istinitu(A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) mora biti istinita i C (tablica implikacije).

- (A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) i C su istovremeno istiniteako imaju zajedničke modele (a to je i def. logičke posljedice).

2. Teorem oborivosti

(A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) |=|=|=|= C, t.j.:C je logička posljedica (A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An)

akko je formula (A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An ∧∧∧∧ (¬¬¬¬C)) kontradiktorna.

Dokaz:Iz teorema 1 (dedukcije) slijediako je C logička posljedica (A ∧∧∧∧ A ∧∧∧∧ ... ∧∧∧∧ A ),

26

ako je C logička posljedica (A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An),((A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) ⇒⇒⇒⇒ C) mora biti valjana, odnosno njena negacija¬¬¬¬((A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) ⇒⇒⇒⇒ C) kontradiktorna

Nastojimo pokazati da ta negacija, kao nepobitno kontradiktorna formula,je upravo naša formula (A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An ∧∧∧∧ (¬¬¬¬C)).

¬¬¬¬((A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) ⇒⇒⇒⇒ C) = ¬¬¬¬((¬¬¬¬(A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An)) ∨∨∨∨ C) == ((A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An) ∧∧∧∧ (¬¬¬¬C)) = (A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An ∧∧∧∧ (¬¬¬¬C))

Time je teorem dokazan.

Lema :

Ako želimo dokazati da je formula C logička posljedica(A1 ∧ A2 ∧ ... ∧ 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: (A1 ∧∧∧∧ A2 ∧∧∧∧ ... ∧∧∧∧ An ∧∧∧∧ (¬¬¬¬C))

Kako je prazna formula () nepobitno kontradiktorna,prošireni skup nastojimo pravilima zaključivanja L reducirati na ().Postupak se naziva “reductio ad absurdum”.

27

Postupak se naziva “reductio ad absurdum”.

Primjer (uz ranije dana pravila zaključivanja L):Ako su istinite tvrdnje. P, (P →→→→ Q), (Q →→→→ S), dokaži da je istinita tvrdnja S.

1. P2. (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, a konjunkcija tvrdnji Q i ¬¬¬¬Q je očita kontradikcija.

RAZRJEŠAVANJE - novo (jako) pravilo zaključivanja(Robinson 1965)

Logička posljedica dviju istinitih konjunkcijom vezanih normaliziranihklauzula, je normalizirana klauzula bez jednog komplementarnog paraliterala.

Normalizirana klauzula je formula oblika disjunkcije literala.Komplementarni par su nenegirani i negirani jednaki atomički simboli.

1. (A1 ∨ A2 ∨ ... ∨ An ∨ B)2. ((¬B) ∨ C1 ∨ C2 ∨ ... ∨ Cp)

28

2. ((¬B) ∨ C1 ∨ C2 ∨ ... ∨ Cp)____________________________________________3. (A1 ∨ A2 ∨ ... ∨ An ∨ C1 ∨ C2 ∨ ... ∨ Cp)

3 - razriješena formula (engl. resolvent), bez kompl. para B i ¬B.

Objašnjenje s tzv. "izostavljenom sredinom“ (engl. excluded middle):1. i 2. moraju biti istinite (polazna pretpostavka).B ne može istovremeno biti T i F.Ako je B = F, to mora u 1. bar jedan A biti T.Ako je B = T, odnosno ¬¬¬¬B = F, to mora u 2. bar jedan C biti T.Znači da bar jedan A ili C mora biti T, a to je upravo formula 3.

Primjer:(P ∨∨∨∨ Q) izvod: (P ∨∨∨∨ Q) ∧∧∧∧ (P ∨∨∨∨ ¬¬¬¬Q) = P ∨∨∨∨ (Q ∧∧∧∧ ¬¬¬¬Q) = P

(P ∨∨∨∨ ¬¬¬¬Q) uporabom distribucije: A ∨∨∨∨ (B ∧∧∧∧ C) = (A ∨∨∨∨ B) ∧∧∧∧ (A ∨∨∨∨ C)

(P ∨∨∨∨ P) = P

Modus ponens je P P

poseban slučaj razrješavanja: (P ⇒⇒⇒⇒ Q) (¬¬¬¬P ∨∨∨∨ Q)

Q Q

¬¬ ¬¬

29

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) (¬¬¬¬Q ∨∨∨∨ R)

(P ⇒⇒⇒⇒ R) (¬¬¬¬P ∨∨∨∨ R)

≡≡≡≡ (P ⇒⇒⇒⇒ R)

Svaka formula u propozicijskoj logici može se konvertirati u konjunkciju klauzula (CNF):

Npr: ¬¬¬¬(P⇒⇒⇒⇒Q) ∨∨∨∨ (R⇒⇒⇒⇒P)

1. Eliminiraj implikaciju uporabom ekvivalentnog "∨∨∨∨" oblika: ¬¬¬¬(¬¬¬¬P ∨∨∨∨ Q) ∨∨∨∨ (¬¬¬¬R ∨∨∨∨ P)

2. Reduciraj doseg negacije (pomak u desno) uporabom DeMrorgan pravila, te eliminiraj dvostruke negacije:

(P ∧∧∧∧ ¬¬¬¬Q) ∨∨∨∨ (¬¬¬¬R ∨∨∨∨ P)

30

3. Pretvori u CNF asocijativnim i distribucijskim pravilima:(P ∨∨∨∨ ¬¬¬¬R ∨∨∨∨ P) ∧∧∧∧ (¬¬¬¬Q ∨∨∨∨ ¬¬¬¬R ∨∨∨∨ P),

te dalje:(P ∨∨∨∨ ¬¬¬¬R) ∧∧∧∧ (¬¬¬¬Q ∨∨∨∨ ¬¬¬¬R ∨∨∨∨ P) = CNF oblik

Razrješavanje je ispravano (engl. sound) pravilo zaključivanja, t.j.:

ΓΓΓΓ |−|−|−|−RES γγγγ implicira da je ΓΓΓΓ |=|=|=|= γγγγ(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.

31

Koristimo lemu teorema oborivosti (dodavanje negirane hipoteze) i osnovna pravila:

1.korak 2. korak 3. korak 4. korakdod. neg. teorem pravilo neg. elimin. ∧∧∧∧ razrješavanje(teorem oborivosti)P P P (), ⊥⊥⊥⊥R R R¬¬¬¬(P ∨∨∨∨ R) ¬¬¬¬P ∧∧∧∧ ¬¬¬¬R ¬¬¬¬P

¬¬¬¬RRazrješavanje je oborivo kompletno (engl. refutation complete).

Opći postupak dokazivanja teorema (ATP):

- definiraj skup aksioma E kao ispravne formule (wff).- definiraj teorem H kao ispravnu formulu (wff).- negirani H dodaj skupu aksioma E, dobiven je skup formula F.- preslikaj skup formula F u skup normaliziranih klauzula K.

ponavljaj:izaberi klauzule k1 i k2 iz skupa Knovi-k := razriješi (k1, k2)dodaj novi-k u skup normaliziranih klauzula K

32

dodaj novi-k u skup normaliziranih klauzula Knovi-k' := pojednostavi novi-k sa K ; pojed. novi-kK := pojednostavi K sa novi-k’ ; pojed. K

dok: () ili redukcija više nije mogućaako (), 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

bezuspješno.

E1

aksiomi E2

E = { Ei } … F K = { k1, k2, … , km }

(wff) En normalizirane klauzule

teorem H: ¬H ( općenito n ≠≠≠≠ m )

(wff)

33

k1

k2

km

pravila L(res i ostala)

kontradikcija ili ne

()

Postupci pojednostavljivanja:

1. Uporaba temeljnih pravila:

Npr.:(P ∨∨∨∨ R ∨∨∨∨ P) pojednostavi (spoji) u (P ∨∨∨∨ R)(P ∨∨∨∨ ¬¬¬¬P ∨∨∨∨ Q) izostavi cijelu jer je evidentno valjana (T)

2. Podrazumijevanje (engl subsumption)

34

Klauzula ωωωω1 podrazumijeva klauzulu ωωωω2 , ako su literali u ωωωω1 podskup literala u ωωωω2.

Npr.:(P ∨∨∨∨ R) podrazumijeva klauzule (P ∨∨∨∨ R ∨∨∨∨ Q)

Tautologija u razješavanju :

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

35

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.

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).

36

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.

3. Strategija skupa potpore (engl. set of support)

• 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.

37

Negacija onoga što nastojimo dokazati daje nekonzistentnost. • Strategija skupa potpore zahtijeva stoga da barem jedna od klauzula

u razrješavanju bude negirani zaključakili 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.

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

38

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.

PREDIKATNA LOGIKA (Logika predikata prvoga reda - FOPL)(engl. predicate logic, predicate calculus, first order predicate logic)G.Frege, A.Tarski

1. P: Svi ljudi su smrtni.2. Q: Sokrat je čovjek.3. R: Sokrat je smrtan.

U propozicijskoj logici nikako se iz 1 i 2 ne može zaključiti 3.

FOPL uvodi objekte, relacije, obilježja, funkcije (pobliži opis unutar suda).

39

Sintaksa:

Atomički predikat: oba načina pisanja OK !(ali ne miješati)

(pred_simb t1 t2 … tn) – infiks notacija (LISP)pred_simb(t1 t2 … tn) - prefix notacija

pred_simbol: osnovno obilježje u rečenici (predikat)ti = članovi: objekti ili odnosi u rečenici

Članovi (ti ) :Konstante: objekti u nekom svijetu (blok1, sokrat, …).Rezervirane konstante: T, F.Varijable: razred objekata ili obilježja;

mogu poprimiti vrijednosti iz svoje domene; (Npr.: X, Y, …).

Funkcije: veza između objekata - (fun_simb t1 t2 … tn)Npr.: (cos X), (otac_od abel kain)

Formalna def. člana:

1. Konstanta je član.2. Varijabla je član.

40

2. Varijabla je član.3. Ako je fun_simb funkcijski simbol sa n-argumenata, a t1, t2, …, tn su članovi,

tada je (fun_simb t1 t2 … tn) član.

Logički operatori (vezice): ¬¬¬¬, ∧∧∧∧, ∨∨∨∨, ⇒⇒⇒⇒, ⇔⇔⇔⇔

Kvantifikacijski simboli (uz varijable, pobliže određuju istinitost rečenice):

∃∃∃∃ (postoji, za_neki, exist) - egzistencijski ili partikularni kvantifikator(barem jedan).

∀∀∀∀ (za_svaki, svi, for_all) - univerzalni kvantifikator (svi), ima središnjuulogu u izražavanju generalizacije.

Ispravno definiran složeni predikat ili formula (wff):

1. svaki atomički predikat je formula.

2. ako je Si formula, tada su formule:(¬S), (S1 ∧ S2), (S1 ∨ S2), (S1⇒⇒⇒⇒ S2), (S1 ⇔⇔⇔⇔ S2).

3. ako je X varijabla, a S formula, tada su formule: ∃∃∃∃X S(X), ∀∀∀∀X S(X).(oznaka S(X) = formula S u kojoj postoji varijabla X)

Negirani ili nenegirani atomički predikat naziva se literal.

41

Dopuna pravilima ekvivalencije (P(X), Q(X) su wff 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

Primjer ispravno definirane formule:

(∀∀∀∀X ∀∀∀∀Y (((otac X Y) ∨∨∨∨ (majka X Y)) ⇒⇒⇒⇒ (roditelj X Y)))

Semantika predikatne logike (1)

Skup wff odnosi se na neku domenu razmatranja D.

• Interpretacija I je proces preslikavanja elemenata iz domene D svakojpojedinoj 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

42

• Svaka funkcija f, sa m argumenata, definira interpretacijom i evaluacijompreslikavanje 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 evaluacijomsvojih članova preslikavanje iz Dn u {T, F}, t.j. P: Dn →→→→ {{{{T, F}}}} (istinito ili ne).

• Vrijednosti wff formula složenih logičkim operatorima date suodgovarajućim istinitosnim tablicama.

• 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.

Semantika predikatne logike (2):

Određivanje istinitosti wff svodi se na interpretaciju + evaluaciju

Primjeri pridruživanja istinitosti:

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

43

∀∀∀∀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 predikata iz domene D = stanje svijeta(engl. state of the world).

Primjeri preslikavanja prirodnog jezika

u predikatnu logiku

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

44

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)]

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 ⇒⇒⇒⇒

⇒⇒⇒⇒ !!!!!

45

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 !!

Ispravna uporaba egzistencijskog kavantifikatora ∃∃∃∃ (1)

Neka je okvir razmatranja (kao prije): { Garfield, Feliks, računalo}

Preslikaj u predikatnu logiku: "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 ∃∃∃∃ ):

46

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).

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,

47

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 ⇒⇒⇒⇒∃∃∃∃ ide uz ∧∧∧∧

Ispitni zadatak iz predikatne logike

Preslikaj u predikatnu logiku: "Niti jedan student ne sluša sve predmete."

Rješenje: Def. predikate:S(x) x je studentL(x) x je predmetB(x, y) x sluša y

Prioriteti logičkih operatora: ¬¬¬¬, ∧∧∧∧, ∨∨∨∨, ⇒⇒⇒⇒, ⇔⇔⇔⇔.Preporuka: koristi zagrade za prioritet i doseg kvantif.

48

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) - DeMorgan

Obilježja predikatne logike

ZadovoljivostModelLogička posljedica kao uKontradiktornost propozicijskojPravila zaključivanja logiciTeoremi dedukcije i oborivosti (metateoremi)

Teorem razrješavanja - potrebno dodati izjednačavanje (vidi nastavak).

49

Logika predikata višega reda

Predikatna logika: Kvantifikacija samo varijabli (objekata u domeni D), a ne na odnose (predikatski ili funkcijski simbol) u domeni D.

Logika višega reda:∀(Voli) (Voli ivo ana)kvantifikacija na predikatskom simbolu.

RAZRJEŠAVANJE - u predikatnoj logici(Robinson 1965)

Logička posljedica dviju istinitih, konjunkcijom vezanih,

univerzalno kvantificiranih NOVO !normaliziranih klauzula, je normalizirana klauzula bez jednog komplementarnog para literala.

Normalizirana klauzula je formula oblika disjunkcije literala.

50

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. (A1 ∨ A2 ∨ ... ∨ An ∨ B)2. ((¬B) ∨ C1 ∨ C2 ∨ ... ∨ Cp)____________________________________________3. (A1 ∨ A2 ∨ ... ∨ An ∨ C1 ∨ C2 ∨ ... ∨ Cp)

3 - razriješena formula (engl. resolvent), bez kompl. para B i ¬B .

Postupci dokazivanja u predikatnoj logici

- definiraj skup aksioma E kao ispravne formule (wff).- definiraj teorem H kao ispravnu formulu (wff).- negirani H dodaj skupu aksioma E, dobiven je skup formula F.- preslikaj skup formula F u skup normaliziranih klauzula K.

ponavljaj:izaberi klauzule k i k iz skupa K

51

izaberi klauzule k1 i k2 iz skupa Knovi-k := razriješi (k1, k2)novi-k' := pojednostavi novi-k sa K ; pojed. novi-kK := pojednostavi K sa novi-k’ ; pojed. K

dok: () ili redukcija više nije mogućaako (), vrati "teorem H dokazan"inače, vrati "skup konzistentan, teorem H nije dokazan"

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 koristitidisjunkcije i konjunkcije, npr.:

(P ⇒⇒⇒⇒ Q) = ((¬¬¬¬P) ∨∨∨∨ Q)(P ⇔⇔⇔⇔ Q) = (((¬¬¬¬P)∨∨∨∨ Q) ∧∧∧∧ (P ∨∨∨∨ (¬¬¬¬Q)))

52

2. Pomaknuti negacije do jediničnih formula, npr.:(¬¬¬¬(¬¬¬¬P)) = P(¬¬¬¬(∀∀∀∀X A(X))) = (∃∃∃∃X (¬¬¬¬A(X)))(¬¬¬¬(∃∃∃∃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.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. tijelapišemo jednostavnije: ((prizma X) ⇒⇒⇒⇒ (geom_tijelo X))

4.2 Egzistencijski kvantifikatorPretvorba varijable u novu konstantu ili funkciju,

53

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:((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:

54

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)) ; 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.

55

Nakon izvedenog preslikavanja slijedi:

skup normaliziranih klauzula,koji predstavlja stanje svijeta uCNF (konjunkcijskom normalnom obliku) - konjunkcija disjunkcija.

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činilajednakima (obilježje inteligencije ?).

Pažnja:Doseg varijabli je unutar jedne klauzule, te svaku supstituciju varijable

56

Doseg varijabli je unutar jedne klauzule, te svaku supstituciju varijabletreba dosljedno provesti u cijeloj klauzuli.

Primjer 1:

1. (p1 a b) ; p1 je pred. simbol, a i b se konst.2. ((¬(p1 X b)) ∨ (p2 X c)) ; p1 i p2 su pred., X je varijablasupstitucija: X=a u cijeloj klauzuli 2.1. (p1 a b)2. ((¬(p1 a b)) ∨ (p2 a c))(…) su kompl. parovi koji se u razrješavanju eliminiraju. Ostaje samo (p2 a c).Skup parova varijabli i pripadnih supstitucija je unifikator: ββββ={{{{X=a}}}}.

Izjednačavanje atomičkih predikata (unifikacija) - 2

Primjer 2:

1. (r1 Y Z) ; Y, Z su varijable2. ((¬(r1 a X)) ∨ (r2 X b)) ; X je varijabla, a i b su konst.Supstitucija Y=a, Z=a1 u prvoj klauzuli, te X=a1 u drugoj daje:1. (r1 a a1)2. (¬(r1 a a1)) ∨ (r2 a1 b))(…) su kompl. parovi. Razriješena klauzula je (r2 a1 b).

57

Postoji i općenitije rješenje.Ako u prvoj klauzuli supstituiramo: Y=a, Z=Xnovi (varijablu zamijenimo svarijablom), a u drugoj X=Xnovi, slijede klauzule:1. (r1 a Xnovi)2. (¬(r1 a Xnovi)) ∨ (r2 Xnovi b))Razriješena klauzula (r2 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).

Izjednačavanje atomičkih predikata (unifikacija) - 3Test na pojavu (engl. occurs check”)

U izjednačavanju se varijabla ne smije zamijeniti članomkoji 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).

58

Primjer:

(pred_symb_1 X (funk X))(pred_symb_1 Y 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.

Pojednostavljenje u FOPL podrazumijevanjem

Podrazumijevanje 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)

59

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).

Primjer zaključivanja (dokazivanja teorema) u FOPL- (1):

Aksiomi:A1 : Svi ljudi su smrtni. FOPL: ∀∀∀∀X ((covjek X) ⇒⇒⇒⇒ (smrtan X))A2 : Sokrat je čovjek. FOPL: (covjek sokrat)Teorem:?: Sokrat je smrtan FOPL: (smrtan sokrat)

Teorem H negiramo i dodajemo skupu premisa:E1: (∀∀∀∀X ((covjek X) ⇒⇒⇒⇒ (smrtan X)))E2: (covjek sokrat)E3: (¬¬¬¬(smrtan sokrat))

60

Preslikavamo u normalizirane klauzule:K1: ((¬¬¬¬(covjek X)) ∨∨∨∨ (smrtan X))K2: (covjek sokrat)K3: (¬¬¬¬(smrtan sokrat))

Klauzule K1 i K2 (strategija u širinu) uz sup. X=sokrat, razriješimo u klauzulu K4.K1: ((¬(covjek X)) ∨ (smrtan X)) ; izvorne klauzule K1 i K2 ostaju nepromijenjeneK2: (covjek sokrat)K3: (¬(smrtan sokrat))K4: (smrtan sokrat) ; novo generirana klauzula dodaje se skupuKlauzule K3 i K4 su kontradiktorne, jer njihovim razrješavanjem slijedi ().Time je teorem “Sokrat je smrtan.” dokazan.

Primjer zaključivanja (dokazivanja teorema) u FOPL- (2):

Primjer ističe važnost unifikatora.

A1: Rex se uvijek nalazi gdje i Ivan.A2: Ivan je u knjižnici.H: Gdje je Rex ?

FOPL:A1: ∀∀∀∀X (nalazi ivan X) ⇒⇒⇒⇒ (nalazi rex X)A2: (nalazi ivan knjiznica)H: ∀∀∀∀Y (nalazi rex Y) ; Rex se nalazi svagdje (postavljanje hipoteze !!)

61

Klauzule (uključena negirana hipoteza):K1: ¬¬¬¬(nalazi ivan X) ∨∨∨∨ (nalazi rex X)K2: (nalazi ivan knjiznica)K3: ¬¬¬¬(nalazi rex Y) ; Rex se ne nalazi nigdje,

; traži se kontradikcija uz vezanje Y

Iz K1 i K2 (supstitucija X=knjiznica) slijedi dodatna klauzula:K4: (nalazi rex knjiznica)

Iz K3 i K4 (supstitucija Y=knjiznica) slijedi K5: (), t.j. kontradikcija.Time je teorem dokazan.Odgovor je sadržan u supstituciji Y=knjiznica.

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 ; refleksija

62

∀∀∀∀X X=X ; refleksija∀∀∀∀X ∀∀∀∀Y (X=Y) ⇔⇔⇔⇔ (Y=X) ; simetrija∀∀∀∀X ∀∀∀∀Y ∀∀∀∀Z ( X=Y ∧∧∧∧ Y=Z) ⇒⇒⇒⇒ (X=Z) ; transitivnost∀∀∀∀X ∀∀∀∀Y (Xj=Y) ∧∧∧∧ P(X1 … Xj … Xn) ⇒⇒⇒⇒ P(X1 … Y … Xn) ; sup. u pred.∀∀∀∀X ∀∀∀∀Y (Xj=Y) ∧∧∧∧ f(X1 … Xj … Xn) ⇒⇒⇒⇒ f(X1 … Y … Xn) ; sup. u funk.

Dodavanjem ovih formula u skup aksioma uvodi nove (moguće nepotrebne) klauzule i povećava prostor stanja pri razrješavanju.

RAZRJEŠAVANJE I JEDNAKOST (2)

2. Paramodulacija

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

63

Postoji jednakost: (majka_od ana) = kataodnosno 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) ana)

Supstitucija člana u “Into” s članom iz “From” (t.j. koristeći equal) daje konačno:(starija kata ana)

RAZRJEŠAVANJE I JEDNAKOST (3)

2. Paramodulacija

Primjer 2.2(s varijablama u obje klauzule, obje equal !):

“From”: (equal (sum 0 X) X)“Into”; (equal (sum Y (minus Y)) 0)

Supstitucija u obje traži: Y=0, X=(minus Y)=(minus 0)

64

Rezultat supstitucije u obje:“From”: (equal (sum 0 (minus 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)

RAZRJEŠAVANJE I JEDNAKOST (3)

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 : (otac_od (otac_od X)) = (djed_od X)Standardizirano pišemo:

(equal (otac_od (otac_od X)) (djed_od X)) ;

65

Demodulator prepisuje član u nekom atomičkom predikatu uz pomoć svoje jedinične klauzule.

Npr., u predikatu (dob (otac_od (otac_od ana)) 75)funkcijski član (otac_od (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 (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.

Godelov 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.

66

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 ! ).

Tipične primjene ATP-a

1. Matematika

2. Formalna logika

3. Zagonetke

4. Oblikovanje (verifikacija) računalnih sustava

5. Automatizirano upravljanje (engl. automated control)

67

6. …

The TPTP Problem Libraryfor Automated Theorem Proving

http://www.cs.miami.edu/~tptp

v 4.0.0: 7MB --> 350 MB, >7000 problema (>30 domena)

Problem ubojice

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.”

68

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

Problem ubojice

Preslikavamo u predikatnu logiku:

;; ako je Artur nevin, istinito je:(nevin artur) →→→→ (prijatelj bertram viktor) može: [A →→→→ (P ∧∧∧∧ Q)] =(nevin artur) →→→→ ¬¬¬¬(voli carleton viktor) [¬¬¬¬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)

69

;; 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)

Problem ubojice

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

70

( … ) ∨∨∨∨ ( … ) ∨∨∨∨ ( … ) 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 klauzulaSet of Support: +224 klauzuleRješenje: X=bertram dovodi do kontradikcije u skupu klauzula

Ovisnost efikasnosti strategija o domeni primjene

Matematika Zagonetke Prirodni jezik

Širinska X

Dubinska

71

Skup potpore

X

Prolog X X X