* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download term 1 - Teaching-WIKI
Meaning (philosophy of language) wikipedia , lookup
Model theory wikipedia , lookup
Willard Van Orman Quine wikipedia , lookup
Jesús Mosterín wikipedia , lookup
Foundations of mathematics wikipedia , lookup
Analytic–synthetic distinction wikipedia , lookup
Fuzzy logic wikipedia , lookup
List of first-order theories wikipedia , lookup
Axiom of reducibility wikipedia , lookup
Cognitive semantics wikipedia , lookup
History of logic wikipedia , lookup
Structure (mathematical logic) wikipedia , lookup
History of the function concept wikipedia , lookup
Quantum logic wikipedia , lookup
Modal logic wikipedia , lookup
Mathematical logic wikipedia , lookup
Natural deduction wikipedia , lookup
Curry–Howard correspondence wikipedia , lookup
Combinatory logic wikipedia , lookup
Laws of Form wikipedia , lookup
Truth-bearer wikipedia , lookup
Propositional formula wikipedia , lookup
Intuitionistic logic wikipedia , lookup
First-order logic wikipedia , lookup
Propositional calculus wikipedia , lookup
Intelligent Systems Predicate Logic – Lecture 3 Prof. Dieter Fensel (& Florian Fischer) ©www.sti-innsbruck.at Copyright 2008 STI INNSBRUCK www.sti-innsbruck.at Agenda • Motivation • Syntax of First Order Logic • Semantics of First Order Logic • Using FOL • Knowledge engineering in FOL www.sti-innsbruck.at 2 Motivation Starting from propositional logic (see last lecture): Propositional logic is declarative – Meaning is Independent of particular evaluation procedure Propositional logic allows partial/disjunctive/negated information – Unlike most data structures and relational database systems Propositional logic is compositional: – meaning of B1,1 P1,2 is fully derived from meaning of B1,1 and of P1,2 Meaning in propositional logic is context-independent – Statements convey the same meaning every time Propositional logic has very limited expressive power www.sti-innsbruck.at 3 Motivation – Limitations of Propositional Logic • Propositional logic assumes the world contains facts that are either true or false. • In propositional logic the smallest atoms represent whole propositions (propositions are atomic) – Propositional logic does not capture the internal structure of the propositions – It is not possible to work with units smaller than a proposition • Example: – “A Mercedes Benz is a Car” and “A car drives” are two individual, unrelated propositions – We cannot conclude “A Mercedes Benz drives” • It is possible to represent everything you want in propositional logic • But often this is not very efficient www.sti-innsbruck.at 4 Predicate Logic / First-order logic • Basic idea: A proposition is expressed as predicate about (on or more) objects in the world • Propositions are predicates and arguments – I.e. Car(Mercedes Benz). • First-order logic (FOL) assumes the world contains: – Objects: people, houses, numbers, colors, baseball games, wars, … – Relations: red, round, prime, brother of, bigger than, part of, comes between, … – Functions: father of, best friend, one more than, plus, … One to one mapping www.sti-innsbruck.at 5 Predicate Logic / First-order logic • Some relations are properties: – They state some fact about a single object: Round(ball), Prime(7). • Some relations are n-ary relations: – State facts about two or more objects: Married(John,Mary), Largerthan(3,2). • Some relations are functions: – Their value is another object: Plus(2,3), Father(Dan). www.sti-innsbruck.at 6 Defining First-Order Logic • As usual for a Logic, FOL is defined in several parts: – Syntax: Telling us how well-formed formulae can be built from basic syntactic parts – A proof theory, consisting of: • Inference rules:Telling us what kind of conclusions are admissable base on a set of propositions ((i.e. Modus ponens. see next lecture) • Axioms: To encode basic assumptions (i.e. equality) – Semantics: Telling us which interpretations make a formula true www.sti-innsbruck.at 7 Syntax of FOL • A First-Order language is formed by the following: – A finite or countable set R of relation symbols or predicate symbols, with an integer n associated with symbol. This is called the arity of the symbol. – A finite or countable set F of function symbols. Again each function symbol has a specific arity. – A finite or countable set C of constant symbols. – Quantifiers (existential, universal) – Punctuation ( “(”, “)”, “,”) – Variables – The (already known) usual connectives www.sti-innsbruck.at 8 Syntax of FOL - Examples • • • • • • • Constants KingJohn, 2, UIBK,... Predicate symbols Brother, >,... Function symbolsSqrt, LeftLegOf,... Variables x, y, a, b,... Connectives , , , , Equality = Quantifiers , www.sti-innsbruck.at 9 Syntax of FOL - Terms • From basic syntax we define terms: – Any variable is a term – Any constant symbol (member of C) is a term – If f is an n-ary function symbol and t1,…,tn are terms, then f(t1, …, tn) is a term term = function (term1,...,termn) or constant or variable Functions can be viewed as complex names for constants • E.g., Brother(KingJohn,RichardTheLionheart) • (Length(LeftLegOf(Richard)) = Length(LeftLegOf(KingJohn))) www.sti-innsbruck.at 10 Syntax of FOL – Atomic Formulas • An atomic formula is any string of the form r(t1, …, tn), where – r is an n-ary relation symbol (a member of R) – t1, …,tn are terms Atomic formula = predicate (term1,...,termn) or term1 = term2 Equality is a special predicate with a fixed semantics • E.g., Brother(KingJohn, RichardTheLionheart) • (Length(LeftLegOf(Richard)) = Length(LeftLegOf(KingJohn))) www.sti-innsbruck.at 11 Syntax of FOL – Atomic Formulas • Formulas in logic state facts that are true or false. • Properties and n-ary relations do just that: – GreaterThan(2,3) (means 2>3) is false. – Brother(Mary,Pete) is false. • Functions do not state facts and form no sentence: – Brother(Pete) refers to the object John (his brother) and is neither true nor false. • Brother(Pete, Brother(Pete)) is true. Binary relation www.sti-innsbruck.at Function 12 Syntax of FOL – Formulas • We can again use formulas to form more complex constructs • Complex sentences are made from atomic sentences using connectives (just like in propositional logic) S, S1 S2, S1 S2, S1 S2, S1 S2, • E.g. : Sibling(KingJohn,Richard) Sibling(Richard,KingJohn) >(1,2) ≤ (1,2) www.sti-innsbruck.at >(1,2) >(1,2) 13 Syntax of FOL – Example Brother (LeftLeg (Richard ), John ) (Democrat (Bush )) binary relation function objects property connectives www.sti-innsbruck.at 14 Semantics of FOL • Semantics of a logical sentence are described by relating it to a formal description of a “possible world” called a model – In propositional logic: A set of true and false propositions (think of a truth-table) – In FOL: A set of objects and a set of relations between objects • Giving meaning to a logical formula is more difficult as the propositional case: – We must fix the domain (“what” we are talking about) over which quantifiers operate – We must fix the interpretation for constants, function, and relation symbols (w.r.t this domain) – We must give an assignment of values to variables www.sti-innsbruck.at 15 Semantics of FOL (2) • Sentences are true with respect to a model and an interpretation • Model contains objects (domain elements) and relations among them • Interpretation specifies referents for constant symbols predicate symbols function symbols → → → objects relations functions • An atomic sentence predicate(term1,...,termn) is true iff the objects referred to by term1,...,termn are in the relation referred to by predicate • For more theoretical (and philosophical!) background on model theory see [4] www.sti-innsbruck.at 16 Semantics of FOL (3) • More precisely, a model is a pair M = <D, I> where – – D is a nonempty set, called the domain of M I an interpretation that maps constant symbols, function symbols, relations elements in the domain D • An assignment in a model M=<D,I> is a mapping from the set of variables to the set D • Given an interpretation (that gives meaning to constant and function symbols) and an assignment (that gives values to variables), we can calculate truth values for arbitrary terms! • For a detailed definition see [1] www.sti-innsbruck.at 17 Semantics of FOL: Example www.sti-innsbruck.at 18 Semantics of FOL: Example (2) www.sti-innsbruck.at 19 Logical Entailment in FOL • Enumerating models to check if a statements logically follows is not a good idea • Nonentailment is even undecidable, i.e. cannot be computed ! • Overall FOL is semi-decideable www.sti-innsbruck.at 20 Quantification • Round (ball) is true or false because we give it a single argument (ball). • We can be much more flexible if we allow variables which can take on values in a domain. e.g. reals x, all persons P, etc. • To construct logical sentences we need a quantifier to make it true or false. www.sti-innsbruck.at 21 Quantification x 5, x R • Is the following true or false? • To make it true or false we use and x [(x 2) (x 3)] x R (false ) x [(x 2 1)] For all real x, x>2 implies x>3. www.sti-innsbruck.at x R (false ) There exists some real x which square is minus 1. 22 Universal quantification • <variables> <sentence> • E.g: "Everyone at UIBK is smart“: x (At(x,UIBK) Smart(x)) • x P is true in a model m iff P is true with x being each possible object in the model • Roughly speaking, equivalent to the conjunction of instantiations of P www.sti-innsbruck.at At(KingJohn, UIBK) Smart(KingJohn) At(Richard, UIBK) Smart(Richard) At(UIBK, UIBK) Smart(UIBK) ... 23 A common mistake to avoid • Typically, is the main connective with • Common mistake: using as the main connective with : x (At(x,UIBK) Smart(x)) means “Everyone is at UIBK and everyone is smart” • Correct: x (At(x,UIBK) Smart(x)) • As you can see many axioms can be written as rules! www.sti-innsbruck.at 24 Existential quantification • <variables> <sentence> • "Someone at UIBK is smart": • x (At(x,UIBK) Smart(x)) • x P is true in a model m iff P is true with x being some possible object in the model • Roughly speaking, equivalent to the disjunction of instantiations of P At(KingJohn,UIBK) Smart(KingJohn) At(Richard,UIBK) Smart(Richard) At(UIBK,UIBK) Smart(UIBK) ... www.sti-innsbruck.at 25 Another common mistake to avoid • Typically, is the main connective with • Common mistake: using as the main connective with : x (At(x,UIBK) Smart(x)) is true if there is anyone who is not at UIBK! • Usually used in Queries: "Is there someone in UIBK who is smart?" Correct: x (At(x,UIBK) Smart(x)) www.sti-innsbruck.at 26 Nested Quantifiers • Combinations of universal and existential quantification are possible: x y Father (x , y ) y x Father (x , y ) x y Father (x , y ) y x Father (x , y ) x y Father (x , y ) y x Father (x , y ) x y Father (x , y ) y x Father (x , y ) x , y {All people } Which is which?: www.sti-innsbruck.at Binary relation: “x is a father of y”. Everyone is the father of someone. Everyone has everyone as a father There is a person who has everyone as a father. There is a person who has a father There is a person who is the father of everyone. Everyone has a father. 27 Properties of quantifiers • x y is the same as y x • x y is the same as y x • x y is not the same as y x • x y Loves(x,y) – “There is a person who loves everyone in the world” • y x Loves(x,y) – “Everyone in the world is loved by at least one person” • Quantifier duality: each can be expressed using the other x Likes(x,IceCream) x Likes(x,Broccoli) www.sti-innsbruck.at x Likes(x,IceCream) x Likes(x,Broccoli) 28 De Morgan’s Law for Quantifiers De Morgan’s Rule Generalized De Morgan’s Rule P Q (P Q ) x P x (P ) P Q (P Q ) x P x (P ) (P Q ) P Q x P x (P ) (P Q ) P Q x P x (P ) • Rule is simple: If you bring a negation inside a disjunction or a conjunction, always switch between them (or and, and or). • Equality symbol: Father(John)=Henry. This relates two objects. www.sti-innsbruck.at 29 Equality • term1 = term2 is true under a given interpretation if and only if term1 and term2 refer to the same object • E.g., definition of Sibling in terms of Parent: x,y Sibling(x,y) [(x = y) m,f (m = f) Parent(m,x) Parent(f,x) Parent(m,y) Parent(f,y)] www.sti-innsbruck.at 30 Using FOL • We want to TELL things to the KB, – e.g. TELL(KB, x ,King (x ) Person (x ) ) • We also want to ASK things to the KB, – e.g. ASK(KB, x , Person (x ) ) • The KB should return the list of x’s for which Person(x) is true: {x/John,x/Richard,...} – A variable binding! www.sti-innsbruck.at 31 Using FOL – Simple Example The family domain: • Brothers are siblings x,y Brother(x,y) ) Sibling(x,y) • One's mother is one's female parent m,c Mother(c) = m (Female(m) Parent(m,c)) • “Sibling” is symmetric x,y Sibling(x,y) Sibling(y,x) www.sti-innsbruck.at Attention! Mother is a function symbol here, whereas female and parent are predicate symbols! 32 Using Fol More complex example: The set domain • • • • • • • • ∀ s Set(s) ⇔ (s = {} ) ∨ (∃x,s2 Set(s2) ∧ s = { x | s2 }) ¬∃x,s { x | s } = {} ∀ x,s x ∈ s ⇔ s = { x | s } ∀ x,s x ∈ s ⇔ [ ∃y,s2} ( s = { y | s2} ∧ (x = y ∨ x ∈ s2 ))] ∀ s1,s2 s1 ⊆ s2 ⇔ (∀x x ∈s1⇒x ∈s2) ∀ s1,s2 (s1= s2) ⇔ (s1⊆s2∧s2⊆s1 ) ∀ x, s1,s2 x ∈(s1 ∩ s2) ⇔ (x ∈ s1 ∧ x ∈ s2 ) ∀ x, s1,s2 x ∈(s1 ∪ s2) ⇔ (x ∈ s1 ∨ x ∈ s2) www.sti-innsbruck.at 33 Representing Knowledge in FOL 1. Identify the task 2. Assemble the relevant knowledge 3. Decide on a vocabulary of predicates, functions, and constants 4. Encode general knowledge about the domain 5. Encode a description of the specific problem instance 6. Pose queries to the inference procedure and get answers 7. Debug the knowledge base www.sti-innsbruck.at 34 Example: The electronic circuits domain One-bit full adder www.sti-innsbruck.at 35 Example: The electronic circuits domain (2) 1. Identify the task – Does the circuit actually add properly? (circuit verification) 2. Assemble the relevant knowledge – – Composed of wires and gates; Types of gates (AND, OR, XOR, NOT) Irrelevant: size, shape, color, cost of gates 3. Decide on a vocabulary/encoding – Alternatives: Type(X1) = XOR Type(X1, XOR) XOR(X1) … www.sti-innsbruck.at 36 Example: The electronic circuits domain (3) 4. Encode general knowledge of the domain • • • • • • • t1,t2 Connected(t1, t2) Signal(t1) = Signal(t2) t Signal(t) = 1 Signal(t) = 0 1≠0 t1,t2 Connected(t1, t2) Connected(t2, t1) g Type(g) = OR (Signal(Out(1,g)) = 1 n Signal(In(n,g)) = 1) g Type(g) = AND (Signal(Out(1,g)) = 0 n Signal(In(n,g)) = 0) g Type(g) = XOR (Signal(Out(1,g)) = 1 Signal(In(1,g)) ≠ Signal(In(2,g))) g Type(g) = NOT Signal(Out(1,g)) ≠ Signal(In(1,g)) • www.sti-innsbruck.at 37 Example: The electronic circuits domain (4) 5. Encode the specific problem instance Type(X1) = XOR Type(A1) = AND Type(O1) = OR Type(X2) = XOR Type(A2) = AND Connected(Out(1,X1),In(1,X2)) Connected(In(1,C1),In(1,X1)) Connected(Out(1,X1),In(2,A2)) Connected(In(1,C1),In(1,A1)) Connected(Out(1,A2),In(1,O1)) Connected(In(2,C1),In(2,X1)) Connected(Out(1,A1),In(2,O1)) Connected(In(2,C1),In(2,A1)) Connected(Out(1,X2),Out(1,C1)) Connected(In(3,C1),In(2,X2)) Connected(Out(1,O1),Out(2,C1)) Connected(In(3,C1),In(1,A2)) www.sti-innsbruck.at 38 Example: The electronic circuits domain (5) 6. Pose queries to the inference procedure – – What are the possible sets of values of all the terminals for the adder circuit? i1,i2,i3,o1,o2 Signal( In(1,C1) ) = i1 Signal( In(2,C1) ) = i2 Signal( In(3,C1) ) = i3 Signal( Out(1,C1) ) = o1 Signal( Out(2,C1) ) = o2 7. Debug the knowledge base – Maybe you have omitted assertions like 1 ≠ 0, etc? www.sti-innsbruck.at 39 Summary • Predicate Logic: – objects, relations and functions are semantic primitives – syntax: constants, function symbols, predicate symbols, equality, quantifiers • Increased expressive power over propositional logic – Predicate Logic allows generalisations over objects – It is more economical in many cases • Atomic sentences have internal structure – Atomic sentences are decomposed into predicates and terms • The semantics of predicate logic: – Model is a set of objects, a set of relations and a set of referential functions – An interpretation maps a language onto a model • Next time: Inference in First-Order logic www.sti-innsbruck.at 40 References • • • • • [1] M. Fitting: First-Order Logic and Automated Theorem Proving, 1996 Springer-Verlag New York (Chapter 5) [2] Michael Huth and Mark Ryan, Logic in Computer Science(second edition) , 2004, Cambridge University Press [3] S. Russel and P. Norvig: Artifical Intelligence – Modern Approach, 2002k, Prentice Hall (Web-site: http://aima.cs.berkeley.edu/ ) [4] http://plato.stanford.edu/entries/model-theory/ Wikipedia: – http://en.wikipedia.org/wiki/First-order_logic and particularly – http://en.wikipedia.org/wiki/First-order_logic#Metalogical_theorems_of_firstorder_logic for several relevant properties www.sti-innsbruck.at 41