We implemented the Variable Elimination algorithm as described by
Koller and Friedman [2005, unpublished].

It may be noted that some VE queries can be significantly optimized by
eliminating irrelevant nodes from the graph prior to performing
Variable Elimination. In particular, any node which is d-separated
from the query (given the evidence) may be removed from the network.
As has been pointed out by Russell and Norvig, any node which is not
an ancestor of the query or evidence nodes will be d-separated from
the query; our implementation performs the optimization of removing
all such nodes from the net before performing a query.

The initial data demonstrating the operation of our VE implementation
may be found in Section~\ref{VEData}.
