Predikatni račun Iztok Savnik 1
Prosojnice temeljijo na predavanjih: Enrico Franconi Free University of Bozen-Bolzano, Italia Predmet: Opisna logika http://www.inf.unibz.it/~franconi/dl/course/
Predikati in konstante Poglejmo si stavke: Marija je ženska. Janez je moški. Marija in Janez sta sestra in brat. Stavki v izjavnem računu: Marija-je-ženska. Janez-je-moški. Marija-in-Janez-sta-sestra-in-brat. Stavki izraženi s predikatnim računom: predikati + konstante Ženska(marija) Moški(janez) SestraBrat(marija,janez)
Spremenljivke in kvantifikatorji Poglejmo stavka: Vsakdo je bodisi moški ali ženska. Moški ni ženska. Predikati imajo lahko spremenljivke kot argumente, katerih vrednosti so lahko kvantificirane: x. Moški(x) Ženska(x) x. Moški(x) Ženska(x) Dedukcija (zakaj?): Marija ni moški. Moški(marija)
Funkcije Poglejmo si stavek: Oče osebe je moški V predikatnem računu so domene objektov določene s funkcijami, ki so aplicirane na objekte: x.moški(oče(x))
Sintaksa predikatnega računa Predpostavljamo neskončno množico simbolov (signatura): Spremenljivke: x,y,z, N-terni funkcijski simbol: f,g,h, Individualne konstante: a,b,c, N-terni predikatni simbol: P,Q,R, Atomi: t x a f(t 1,,t n ) spremenljivke konstante aplikacija funkcije Konkretni atomi: členi, ki ne vsebujejo spremeljivk Izrazi: φ P(t 1,,t n ) atomični izrazi Npr., Brother(kingJohn,richardTheLionheart) > (length(leftlegof(richard)),length(leftlegof(kingjohn)))
Sintaksa predikatnega računa Formule: φ,ψ P(t 1,,t n ) atomična formula false true φ negacija φ ψ konjunkcija φ ψ disjunkcija φ ψ implikacija φ ψ ekvivalenca Konkretni atomi in konkretni literali: Sibling(kingJohn,richard) Sibling(richard,kingJohn) >(1,2) (1, 2) >(1,2) >(1,2)
Sintaksa predikatnega računa Formule: φ,ψ P(t 1,,t n ) atomična formula false true negacija φ ψ konjunkcija φ ψ disjunkcija φ ψ implikacija φ ψ ekvivalenca x.φ univerzalna kvantifikacija ⴺx.φ eksistenčna kvantifikacija Vsak v Angliji je pameten: x. In(x,england) Smart(x) Nekdo v Franciji je pameten: ⴺx. In(x,france) Smart(x)
Povzetek sintakse Atomi spremenljivke konstante funkcije Literali atomične formule relacije (predikati) negacija Dobro definirane formule - Izrazi funkcije eksistenčni in univerzalni kvantifikatorji
Osnovni pojmi Semantika predikatnega računa Izraz PR je lahko pravilen ali nepravilen odvisno od interpretacije. Interpretacija je preslikava: konstante objekti predikati relacije funkcije funkcijske relacije Atomični izraz P(t 1,,t n ) je pravilen glede na dano interpretacijo: če in samo če, so objekti t 1,,t n v zvezi izraženi z relacijo P. Interpretacija za katero je izraz pravilen imenujemo model izraza.
Interpretacije Interpretacija: Ι = <, Ι> kjer je poljubna neprazna množica in Ι funkcija, ki preslika n-terni funkcijski simbol v funkcijo nad : f Ι [ n ] individualne konstantne v : a Ι n-terni predikatni simbol v relacijo nad : P Ι n
Rešljivost atomičnih izrazov Interpretacija konkretnih atomičnih izrazov: (f(t 1,...,t n )) Ι = f Ι (t 1Ι,...,t nι )( ) Rešljivost (satisfiability) konkretnih atomičnih izrazov P(t 1,...,t n ): obstaja Ι P(t 1,...,t n ) <t 1Ι,...,t nι > P Ι
Primeri = {d 1,, d n }, n > 1 a I = d 1 b Ι = d 2 Block Ι = {d 1 } Red Ι = Ι Red(b) Ι Block(b) = {1,2,3, } 1 Ι = 1 2 Ι = 2... Even Ι = {2,4, } succ Ι = {(1 2),(2 3), } I Even(3) I Even(succ(3))
Prirejanje vrednosti spremenljivkam Naj bo Γ je množica vseh spremenljivk. Funkcija, ki priredi vrednosti spremenljivkam: α: Γ. Notacija: α[x/d] je identično α razen za spremenljivko x α + [x/d] Interpretacija izrazov z Ι,α : x Ι,α = α(x) a Ι,α = a Ι (f(t 1,, t n )) Ι,α = f Ι (t 1 Ι,α,...,t n Ι,α ) Rešljivost (angl. satisifiability) atomičnih izrazov: spremenljivkam priredimo vrednosti Ι,α P(t 1,...,t n ) <t 1 Ι,α,...,t n Ι,α > P Ι konstante interpretiramo
Primer prireditve spremenljivk α = {(x d 1 ),(y d 2 )} Ι,α Red(x) Ι,α[y/d 1 ] Block(y)
Rešljivost izrazov Izraz φ je rešljiv z interpretacijo Ι in prireditvijo spremenljivk α, kar zapišemo Ι,α φ, če in samo če: Ι,α P(t 1,, t n ) Ι,α Ι,α <t 1,...,t n > P Ι Ι,α φ Ι,α φ Ι,α φ ψ Ι,α φ in Ι,α ψ Ι,α φ ψ Ι,α φ ali Ι,α ψ Ι,α x.φ za vsak d : Ι,α[x/d] φ Ι,α ⴺx.φ obstaja d : Ι,α[x/d] φ
Primeri = {d 1,.., d n }, n > 1 a Ι = d 1 b Ι = d 2 Block Ι = {d 1 } Red Ι = α = {(x d 1 ),(y d 2 )} 1. Ι,α Block(c) Block(c)? 2. Ι,α Block(x) Block(x) Block(y)? 3. Ι,α x.block(x) Red(x)? 4. Θ = {Block(a), Block(b), x.(block(x) Red(x))} Ι,α Θ?
Primer Poišči model formule: ⴺy.[P(y) Q(y)] z.[p(z) Q(z)] = {a,b} P Ι = {a} Q Ι = {b}
Rešljivost in pravilnost Interpretacija Ι je model φ pri α, če: Ι,α φ Glede na interpretacijo Ι,α je formula φ lahko: rešljiva, če obstaja (Ι,α), ki je rešitev φ, nerešljiva, če ne obstaja (Ι,α), ki je rešitev φ, ovrgljiva, če obstaja (Ι,α) ki ni rešitev φ, vedno pravilna (t.j. tavtologija), če je vsak (Ι,α) model φ.
Ekvivalenca Formuli sta logično ekvivalentni (φ ψ), če za vse Ι,α velja: Ι,α φ Ι,α ψ Opomba: P(x) P(y)!
Proste in vezane spremenljivke x. (R(y,z) ⴺy. ( P(y,x) R(y,z ))) Spremenljivke obarvane rdeče so proste. Preostale spremenljivke so vezane. Induktivna definicija prostih spremenljivk: free(x) = {x} free(a) = ⵁ free(f(t 1,, t n )) = free(t 1 ) free(t n ) free(p(t 1,, t n )) = free(t 1 ) free(t n ) free( φ) = free(φ) free(φ ψ) = free(φ) free(ψ), =,, free( x.φ) = free(φ)-{x} free(ⴺx.φ) = free(φ)-{x}
Odprta in zaprta formula Formula je zaprta, če se v njej ne pojavi nobena prosta spremenljivka. Zaprto formulo imenujemo tudi stavek. Pri definiciji teorij uporabljamo samo zaprte formule. Opomba: Pri zaprtih formulah lastnosti kot so logična ekvivalentnost, rešljivost, izpeljava, niso odvisne od prirejanja vrednosti spremenljivkam. Če lastnost velja za eno prireditev vrednosti potem velja tudi za vse ostale. Dokaz? Pri zaprtih formulah lahko odstranimo simbol na levo od : Ι,α φ φ
Izpeljave Izraz ψ logično sledi iz φ, kar zapišemo φ ψ, če je izraz ψ pravilen za vse modele φ: φ ψ Ι ψ, za vse modele Ι izraza φ
Primer x.(p(x) P(x)) ⴺx.[ P(x) (P(x) Q(x)) ] ⴺx.Q(x) (ⴺx. [ y. [ P(x) Q(y) ] ]) ⴺy.[ P(y) Q(y) ] z.[ P(z) Q(z) ] rešljivo?
Enakost Enakost = je poseben predikat. Izraz t 1 = t 2 je pravilen ob dani interpretaciji (Ι,α t 1 =t 2 ), če in samo če je interpretacija t 1 enaka intepretaciji t 2 : t 1 Ι,α = t 2 Ι,α Primer: x. ( (sqrt(x),sqrt(x)) = x) rešljiv izraz 2 = 2 pravilen izraz Primer: Definicija relacije Sibling() z uporabo predikata Parent(). x,y.sibling(x,y) (x = y) ⴺm,f. (m = f) Parent(m,x) Parent(f,x) Parent(m,y) Parent(f,y))
Univerzalna kvantifikacija x y = x y 0 0 1 0 1 1 1 0 0 1 1 1 Vsak v Angliji je pameten: x.in(x,england) Smart(x) ( x.φ) je ekvivalentno konjunkciji vseh možnih instanc x v φ: In(kingJohn,england) Smart(kingJohn) In(richard,england) Smart(richard) In(england,england) Smart(england) Tipično je glavni povezovalnik za izražanje izrazov z. Običajna napaka: uporaba kot glavnega povezovalnika za izražanje : x.in(x,england) Smart(x) pomeni Vsak je v Angliji in vsi so pametni.
Eksistenčna kvantifikacija Nekdo v Franciji je pameten: ⴺx.In(x,france) Smart(x) x y = x y 0 0 1 0 1 1 1 0 0 1 1 1 (ⴺx.φ) je ekvivalentno disjunkciji vseh možnih instanc x v φ. In(kingJohn,france) Smart(kingJohn) In(richard,france) Smart(richard) In(france,france) Smart(france) Disjunkcija je glavna povezovalna operacija za izražanje ⴺ. Običajna napaka: uporaba kot glavnega povezovalca v izrazih z ⴺ: ⴺx.In(x,france) Smart(x) Izraz je pravilen, če obstaja nekdo, ki ni iz Francije!
Lastnosti kvantifikatorjev ( x. y.φ) ( y. x.φ) (zakaj?) (ⴺx.ⴺy.φ) (ⴺy.ⴺx.φ) (zakaj?) (ⴺx. y.φ) ( y.ⴺx.φ) ⴺx. y.loves(x,y) Obstaja človek, ki ima rad vse ljudi. y.ⴺx.loves(x,y) Vsakega človeka ima rad vsaj eden človek. Ni isto! Dualnost kvantifikatorjev: lahko izrazimo enega z drugim. x.likes(x,icecream) ⴺx.Likes(x,broccoli) ⴺx. Likes(x,iceCream) x. Likes(x,broccoli)
Normalna oblika Prenex kvatiffikatorji v predponi + izraz (brez kvantifikatorjev) x 1 x 2 ⴺx 3 x n.φ 1. Eliminacija in 2. Potisni navznoter 3. Potegni kvantifikatorje ven Npr. x.( ( x.p(x)) q(x) ) x.( ( x.p(x)) q(x) ) ⴺx.( ( x.p(x)) q(x) ) naprej? Notacija: preimenovanje spremenljivk. Naj bo φ[x/t] izraz, kjer samo zamenjali vse pojavitve x z izrazom t.
Zaključki Ogledali smo si predikatni račun Formalen pogled, ki daje nekaj opornih točk za implementacijo Do resne definicije prostora (z vsemi koncepti, pravili in algoritmi), zadosti obdelanega za implementacijo implementacije manjka še marsikaj: Sklepanje: sintaktična pravila podprta s semantičnim ozadjem Natančna študija jezika (PR), ki definira nivoje jezika glede na možnosti izvedbe Nekaj podobnega so naredili za Opisno logiko! Opisno logiko (Description logic) si bomo ogledali v enem izmed naslednjih predavanjih Opisna logika je osnova za OWL