Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Science CPSC 322 Lecture 25 Logic Wrap Up Intro to Probability Slide 1.

Similar presentations


Presentation on theme: "Computer Science CPSC 322 Lecture 25 Logic Wrap Up Intro to Probability Slide 1."— Presentation transcript:

1 Computer Science CPSC 322 Lecture 25 Logic Wrap Up Intro to Probability Slide 1

2 Lecture Overview Recap of Lecture 24 SLD Resolution in Datalog Intro to Reasoning Under Uncertainty (time permitting) Introduction to Probability Random Variables and Possible World Semantics Probability Distributions Slide 2

3 State: answer clause of the form yes  a 1 ...  a k Successor function: state resulting from substituting first atom a 1 with b 1  …  b m if there is a clause a 1 ← b 1  …  b m Goal test: is the answer clause empty (i.e. yes  ) ? Solution: the proof, i.e. the sequence of SLD resolutions Top-down/SLD resolution as Search Prove: ?← a ∧ d. a ← b ∧ c. a ← g. a ← h.b ← j. b ← k. d ← m. d ← p. f ← m. f ← p. g ← m. g ← f. k ← m. h ←m. p. Heuristic function: Number of atoms in the answer clause

4 Representation and Reasoning in complex domains Expressing knowledge with propositions can be quite limiting up_s 2 up_s 3 ok_cb 1 ok_cb 2 live_w 1 connected_w 1 _w 2 up( s 2 ) up( s 3 ) ok( cb 1 ) ok( cb 2 ) live( w 1 ) connected( w 1, w 2 ) What we need is a more natural way to consider individuals and their properties E.g. there is no notion that Now there is a notion that up_s 1 and up_s 1 are about the same property w 1 is the same in live_w 1 and in connected_w 1 _w 2 w 1 is the same in live(w 1 ) and in connected(w 1, w 2 ) up is the same in up(s 1 ) and up(s 3 ) Slide 4

5 Datalog An extension of propositional definite clause (PDC) logic We now have variables We now have relationships between variables We can express knowledge that holds for a set of individuals, writing more powerful clauses by introducing variables, such as: We can ask generic queries, E.g. “which wires are connected to w 1 ?“ live(W)  wire(W) ∧ connected_to(W,W 1 ) ∧ wire(W 1 ) ∧ live(W 1 ). ? connected_to(W, w 1 ) Slide 5

6 Summary of Datalog Syntax Definite Clause atomic p e,g, sunny, liveOutside p(t 1,….t n ) e,g, in(alan, 123) a ← b 1 ∧ … ∧ b n where a and b 1.. b n are atoms e.g. in(X,Z) ← in(X,Y) ∧ part-of(Y,Z) Datalog Expression Term t i Query: ?body Constant e.g. alan, w1 Variable e.g. X, L1 Slide 6

7 DataLog Sematics Role of semantics is still to connect symbols and sentences in the language with the target domain. Main difference: need to create correspondence both between terms and individuals, as well as between predicate symbols and relations We won’t cover the formal definition of Datalog semantics, but if you are interested see 12.3.1 and 12.3.2 in textbook Slide 7

8 Lecture Overview Recap of Lecture 24 SLD Resolution in Datalog Intro to Reasoning Under Uncertainty (time permitting) Introduction to Probability Random Variables and Possible World Semantics Probability Distributions Slide 8

9 Datalog: Top Down Proof Procedure Extension of Top-Down procedure for PDCL. How do we deal with variables? Idea: -Find a clause with head that matches the query -Substitute variables in the clause with their matching constants Example: We will not cover the formal details of this process, called unification. See textbook Section 12.4.2, p. 511 for the details. in(alan, r123). part_of(r123,cs_building). in(X,Y)  part_of(Z,Y) & in(X,Z). Query: yes  in(alan, cs_building). yes  part_of(Z,cs_building), in(alan, Z). in(X,Y)  part_of(Z,Y) & in(X,Z). with Y = cs_building X = alan 9

10 Example proof of a Datalog query in(alan, r123). part_of(r123,cs_building). in(X,Y)  part_of(Z,Y) ∧ in(X,Z). Query: yes  in(alan, cs_building). yes  part_of(Z,cs_building) ∧ in(alan, Z). B. yes  in(alan, r123). A. yes  part_of(Z, r123) ∧ in(alan, Z). C. yes . Using clause: in(X,Y)  part_of(Z,Y) ∧ in(X,Z), with Y = cs_building X = alan Using clause: part_of(r123,cs_building) with Z = r123 D. None of the above ?????? 10

