Inverse Resolution
CMSC 671 - Principles of AI
Mike Smith
2001/12/04
Inverse Resolution
We can work resolution graphs backwards
We can learn theories from examples
We can use background knowledge to help
Inverse resolution can be "lifted" to FOL
We can capture knowledge beyond
attributes
We can interpret the resulting theories
Why invert resolution? Wasn't resolution hard enough?
Inverse Resolution – Learning Framework Deductive framework: T entails E
Break T into B, H
Inductive framework: B ^ H entails E
Build set of resolution trees backwards from
roots
New leaves not in prior knowledge are
hypothesis
T = TheoryB = Background KnowledgeH = HypothesisE = Examples
Legend:
Inverting Resolution
Four Rules Absorption Identification Intra-construction Inter-construction
Absorption
q <- A p <- q,B
p <- A,B
p <- A,Bq <- A
q <- A p <- q,B
We can create a new clause p <- q,B by absorbing a conjunction of atoms (A) in the premise into a single atom (q) of the other clause
Absorption – ExampleBparent(ann, mary)female(mary)father(henry,jane) <-
parent(henry,jane)
Edaughter(mary,ann)grandfather(henry,john) <- parent(henry,jane), parent(jane,john)grandfather(henry,john) <- parent(henry,jane), male(henry)
daughter(mary,ann)
daughter(mary,Y)<-parent(Y,mary)
-1= {ann/Y} Absorption #1
parent(ann, mary)
female(mary) daughter(X,Y) <- female(X), parent(Y,X)
-1= {mary/X} Absorption #2
Identification
p <- A,q q <- B
p <- A,B
p <- A,qp <- A,B
q <- B p <- A,q
Because A,B and A,q have the same conclusion, B can be identified by q.
Intra-Construction
p <- A,B p <- A,C
q <- B p <- A,q q <- C
p <- A,B
q <- B p <- A,q q <- C
p <- A,C
Construct a clause that represents the similarity between thetwo clauses, (p <- A,q) and then q<-B and q<-C come fromapplying the identification rule.
Intra-Construction ExampleBparent(ann, mary)female(mary)father(henry,jane) <- parent(henry,jane)
Edaughter(mary,ann)grandfather(henry,john) <- parent(henry,jane), parent(jane,john)grandfather(henry,john) <- parent(henry,jane), male(henry)
grandfather(henry,john) <- parent(henry,jane), parent(jane,john)
grandfather(henry,john) <- parent(henry,jane), male(henry)
q(henry,jane) <- parent(henry,jane)
grandfather(henry,john) <- parent(henry,jane), q(henry,jane)
q(henry,jane) <- male(henry)
father(henry,jane) <- parent(henry,jane)
grandfather(henry,john) <- parent(henry,jane), father(henry,jane)
father(henry,jane) <- male(henry)
Inter-Construction
p <- A,B p <- A,C
p <- A,B
p <- r,B r <- A q <- r,C
q <- A,C
Noting the common variable A, construct a clause r <- A (r is new atom). The remaining two conclusive clauses are the result of applying the absorption rule.
p <- r,B r <- A q <- r,C
Using Inverse Resolution
Inductive Logic Programming (ILP)
ILP = Inductive Methods + Logic Programming
Two Major Induction Methods
Inverse Resolution
Top-Down Learning Methods
ILP Systems
SYSTEM RESEARCHERSGOLEM Muggleton and Cao
LINUS Lavrac and Dzeroski
Progol Muggleton
CLINT De Raedt
FOIL Quinlan
Inductive Logic Programming Common Applications
Life Sciences / Molecular Biology Predict 3D Protein Structures from Amino Acid Sequences
Predict Therapeutic Efficacy of Drugs Predict Mutagenesis of Compounds
Natural Language Learning Part of Speech Tagging Learning Parsers
References Camacho. (1994).The Use of Background Knowledge in Inductive Logic Programming.
http://citeseer.nj.nec.com/camacho94use.html
Muggleton. (199?). Inductive Logic Programming.http://www.cs.york.ac.uk/mlg/ilp.html
Russell & Norvig. (1995). Artificial Intelligence: A Modern Approach.
van der Poel. (2000). Inductive Logic Programming - Theory.
http://ww.kbs.twi.tudelft.nl/Education/Cyberles/Trondheim/ILP/html/ilp_th_01introd.html
Wang. (2000). Parallel Inductive Logic in Data Mining.
http://citeseer.nj.nec.com/wang00parallel.html
Weber. (1996). ILP Systems on the ILPnet Systems Repository
http://www-ai.ijs.si/ilpnet/irenefinal.ps
Questions?