10 주 강의 First-order Logic
Limitation of propositional logic A very limited ontology to need to the representation power first-order logic
First-order logic A stronger set of ontological commitments A world in FOL consists of objects, properties, relations, functions Objects people, houses, number, colors, Bill Clinton Relations brother of, bigger than, owns, love Properties red, round, bogus, prime Functions father of, best friend, third inning of
Examples “ One plus two equals three ” – objects :: one, two, three, one plus two – Relation :: equal – Function :: plus “ Squares neighboring the wumpus are smelly –Objects :: wumpus, square –Property :: smelly –Relation :: neighboring
First order logics Objects 와 relations 시간, 사건, 카테고리 등은 고려하지 않음 영역에 따라 자유로운 표현이 가능함 ‘ king ’ 은 사람의 property 도 될 수 있고, 사람과 국가 를 연결하는 relation 이 될 수도 있다 일차술어논리는 잘 알려져 있고, 잘 연구된 수 학적 모형임
Syntax and Semantics Sentence AtomicSentence | Sentence Connective Sentence | Auantifier Variable,…Sentence | Sentence | (Sentence) AtomicSentence Predicate(Term,…) | Term=Term Term Function (Term,…) | Constant | Variable Connective | | | Quantifier | Constant A | X 1 | John | … Variable a | x | s | … Predicate Before | HanColor | Raining | … Function Mother | LeftLegOf | … Figure 7.1 The syntax of first-order logic (with equality) in BNF (Backus-Naur Form).
예 Constant symbols :: A, B, John, Predicate symbols :: Round, Brother Function symbols :: Cosine, FatherOf Terms :: King John, Richard ’ s left leg Atomic sentences :: Brother(Richard,John), Married(FatherOf(Richard), MotherOf(John)) Complex sentences :: Older(John,30)=>~younger(John,30)
Quantifiers World = {a, b, c} Universal quantifier ( ∀ ) ∀ x Cat(x) => Mammal(x) Cat(a) => Mammal(a) & Cat(a) => Mammal(a) Existential quantifier ( ∃ ) ∃ x Sister(x, Sopt) & Cat(x)
Nested quantifiers ∀ x,y Parent(x,y) => Child(y,x) ∀ x,y Brother(x,y) => Sibling(y,x) ∀ x ∃ y Loves(x,y) ∃ y ∀ x Loves(x,y)
De Morgan ’ s Rule ∀ x ~P ~ ∃ x P ~P&~Q ~(P v Q) ~ ∀ x P ∃ x ~P ~(P&Q) ~P v ~Q ∀ x P ~ ∃ x ~P P&Q ~(~P v ~ Q) ∃ x P ~ ∀ x ~P P v Q ~(~P&~Q)
Equality Identity relation Father(John) = Henry ∃ x,y Sister(Spot,x) & Sister(Spot,y) & ~(x=y) ≠ ∃ x,y Sister(Spot,x) & Sister(Spot,y)
Higher-order logic ∀ x,y (x=y) ( ∀ p p(x) p(y)) ∀ f,g (f=g) ( ∀ x f(x) g(x)) ∀
-expression x,y x 2 – y 2 -expression can be applied to arguments to yield a logical term in the same way that a function can be ( x,y x 2 – y 2 )(25,24) = = 49 x,y Gender(x) ≠Gender(y) & Address(x) = Address(y)
∃ ! (The uniqueness quantifier) ∃ !x King(x) ∃ x King(x) & ∀ y King(y) => x=y world 를 고려하여 보여주면 => object 가 1, 2, 3 개일 때 {a} w0 king={}, w1 king={a} w1 만 model {a,b} w0 king={}, w1 king={a}, w2 {b}, w3 {a,b} w1, w2 만 model
Representation of sentences by FOPL One ’ s mother is one ’ s female parent ∀ m,c Mother(c)=m Female(m) & Parent(m) One ’ s husband is one ’ s male spouse ∀ w,h Husband(h,w) Male(h) & Spouse(h,w) Male and female are disjoint categories ∀ x Male(x) ~Female(x) A grandparent is a parent of one ’ s parent ∀ g,c Grandparent(g,c) ∃ p parent(g,p) & parent(p,g)
Representation of sentences by FOPL A sibling is another child of one ’ s parents ∀ x,y Sibling(x,y) x≠y & ∃ p Parent(p,x) & Parent(p,y) Symmetric relations ∀ x,y Sibling(x,y) Sibling(y,x)
The domain of sets (I) The only sets are the empty set and those made by adjoining something to a set : ∀ s Set(s) (s=EmptySet) v ( ∃ x,s2 Set(s2) & s=Adjoin(x,s2)) The empty set has no elements adjoined into it. ~ ∃ x,s Adjoin(x,s)=EmptySet Adjoining an element already in the set has no effect ∀ x,s Member(x,s) s=Adjoin(x,s) The only members of a set are the elements that were adjoined into it ∀ x,s Member(x,s) ∃ y,s2 (s=Adjoin(y,s2) & (x=y v Member(x,s)))
The domain of sets (II) A set is a subset of another if and only if all of the first set ’ s are members of the second set : ∀ s1,s2 Subset(s1,s2) ( ∀ x Member(x,s1) => member(x,s2)) Two sets are equal if and only if each is a subset of the other: ∀ s1,s2 (s1=s2) (Subset(s1,s2) & Subset(s2,s1))
The domain of sets (III) An object is a member of the intersection of two sets if and only if it is a member of each of sets : ∀ x,s1,s2 Member(x,Intersection(s1,s2)) Member(x,s1) & Member(x,s2) An object is a member of the union of two sets if and only if it is a member of either set : ∀ x,s1,s2 Member(x,Union(s1,s2)) Member(x,s1) v Member(x,s2)
Asking questions and getting answers Tell(KB, ( ∀ m,c Mother(c)=m Female(m) & Parent(m,c)) ) …… Tell(KB, (Female(Maxi) & Parent(Maxi,Spot) & Parent(Spot,Boots))) Ask(KB,Grandparent(Maxi,Boots) Ask(KB, ∃ x Child(x, Spot)) Ask(KB, ∃ x Mother(x)=Maxi) Substitution, unification, {x/Boots}