11 Example proof of a Datalog query in(alan, r123). part_of(r123,cs_building). in(X,Y)  part_of(Z,Y) ∧ in(X,Z). Query: yes  in(alan, cs_building). yes  part_of(Z,cs_building) ∧ in(alan, Z). B. yes  in(alan, r123). Using clause: in(X,Y)  part_of(Z,Y) ∧ in(X,Z), with Y = cs_building X = alan Using clause: part_of(r123,cs_building) with Z = r123 ?????? 11

12 Example proof of a Datalog query in(alan, r123). part_of(r123,cs_building). in(X,Y)  part_of(Z,Y) & in(X,Z). Query: yes  in(alan, cs_building). yes  part_of(Z,cs_building), in(alan, Z). yes  in(alan, r123). yes  part_of(Z, r123), in(alan, Z). yes . Using clause: in(X,Y)  part_of(Z,Y) & in(X,Z), with Y = cs_building X = alan Using clause: part_of(r123,cs_building) with Z = r123 Using clause: in(alan, r123). Using clause: in(X,Y)  part_of(Z,Y) & in(X,Z). With X = alan Y = r123 fail No clause with matching head: part_of(Z,r123). 12

13 Tracing Datalog proofs in AIspace You can trace the example from the last slide in the AIspace Deduction Applet at http://aispace.org/deduction/ using file in-part-of available in course schedule http://aispace.org/deduction/ 13

14 Datalog: queries with variables What would the answer(s) be? Query: in(alan, X1). in(alan, r123). part_of(r123,cs_building). in(X,Y)  part_of(Z,Y) & in(X,Z). yes(X1)  in(alan, X1). 14

15 Datalog: queries with variables What would the answer(s) be? yes(r123). yes(cs_building). Query: in(alan, X1). in(alan, r123). part_of(r123,cs_building). in(X,Y)  part_of(Z,Y) & in(X,Z). yes(X1)  in(alan, X1). Again, you can trace the SLD derivation for this query in the AIspace Deduction Applet, 15

16 Learning Goals For Logic PDCL syntax & semantics - Verify whether a logical statement belongs to the language of propositional definite clauses - Verify whether an interpretation is a model of a PDCL KB. - Verify when a conjunction of atoms is a logical consequence of a KB Bottom-up proof procedure - Define/read/write/trace/debug the Bottom Up (BU) proof procedure - Prove that the BU proof procedure is sound and complete Top-down proof procedure - Define/read/write/trace/debug the Top-down (SLD) proof procedure - Define it as a search problem - Prove that the TD proof procedure is sound and complete Datalog - Represent simple domains in Datalog - Apply the Top-down proof procedure in Datalog 16

17 Logics: Big picture We only covered rather simple logics There are much more powerful representation and reasoning systems based on logics e.g. full first order logic (with negation, disjunction and function symbols) second-order logics (predicates over predicates) non-monotonic logics, modal logics, … There are many important applications of logic For example, software agents roaming the web on our behalf Based on a more structured representation: the semantic web This is just one example for how logics are used 17

18 Logics: Big Picture Propositional Logics First-Order Logics Propositional Definite Clause Logics Semantics and Proof Theory Satisfiability Testing Satisfiability Testing (SAT) Description Logics Cognitive Architectures Video Games Hardware Verification Product Configuration Ontologies Semantic Web Information Extraction Summarization Production Systems Tutoring Systems 18

19 Examples for typical \Web queries How much is a typical flight to Mexico for a given date? What’s the cheapest vacation package to some place in the Caribbean in a given week? Plus, the hotel should have a white sandy beach and scuba diving If webpages are based on basic HTML Humans need to scout for the information and integrate it Computers are not reliable enough (yet) Natural language processing (NLP) can be powerful (see Watson and Siri!) But some information may be in pictures (beach), or implicit in the text, so existing NLP techniques still don’t get all the info. Semantic Web: Extracting data 19

