Unification and Lifting
Unification and Lifting
Craig Eminger
1
What happens when we add Siblings(Peter, Sharon) to
our knowledge base?
2
We want an X where X is a King and X is Greedy (then X is
evil).
SUBST( , q)
3
p1' = King(John) p2' = Greedy(y)
p1 = King(x) p2 = Greedy(x)
θ
SUBST( , q) is Evil(John)
4
Can anyone see the problem with the next example?
UNIFY(Knows(John, x), Knows(x, Elizabeth) ) = FAIL.
Both use the same variable, X. X can’t equal both John and
Elizabeth.
5
Another problem = sometimes possible for > 1 unifier returned:
UNIFY(Knows(John, x), Knows(y, z) ) = ???
This can return two possible unifications:
{y/ John, x/ z} which means Knows(John, z)
OR
{y/ John, x/ John, z/ John} which means Knows(John, John).
6
Problem: On a FETCH, you would compare your query
sentence with sentences that have no chance of unification.
i.e.) Knows(John, x) vs. Brother(Richard, John)
Not compatible.
Solution: categorize sentences w/ indexing.
7
A subsumption lattice has the following properties:
•child of any node obtained from its parents by one substitution
•the “highest” common descendant of any two nodes is the result of
applying their most general unifier
•predicate with n arguments contains O(2n) nodes (in our example,
we have two arguments, so our lattice has four nodes)
•repeated constants = slightly different lattice [see Lattice b]