[Next] [Up] [Previous]
Next: Other Generation Algorithms Up: Generating Query DAGs Previous: An Example

Computational Complexity of Q-DAG Generation

The computational complexity of the algorithm for generating Q-DAGs is determined by the computational complexity of the clustering algorithm. In particular, the proposed algorithm applies a tex2html_wrap1409-operation precisely when the clustering algorithm applies an addition-operation. Similarly, it applies a tex2html_wrap1404-operation precisely when the clustering algorithm applies a multiplication-operation. Therefore, if we assume that tex2html_wrap1409 and tex2html_wrap1404 take constant time, then both algorithms have the same time complexity.

Each application of tex2html_wrap1409 or tex2html_wrap1404 ends up adding a new node to the Q-DAG. And this is the only way a new node can be added to the Q-DAG. Moreover, the number of parents of each added node is equal to the number of arguments that the corresponding arithmetic operation is invoked on in the clustering algorithm. Therefore, the space complexity of a Q-DAG is the same as the time complexity of the clustering algorithm.

In particular, this means that the space complexity of Q-DAGs in terms of the number of evidence variables is the same as the time complexity of the clustering algorithm in those terms. Moreover, each evidence variable tex2html_wrap1048 will add only tex2html_wrap1585 evidence-specific nodes to the Q-DAG, where tex2html_wrap1585 is the number of values that variable tex2html_wrap1048 can take. This is important to stress because without this complexity guarantee it may be hard to distinguish between the proposed approach and a brute-force approach that builds a big table containing all possible instantiations of evidence variables together with their corresponding distributions of query variables.



Darwiche&Provan