1 / 31

Simulation and SAT-Based Boolean Matching for Large Boolean Networks

Simulation and SAT-Based Boolean Matching for Large Boolean Networks. Kuo-Hua Wang, Chung-Ming Chan, Jung-Chang Liu Dept. of CSIE Fu Jen Catholic University Slide: Chih -Fan Lai. Outline. Introduction Background Definitions & Notations Simulation Approach Discussion

hoyt-terry
Download Presentation

Simulation and SAT-Based Boolean Matching for Large Boolean Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Simulation and SAT-Based Boolean Matching for Large Boolean Networks Kuo-HuaWang, Chung-Ming Chan, Jung-Chang Liu Dept. of CSIE Fu Jen Catholic University Slide: Chih-Fan Lai

  2. Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions

  3. x 1 x 2 x 3 Introduction(1/2) • Boolean Matching • to check if two functions are equivalent under input permutation and input/output phase assignments • For example: Let and then Ref: slide of KH Wang, “Incremental Learning Approach and SAT Model for Boolean Matching with Don't Cares”, 2007

  4. Introduction(2/2) • Previous Works • Computing Signatures • Transforming into Canonical Form • This Work • Integrating Simulation and Boolean Satisfiability(S&S)

  5. Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions

  6. Background • Boolean Matching • Equivalence of Function • Boolean Satisfiability • And-Inverter Graph(AIG) • Functional Property • Unate • Symmetry

  7. Boolean Matching • Given functions f (X) and g (Y), where X = { x1 , x2 ,…, xn} and Y = { y1 , y2 ,…, yn} • We want to find a feasible mapping P such that f(X) = g(Y), where Y = P(X) • This paper addresses the permutation independent (P-equivalent) Boolean matching problem

  8. Equivalence of Function • NPN-equivalent : • equivalent under input Negation, input Permutation, output Negation • NP-equivalent : • equivalent under input Negation, input Permutation • P- equivalent : • equivalent under input Permutation

  9. Functional Property • Consider a function f(X) with n inputs • Cofactor of f w.r.t. xi • fxi(x1, x2, … xi=1, …, xn) • Positive(negative) unate in xi • fxi ⊆ fxi (fxi ⊆ fxi) _ _

  10. Functional Property(cont’d) • Symmetry • Non-equivalence symmetry(NE) • fxixj = fxixj • Equivalence symmetry(E) • fxixj = fxixj • Single variable symmetry(SV) • fxixj = fxixj • fxixj = fxixj • fxixj = fxixj • fxixj = fxixj _ _ _ _ _ _ _ _ _ _ _ _

  11. Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions

  12. Definitions and Notations • P = {X1, X2, …, Xk} • Partition of input set X, where ∪Xi =X and Xi∩Xj is empty for i≠ j • |P| • Partition size of P, the number of subsets Xi’s in P

  13. Definitions and Notations(cont’d) • Given two input sets X and Y with the same number of input variables, let PX = {X1, X2, …, Xk} and PY = {Y1, Y2, …, Yk} be two ordered input partitions of X and Y , respectively.

  14. Definition(1/5) Definition 1 A mapping relation R = {G1,G2, · · · ,Gk} is a set of mappings between the input groups of PX and PY , where Gi = XiYi and |Xi| = |Yi|. Each element Gi ∈ R is a mapping group which maps Xito Yi.

  15. Definition(2/5) Definition 2 The mapping relation sizeis the number of mapping groups in R, denoted as |R|. The mapping group size of Gi, denoted as |Gi|, is the group size of Xi (or Yi).

  16. Definition(3/5) Definition 3 Giis uniqueif and only if |Gi| = 1 or Xi(Yi) is a NE-symmetric set of f (g). The mapping relation R is unique if and only if all the mapping groups in R are unique.

  17. Definition(4/5) Definition 4 Let vi be an input vector w.r.t. the input set X. The input weightof viis the number of inputs with binary value 1. It is denoted as ρ(vi,X) Example: • X = x1x2x3x4x5, vi = 11010 • ρ(vi,X) = 3

  18. Definition(5/5) Definition 5 Consider a function f(X) and a vector set V involving m distinct input vectors. The output weightof f w.r.t. V is the number of vectors vi’s in V such that f(vi) = 1. It is denoted as σ(f, V ) and 0 ≤ σ(f, V ) ≤ m Example σ(f, V ) = 2

  19. Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions

  20. Simulation Approach(1/6) • To quickly remove impossible input corresponding

  21. Simulation Approach(2/6) • Type-1 Vector • First, generate input vector with weight = 0 or m where m is the target mapping group size, i.e. all 1 or 0 • For each input xi in group Gi, generate vector with complementing the value of xi • Xi = {x1, x2, x3, x4} x1 1000 0111 x2 0100 or 1011 x3 0010 1101 x4 0001 1110

  22. Simulation Approach(3/6) • Type-2 Vector • For each input xi, assign 1(0) to xi and one of the remaining inputs, 0(1) to the other inputs. • Output weight will be the signature of the input after simulation. • Example

  23. Simulation Approach(4/6) • Type-3 Vector • Only be used for the partition with several NE-symmetric sets. • Suppose Xi consists e symmetric set S1, S2, …, Se, each with k inputs • Generate two random vectors with different weight says a1 and a2 • Assign a1 to Si and a2 to the other sets for each sets • Partition by different output value

  24. Simulation Approach(5/6) • Type-3 Vector(cont’d) • Example • X have 3 NE-symmetric sets {x1,x2}, {x3,x5}, {x6,x7} • Y have 3 NE-symmetric sets {y2,y3}, {x4,x5}, {x6,x7} • a1 = 11, a2 = 01,

  25. Simulation Approach(6/6) • For each group A ∈ PXi, there is a corresponding group B ∈PYi, if • |PXi| ≠ |PYi| • |A| ≠ |B| • f(X) and g(Y) can not match to each other

  26. Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions

  27. Discussion(1/2) • Matching Algorithm • Initialization • Functional property • Simulation • Recursion

  28. Discussion(2/2) • Some Implementation Issues • Vector Generation • Reduction of Simulation Time

  29. Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions

  30. Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions

  31. Conclusions • Proposed a S&S-based Boolean matching algorithm • Three types of input vectors for simulation • Had been tested on a set of large benchmark and is effective and efficient

More Related