1 / 32

Logic Programming Languages

Logic Programming Languages. Objective. To introduce the concepts of logic programming and logic programming languages To introduce a brief description of a subset of prolog. Introduction. Logic programs are declarative programs Specify the desired results - true State the fact.

corbett
Download Presentation

Logic Programming Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Logic Programming Languages

  2. Objective • To introduce the concepts of logic programming and logic programming languages • To introduce a brief description of a subset of prolog

  3. Introduction • Logic programs are declarative programs • Specify the desired results - true • State the fact Programming Language Symbolic logic Logical Inferencing Process Result

  4. Introduction • The major difference between logic programming and other programming languages (imperative and functional) • Every data item that exist in logic programming has written in specific representation (symbolic logic) • Prolog is a logic programming that widely used logic language

  5. Introduction • Prolog specified the way of computer carries out the computation and it is divided to 3 parts: • logical declarative semantic of prolog • new fact prolog can infer from the given fact • explicit control information supplied by the programmer

  6. Symbolic representation: Predicate Calculus • mathematical representation of formal logic • is a particular form of symbolic logic that is used for logic programming Predicate Calculus FOPL Higher-order PL Symbolic Logic Logic Formalism Proposition

  7. Symbolic representation: Predicate Calculus Predicate Calculus FOPL Higher-order PL • symbolic logic used for the three basic need of formal logic • to express propositions • to express the relationships between propositions • to describe how new propositions can be inferred from other propositions that are assumed to be true Symbolic Logic Logic Formalism Proposition

  8. Symbolic representation: Predicate Calculus Predicate Calculus FOPL Higher-order PL Symbolic Logic • Formal logic was developed to provide a method for describing proposition. Logic Formalism Proposition

  9. Symbolic representation: Predicate Calculus Predicate Calculus FOPL Higher-order PL Symbolic Logic Logic Formalism • Proposition is a logical statement also known as fact • consist of object and relationships of object to each other Proposition

  10. Proposition • Object: • Constant represents an object, or • Variable represent different objects at different times • Simple proposition called as atomic propositions, consist of compound terms – one element of mathematic relation which written in a form that has the appearance of mathematical function notation. Example (constants): single parameter (1-tuple): man(jake) double parameter (2-tuples): like(bob,steak)

  11. Proposition • Object: • Constant represents an object, or • Variable represent different objects at different times • Simple proposition called as atomic propositions, consist of compound terms – one element of mathematic relation Example: single parameter (1-tuple): man(jake) double parameter (2-tuples): like(bob,steak) functor shows the names the relation

  12. Proposition • Object: • Constant represents an object, or • Variable represent different objects at different times • Simple proposition called as atomic propositions, consist of compound terms – one element of mathematic relation Example: single parameter (1-tuple): man(jake) double parameter (2-tuples): like(bob,steak) list of parameter

  13. Proposition • Two modes for proposition: • proposition defined to be true (fact), and • the truth of the proposition is something that is to be determined (queries) • Compound propositions have two or more atomic proposition, which are connected by logical operator (is the same way logic expression in imperative languages)

  14. Logic operators

  15. Compound propositions Example: a  b  c a  b  d (a  (b))  d Precedence:       higher lower

  16. Variables in Proposition • Variable known as quantifiers • Predicate calculus includes two quanifiers, X – variable, and P – proposition

  17. Variables in Proposition Example X.(woman(X)  human(X)) X.(mother(mary,X)  male(X))

  18. Variables in Proposition Example X.(woman(X)  human(X))  for any value of X, if X is a woman, then X is a human (NL: woman is a human) X.(mother(mary,X)  male(X))

  19. Variables in Proposition Example X.(woman(X)  human(X))  for any value of X, if X is a woman, then X is a human (NL: woman is a human) X.(mother(mary,X)  male(X))  there exist a value of X such that mary is the mother of X and X is a male (NL: mary has a son)

  20. Clausal Form • Simple form of proposition, it is a standard form for proposition without loss of generality • Why we need to transform PC into CF? • too many different ways of stating propositions that have the same meaning Example: X.(woman(X)  human(X)) X.(man(X)  human(X))

  21. Clausal Form • General syntax for CF B1 B2 … Bn A1 A2 … Am  if all the As are true, then at least one B is true Example: human(X)  woman(X)  man(X) likes(bob, trout)  likes(bob, fish)  fish(trout)

  22. Clausal Form Example: likes(bob, trout)likes(bob, fish)  fish(trout) • Characteristics of CF: • Existential quantifiers are not required • Universal quantifiers are implicit in the use of variables in the atomic propositions • No operator other than conjunction and disjunction are required consequent antecedent

  23. Clausal Form Example: likes(bob, trout)  likes(bob, fish)  fish(trout)  if bob likes fish and trout is a fish, then bob likes trout 

  24. Clausal Form Example: father(louis, al)  father(louis, violet)  father(al,bob)  mother(violet, bob)  grandfather(louis, bob)  if al is bob’s father and violet is bob’s mother and louis is bob’s grandfather, louis is either al’s father or violet’s father

  25. Proving Theorems • Method to inferred the collection of proposition • use a collections of proposition to determine whether any interesting or useful fact can be inferred from them • Introduced by Alan Robinson (1965)

  26. Proving Theorems • Alan Robinson introduced resolution in automatic theorem proving • resolution is an inference rule that allows inferred proposition to be computed from given propositions • resolution was devised to be applied to propositions in clausal form

  27. Proving Theorems • Idea of resolution: P1  P2 and Q1  Q2 which given P1 is identical to Q2  Q1  P2

  28. Proving Theorems Example: older(joanne, jake)  mother(joanne, jake) wiser(joanne, jake)  older(joanne, jake)  wiser(joanne, jake)  mother(joanne, jake)

  29. Proving Theorems Example: father(bob, jake)  mother(bob, jake)  parent(bob, jake) gfather(bob, fred)  father(bob, jake)  father(jake, fred) • gfather(bob, fred)  mother(bob, jake)  parent(bob, jake)  father(jake, fred)

  30. Proving Theorems • Process of determining useful values for variables during resolution – unification • Unification • Hypotheses : original propositions • Goal: presented in negation of the theorem • Proposition in unification must be presented in Horn Clauses

  31. Proving Theorems • Horn Clauses: • Headed Horn Clauses Example: likes(bob, trout)  likes(bob, fish)  fish(trout) • Headless Horn Clauses Example: father(bob, jake)

  32. Applications of Symbolic Computation • Relational databases • Mathematical logic • Abstract problem solving • Understanding natural language • Design automation • Symbolic equation solving • Biochemical structure analysis • Many areas of artificial intelligent

More Related