This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Rule Goal Trees Nodes correspond to rules and to subgoals of rules.
Rule node: children = subgoals of the rule.
Goal node: children = rules whose heads unify
with the goal. Unifying substitution must be
made in the rule.
3 Be careful that local variables of the rule
are changed so their are no accidental
equalities between local variables and
variables of the parent goal.
Root is goal node corresponding to a query.
Arguments of goal may have constants
acquired from query. Example Page 769 of PDKSII has suggestion of in nite
rule goal tree from recursive example. Here is a
simple, nonrecursive example.
r1: pX,Y : qX,Z & rZ,Y
r2: rA,B : sA,B
r3: rA,B : tA,B
Query: p0; W ? i.e., for what values of W is
p0; W true?
p0; W
r1: p0,W : q0,Z & rZ,W
q0; Z rZ; W r2: rZ,W : sZ,W r3: rZ,W : tZ,W
sZ; W tZ; W Passing Relations Around the Rule Goal
Tree We evaluate a query by passing information
around the R G tree in three ways.
Queries are passed down. A query gives
bindings for certain arguments of a goal.
Answers are passed upward. These relations
give values for the arguments of a goal.
1 Information is passed sideways, from left to
right, through the subgoals of a rule. Supplementary Relations Sideways information passing is accomplished
through supplementary relations."
If a rule has n subgoals, there are n
supplementary relations, S0 ; S1; : : :; Sn,1.
The supplementary relation Si has arguments
corresponding to certain variables of the rule.
These variables must:
1. Have been bound before the i + 1st
subgoal, by appearing either in a bound
argument of the head or in the ith or
earlier to the left subgoal.
2. Be used later; either the variable appears
in the i + 1st or later to the right
subgoal, or anywhere in the head. Example In our R G tree, the rule node labeled r1 has
supplementary relations S0 and S1 .
S0 has no arguments, because although the
rst argument of the head is bound by the
query, there are no variables bound.
S1 has only Z as an argument, because Z
appears in the rst subgoal, q0; Z , and is
used later, in the second subgoal rZ; W .
The nodes labeled r2 and r3 each have only S0 as a
supplementary relation.
Its argument is Z , because Z is bound by the
head as we shall see and used in the rst
and only subgoal. Bound Arguments and Variables
Important: Goals have bound arguments;
rules have bound variables.
Distinction is important in many situations,
e.g., function symbols, constant arguments,
duplicate occurrences of variables. ATOV
Match is tuplebytuple.
Match of argument against a term an
argument of a rule head must be exact; i.e.,
argument and term must unify.
2 If a variable is bound to two di erent constant
values, match fails. Example
Rule head pfX,Y,Z,W :. First two
arguments are bound by the relation
Arg 2
Arg 1
f a; b
c
d
ge
First tuple: X ! a, Y ! b, Z ! c.
Second tuple: no match. f X; Y does not
unify with d.
Result:
X
a Y
b Z
c Example
Head pX,X,Y,Z :, with rst three arguments
bound by the relation
Arg 1 Arg 2 Arg 3
a
a
b b
a
b c
gd
c First tuple: no match; X cannot be both a
and b.
Second tuple: X ! a, Y ! gd.
Third tuple: X ! b, Y ! c.
Result:
Y
gd
c X
a
b VTOA
An argument must become completely bound,
or it is not bound at all. Example
Subgoal pfX,Y,Z,W with X , Y , and Z bound
by:
3 X
a
d Result: Y
b
e Z
c
f g Arg 1
f a; b
f d; e Arg 2
c
f g Example Subgoal pfX,Z,X,Y with X and Y bound.
The rst argument is not bound, because Z is
not bound. The second and third arguments
are bound.
Variablebinding and result relations:
X
a
c Y
b
d Arg 2 Arg 3 a
c b
d Rule Goal Graphs
Condense nodes of rule goal tree having same
rule or goal with the same binding pattern. Goal Nodes
Predicate + adornment."
Adornment = list of b's and f 's, indicating
which arguments are bound, which are free.
Example: pbfb. First and third arguments of p
are bound. Rule Nodes
Correspond to supplementary relation.
riS jT represents the point in rule r after
seeing i subgoals, with variables in set S
bound, those in T free. Children Children of goal node p are those rule nodes
r0S jT such that
4 1. Rule r has head predicate p.
2. S is the set of variables that appear in those
arguments of the head that says are bound.
3. T is the other variables of r.
Children of the rule node rjS jT are:
1. The goal node of the j + 1st subgoal of r,
with adornment that binds those arguments
whose only variables are in S .
2. The rule node rjS jT , where S 0 = S +
+1
variables appearing the in j + 1st subgoal;
T 0 is the other variables.
0 0 Exceptions: no rj +1 rule node if r has only
j + 1 subgoals. No goal child if j = 0 and r
has no subgoals. Widgets
Bound
goal arguments
ATOV rule rule S0 Variables
bound
in head
Passing queries from a goal to its rule children Bound
arguments Matching
answers EDB
goal
Interrogating the database
5 rule
Si,1 . Bound
variables ATOV goal Si Answers Joining the result of a goal into the supplementary
relations Bound
variables
rule Si VTOA
Bound goal
arguments
Querying the next subgoal Arguments
of head
H : VTOA
rule Sn,1 !. ATOV
goal Answers Answers for the last goal are joined with the last
supplementary relation and produce tuples for the head
6 rule
goal Answers rule Answers
from head Answers from the head of a rule are
passed to the goal parent and from there
to the rule parent of that goal 7 ...
View
Full
Document
This document was uploaded on 01/06/2012.
 Spring '09

Click to edit the document details