0% found this document useful (0 votes)
137 views

Binary Decision Diagram

The document discusses binary decision diagrams (BDDs) which are data structures used to represent logic trees. BDDs provide a compressed representation of sets and relations. Ordered BDDs (OBDDs) are assembled from logic trees in a bottom-up fashion with variables ordered along each path. Reduction rules are applied to OBDDs to eliminate redundant tests and nodes, producing reduced ordered BDDs (ROBDDs). BDDs can be constructed for individual events and combined using Boolean logic gates to model fault trees for reliability analysis.

Uploaded by

kiiadizon
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
137 views

Binary Decision Diagram

The document discusses binary decision diagrams (BDDs) which are data structures used to represent logic trees. BDDs provide a compressed representation of sets and relations. Ordered BDDs (OBDDs) are assembled from logic trees in a bottom-up fashion with variables ordered along each path. Reduction rules are applied to OBDDs to eliminate redundant tests and nodes, producing reduced ordered BDDs (ROBDDs). BDDs can be constructed for individual events and combined using Boolean logic gates to model fault trees for reliability analysis.

Uploaded by

kiiadizon
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

BINARY DECISION DIAGRAM

(Evaluation Techniques)

Kiia Emerlene Dizon


BDD Definition

 Binary Decision Diagram also called branching program is


a data structure that is used to represent a tree logic. On a
more abstract level, BDDs can be considered as
a compressed representation of sets or relations.
 Cut-sets and event/scenario probabilities are derived from
the BDDs

 BDD used for logic tree analysis is called ROBDD or


Reduced Ordered BDD.

 It is assembled using the logic tree in a bottom-up fashion.


Advantages of BDDs

 BDD-based algorithms offer advantages in terms of


accuracy and efficiency:
1. ‘Efficient manipulation of logic’: extremely fast cut-set
identification

2. ‘Straightforward treatment of incoherent logic’:


consideration of negated fault trees during scenario
analysis

3. ‘Exact quantification’: no need to use rare-event type


approximations
ROBDD Flow
Example 1: XOR

A TruthBTable F Binary Decision Tree


A
1
0 0 0 0

B B
0 1 1 0 1 0 1

0 1 1 0
1 0 1

1 1 0
OBDD

ordered not
a a
order = a,c,b ordered
c c b c

b c b

0 1 0 1

Ordered BDD (OBDD) : Input variables are ordered – each


path from root to sink visits nodes with labels (variables)
in ascending order.
Ordered Binary Decision Tree
(OBDT)

 This graph representation is called OBDT or OBDD (Ordered


binary Decision Diagram) which has a directed tree structure
 Each vertex has two children. Two edges originated from a
vertex are called high (positive co-factor) & low (negative co-
factor)
OBDT to ROBDD

ROBDD can be obtained from an OBDT (Ordered


Binary Decision Tree) by repeatedly applying
following reduction rules (until none of the them can
be applied anymore):
 Remove duplicate terminal (leaf) nodes
 Remove duplicate non-terminal (internal) nodes
 Remove nodes with redundant tests
Reduction rules of OBDD

Elimination rule

Reduction Rule
OBDT to ROBDD
Rule 1: Collapse Leaf Nodes to remove redundant
tests

It’s no longer a tree


OBDT to ROBDD
Rule 2: Isomorphic sub-graphs
OBDT to ROBDD
Final Representation
ROBDDs

 One root node per function, two terminals 0, 1


 Each node, two children, and a variable
Reduced:
 any node with two identical children is removed
 two nodes with isomorphic BDD’s are merged
Ordered:
Co-factoring variables (splitting variables) always follow the same
order from a root to a terminal
xi < xi < xi < … < xin
1 2 3

BDDs 13
BDD

Single Node

 Basic Event A

BDD is constructed for each basic event and then combined according
to the logic of the corresponding gate.
BDD (OR gate)

 OR gate is constructed by applying the OR boolean


function to BDD event B and BDD for event C.
 Since B is first in relation, it is considered as the
“root” node.
 The union of C BDD is with each “child” node of B.
BDD OR gate

B
B + C =

0 1
0 1 0 1 C + C

B
0 1 0 1

C 1 0+X= X, left child reduces to C


1+X=1, right child reduces to 1

0 1
BDD (AND gate)
B
B AND C =

0 AND 1
0 1 0 1 C C

B
0 1 0 1

=
0 C
0(X)= 0, left child reduces to 0
1(X)=X , right child reduces to C
0 1
BDD (Construction and Reduction)
A + C =
A

0 B 0 1
B

0 1
C
1

0 1
BDD (Construction and Reduction)

 A(B)+C which is the union of AND gate with Event C.


 Since A comes before C, A is considered as the “root”
node and the union operation is applied at “A”’s
children.
 Since node “C” appears two times, it can further be
reduced.
 Failure paths leading to bottom node 1:
(AC) (AB) and (ABC)
Examples
 The initiating event is the release of gas on an offshore platform. The branch
points then consider the success (W) and failure (F) of the gas detection system,
isolation valve sub-systems A and B, and the blowdown valve sub-system in turn
Removing the redundant cut set
would result in the extraction of
third combination from the list
leaving the 3 minimal cut sets
obtained.
 Tracing the paths through the BDD in above figure
produces cut sets AB, ABC, ABD, AD.

 The system (Top Event) failure probability is therefore


0.1171 (summing disjoint path probabilities)
THANK YOU! 

You might also like