Exemplo n.º 1
0
void drwnFactor::addVariables(const drwnClique& c)
{
    for (drwnClique::const_iterator it = c.begin(); it != c.end(); ++it) {
        if (_varIndex.find(*it) == _varIndex.end()) {
            addVariable(*it);
        }
    }
}
Exemplo n.º 2
0
// find a clique containing the subclique
int findSuperset(const vector<drwnClique>& cliques, const drwnClique& subclique)
{
    for (int i = 0; i < (int)cliques.size(); i++) {
        drwnClique s;
        set_intersection(cliques[i].begin(), cliques[i].end(),
            subclique.begin(), subclique.end(),
            insert_iterator<drwnClique>(s, s.begin()));
        if (s.size() == subclique.size()) {
            return i;
        }
    }

    return -1;
}