zoukankan      html  css  js  c++  java
  • BDD & ROBDD

    1. 基本概念

    终端节点:叶子

    非终端节点

    决策变量: index(v)=i,xi是v的决策变量

    数学表达:

    v 节点
    V 节点的集合
    e  树的边
    E 边的集合
    value(v) 叶子的值
    index(v) 非终端节点的层序号,取值范围{1,..,n}
    xi index(v)=i,xi是v的决策变量
    else(v) 0-child
    then(v) 1-child

    下面是一个bdd的示例:

    x2是第二层的决策变量。

    3. ROBDD

    一个布尔函数f可能有多高obdd,但是有一个ROBDD与之对应。

    BDD到ROBDD的化简方法:
    step1: 两个具有相同值的叶子合并为一个

    step2: 相同决策变量,相同0-child和1-child的两个非叶节点合并

    step3: 非页节点A的两个儿子相同,则舍弃A,同时将A的边转射到A的子节点。

    下面为应用的化简示例:

    4. 通过ORBDD推导表达式

    寻找confactor,然后从confactor出发,由叶子向根推导,有几个连到叶子便有几项。

    In lumine Tuo videbimus lumen
  • 相关阅读:
    P2764 最小路径覆盖问题
    P1402 酒店之王 网络流
    P2597 [ZJOI2012]灾难 拓扑排序
    FJOI2017 矩阵填数
    2019.2.27模拟
    2019.2.26模拟
    SDOI2013 方程
    [AH2017/HNOI2017]抛硬币
    Lucas定理和扩展Lucas定理
    LuoguP4861 按钮
  • 原文地址:https://www.cnblogs.com/litingyu/p/8167244.html
Copyright © 2011-2022 走看看