20 More structured representation: the Semantic Web Beyond HTML pages only made for humans Languages and formalisms based on description logics that allow websites to include rich, explicit information on relevant concepts, individual and their relationships Goal: software agents that can roam the web and carry out sophisticated tasks on our behalf, based on these richer representations Different than searching content for keywords and popularity. Infer meaning from content based on metadata and assertions that have already been made. Automatically classify and integrate information For further material, P&M text, Chapter 13. Also the Introduction to the Semantic Web tutorial given at 2011 Semantic TechnologyConference http://www.w3.org/People/Ivan/CorePresentations/SWTutorial/ http://www.w3.org/People/Ivan/CorePresentations/SWTutorial/ 20

21 Examples of ontologies for the Semantic Web “Ontology”: logic-based representation of the world eClassOwl: eBusiness ontology for products and services 75,000 classes (types of individuals) and 5,500 properties National Cancer Institute’s ontology: 58,000 classes Open Biomedical Ontologies Foundry: several ontologies including the Gene Ontology to describe gene and gene product attributes in any organism or protein sequence OpenCyc project: a 150,000-concept ontology including Top-level ontology describes general concepts such as numbers, time, space, etc Many specific concepts such as “OLED display”, “iPhone” 21

22 A different example of applications of logic Cognitive Tutors (http://pact.cs.cmu.edu/)http://pact.cs.cmu.edu/ computer tutors for a variety of domains (math, geometry, programming, etc.) Provide individualized support to problem solving exercises, as good human tutors do Rely on logic-based, detailed computational models (ACT-R) of skills and misconceptions underlying a learning domain. CanergieLearning (http://www.carnegielearning.com/ ):http://www.carnegielearning.com a company that commercializes these tutors, sold to hundreds of thousands of high schools in the USA 22

23 ACT-R Models for Cognitive Tutors One of ACT-R main assumptions: Cognitive skills (procedural knowledge) are represented as production rules: IF this situation is TRUE, THEN do X ACT-R model representing expertise in a given domain: set of production rules mimicking how a human would reason to perform tasks in that domain An ACT-R model for a Tutor encodes all the reasoning steps necessary to solve problems in the target domain Example: rules describing how to solve 5x+3=30 23

24 ACT-R Models for Intelligent Tutoring Systems Eq: 5x+3=30 ; Goals: [Solve for x] Rule: To solve for x when there is only one occurrence, unwrap (isolate) x. Eq:5x+3=30 ; Goals: [Unwrap x] Rule: To unwrap ?V, find the outermost wrapper ?W of ?V and remove ?W Eq: 5x+3=30; Goals: [Find wrapper ?W of x; Remove ?W] Rule: To find wrapper ?W of ?V, find the top level expression ?E on side of equation containing ?V, and set ?W to part of ?E that does not contain ?V Eq: 5x+3=30; Goals: [Remove “+3”] Rule: To remove “+?E”, subtract “+?E” from both sides Eq: 5x+3=30; Goals: [Subtract “+3” from both sides] Rule: To subtract “+?E” from both sides …. Eq: 5x+3-3=30-3 24

25 Cognitive Tutors Computer tutors that use Act-R models of target domains (e.g. algebra, geometry), in order to trace student performance by firing rules and do a stepwise comparison of rule outcome with student action Mismatches signal incorrect student knowledge that requires tutoring These models showed good fit with student performance, indicating value of the ACT-R theory Cognitive Tutors are great examples of AI success – used in thousands of high schools in the USA (http://www.carnegielearning.com/success.cfm ) 25

26 Where are we? Environment Problem Type Query Planning Deterministic Stochastic Constraint Satisfaction Search Arc Consistency Search Logics STRIPS Vars + Constraints Value Iteration Variable Elimination Belief Nets Decision Nets Markov Processes Static Sequential Representation Reasoning Technique Variable Elimination Done with Deterministic Environments 26

27 Where are we? Environment Problem Type Query Planning Deterministic Stochastic Constraint Satisfaction Search Arc Consistency Search Logics STRIPS Vars + Constraints Value Iteration Variable Elimination Belief Nets Decision Nets Markov Processes Static Sequential Representation Reasoning Technique Variable Elimination Second Part of the Course 27

28 Where Are We? Environment Problem Type Query Planning Deterministic Stochastic Constraint Satisfaction Search Arc Consistency Search Logics STRIPS Vars + Constraints Value Iteration Variable Elimination Belief Nets Decision Nets Markov Processes Static Sequential Representation Reasoning Technique Variable Elimination We’ll focus on Belief Nets 28


Download ppt "Computer Science CPSC 322 Lecture 25 Logic Wrap Up Intro to Probability Slide 1."

Similar presentations


Ads by Google