Faculty of Mathematics and Computer Science
Babeş-Bolyai University, Kogălniceanu 1
Cluj-Napoca, 3400, Romania.
11email: [email protected]
https://mihaioltean.github.io
Evolving reversible circuits for
the even-parity problem
Abstract
Reversible computing basically means computation with less or not at all electrical power. Since the standard binary gates are not usually reversible we use the Fredkin gate in order to achieve reversibility. An algorithm for designing reversible digital circuits is described in this paper. The algorithm is based on Multi Expression Programming (MEP), a Genetic Programming variant with a linear representation of individuals. The case of digital circuits for the even-parity problem is investigated. Numerical experiments show that the MEP-based algorithm is able to easily design reversible digital circuits for up to the even-8-parity problem.
1 Introduction
The ultimate purpose of reversible computing is to perform computations less or not at all electrical power. Logically reversible operations occupy a central role in considerations of the fundamental physical limits of information handling [7]. The early work of Landauer showed that energy dissipation occurs during the destruction of information of the previous state of the system rather than the acquisition of information during the computational process. Subsequently, Bennett showed that computation could be carried out completely with operations that are logically reversible, i.e., operations in which the output uniquely defines the input [2].
One such reversible logic element is the Fredkin gate (FG) [3, 8] which contains 3 inputs and 3 outputs. Fredkin gate constitute a complete set of operators in that any logic operation (e.g., AND, OR, NOT) can be constructed from a combination of FGs.
In this paper, we propose a variant of the Multi Expression Programming (MEP) [11, 12] for designing reversible digital circuits for the even-parity problem. We choose to apply the MEP-based technique to the even-parity problems because according to Koza [6] these problems appear to be the most difficult Boolean functions to be detected via a blind random search.
Standard GP was able to solve up to even-5 parity when the set of gates ={AND, OR, NAND, NOR} is used [5]. Improvements, such as Automatically Defined Functions [6] and Sub-symbolic node representation [14], allows GP programs to solve larger instances of the even-parity problem. Using MEP and reversible gates we are able to evolve a solution up to even-8-parity function using a reasonable population size.
The paper is organized as follows. MEP technique is briefly described in section 2. The way in which MEP can be applied for reversible circuits is introduced in section 3.1. Several numerical experiments for designing reversible digital circuits are performed in section 4. A comparison with standard digital circuits is described in section 4.3. Further research directions are indicated in section 5.
2 Basic on MEP
2.1 Individual Representation
MEP genes are represented by substrings of a variable length. The number of genes per chromosome is constant and it defines the length of the chromosome. Each gene encodes a terminal or a function symbol. A gene encoding a function includes references towards the function arguments. Function arguments always have indices of lower values than the position of that function in the chromosome.
This representation is similar to the way in which C and Pascal compilers translate mathematical expressions into machine code.
MEP representation ensures that no cycle arises while the
chromosome is decoded (phenotypically transcripted). According to the
representation scheme the first symbol of the chromosome must be a
terminal symbol. In this way only syntactically correct programs (MEP
individuals) are obtained.
Example
We employ a representation where the numbers on the left positions stand for gene labels (or memory addresses). Labels do not belong to the chromosome, they are provided here only for explanation purposes.
For this example, we use the set of functions = {+, *} and the set of
terminals = {, , , }. An example of chromosome using the sets and
is given below:
1:
2:
3: + 1, 2
4:
5:
6: + 4, 5
7: * 3, 6
2.2 Decoding MEP Chromosome and Fitness Assignment Process
In this section we described the way in which MEP individuals are translated into computer programs and the way in which the fitness of these programs is computed.
This translation is achieved by reading the chromosome top-down. A terminal symbol specifies a simple expression. A function symbol specifies a complex expression obtained by connecting the operands specified by the argument positions with the current function symbol.
For instance, genes 1, 2, 4 and 5 in the previous example encode simple
expressions formed by a single terminal symbol. These expressions are:
,
,
,
,
Gene 3 indicates the operation + on the operands located at positions 1 and
2 of the chromosome. Therefore gene 3 encodes the expression:
.
Gene 6 indicates the operation + on the operands located at positions 4 and
5. Therefore gene 6 encodes the expression:
.
Gene 7 indicates the operation * on the operands located at position 3 and
6. Therefore gene 7 encodes the expression:
.
is the expression encoded by the whole chromosome.
There is neither practical nor theoretical evidence that one of these expressions is better than the others. Moreover Wolpert and McReady [17] proved that we cannot use the search algorithm’s behavior so far for a particular test function to predict its future behavior on that function. Thus we cannot choose one of the expressions (let us say expression ) to store the output of the chromosome. Even this expression proves to be useful for the first 10 generations we cannot guarantee that it will be the best option for all generations.
This is why each MEP chromosome is allowed to encode a number of expressions equal to the chromosome length. Each of these expressions is considered as being a potential solution of the problem.
This is very important because we can get many solutions within the same running time as in the case of one solution/chromosome.
The value of these expressions may be computed by reading the chromosome top down. Partial results are computed by Dynamic Programming [1] and are stored in a conventional manner.
As MEP chromosome encodes more than one problem solution, it is interesting to see how the fitness is assigned. Usually the chromosome fitness is defined as the fitness of the best expression encoded by that chromosome. For instance, if we want to solve symbolic regression problems the fitness of each sub-expression may be computed using the formula:
where is the obtained result by the expression for the fitness case and is the targeted result for the fitness case . In this case the fitness needs to be minimized.
The fitness of an individual is set to be equal to the lowest fitness of the expressions encoded in chromosome:
When we have to deal with other problems we compute the fitness of each sub-expression encoded in the MEP chromosome and the fitness of the entire individual is given by the fitness of the best expression encoded in that chromosome.
2.3 Genetic Operators
Search operators used within MEP algorithm are crossover and mutation. These operators preserve the chromosome structure. All offspring are syntactically correct expressions.
2.3.1 Crossover
By crossover two parents are selected and recombined. For instance,
within the uniform recombination the offspring genes are taken randomly from
one parent or another.
Example
Let us consider the two parents and given in Table 1. The two offspring and are obtained by uniform recombination as shown in Table 1.
Parents | Offspring | ||
1: b 2: * 1, 1 3: + 2, 1 4: a 5: * 3, 2 6: a 7: - 1, 4 | 1: 2: 3: + 1, 2 4: 5: 6: + 4, 5 7: * 3, 6 | 1: 2: * 1, 1 3: + 2, 1 4: 5: * 3, 2 6: + 4, 5 7: - 1, 4 | 1: b 2: 3: + 1, 2 4: a 5: 6: a 7: * 3, 6 |
2.4 Mutation
Each symbol (terminal, function or function pointer) in the chromosome may be the target of mutation operator. By mutation some symbols in the chromosome are changed with a fixed mutation probability . To preserve the consistency of the chromosome its first gene must encode a terminal symbol.
2.5 MEP Algorithm
Standard MEP algorithm uses steady state [15] as its underlying mechanism. MEP algorithm starts by creating a random population of individuals. The following steps are repeated until a given number of generations 111In a steady-state algorithm, a generation is considered when the number of newly created individuals is equal to the population size. is reached. Two parents are selected using a selection procedure. The parents are recombined in order to obtain two offspring. The offspring are considered for mutation. The best offspring replaces the worst individual in the current population if the offspring is better than the worst individual.
The algorithm returns as its answer the best expression evolved along a fixed number of generations.
3 Reversible computing
The ultimate purpose of reversible computing is to perform computations less or not at all electrical power. Logically reversible operations occupy a central role in considerations of the fundamental physical limits of information handling [7]. The early work of Landauer showed that energy dissipation occurs during the destruction of information of the previous state of the system rather than the acquisition of information during the computational process. Subsequently, Bennett showed that computation could be carried out completely with operations that are logically reversible, i.e., operations in which the output uniquely defines the input [2].
One such reversible logic element is the Fredkin gate (FG) [3] which contains an input control channel A, and two additional input channels, B and C, which exchange values if A is set at 1 or will go through the gate unchanged if A is set at 0. Fredkin gates constitute a complete set of operators in that any logic operation (e.g., AND, OR, NOT) can be constructed from a combination of FGs [3].
The Fredkin gate is depicted in Figure 1.
3.1 MEP for reversible circuits
The interpretation for a MEP chromosome needs to be modified because reversible gates have more than one output. Thus an MEP chromosome containing Fredkin gates actually provides outputs (plus the outputs provided directly from the inputs). MEP representation will be unchanged, but during the fitness evaluation we will have to handle more circuits than the case of standard gates.
Another modification is related to the number of inputs. Two constant inputs 0 (always-OFF) and 1 (always-ON) have been added. These 2 inputs are very important in simulating the standard gates (such as NOT, AND) [3]. Moreover, without these 2 inputs we are not able to build a circuit for the even-parity problems. For instance, in the case of even-3-parity problem our circuits must signal 0 when all inputs are 1. But, the Fredkin gate can never generate a 0 value when all inputs are 1 (see Figure 1).
4 Numerical experiments
Several numerical experiments for evolving reversible digital circuits are performed in this section.
4.1 Test problem
Our aim is to find a Boolean function that satisfies a set of fitness cases. The particular function that we want to find is the Boolean even-parity function. This function has Boolean arguments and it returns T (True) if an even number of its arguments are T. Otherwise the even-parity function returns F (False) [6]. According to [6] the Boolean even-parity functions appear to be the most difficult Boolean functions to detect via a blind random search.
The terminal set consists of the Boolean arguments , , , … , 0, 1.
The function set consists of one three-argument gate: the Fredkin gate.
The set of fitness cases for this problem consists of the 2k combinations of the Boolean arguments. We have also added two constants inputs which are always signals 0 (respectively 1). These 2 fixed inputs are very important in simulating standard gates (such as NOT, AND, see [3] for more details). Thus each fitness case will have inputs and one output.
4.2 Results
In this section we perform several experiments with MEP for solving several instances of the even-parity problem. General parameter settings for MEP are given in Table 2.
Parameter | Value |
---|---|
Mutation probability | 0.2 |
Crossover type | Uniform |
Crossover probability | 0.9 |
Selection | -tournament ( = 1% of the population size) |
Function set | = {Fredkin gate} |
For reducing the chromosome length we keep all the terminals on the first positions of the MEP chromosomes.
The results along with the particular parameters used for obtaining them are given in Table 3. Success rate is computed as the number of successful runs over the total number of runs.
Problem | Pop size | Number of generations | Chromosome length | Success rate % | Circuit size |
---|---|---|---|---|---|
even-3-parity | 1000 | 50 | 10 | 95 | 3 |
even-4-parity | 1000 | 50 | 15 | 35 | 4 |
even-5-parity | 1000 | 100 | 20 | 15 | 5 |
even-6-parity | 2000 | 200 | 30 | 18 | 6 |
even-7-parity | 3000 | 500 | 30 | 29 | 8 |
even-8-parity | 5000 | 500 | 30 | 11 | 12 |
Table 3 shows that MEP algorithm is able to evolve reversible circuits for the even-parity problem. The shortest (regarding the number of gates) evolved reversible circuits for the even-3-parity and even-4-parity problem are depicted in Figures 2 and 3.
4.3 Comparison with standard approaches
Multi Expression Programming has been used [12] for designing standard digital circuits for the even-parity problem. Using the gates AND, OR, NAND, NOR we have been able to evolve up to even-5-parity problem using a population of 4000 individuals with 600 genes each evolved for 50 generations. The shortest evolved standard digital circuit has 6 gates for the even-3-parity problem, and 9 gates for the even-4-parity problem, whereas the reversible ones requires 4 (even-3-parity) and 5 (even-4-parity) gates. The first remark is that reversible circuits might require less gates than the standard circuits.
However, when the entire set of 16 binary gates (including EQ, NOT, etc) was employed [12] the length of the evolved standard circuit is considerable shorter. Only 4 gates are required for a circuit implementing the even-5-parity problem and 5 standard gates are required for the even-6-parity problem [12]. The results obtained by using the Fredkin gate are similar (regarding the number of gates) to those obtained using the entire set of 16 gates with 2 binary inputs.
5 Conclusions and further work
An algorithm based on Multi Expression Programming has been used for designing reversible digital circuits. Numerical experiments have shown the ability of this algorithm to design reversible digital circuits. When compare to the standard circuits, we can see that the number of outputs of the reversible ones is larger than the case of the standard circuits. This is in full concordance with other studies [3] which have shown that reversible computing requires addition storage space. Further experiments will try to minimize the number of outputs required by the reversible digital circuit. However, this number cannot be less than 3 (the number of outputs of the Fredkin gate).
We will also be interested in extracting general principles from the evolved circuits in order to quickly build larger size reversible circuits. For instance, Cartesian Genetic Programming was used [13] for discovering of ripple-carry adder which is widely used for building large scale multipliers and adders. The evolution of Automatically Defined Functions [6] will also be an interesting aspect for reversible digital circuits.
The method will be used for designing other interesting digital circuits such as reversible adders and multipliers. Other reversible gates, such as CCNOT, will be considered in further experiments [8].
References
- [1] Bellman, R.: Dynamic Programming, Princeton University Press, New Jersey, (1957)
- [2] Bennett, C. H., and Landauer, R.: Fundamental physical limits of computation. Scientific American, 253, (1985), 48-56
- [3] Fredkin, E., Toffoli, T.: Conservative logic, International Journal of Theoretical Physics, Vol. 21, (1982) 219-253
- [4] Klein, JP., Leete, TH., Rubin, H.: A Biomolecular Implementation of Logically Reversible Computation with Minimal Energy Dissipation. BioSystems 52, (1999) 15-23
- [5] Koza, J. R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press, Cambridge, MA, (1992)
- [6] Koza, J. R.: Genetic Programming II: Automatic Discovery of Reusable Subprograms, MIT Press, Cambridge, MA, (1994)
- [7] Landauer, R.: Irreversibility and heat generation in the computing process, IBM Journal of Research and Development, Vol 5, (1961), 183-191
- [8] Langdon, W. B.: THE DISTRIBUTION OF REVERSIBLE FUNCTIONS IS NORMAL, in Genetic Programming Theory and Practise, Rick L. Riolo and Bill Worzel (editors), Kluwer Academic Publishers, (2003), 173-188
- [9] Merkle, R. C.: Reversible Electronic Logic Using Switches, Nanotechnology, Vol 4, (1993), 21-40
- [10] Oltean, M.: Solving Even-parity problems with Multi Expression Programming, the 8th International Conference on Computation Sciences, North Carolina, Chen, K. et al. (Editors), (2003), 315-318
- [11] Oltean, M., Grosan, C.: Evolving Digital Circuits using Multi Expression Programming, NASA/DoD Conference on Evolvable Hardware, 24-26 June, Seattle, Edited by R. Zebulum, D. Gwaltney, G. Horbny, D. Keymeulen, J. Lohn, A. Stoica, IEEE Press, NJ, (2004), 87-90
- [12] Oltean, M.: Improving Multi Expression Programming: an Ascending Trail from Sea-level Even-3-parity Problem to Alpine Even-18-Parity Problem, contributed chapter 15, Evolutionary Machine Design, edited by Nadia Nedjah (et. al), Studies in Soft Computing and Fuzziness, Vol 161, Springer-Verlag, (2004), 229-255.
- [13] Miller, J. F., Job, D., Vassilev, V.K.: Principles in the Evolutionary Design of Digital Circuits - Part I, Genetic Programming and Evolvable Machines, Vol. 1(1), Kluwer Academic Publishers, (2000), 7-35.
- [14] Poli, R., Page, J.: Solving High-Order Boolean Parity Problems with Smooth Uniform Crossover, Sub-Machine Code GP and Demes, Journal of Genetic Programming and Evolvable Machines, Kluwer, (2000), 1-21
- [15] Syswerda, G.: Uniform Crossover in Genetic Algorithms, Proceedings of the 3rd International Conference on Genetic Algorithms, Schaffer, J.D. (editor), Morgan Kaufmann Publishers, San Mateo, CA, (1989), 2-9
- [16] Toffoli, T.: Reversible computing, In de Bakker, J. W. and van Leeuwen, Jan, editors, Automata, Languages and Programming, Colloquium, LNCS 75, Springer-Verlag, (1980), 632-644
- [17] Wolpert D.H. and McReady W.G.: No Free Lunch Theorems for Search, Technical Report, SFI-TR-05-010, Santa Fe Institute, (1995)