通过CUDD(C接口)进行计算图像后获取BDD的所有变量

时间:2012-07-03 10:33:17

标签: binary-decision-diagram cudd

我坚持使用CUDD(C接口)的BDD操作,我不知道我们是否可以在执行计算图像时(从状态到另一个BDD状态)删除一些变量以及如何移动结果BDD (最终BDD)获得所有变量,任何人都可以告诉我,如果我们可以通过CUDD做到这一点?干杯

1 个答案:

答案 0 :(得分:3)

我从未使用过CUDD,但BDD中使用的变量列表通常称为 support 。 从BDD中删除变量通常通过存在量化来完成。

点击源代码,我找到了

/**Function********************************************************************

  Synopsis    [Finds the variables on which a DD depends.]

  Description [Finds the variables on which a DD depends.
  Returns a BDD consisting of the product of the variables if
  successful; NULL otherwise.]

  SideEffects [None]

  SeeAlso     [Cudd_VectorSupport Cudd_ClassifySupport]

  ******************************************************************************/
DdNode *
Cudd_Support(
  DdManager * dd /* manager */,
  DdNode * f /* DD whose support is sought */)

/**Function********************************************************************

  Synopsis [Existentially abstracts all the variables in cube from f.]

  Description [Existentially abstracts all the variables in cube from f.
  Returns the abstracted BDD if successful; NULL otherwise.]

  SideEffects [None]

  SeeAlso     [Cudd_bddUnivAbstract Cudd_addExistAbstract]

******************************************************************************/
DdNode *
Cudd_bddExistAbstract(
  DdManager * manager,
  DdNode * f,
  DdNode * cube)