Download presentation
Presentation is loading. Please wait.
Published byHerman Sumadi Modified over 5 years ago
1
Using Conjugate Symmetries to Enhance Simulation Performance
Advanced Digital Simulation
2
State Machine Simulation
3
State Machine with Output Values
4
Detecting Symmetry F(a,b,c)=F(a,c,b)
5
Other Variable Pairs
6
Skew Symmetries F(a,b,c)=F(a,c’,b)
7
Multiple Symmetries
8
Boolean Examples abc’ + a’cd + a’bc + acd’ + ab’d + bc’d
Totally symmetric Simulation machine has 5 states ac’ + bc’ + bd’ + ab’d + a’cd’ Totally non-symmetric Simulation machine has 16 states
9
Mathematical Background
Symmetry is defined in terms of Permutations Given a base set X containing n elements, a permutation is a 1-to-1 function from X to X. Examples:
10
The Symmetric Group The set of all permutations of a base set X of size n is denoted Sn. Because the elements of Sn are functions, they can be combined using composition. Sn is a group under the composition operation. Closed, associative, with identity and inverses Sn is called the symmetric group on n elements.
11
Mathematical Connections
The connection between symmetric functions and permutations is intuitively obvious: We use permutations to rearrange the variables of a function. A three-input function (for example) is symmetric if:
12
Vectors, Not Variables Alternatively, suppose f operates on n-element Boolean vectors. A function is symmetric if we can rearrange the input vectors in any fashion without changing the function. A three-input function f is symmetric if:
13
Permuting Vectors It is tempting to write “A function is symmetric if for all permutations p and vectors v. BUT… Permutations act on INTEGERS, not on Boolean Vectors!
14
From Integers to Vectors
To make the mathematical connection we must map each permutation to a function that permutes the elements of a vector. Permutations don’t operate on Boolean vectors, but linear transformations do. To be able to use linear transformations, we must treat our Boolean vectors as elements of a vector space over some field F.
15
The Field GF(2) Consider the integers mod 2.
This set contains two elements. The set is a field with AND taking the place of multiplication and XOR taking the place of addition. Addition is commutative, and associative with an identity and inverses. Multiplication is commutative and associative with identity and inverses for all elements except zero. Multiplication distributes over addition. This field is called GF(2).
16
The General Linear Group
A linear transformation T is called non-singular if it has an inverse T-1. The General Linear Group of a vector space V is the set of all non-singular linear transformations from V to itself.
17
Group Representations
A mapping H from one group G1 to another G2 is a homomorphism if H(ab)=H(a)H(b). If H is one-to-one, it is called an isomorphism. A homomorphism R from a group G into the general linear group of a vector space V is called a representation of G. If the homomorphism R is an isomorphism, it is called a faithful representation. When there is no possibility of confusion, we use to R denote the image of G under R.
18
A Representation of S3 The following is a mapping from S3 to the general linear group of GF(2)3. These transformations rearrange the elements of Boolean vectors. The representation is faithful.
19
Representations We are interested only in faithful representations of Sn in the general linear group of dimension n over GF(2). The standard is a faithful representation that rearranges the elements of a vector. The standard representation is intuitively obvious. No fancy math is required. The standard representation isn’t the only representation.
20
Conjugate representations
Let R be the standard representation of Sn in the general linear group over GF(2)n. Denote this general linear group as GLn(2). Let g be an element of GLn(2). A conjugate representation is the group gRg-1={gxg-1|xR}. In general, R gRg-1.
21
Symmetry: An Extended View
Let f be an n-input Boolean function, and let R be the standard representation of Sn in GLn(2). We say f is symmetric if f(T(v))=f(v) for all TR. Let gGLn(2). We say f is symmetric with respect to g if f(T(v))=f(v) for every TgRg-1. Symmetry with respect to g can be used to simplify state machines, just as ordinary symmetry can.
22
Remember This Expression?
ac’ + bc’ + bd’ + ab’d + a’cd’ Totally non-symmetric Simulation machine has 16 states However, this expression is symmetric with respect to the following linear transformation:
23
Detection of Symmetry: Step 1
Two variables at a time Eliminate variables by symbolic evaluation F(a,b,c,d) = ac’ + bc’ + bd’ + ab’d + a’cd’ F(0,b,c,d) = 0c’ + bc’ + bd’ + 0b’d + 1cd’ F(1,b,c,d) = 1c’ + bc’ + bd’ + 1b’d + 0cd’ F(0,b,c,d) = bc’ + bd’ + cd’ F(1,b,c,d) = bc’ + bd’ + b’d
24
Detection of Symmetry: Step 2
F(0,b,c,d) = bc’ + bd’ + cd’ F(1,b,c,d) = bc’ + bd’ + b’d F(0,0,c,d) = 0c’ + 0d’ + cd’ = cd’ F(0,1,c,d) = 1c’ + 1d’ + cd’ = c’ + d’ F(1,0,c,d) = 0c’ + 0d’ + 1d = d F(1,1,c,d) = 1c’ + 1d’ + 0d = c’ + d’
25
Detection of Symmetry: Step 3
26
Test Condition 1
27
Test Condition 2
28
Test Condition 3
29
Test Condition 4
30
The Symmetry Algorithm 1
Given a function, construct the conjugate symmetry matrix. A conditionally inverts B
31
The Symmetry Algorithm 2
B conditionally inverts A
32
Input State Machines
33
The Conjugacy Matrix
34
Conjugate Symmetries We have expanded the concept of symmetry from a single representation to a large collection of representations. In GL3(2) there are 28 conjugates of the standard representation In GL4(2) there are 420 conjugates of the standard representation. Each conjugate represents a whole new type of symmetry.
35
Generalized Symmetries
There are faithful representations of Sn that are not conjugate to the standard representation. (for n>3) State-Machine simplification is possible (I think), but result may not be linear. There are nine conjugacy classes in GL4(2). We don’t know much about them
36
Other Stuff We’ve looked at non-singular transformations, what about singular ones? Causes a reduction in input variables: go from a, b, c, d to a+b, a+c, a+d, for example. Otherwise, appears to be the same What about multiple output functions? What about GF(2n)? What about eigenvalues?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.