This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

11institutetext: Department of Computer Science
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

Mihai Oltean
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 FF={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

The Multi Expression Programming (MEP) [10, 11, 12] technique is briefly described in this section.

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 FF = {+, *} and the set of terminals TT = {aa, bb, cc, dd}. An example of chromosome using the sets FF and TT is given below:

1: aa

2: bb

3: + 1, 2

4: cc

5: dd

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:

E1=aE_{1}=a,

E2=bE_{2}=b,

E4=cE_{4}=c,

E5=dE_{5}=d,

Gene 3 indicates the operation + on the operands located at positions 1 and 2 of the chromosome. Therefore gene 3 encodes the expression:

E3=a+bE_{3}=a+b.

Gene 6 indicates the operation + on the operands located at positions 4 and 5. Therefore gene 6 encodes the expression:

E6=c+dE_{6}=c+d.

Gene 7 indicates the operation * on the operands located at position 3 and 6. Therefore gene 7 encodes the expression:

E7=(a+b)(c+d)E_{7}=(a+b)*(c+d).

E7E_{7} 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 E7E_{7}) 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 EiE_{i} may be computed using the formula:

f(Ei)=k=1n|ok,iwk|,f(E_{i})=\sum\limits_{k=1}^{n}{\left|{o_{k,i}-w_{k}}\right|},

where ok,io_{k,i} is the obtained result by the expression EiE_{i} for the fitness case kk and wkw_{k} is the targeted result for the fitness case kk. 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:

f(C)=minif(Ei).f(C)=\mathop{\min}\limits_{i}f(E_{i}).

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 Parent1Parent_{1} and Parent2Parent_{2} given in Table 1. The two offspring Offspring1Offspring_{1} and Offspring2Offspring_{2} are obtained by uniform recombination as shown in Table 1.

Table 1: MEP uniform recombination.
Parents Offspring
Parent1Parent_{1} Parent2Parent_{2} Offspring1Offspring_{1} Offspring2Offspring_{2}
1: b 2: * 1, 1 3: + 2, 1 4: a 5: * 3, 2 6: a 7: - 1, 4 1: aa 2: bb 3: + 1, 2 4: cc 5: dd 6: + 4, 5 7: * 3, 6 1: aa 2: * 1, 1 3: + 2, 1 4: cc 5: * 3, 2 6: + 4, 5 7: - 1, 4 1: b 2: bb 3: + 1, 2 4: a 5: dd 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 pmp_{m}. 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.

Refer to caption

Figure 1: Fredkin gate has 3 inputs and 3 outputs. If A = 0 the outputs are identical with the inputs. If A = 1 the inputs B and C are swapped. We can easily reconstruct the input from the output.

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 NN Fredkin gates actually provides 3N3*N 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 kk 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 TT consists of the k+2k+2 Boolean arguments d0d_{0}, d1d_{1}, d2d_{2}, … dk1d_{k-1}, 0, 1.

The function set FF consists of one three-argument gate: the Fredkin gate.

The set of fitness cases for this problem consists of the 2k combinations of the kk 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 k+2k+2 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.

Table 2: General parameters of the MEP algorithm for designing reversible circuits for the even-parity problem.
Parameter Value
Mutation probability 0.2
Crossover type Uniform
Crossover probability 0.9
Selection qq-tournament (qq = 1% of the population size)
Function set FF = {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.

Table 3: Success rate of the MEP-based algorithm for evolving reversible digital circuits. Success rate is computed over 100 independent runs. Circuit size is the minimum number of gates obtained in one of the successfull 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.

Refer to caption

Figure 2: The shortest evolved reversible digital circuit for the even-3-parity problem. Input 3 always signals 0 and input 4 always signals 1. Output 1 provides the result for the even-parity problem. The other outputs are used only for achieving the reversibility. FG stands for the Fredkin gate.

Refer to caption

Figure 3: The shortest evolved evolved reversible digital circuit for the even-4-parity problem. Output 3 provides the result for the even-parity problem. The other outputs are used only for achieving the reversibility. FG stands for the Fredkin gate.

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 De­ve­lop­ment, 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, 7th7^{th} 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)