The design of j-DREW: a deductive reasoning engine for the web Bruce Spencer National Research Council Canada and University of New Brunswick Fredericton,

Slides:



Advertisements
Similar presentations
Some Prolog Prolog is a logic programming language
Advertisements

Resolution Proof System for First Order Logic
1 Programming Languages (CS 550) Mini Language Interpreter Jeremy R. Johnson.
SLD-resolution Introduction Most general unifiers SLD-resolution
Inference in first-order logic Chapter 9. Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward.
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Introduction to the Semantic Web
Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus.
For Friday Read “lectures” 1-5 of Learn Prolog Now: prolog-now/
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Programming Language Paradigms: summary. Object-oriented programming Objects are the fundamental building blocks of a program. Interaction is structured.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Semantic analysis Enforce context-dependent language rules that are not reflected in the BNF, e.g.a function must have a return statement. Decorate AST.
CPSC 322, Lecture 22Slide 1 Logic: Domain Modeling /Proofs + Top-Down Proofs Computer Science cpsc322, Lecture 22 (Textbook Chpt 5.2) March, 8, 2010.
Plan for the rest of the quarter TuesdayThursday Week 7ResolutionProof carrying code Week 8No class (Sorin in DC for workshop) Predicate abstraction (Mystery.
Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus.
Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer
0 1 Todays Topics Resolution – top down and bottom up j-DREW BU procedure Subsumption – change to procedure Infinite Loops RuleML input – Prolog output.
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
Prolog Programming Lecture Module 13. Objective ● What is Prolog? ● Prolog program ● Syntax of Prolog ● Prolog Control Strategy ● Execution of Prolog.
INFERENCE IN FIRST-ORDER LOGIC IES 503 ARTIFICIAL INTELLIGENCE İPEK SÜĞÜT.
Evaluating Centralized, Hierarchical, and Networked Architectures for Rule Systems Benjamin Craig University of New Brunswick Faculty of Computer Science.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Business Rules and Web Services Research Group A proposal for a joint UNB/NRC Research group Bruce Spencer Feb 28, 2002.
Knowledge representation
CPSC 322, Lecture 22Slide 1 Logic: Domain Modeling /Proofs + Top-Down Proofs Computer Science cpsc322, Lecture 22 (Textbook Chpt 5.2) Oct, 26, 2010.
Steffen Staab Advanced Data Modeling 1 of 32 WeST Häufungspunkte Bifurkation: x n+1 = r x n (1-x n ) Startwert x 0 = 0,25.
Logical Agents Logic Propositional Logic Summary
CSE S. Tanimoto Horn Clauses and Unification 1 Horn Clauses and Unification Propositional Logic Clauses Resolution Predicate Logic Horn Clauses.
DEDUCTION PRINCIPLES AND STRATEGIES FOR SEMANTIC WEB Resolution principle, Description Logic and Fuzzy Description Logic Hashim Habiballa University of.
IIT — e-Business (Fredericton) Bruce Spencer Research Overview July 10, 2002.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
1 The OO jDREW Reference Implementation of RuleML RuleML-2005, November 2005 Marcel Ball 1, Harold Boley 2, David Hirtle 1,2, Jing Mei 1,2, Bruce.
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
Logic Programming CSC 358/ Outline Pattern matching Unification Logic programming.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 17 Wednesday, 01 October.
The AI War LISP and Prolog Basic Concepts of Logic Programming
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
Logic Programming and Prolog Goal: use formalism of first-order logic Output described by logical formula (theorem) Input described by set of formulae.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
Web Science & Technologies University of Koblenz ▪ Landau, Germany Procedural Semantics Soundness of SLD-Resolution.
CPSC 386 Artificial Intelligence Ellen Walker Hiram College
Strategies for subject navigation of linked Web sites using RDF topic maps Carol Jean Godby Devon Smith OCLC Online Computer Library Center Knowledge Technologies.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 18 of 41 Friday, 01 October.
Cs774 (Prasad)L6Backtracking1 Controlling Backtracking : Cuts
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
CSE (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.
DEDUCTION PRINCIPLES AND STRATEGIES FOR SEMANTIC WEB Chain resolution and its fuzzyfication Dr. Hashim Habiballa University of Ostrava.
J-DREW and BRWS Bruce Spencer May 16, Train people to build the Rule-based web serices Courses on systems employing rule engines and Internet applications.
Inference in First Order Logic. Outline Reducing first order inference to propositional inference Unification Generalized Modus Ponens Forward and backward.
The International RuleML Symposium on Rule Interchange and Applications Visualization of Proofs in Defeasible Logic Ioannis Avguleas 1, Katerina Gkirtzou.
CS 416 Artificial Intelligence Lecture 13 First-Order Logic Chapter 9 Lecture 13 First-Order Logic Chapter 9.
Definition and Technologies Knowledge Representation.
Logic Programming Lecture 2: Unification and proof search.
Cs7120 (Prasad)L26-ProgTech1 Programming Techniques
Review for Test 2 Chapters 5 (start at 5.4), 6.1, , 12, 13, 15.1, Python.
Introduction to the Semantic Web
By P. S. Suryateja Asst. Professor, CSE Vishnu Institute of Technology
Recursive stack-based version of Back-chaining using Propositional Logic
Resolution in the Propositional Calculus
CS6905 Advanced Technologies for e-Business May 1 – July
Logic: Top-down proof procedure and Datalog
Biointelligence Lab School of Computer Sci. & Eng.
Biointelligence Lab School of Computer Sci. & Eng.
Resolution Proof System for First Order Logic
Logical Inference 4 wrap up
Presentation transcript:

The design of j-DREW: a deductive reasoning engine for the web Bruce Spencer National Research Council Canada and University of New Brunswick Fredericton, Canada

20-Sep-0220-Sep-022 NRC – A National Institution NRC Institute / Innovation Centre IRAP Office Virtual Innovation Centres

20-Sep-0220-Sep-023 National Research Council Research Institutes and Facilities across Canada 17 research institutes 4 innovation centres 3,500 employees; 1,000 guest workers National science facilities

20-Sep-0220-Sep-024 Motivation Started as a bet: Can I teach deduction and advanced internet systems in one course? –Students understand recursive search –basic propositional top-down prover Teaching a course at UNB on building Internet applications that employ deduction (in conjunction with Harold Boley, formerly DFKI) –Semantic web ontologies have rules –XML is declarative, so deduction is a basic operation Students have trouble building systems (variables) –unification, composition of substitutions unbinding on backtracking Specialized Prolog implementation courses focus on vars –Warren and Meier: Computing with Logic (1988) Can we hide the hard parts?

20-Sep-0220-Sep-025 Requirements on deduction system used in the course (and on web?) First order logic with function symbols Easily configured –Forward or backward search or backward and iterative deepening –Search strategy to be modified by student Embeddable –Supports calls to and from rest of system –Easy to add new primitives (iterators) Written in 100% Java –Access to libraries for networking, cryptography, XML parsers, RDF, XSLT, …

20-Sep-0220-Sep-026 Propositional Prover initially proofTree has an open Goal loop if(proofTree.hasNoOpenGoal()) halt('success'); else Goal g = proofTree.selectOpenGoal(); g.createMatchingClauseList(); if(g.hasMoreMatchingClauses()) DefiniteClause c = g.nextClause(); g.attachClause(c); choicePoints.push(g); else chronologicalBacktrack(); Java Iterator chronologicalBacktrack while(choicePoints.nonEmpty()) Goal g = choicePoints.pop(); g.removeAttachedClause(); if(g.hasMoreClauses()) return; halt('failure') Create bindings Remove bindings

20-Sep-0220-Sep-027 Tree with initial goal p(Z) p(X) :- q(X), r(X). q(g(X)). q(k). r(g(h)) p(Y1) :- q(Y1), r(Y1) ?:-p(Z) a aChoicePoints b Z/Y1 q(g(Y2)r(g(h) b c c Y1/f(Y2) Y2/h q(g(Y2) q(k)Y1/k b’

20-Sep-0220-Sep-028 Hiding the hard parts: Top-Down A Goal creates its list of matching clauses and maintains pointer to current selection –Java iterator Attaching a clause head to a Goal –imposes variable bindings across tree Removing the clause –relaxes variable bindings The tree provides access to all open Goals

20-Sep-0220-Sep-029 Deployed and Planned Prototypes Basic Prolog Engine –Negation as failure –RuleML input Iterative deepening search –Search complete, unlike Prolog –Dynamic additions to clause set allowed between depth limits (synchronous) Possible student exercises –delay selecting deferred goals –Negation of ground goals –Backtracking to deeper choicepoint Bottomup } deployed } planned

20-Sep-0220-Sep-0210 Deduction Example: Semantic Web Semantics = meaning Ontology –hierarchy of terms (subset) –logic conditions on their usage Terms in a web page can be linked to their meanings in some ontology –Search with greater accuracy

20-Sep-0220-Sep-0211

20-Sep-0220-Sep-0212 SmokedSalmon is the intersection of Smoked and Salmon Smoked Salmon

20-Sep-0220-Sep-0213 Gravalax is the intersection of Cured and Salmon, but not Smoked SmokedSalmon is the intersection of Smoked and Salmon Smoked Salmon Gravalax

20-Sep-0220-Sep-0214 Lox is Smoked, Cured Salmon Gravalax is the intersection of Cured and Salmon, but not Smoked SmokedSalmon is the intersection of Smoked and Salmon Smoked Salmon Gravalax Lox

20-Sep-0220-Sep-0215 A search for keywords Salmon and Cured should return pages that mention Gravalax, even if they don’t mention Salmon and Cured A search for Salmon and Smoked will return pages with smoked salmon, should also return pages with Lox, but not Gravalax Smoked Salmon Lox Gravalax The Semantic Web vision is to make information on the web “understood” by computers, for searching, categorizing, …

20-Sep-0220-Sep-0216 Smoked Salmon Lox Gravalax

20-Sep-0220-Sep-0217 One possible encoding Search criteria: retrieve(P) :- mentions(P, cured), mentions(P, salmon). Ontology: mentions(P, cured) :- mentions(P, gravalax). mentions(P, salmon) :- mentions(P, gravalax). A search for keywords Salmon and Cured should return pages that mention Gravalax, even if they don’t mention Salmon and Cured. mentions(p1 gravalax). retrieve(p1) succeeds

20-Sep-0220-Sep-0218 retrieve(P) :- mentions(P, smoked), mentions(P, salmon). mentions(P, cured) :- mentions(P, lox). mentions(P, salmon) :- mentions(P, lox). mentions(P, smoked) :- mentions(P, lox). mentions(P, cured) :- mentions(P, gravalax). mentions(P, salmon) :- mentions(P, gravalax). A search for Salmon and Smoked will return pages with smoked salmon, should also return pages with Lox, but not Gravalax. mentions(p1 gravalax). mentions(p2, lox). retrieve(p1) fails retrieve(p2) succeeds

20-Sep-0220-Sep-0219 Bottom-Up / Forward Chaining Set of support prover for definite clauses Facts are supports Theorem: Completeness preserved when definite clause resolutions are only between first negative literal and fact. –Proof: completeness of lock resolution (Boyer’s PhD) Use standard search procedure to reduce redundant checking (next) Unlike OPS/Rete, returns proofs and uses first order syntax for atoms

20-Sep-0220-Sep-0220 Theorem Prover’s Search Procedure 3 Definite Clause Lists: –new facts (priority queue) –old facts –rules 2 Discrimination trees: –used facts –rules, indexed on first goal loop select new fact for each matching rule resolve process new result add to used facts process new result(C) if C is rule for each old fact matching first resolve process new result add C to rules else add C to new facts

20-Sep-0220-Sep-0221 Summary Teaching building deduction systems not hard –use of abstractions to hide variable handling Semantic Web needs deduction –access to proof data structure (trust) j-DREW deployed systems can use –forward / backward / other searches –small footprint, 100% Java Take home messages: –not clear what form Semantic Web systems will take, so flexibility is key –implementers should provide API’s

20-Sep-0220-Sep-0222 References CS6999 Semantic Web Techniques RuleML j-DREW open source? –Not yet