Télécharger la présentation
## Logic

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Logic as a Knowledge Representation Language**• A Logic is a formal language, with precisely defined syntax and semantics, which supports sound inference. Independent of domain of application. • Different logics exist, which allow you to represent different kinds of things, and which allow more or less efficient inference. • ..**propositional logic, predicate logic, temporal logic, modal**logic, description logic.. • But representing some things in logic may not be very natural, and inferences may not be efficient. More specialised languages may be better**Formal Languages**Intelligent systems require that we have Knowledge formally represented New inferences/conclusions possible. Formal languages have been developed to support knowledge representation. One important one is the use of logic - very general purpose way to formally represent truths about the world, and draw sound conclusions from these.**Propositional logic**• In general a logic is defined by • syntax: what expressions are allowed in the language. • Semantics: what they mean, in terms of a mapping to real world • proof theory: how we can draw new conclusions from existing statements in the logic. • Propositional logic is the simplest..**What is a proposition**Proposition = Statement that may be either true or false. John is in the classroom. Mary is enrolled in 270A. If A is true, and A implies B, then B is true. If some A are B, and some B are C, then some A are C. If some women are students, and some students are men, then ….**Propositional Logic: Syntax**• Symbols (e.g., letters, words) are used to represent facts about the world, e.g., • “P” represents the fact “Andrew likes chocolate” • “Q” represents the fact “Andrew has chocolate” • These are called atomic propositions • True and false are also atomic propositions**Logical connectives are used to represent and: , or: **, if-then: , not: . • Statements or sentences in the language are constructed from atomic propositions and logical connectives. • P Q “Andrew likes chocolate and he doesn’t have any.” • P Q “If Andrew likes chocolate then Andrew has chocolate”**Propositional Logic: Semantics**• What does it all mean? • Sentences in propositional logic tell you about what is true or false. • P Q means that both P and Q are true. • P Q means that either P or Q is true (or both)**Concerns**What does it mean to say a statement is true? What are sound rules for reasoning What can we represent in propositional logic? What is the efficiency? Can we guarantee to infer all true statements?**Propositional Logic: Semantics**• P Q means that if P is true, so is Q. • This is all formally defined using truth tables. X Y X v Y T T TT F T F T TF F F We now know exactly what is meant in terms of the truth of the elementary propositions when we get a sentence in the language (e.g., P => Q v R).**Truth Tables**• The truth tables for Propositional Calculus are as follows**Proof Theory**• How do we draw new conclusions from existing supplied facts? • We can define inference rules, which are guaranteed to give true conclusions given true premises. • For propositional logic useful one is modus ponens: • If A is true and A=> B is true, then conclude B is true. A, A B ————————— B**Proof Theory and Inference**• So, let P mean “It is raining”, Q mean “I carry my umbrella”. • If we know that P is true, and P => Q is true.. • We can conclude that Q is true. • Note that certain expressions are equivalent • think about P => Q and P v Q.**More complex rules of inference**• Other rules of inference can be used, e.g.,: • This is essentially the resolution rule of inference, used in Prolog. A v B, B v C ——————————————— A v C**Consider**• What can we conclude? sunny v raining raining v umbrella**Semantics**• Model = possible world • x+y = 4 is true in the world x=3, y=1. • x+y = 4 is false in the world x=3, y = 1. • Entailment S1,S2,..Sn |= S means in every world where S1…Sn are true, S is true. • Careful: No mention of proof – just checTaoiseach all the worlds. • Some cognitive scientists argue that this is the way people reason.**Reasoning or Inference Systems**• Proof is a syntactic property. • Rules for deriving new sentences from old ones. • Sound: any derived sentence is true. • Complete: any true sentence is derivable. • NOTE: Logical Inference is monotonic. Can’t change your mind.**Translation into Propositional Logic**• If it rains, then the game will be cancelled. • If the game is cancelled, then we clean house. • Can we conclude? • If it rains, then we clean house. • p = it rains, q = game cancelled r = we clean house. • If p then q. not p or q • If q then r. not q or r • if p then r. not p or r (resolution)**What can’t we say?**• Quantification: every student has a father. • Relations: If X is married to Y, then Y is married to X. • Probability: There is an 80% chance of rain. • Combine Evidence: This car is better than that one because… • Uncertainty: Maybe John is playing golf.**Advantages of propositional logic**Propositional logic is declarative Propositional logic allows partial/disjunctive/negated information • (unlike most data structures and databases) • Propositional logic is compositional: • meaning of B1,1 P1,2 is derived from meaning of B1,1 and of P1,2 Meaning in propositional logic is context-independent • (unlike natural language, where meaning depends on context)**Disadvantages**Propositional logic has very limited expressive power • (unlike natural language) • E.g., cannot say "pits cause breezes in adjacent squares“ • except by writing one sentence for each square**First-order logic**• Whereas propositional logic assumes the world contains facts, • first-order logic (like natural language) assumes the world contains Objects: people, houses, numbers, colors, baseball games, wars, … Relations: red, round, prime, brother of, bigger than, part of, comes between, …**And**• Functions: father of, best friend, one more than, plus, …**Syntax of FOL: Basic elements**• Constants TaoiseachJohn, 2, DIT,... • Predicates Brother, >,... • Functions Sqrt, LeftLegOf,... • Variables x, y, a, b,... • Connectives , , , , • Equality = • Quantifiers , **Atomic sentences**Atomic sentence = predicate (term1,...,termn) or term1 = term2 Term = function (term1,...,termn) or constant or variable • E.g., Brother(TaoiseachJohn,RichardTheLionheart) > (Length(LeftLegOf(Richard)), Length(LeftLegOf(TaoiseachJohn)))**Complex sentences**• Complex sentences are made from atomic sentences using connectives S, S1 S2, S1 S2, S1 S2, S1S2, E.g. Sibling(TaoiseachJohn,Richard) Sibling(Richard,TaoiseachJohn) >(1,2) ≤ (1,2) >(1,2) >(1,2)**Truth in first-order logic**• Sentences are true with respect to a model and an interpretation • Model contains objects (domainelements) and relations among them • Interpretation specifies referents for constantsymbols→objects predicatesymbols→relations functionsymbols→ functional relations • An atomic sentence predicate(term1,...,termn) is true iff the objects referred to by term1,...,termn are in the relation referred to by predicate**Universal quantification**• <variables> <sentence> Everyone at DIT is smart: x At(x,DIT) Smart(x) • x P is true in a model m iff P is true with x being each possible object in the model**Roughly speaTaoiseach, equivalent to the conjunction of**instantiations of P At(TaoiseachJohn,DIT) Smart(TaoiseachJohn) At(Richard,DIT) Smart(Richard) At(DIT,DIT) Smart(DIT) ...**A common mistake to avoid**• Typically, is the main connective with • Common mistake: using as the main connective with : x At(x,DIT) Smart(x) means “Everyone is at DIT and everyone is smart”**Existential quantification**• <variables> <sentence> • Someone at DIT is smart: • x At(x,DIT) Smart(x)$ • xP is true in a model m iff P is true with x being some possible object in the model**Roughly speaTaoiseach, equivalent to the disjunction of**instantiations of P At(TaoiseachJohn,DIT) Smart(TaoiseachJohn) At(Richard,DIT) Smart(Richard) At(DIT,DIT) Smart(DIT) ...**Another common mistake to avoid**• Typically, is the main connective with • Common mistake: using as the main connective with : x At(x,DIT) Smart(x) is true if there is anyone who is not at DIT!**Properties of quantifiers**• x y is the same as yx • x y is the same as yx • x y is not the same as yx • x y Loves(x,y) • “There is a person who loves everyone in the world” • yx 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,IceCream) • x Likes(x,Broccoli) xLikes(x,Broccoli)**Equality**• term1 = term2is true under a given interpretation if and only if term1and term2refer to the same object • E.g., definition of Sibling in terms of Parent: x,ySibling(x,y) [(x = y) m,f (m = f) Parent(m,x) Parent(f,x) Parent(m,y) Parent(f,y)]**Using FOL**The kinship 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)**Knowledge engineering in FOL**• Identify the task • Assemble the relevant knowledge • Decide on a vocabulary of predicates, functions, and constants • Encode general knowledge about the domain • Encode a description of the specific problem instance • Pose queries to the inference procedure and get answers • Debug the knowledge base**Summary**• First-order logic: • objects and relations are semantic primitives • syntax: constants, functions, predicates, equality, quantifiers