a new approach to structural analysis and transformation of networks
DESCRIPTION
A New Approach to Structural Analysis and Transformation of Networks. Alan Mishchenko November 29, 1999. Problem1: Locating Elements. Find all occurrences of the combination of AND-OR gate in the network of logic gates. Element. Network. Element. Element. a. a. c. c. b. b. d. d. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/1.jpg)
A New Approach to Structural Analysis and Transformation of Networks
Alan MishchenkoNovember 29, 1999
![Page 2: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/2.jpg)
Problem1: Locating Elements
Find all occurrences of the combination of AND-OR gate in the network of logic gates
NetworkElement
ElementElement
![Page 3: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/3.jpg)
Problem2: Replacing Elements
Replace a given element with another one in
all the places where is occurs. For example:
c = a + b; d = ( a + b )&b = ab + b = b
a
b
d
ca
b
d
c
![Page 4: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/4.jpg)
November 11, 1999 Logic, Design, and Learning Group Seminar
4
Presentation Overview
Introduction BDD basics
Product and quantification Image computation Labels
Location of structural elements Replacement of structural elements Conclusions
![Page 5: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/5.jpg)
Truth Table and Decision Tree
x1
x3
x2
x3x3x3
10
x2
110 0 0 0
x1 0 0 0 0 1 1 1 1
x2 0 0 1 1 0 0 1 1
x3 0 1 0 1 0 1 0 1
F 0 0 0 1 0 1 0 1
0 1
1010
0 1 0 1 0 1 0 1
![Page 6: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/6.jpg)
Reduction of Decision Tree
Rule 1: Nodes must be unique
Rule 2: Redundant tests should not be present
a a
b b
a
b b
a
b b
![Page 7: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/7.jpg)
Decision Tree Reduction:Example
x1
x3
x2
x3 x3x3
x2
10
x1
x3
x2
x3
x2
10
x1
x3
x2
10
BDDDecision tree Reduced Tree
Rule 1 Rule 2
![Page 8: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/8.jpg)
Introduction to BDDs Canonicity Compactness (with some exceptions) BDDs represent various discrete objects
Boolean functions Compositional sets Encodings and labels
BDDs facilitate symbolic methods Two-level minimization, state minimization,
decomposition, ATPG, etc.
![Page 9: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/9.jpg)
BDD Representation
Boolean functions Characteristic functions
Combinatorial sets Relations
FSM transition relationsCovering tables, matrices, graphs
![Page 10: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/10.jpg)
Characteristic Functions: Example
Problem: Given the set {p1, p2, p3, p4, p5, p6 }, create the characteristic function of the subset {p1, p3, p4} and represent it using BDDs
Step 1: Introduce an encoding of the set
p1 – p2 – p3 –
p4 – p5 – p6 – Step 2: Define a function over the encoding
variables (x1, x2, x3) such that it will be equal to 1 for minterms encoding the subset {p1, p3, p4}.
012 xxx 012 xxx012 xxx012 xxx 012 xxx 012 xxx
![Page 11: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/11.jpg)
Characteristic Functions: Example (continued)
{p1, p3, p4} ( x0, x1, x2 ) =
= + +
Step 3: Represent
this function as a BDD
012 xxx 012 xxx 012 xxxx2
x0
x1
10
![Page 12: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/12.jpg)
Labeling
To generate m unique labels Define k = log2m binary labeling variables
Create m minterms, corresponding to the binary encoding of integers {0, 1, 2,… m-1}
Represent the minterms as BDDs over the labeling variables
For any assignment of labeling variables, only one label can be equal to 1
![Page 13: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/13.jpg)
Boolean Relations
A boolean relation is a boolean function over two domains of binary variables (x1,x2,x3,…) and (y1,y2,y3,…). The function is true for an assignment of variables (x1,x2,x3,…,y1,y2,y3,…) iff assignments (x1,x2,x3,…) and (y1,y2,y3,…) are in a certain relation.
Example: Assignments (x1,x2,x3,…) and (y1,y2,y3,…) may be the codes of a present state and a next state of a Finite State Machine
![Page 14: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/14.jpg)
Relations for FSMs
1
3
2
00 / 1
Transition Relation
T(x0,x1,y0,y1,i0,i1) = 1- / 1
00 / 1
11 / 1
01 / 000
01
10
101010
101010
01010
101010
101010
iiyyxx
iiyyxx
iyyxx
iiyyxx
iiyyxx
![Page 15: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/15.jpg)
Relations for Graphs a and n are in relation AND2-direct n and a are in relation AND2-reverse a and b are in relation AND2-adjacent, etc.
![Page 16: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/16.jpg)
Relations for Graphs Assign each signal (“cut point”), each type of gate and relation a unique binary code (label) a - b - n - , etc AND2 - OR2 - EXOR2 - Direct - Reverse - Adjacent – Create products for each couple of objects (like nodes in the graph) and multiply these
objects by labels, defining their relationship Compute a bdd equal to the sum of these products
012 xxx 012 xxx 012 xxx01gg 01gg 01gg
01aa 01aa 01aa
![Page 17: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/17.jpg)
Relations for Graphs Create a structural BDD of the network R(x2,x1,x0,y2,y1.y0,g1,g0,a1,a0) =
...
01010120120101012012
01010120120101012012
01010120120101012012
aaggyyyxxxaaggyyyxxx
aaggyyyxxxaaggyyyxxx
aaggyyyxxxaaggyyyxxx
![Page 18: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/18.jpg)
Structural BDD Representation
Encodes all information about structure (complementary w.r.t. the sensitivity function)
Lead to a new “calculus” for structural analysis and transformations of encoded graphs (logic networks) based on the following operations efficiently implemented in the BDD package product/sum, quantification (existential, universal, unique) image/pre-image computation
![Page 19: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/19.jpg)
Quantification
Given boolean function F(x1, x2, x3) Existential quantification of F w.r.t. x1 is
x1 F(x1, x2, x3) = F(0, x2, x3) + F(1, x2, x3) Universal quantification of F w.r.t. x1 is
x1 F(x1, x2, x3) = F(0, x2, x3) & F(1, x2, x3) Unique quantification of F w.r.t. x1 is
!x1 F(x1, x2, x3) = F(0, x2, x3) F(1, x2, x3)
![Page 20: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/20.jpg)
Image Computation
Given relation R(X, Y) and the set of assignments A(X), it is possible to compute the set of assignments B(Y) such that X and Y satisfy the relation R(X, Y).
B(Y) = x [ R(X, Y) & A(X) ] B(Y) is called the forward image of the set
A(X) in the relation R(X, Y). Similarly, it is possible to compute the
backward image A(X) of the set B(Y).
![Page 21: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/21.jpg)
Problem1: Locating Elements
Find all occurrences of the combination of AND-OR gate in the network of logic gates
NetworkElement
ElementElement
![Page 22: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/22.jpg)
Problem2: Replacing Elements
c = a + b;
d = ( a + b )&b = ab + b = b
a
b
d
ca
b
d
c
![Page 23: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/23.jpg)
Solution of Problem 1: Idea
Given the structural representation of the network R( X, Y, A ), it is possible to find relations between any types of “cutpoints”
a
b
d
c
![Page 24: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/24.jpg)
Solution of Problem 1 (cont.) Cut-points b and c are in relations OR2-direct and
AND2-adjacent Relation between all possible occurrences of b and
c throughout the network is
Rbc(X,Y) = R(X,Y,AOR2D) & R(X,Y,AAND2A) The characteristic function of all occurrences of
the structural element (located using b-type cut-points as references) is
Lb(X) = y Rbc(X,Y)
![Page 25: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/25.jpg)
Solution of Problem 2: Ideas Find the char. function Ld of the d-type cut-points Extract relations with d from R(X,Y,A) Remove relations b-d-AND2D and d-c-AND2D from
the extracted relation Remove relations b-c-AND2A from R(X,Y,A) Replace d-encoded cut-points for b-encoded cut-points
in the remaining extracted relations Add them to the structural bdd R(X,Y,A)
a
b
d
ca
b
d
c
![Page 26: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/26.jpg)
Solution of Problem 2 (cont.) Characteristic function Ld of d-type cut-points is Ld(X) = y [ R(X,Y,AAND2D) & Lb(Y) ] Extract relations with d extracted from R(X,Y,A) Rd(X,Y,A) = R(X,Y,A) & Ld(X) Remove b-d-AND2D and d-c-AND2D from Rd
Rd*(X,Y,A) = Rd (X,Y,A) & Lb(X)’ & Lc(X)’
Remove b-c-AND2A from R(X,Y,A) R*(X,Y,A) = R(X,Y,A)&( Rbc(X,Y) )’ Replace d-type cut-points for b-type cut-points R**(X,Y,A) = z [Rbd(X,Z) & Rd
*(Z,Y,A)] Add this relation to the structural representation
R(X,Y,A) = R(X,Y,A) + Rd**(X,Y,A)
![Page 27: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/27.jpg)
Universal Search Algorithm
Step1: Traverse the fragment starting from the outputs and mark the overlapping cut-points
Step 2. Recursively call the search procedure for each output of the fragment
![Page 28: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/28.jpg)
Recursive Procedure (sketch)
In this node Call the procedure for two (or more) siblings When they return the sets of cut-points
– If the incoming sets of the node are disjoint, multiply their images
– If the incoming sets are non-disjoint (the branches are symmetric or quasi-symmetric), apply the following transformation (see next slide)
– At the meeting points of two overlapping branches, find the intersection of sets of possible cut-points
Return the result
![Page 29: A New Approach to Structural Analysis and Transformation of Networks](https://reader036.vdocuments.us/reader036/viewer/2022062409/568150eb550346895dbf048a/html5/thumbnails/29.jpg)
(Quasi-)Symmetric Branches Computing the two related sets of
ordered output cut-pointsR(Z1,Z2) = Y[R(Y,Z1,AND2R) & R(Y,Z2,AND2R) & Z1 Z2]S1(Z1) = Z2[R(Z1,Z2)]S2(Z2) = Z1[R(Z1,Z2)] Computing the “merged set”S(Y) =(Z1 [R(Y,Z1,AND2R) & S1(Z1)]& Z2 [R(Y,Z2,AND2R) & S2(Z2)]) + (Z1 [R(Y,Z1,AND2R) & S2(Z1)]& Z1 [R(Y,Z2,AND2R) & S1(Z2)])
Z2Z1
Y