[Next] [Up] [Previous]
Next: An Example
Up: Generating Query DAGs
Previous: The Clustering Algorithm
To generate Q-DAGs using the clustering method, we have to go through two steps.
First, we have to modify the initialization of potential functions so that
the join tree is quantified using Q-DAG nodes instead of numeric probabilities.
Second, we have to replace numeric addition and multiplication in the algorithm
by analogous functions that operate on Q-DAG nodes. In particular:
- Numeric multiplication * is replaced by an operation that
takes Q-DAG nodes as arguments, constructs and returns a
new node with label and parents .
- Numeric addition + is replaced by an operation that
takes Q-DAG nodes as arguments, constructs and returns
a new node with label and parents .
Therefore, instead of numeric operations, we have Q-DAG-node constructors. And
instead of returning a number as a computation result, we now return a Q-DAG node.
Before we state the Q-DAG clustering algorithm, realize that we now do not have
evidence , but instead we have a set of evidence variables for
which we will collect evidence. Therefore, the Q-DAG algorithm will not compute an
answer to a query , but instead will compute a Q-DAG node that
evaluates to under the instantiation of variables
.
In the following equations,
potentials are mappings from variable instantiations to Q-DAG nodes
(instead of numbers). For example, the matrix for variable will map
each instantiation of 's family into a Q-DAG node instead
of mapping it into the number .
The Q-DAG operations and are extended to
operate on these new potentials in the same way that and are
extended in the clustering algorithm.
The new set of equations is:
- Potential functions are initialized using
where
- is a variable whose matrix is assigned to cluster ;
- is the Q-DAG matrix for : a mapping from
instantiations of 's family into Q-DAG nodes representing conditional
probabilities;
- is an evidence variable whose matrix is assigned to cluster
; and
- is the Q-DAG likelihood vector of
variable : , which means that node
evaluates to 1 if is consistent with given evidence
and 0 otherwise.
- Posterior distributions are computed using
where are the clusters adjacent to cluster .
- Messages are computed using
where are the clusters adjacent to cluster .
- The Q-DAG nodes for answering queries of the form
are computed using
where is a cluster to which belongs.
Here is a potential that maps each instantiation
of variable into the Q-DAG node which
evaluates to for any given instantiation of variables
.
Hence, the only modifications we made to the clustering algorithm are
(a) changing the initialization of potential functions and
(b) replacing multiplication and addition with Q-DAG constructors of
multiplication and addition nodes.
[Next] [Up] [Previous]
Next: An Example
Up: Generating Query DAGs
Previous: The Clustering Algorithm
Darwiche&Provan