simulation and sat-based boolean matching for large boolean networks

Click here to load reader

Upload: hoyt-terry

Post on 31-Dec-2015

33 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Simulation and SAT-Based Boolean Matching for Large Boolean Networks

Kuo-Hua Wang, Chung-Ming Chan, Jung-Chang LiuDept. of CSIEFu Jen Catholic University

Slide: Chih-Fan LaiSimulation and SAT-Based Boolean Matching for Large Boolean NetworksOutlineIntroductionBackgroundDefinitions & NotationsSimulation ApproachDiscussionExperimental ResultsConclusionsIntroduction(1/2)Boolean Matching to check if two functions are equivalent under input permutation and input/output phase assignmentsFor example: Let and then

xxx321

Ref: slide of KH Wang, Incremental Learning Approach and SAT Model for Boolean Matching with Don't Cares, 20073Introduction(2/2)Previous WorksComputing SignaturesTransforming into Canonical FormThis WorkIntegrating Simulation and Boolean Satisfiability(S&S)OutlineIntroductionBackgroundDefinitions & NotationsSimulation ApproachDiscussionExperimental ResultsConclusionsBackgroundBoolean MatchingEquivalence of FunctionBoolean SatisfiabilityAnd-Inverter Graph(AIG)Functional PropertyUnateSymmetryBoolean MatchingGiven 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

Equivalence of FunctionNPN-equivalent :equivalent under input Negation, input Permutation, output NegationNP-equivalent :equivalent under input Negation, input PermutationP- equivalent :equivalent under input Permutation

Functional PropertyConsider a function f(X) with n inputs

Cofactor of f w.r.t. xifxi(x1, x2, xi=1, , xn)Positive(negative) unate in xifxi fxi (fxi fxi)

__Functional Property(contd)SymmetryNon-equivalence symmetry(NE)fxixj = fxixjEquivalence symmetry(E)fxixj = fxixjSingle variable symmetry(SV)fxixj = fxixjfxixj = fxixjfxixj = fxixjfxixj = fxixj

____________OutlineIntroductionBackgroundDefinitions & NotationsSimulation ApproachDiscussionExperimental ResultsConclusionsDefinitions and NotationsP = {X1, X2, , Xk}Partition of input set X, where Xi = X and XiXj is empty for i j|P|Partition size of P, the number of subsets Xis in P

Definitions and Notations(contd)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.

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

Definition(2/5)Definition 2The mapping relation size is 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).Definition(3/5)Definition 3Gi is unique if 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.Definition(4/5)Definition 4Let vi be an input vector w.r.t. the input set X. The input weight of vi is the number of inputs with binary value 1. It is denoted as (vi,X)Example: X = x1x2x3x4x5, vi = 11010(vi,X) = 3Definition(5/5)Definition 5Consider a function f(X) and a vector set V involving m distinct input vectors. The output weight of f w.r.t. V is the number of vectors vis in V such that f(vi) = 1. It is denoted as (f, V ) and 0 (f, V ) m

Example

X1x2x3f( x1, x2, x3)010011111011(f, V ) = 2OutlineIntroductionBackgroundDefinitions & NotationsSimulation ApproachDiscussionExperimental ResultsConclusionsSimulation Approach(1/6)To quickly remove impossible input corresponding

Simulation Approach(2/6)Type-1 VectorFirst, generate input vector with weight = 0 or m where m is the target mapping group size, i.e. all 1 or 0For each input xi in group Gi, generate vector with complementing the value of xiXi = {x1, x2, x3, x4}x1 10000111x2 0100 or1011x3 00101101x4 00011110

Simulation Approach(3/6)Type-2 VectorFor 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

x1x2x3x4f110011010010011Signature of x1 is (f, V ) = 2Simulation Approach(4/6)Type-3 VectorOnly be used for the partition with several NE-symmetric sets.Suppose Xi consists e symmetric set S1, S2, , Se, each with k inputsGenerate two random vectors with different weight says a1 and a2Assign a1 to Si and a2 to the other sets for each setsPartition by different output value

Simulation Approach(5/6)Type-3 Vector(contd)ExampleX 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, x1x2x3x5 x6x7x4x8outputy2y3y4y5y6y7y1y8fv1110101110v2011101111v3010111111Simulation 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

OutlineIntroductionBackgroundDefinitions & NotationsSimulation ApproachDiscussionExperimental ResultsConclusionsDiscussion(1/2)Matching AlgorithmInitializationFunctional propertySimulationRecursionDiscussion(2/2)Some Implementation IssuesVector GenerationReduction of Simulation TimeOutlineIntroductionBackgroundDefinitions & NotationsSimulation ApproachDiscussionExperimental ResultsConclusionsOutlineIntroductionBackgroundDefinitions & NotationsSimulation ApproachDiscussionExperimental ResultsConclusionsConclusionsProposed a S&S-based Boolean matching algorithmThree types of input vectors for simulationHad been tested on a set of large benchmark and is effective and efficient