Generalized Optimum Reversible Circuit Synthesis: A Memetic Approach

Similar documents
ISSN: ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 3, May 2013

AN IMPROVED DESIGN OF REVERSIBLE BINARY TO BINARY CODED DECIMAL CONVERTER FOR BINARY CODED DECIMAL MULTIPLICATION

COMPARATIVE ANALYSIS OF 4-BIT AND 8-BIT REVERSIBLE BARREL SHIFTER DESIGNS USING REVKIT

An Extension to DNA Based Fredkin Gate Circuits: Design of Reversible Sequential Circuits using Fredkin Gates

Keywords Quantum logic gates, Quantum computing, Logic gate, Quantum computer

A New Reversible TSG Gate and Its Application For Designing Efficient Adder Circuits

A Beginning in the Reversible Logic Synthesis of Sequential Circuits

GA as a Data Optimization Tool for Predictive Analytics

Introduction To Genetic Algorithms

A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number

Efficient Interconnect Design with Novel Repeater Insertion for Low Power Applications

Numerical Research on Distributed Genetic Algorithm with Redundant

Empirically Identifying the Best Genetic Algorithm for Covering Array Generation

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

Holland s GA Schema Theorem

A hybrid Approach of Genetic Algorithm and Particle Swarm Technique to Software Test Case Generation

SOFTWARE TESTING STRATEGY APPROACH ON SOURCE CODE APPLYING CONDITIONAL COVERAGE METHOD

Introduction to computer science

Switching and Finite Automata Theory

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Optimization and Comparison of 4-Stage Inverter, 2-i/p NAND Gate, 2-i/p NOR Gate Driving Standard Load By Using Logical Effort

ONLINE TESTING IN TERNARY REVERSIBLE LOGIC

Alpha Cut based Novel Selection for Genetic Algorithm

A Novel Binary Particle Swarm Optimization

A Robust Method for Solving Transcendental Equations

BOOLEAN ALGEBRA & LOGIC GATES

International Journal of Emerging Technologies in Computational and Applied Sciences (IJETCAS)

Comparison of Major Domination Schemes for Diploid Binary Genetic Algorithms in Dynamic Environments

NEW adder cells are useful for designing larger circuits despite increase in transistor count by four per cell.

International Journal of Software and Web Sciences (IJSWS)

LOAD BALANCING IN CLOUD COMPUTING

Prediction of Software Development Modication Eort Enhanced by a Genetic Algorithm

Cellular Automaton: The Roulette Wheel and the Landscape Effect

Note on growth and growth accounting

Effect of Using Neural Networks in GA-Based School Timetabling

Chapter 2 Logic Gates and Introduction to Computer Architecture

CHAPTER 3 Boolean Algebra and Digital Logic

A Brief Study of the Nurse Scheduling Problem (NSP)

A Review And Evaluations Of Shortest Path Algorithms

THREE DIMENSIONAL REPRESENTATION OF AMINO ACID CHARAC- TERISTICS

Evaluation of Different Task Scheduling Policies in Multi-Core Systems with Reconfigurable Hardware

An Efficient RNS to Binary Converter Using the Moduli Set {2n + 1, 2n, 2n 1}

An Open Architecture through Nanocomputing

An ACO Approach to Solve a Variant of TSP

ESQUIVEL S.C., GATICA C. R., GALLARD R.H.

Quantum Computing. Robert Sizemore

Research on a Heuristic GA-Based Decision Support System for Rice in Heilongjiang Province

Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

AsicBoost A Speedup for Bitcoin Mining

A Hybrid Tabu Search Method for Assembly Line Balancing

High Speed Gate Level Synchronous Full Adder Designs

Implementation and Design of AES S-Box on FPGA

A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0

Logic in Computer Science: Logic Gates

Management Science Letters

International Journal of Emerging Technology & Research

An Interactive Visualization Tool for the Analysis of Multi-Objective Embedded Systems Design Space Exploration

COMBINATIONAL CIRCUITS

FPGA Implementation of an Extended Binary GCD Algorithm for Systolic Reduction of Rational Numbers

A Fast Computational Genetic Algorithm for Economic Load Dispatch

BMOA: Binary Magnetic Optimization Algorithm

7. Latches and Flip-Flops

A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

Keywords: Dynamic Load Balancing, Process Migration, Load Indices, Threshold Level, Response Time, Process Age.

Optimal Tuning of PID Controller Using Meta Heuristic Approach

A Simple Feature Extraction Technique of a Pattern By Hopfield Network

3.Basic Gate Combinations

ASSOCIATION RULE MINING ON WEB LOGS FOR EXTRACTING INTERESTING PATTERNS THROUGH WEKA TOOL

Architecture bits. (Chromosome) (Evolved chromosome) Downloading. Downloading PLD. GA operation Architecture bits

Automated Model Based Testing for an Web Applications

A Genetic Algorithm Processor Based on Redundant Binary Numbers (GAPBRBN)

Leran Wang and Tom Kazmierski

Supporting Software Development Process Using Evolution Analysis : a Brief Survey

Video Affective Content Recognition Based on Genetic Algorithm Combined HMM

Static-Noise-Margin Analysis of Conventional 6T SRAM Cell at 45nm Technology

Sensors & Transducers 2015 by IFSA Publishing, S. L.

Counters and Decoders

AUTOMATIC ADJUSTMENT FOR LASER SYSTEMS USING A STOCHASTIC BINARY SEARCH ALGORITHM TO COPE WITH NOISY SENSING DATA

A Novel Cryptographic Key Generation Method Using Image Features

Introduction to Quantum Computing

Intelligent Agents Serving Based On The Society Information

Binary Adders: Half Adders and Full Adders

Keywords revenue management, yield management, genetic algorithm, airline reservation

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Genetic Algorithms commonly used selection, replacement, and variation operators Fernando Lobo University of Algarve

A Non-Linear Schema Theorem for Genetic Algorithms

FPGA area allocation for parallel C applications

PROCESS OF LOAD BALANCING IN CLOUD COMPUTING USING GENETIC ALGORITHM

D A T A M I N I N G C L A S S I F I C A T I O N

A Probabilistic Quantum Key Transfer Protocol

International Journal of Computer Engineering and Applications, Volume V, Issue III, March 14

Bits Superposition Quantum Parallelism

STUDY ON APPLICATION OF GENETIC ALGORITHM IN CONSTRUCTION RESOURCE LEVELLING

CHAPTER 6 GENETIC ALGORITHM OPTIMIZED FUZZY CONTROLLED MOBILE ROBOT

Implementation of Full -Parallelism AES Encryption and Decryption

Index Terms Domain name, Firewall, Packet, Phishing, URL.

FPGA Implementation of an Advanced Traffic Light Controller using Verilog HDL

Basic Logic Gates Richard E. Haskell

Optimization of Preventive Maintenance Scheduling in Processing Plants

processed parallely over the cluster nodes. Mapreduce thus provides a distributed approach to solve complex and lengthy problems

Transcription:

Generalized Optimum Reversible Circuit Synthesis: A Memetic Approach Roshni Chakraborty and Prasun Ghosal Indian Institute of Engineering Science and Technology, India Email: rcrimi08@gmail.com, p ghosal@it.iiests.ac.in Abstract With the advent of technological advancement in CMOS, device size scales down to DSM (deep sub-micron) regime. Proceeding further faces the hindrance of failure of classical laws of physics. Reversible circuits have appeared as a plausible replacing candidate with the promise of lesser energy and power dissipation evolved from the assurance of lossless information. In this work, we have used the memetic approach to uniquely map the output to input specifications with precision besides optimizing gate costs. It has ensured generalized success by decreasing costs of all circuits in comparison to the state-ofthe-art viz. MOSAIC, PPRM, SA based QM with ACO. Index Terms Reversible Circuit Synthesis, Energy Efficient VLSI System, Memetic Algorithm I. INTRODUCTION Following the more than Moore trend the number of transistors in chips has been increasing at an unparalleled pace in modern technology paradigm. The loss of energy per irreversible bit erasure has been the concern for ages following Landauer s [1] principle irrespective of the technology applied. Minimum energy per application increases dominantly as the number of transistors increase exponentially in the chip. According to Bennett [2], the energy is conserved in any reversible specification marks the birth and growth of reversible circuits. The unconventional computing that is time invertible and energy preserver is termed as reversible computing. This ensures application of gates attaining reversibility and promising no energy dissipation. A necessary condition for reversibility of a computational model is that the relation behind mapping of states of transition functions to their successors should always be one-to-one. A gate is called reversible if there is an one to one correspondence between its input and output vectors. Research on reversible circuits derive a sense of motivation for its effect on lossless energy systems as well as being a path for quantum circuits [3]. Even the massive problems of factorizations could be solved in exponentially faster speed. It has played its part from low power electronics to cryptography as well. Reversible logic is the basis of several emerging technologies like DNA computing, optical computing, nano-technology etc. The rest of the paper is organized as follows. Section II summarizes the novel contributions of the present work. A brief note on related research works and preliminaries have been mentioned in section III. Detailed problem description with proposed algorithm has been reported in section IV. Section V summarizes experimental results and section VI concludes the paper with possible future directions. TABLE I REVERSIBLE SPECIFICATIONS Input Output 000 001 001 011 010 100 011 101 100 110 101 111 110 000 111 010 II. NOVEL CONTRIBUTIONS OF THE PAPER Novel contributions of the present work may be summarized as follows. Firstly, exact to heuristic methods have been proposed and implemented in details for the synthesis of reversible logic. Second, the representation vary from truth tables to permutations to compact decision diagrams i.e. all throughout for a better cost effective approach towards reversibility. The cost of the circuit always been the primary concern for ages with added advantage of lesser number of circuit lines, number of gates, and so forth. Immense progress in the development of design solutions for reversible circuits may be observed in the last decade. Different methods of synthesis have been developed. But none of the approaches can ensure generalized solution in all types of cases or circuits. Finally, in this proposed approach, a memetic algorithm has been developed that aims to provide minimum quantum gate cost by the application of genetic algorithm supported by local search to yield better generalized results in circuits provided a reversible specification is given. III. RELATED WORKS AND PRELIMINARIES Irreversible loss of energy can only be prevented if we could ensure the application of reversible gates in the design of circuits. This section highlights the basic notion of reversible gates and the underlying cost effect due to its application. A. Reversible Functions An n-input, n-output Boolean function f is reversible if it maps each input uniquely to each output, and vice-versa, i.e. there is an one-to-one mapping between input and output.

The primary parameter used to measure the efficiency of an RCS method is the cost of reversible circuit. Application of every reversible gate adds to the quantum cost of the circuit. Brief idea about the quantum cost and the elementary reversible gates are as follows. The quantum cost of a reversible gate is the number of unitary reversible gates or quantum logic gates required in its design where the elementary unitary gates consist of NOT Gate, V+ Gate and V- Gate as well. The basic gates are as follows. NOT(x) performs (x) into (x 1). This gate has a unit cost and it implies and function in order to invert the input at the output. 1 0 1 1 Fig. 1. NOT Gate CNOT(x,y) performs (x,y) (x,x y). On the basis of a controlled input, the set output gets reset or vice versa provided that the control is unity else the output is unaffected. 1 0 1 1 Fig. 2. CNOT Gate TOFFOLI(x,y,z) performs (x,y,z) (x,y,x y z). Toffoli gate [4] is one of the most popular reversible gates and has quantum cost of 5. 1 0 1 1 1 1 Fig. 3. Toffoli Gate B. Memetic Approach Memetic Algorithm (MA) was inspired from Darwinian principles of natural evolution and Dawkins notion of a meme by Moscato that combines population based genetic algorithm as well as individual learning mechanism for local refinements in accordance to optimization issues. Individual learning of memes is encouraged with a probability of application. Here the local search acts on the group of successful memes based on the mentioned criteria. C. Related research There exist several different approaches for the reversible logic synthesis (RCS) problem. Synthesis of a reversible logic can be performed either optimally or heuristically. Optimal algorithms work only for smaller circuits. For larger circuits generally heuristic based approached are being adopted. Shende et. al. [5] have used iterative deepening A*-search (IDA*) algorithm to find the optimal circuits of all 3 3 reversible functions. In [6] authors have reported optimal synthesis of 4-bit reversible circuits. Other approaches like [7] and [8] may be mentioned in this regard. But these approaches fail for larger circuits due to computational complexity. Among different heuristic based approaches [9] [10] Transformation based approach [11] [12], Search based method [5] [13], Cycle based method [14] [15], BDD based method may be mentioned in this regard. Present work has been compared with the following three state of the art approaches viz. MOSAIC [16], PPRM [17], and SA based QM with ACO [18]. IV. PROBLEM DESCRIPTION The reversible circuits often aim at mapping the outputs to desired inputs through a set of operations but with the prime objective as the minimum gate cost and quantum cost with no increase in the circuit lines. This leads to the generation of truth table as the primary input where the population is being represented in the bit format. Next, hundreds of populations are transformed into their desired bits through a set of operations. A. Problem Mapping Memetic algorithm is one of the most recent trends in the evolutionary based algorithms that supports individual based local improvement as well as global operations in order to attain the criteria. The bit difference that provides us with the concept of hamming distance minimization is the prime objective. The algorithm, here, is the heuristic function that could map from the output to input, as the basic difference or guidance to map the results is being the bit difference i.e. the hamming distance to be nullified. Thus given any input output specification, this Memetic algorithm incorporates local search (as hill climbing) aided genetic algorithm [19] to produce minimized gate cost to implement the circuits. Moreover, the genetic operators would not only ensure correct mapping to the results but also would ensure termination once many a iterations fail to elicit the correct response. B. Proposed Algorithm 1) Flow Chart Representation: The flow chart representation gives a brief view of the flow of memetive algorithm that has been detailed out. It provides with an insight into the flow of information through the algorithm, and the basic steps undergone for perfect mapping. It starts with the initialization of population through local search, hill climbing and crossover, and mutation until the mapping is complete. 2) Initialisation: The initiation of random generation of population marks the start of system. Entered gene populations are converted into their binary format and the positional hamming difference between the input and output pair serves as the primary criteria for mapping. The population consists of truth table formation of input-output pair, the hamming distance needs to be calculated for each bit position separately as well as the total hamming distance of all the generated input populations.

start satisfied? initialize population hill climbing fitness function evaluation precursor local search selection crossover mutation stop hamming distance nullified? Fig. 4. A generic flow of a GA based approach move to precursor local search 3) Fitness Function: The fitness function needs to be understood with the reason behind this function. Firstly, if a reversible specification is provided in the form of truth table, the mapping depends on the hamming distance difference between each of the bit for a particular input-output pair. So, the primary objective is to bridge this gap between the inputoutput pair. To bridge the gap, one must know the difference of each bit of each pair i.e. the summation of hamming distance of each pair. It has been observed that the hamming distance in total could never be the guideline that could decide the placement of gates. So we need to apply gates according to the gene position with the ultimate criteria to minimize the hamming distance. Therefore, the hamming difference for each position is essential. 4) Precursor to Local Search: Before we move to our criteria and hill climbing, we would base a simple approach on the fitness function just evaluated from above positions. We would narrow down our search with the application of a single cost gate at each position if the hamming distance at each position exceeds by a huge margin of eighty percent. This ratio would ensure that a gate applied would converge most of the population, and might divert at most only a twenty percent of the population. 5) Hill Climbing: Next step is local search. The population given could be better converged if other function is clubbed with genetic algorithm. Genetic algorithm not only drifts from actual result after few generations but also the number of attempts are huge and therefore convergence becomes a lengthy process. The inclusion of a local search significantly reduces the efforts and time taken to converge the genetic algorithm. The iterative procedure considers all those populations at each position that has hamming distance as unity as well as those populations that can be satisfied from their neighbors by the application of a single toffoli gate at that position. Let, the population marked as X represents those that can be satisfied from their neighbors. The total population that has hamming distance as unity at that position be Y. if ((X. Y) 0.75) then, Hill Climbing takes place for the particular X This step is carried over for each position except the first. Though, it might seem 0.75 to be smaller in comparison to greater population sizes, but as the ratio comprises of not just the population rather than the hamming distance satisfying population as the base, the percentage is noteworthy. 6) Selection: The population now has been divided into multiple groups on the basis of their status after few initial steps on the basis of selection by their hamming distance difference from their ultimate inputs. P =P +P +P P = Initial Population. P = Elite class of population with hamming distance 0. P = The Conserved Class of population with unit hamming distance at position 0. P = The Class of population with hamming distance either greater than 0 or at different positions than the first. 7) Crossover: The genes belonging to the reserved group P undergoes no crossover or mutation as they are of the zero hamming distance. The P would undergo crossover with random selection of two genes and the position pre-specified at position 0. The replacement of a parent with any of the child takes place only if the child satisfies lower hamming distance, else the parent is retained. The P group comprises of both those population with hamming distance greater than unity or unity but at any position except the first position. Illustration of the crossover and mutation in P group is as follows. 8) Mutation: Mutation is designed in order to favor low hamming distance as well as to allow randomness in the system. As selection has already divided population into groups, mutation is not necessary in the P group. The random number generated M should vary between 0 and 1. Population with the group S is inversely proportional to the number of genes in this group s population to give higher precedence of mutation as the population size decreases with every run even when the random number generated plays a major role in decision making. The threshold value of R is as minimum as 0.3, the mutation further is successful when the hamming distance is decreased. 9) Termination: The following algorithm continues till the hamming distance is minimized to the null value or to the idea of no definite alteration in the population size as well as hamming distance. Thus, if it seems pointless to run when there is no significant progress in the fitness function from the

Algorithm 1 Crossover at P 1: Initialize two groups follows after selection 2: Calculate hamming distance at the last position as a 3: Calculate hamming distance at all positions 4: but last position as b 5: Initialize m=1.4; 6: if b m a then 7: Random position selection between 2 and the last but one position 8: Perform crossover 9: Check whether crossover successful last bit change is allowed 10: if Crossover is allowed i.e the hamming distance is reduced for parents then 11: Perform mutation at the last position 12: Allow mutation if the random number permits 13: if mutation successful then 14: m=m-0.2 15: else 16: m remains unchanged 17: end if 18: else 19: Perform mutation in any of the positions 20: end if 21: else 22: Crossover at the last position successful if parents better 23: if Crossover allowed at the last position then 24: Generate random gene with any 25: but last position hamming distance 26: Perform mutation 27: if mutation successful then 28: m=m+0.2 29: else 30: m remains unchanged 31: end if 32: else 33: Perform mutation 34: end if 35: end if Algorithm 2 Mutation 1: Random selection of the position as M (0, 1) 2: Calculate S = Inv(population at the specified group) 3: Calculate R=M S 4: if R 0.3 then 5: if hamming distance reduced then 6: Perform mutation 7: end if 8: end if previous run with huge populations, we might either select time complexity or fitness function evaluation as our criteria. 10) Pseudo Code: The pseudo code follows already specified steps in proposed algorithm with initialization of the population as binary. Then for every position the hamming distance is calculated that serves as the precursor to local search. Local search succeeds to the basic genetic algorithm as in selection into groups. Adaptive crossover that succeeds if hamming distance is satisfied. Finally mutation. The groups of population are updated after every run and algorithms terminate accordingly with either hamming distance nullified or it reaches an optimum after several runs. V. EXPERIMENTAL RESULTS Experiments have been performed on standard desktop environment with 4GB memory and implemented using C. We have randomly generated populations and allowed the procedure to work on till the hamming distance was satisfied. It had given noteworthy results for circuits of 3 3 size. We have checked the benchmarks as well as few random populations where results were quite encouraging with either improvement or similar with the state-of-the-art. Moreover, as the number of population increases and so does the number of bits in per genes, we need to notice not only the whole hamming distance nullification but also the amount of change in the hamming distance till the last run of the algorithm. Thus, while lesser population sizes yield results with lower quantum costs, the larger populations, if given an ample amount of time would definitely proceed to completion, as well. We have compared our results with MOSAIC [16], PPRM [17] as well as with SA-QM and ACO [18]. The results against gate cost has been compared with few algorithms as mentioned, and has been tabulated as follows. Moreover, a bar graph illustrates the difference in gate costs among various algorithms. The bar graphs reveal the quantum cost evaluation for different benchmarks by the algorithms as specified in the table above. Similarly, a graph has been plotted to show that the general solution of memetic algorithm is better for all those benchmarks for minimized quantum cost. VI. CONCLUSION AND FUTURE RESEARCH Proposed algorithm ensures that each step either reduces the optimization of fitness function value or the path is never taken. This applies for major decisions in the spectrum of crossover to mutation as well as hill climbing. Population would never be operated in a way so as to change the fitness values adversely. Application of minimum low cost gate at each step favors the proportion of population that has been decided by algorithm and ensures maximum reduction in cost. This algorithm provides optimized generalized results as depicted in comparison to other state-of-the-art algorithms. The parallel mutation as well as crossover into multiple groups favor convergence at a glacial speed. However, this algorithm only works with population of the same input and

TABLE II COMPARISON AND RESULTS Name Representation Memetic MOSAIC PPRM SA-QM-ACO a (0,1,2,4,3,5,6,7) 3 7 5 6 b (1,2,3,4,5,6,7,0) 3 3 3 3 c (0,1,2,3,4,5,6,7) 3 3 3 5 d (3,6,2,5,7,1,0,4) 6 8 7 8 f (1,2,7,5,6,3,0,4) 5 8 6 7 g (4,3,0,2,7,5,6,1) 4 6 7 7 h (7,5,2,4,6,1,0,3) 5 6 7 7 i (1,0,3,2,5,7,4,6) 4 4 4 5 8 8 Quantum Cost 6 4 QuantumCost 6 4 2 Memetive MOSAIC PPRM SA-QM and ACO a b c d f g h i a b c d Memetive MOSAIC PPRM SA-QM and ACO Benchmarks Fig. 7. Graph representation of benchmarks by different algorithms Fig. 5. Bar Graph representation of benchmarks by different algorithms 8 Quantum Cost 7 6 5 4 f g h i Memetive MOSAIC PPRM SA-QM and ACO Fig. 6. Bar Graph representation of benchmarks by different algorithms output specification size. As a future work extension, it could be incorporated to support even irreversible specifications as well. REFERENCES [1] R. Landauer, Irreversibility and Heat Generation in the Computing Process, IBM Journal of Research and Development, vol. 5, pp. 183 191, July 1961. [2] C. H. Bennett, Logical Reversibility of Computation, IBM Journal of Research and Development, vol. 17, pp. 525 532, November 1973. [3] M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information. Cambridge Series on Information and the Natural Sciences, Cambridge, October 2000. [4] T. Toffoli, Reversible computing. Springer, 1980. [5] V. Shende, A. Prasad, I. Markov, and J. Hayes, Synthesis of reversible logic circuits, Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, vol. 22, no. 6, pp. 710 722, 2003. [6] O. Golubitsky, S. M. Falconer, and D. Maslov, Synthesis of the optimal 4-bit reversible circuits, in Proceedings of the 47th Design Automation Conference, DAC 10, (New York, NY, USA), pp. 653 656, ACM, 2010. [7] A. K. Prasad, V. V. Shende, I. L. Markov, J. P. Hayes, and K. N. Patel, Data structures and algorithms for simplifying reversible circuits, J. Emerg. Technol. Comput. Syst., vol. 2, pp. 277 293, Oct. 2006. [8] G. Yang, X. Song, W. N. N. Hung, and M. A. Perkowski, Bidirectional synthesis of 4-bit reversible circuits, The Computer Journal, vol. 51, pp. 207 215, 2008.

Algorithm 3 Proposed Algorithm 1: Initialize random generated population 2: Calculate hamming distance for each position 3: Sum hamming distances at all positions 4: while hamming distance not nullified or end criteria not satisfied do 5: Read current specification and each position hamming distance 6: while all position of genes not covered do 7: Calculate hamming distance at each position 8: if ratio of hamming distance to total position 9: at that position = 0.8 then 10: Apply single toffoli gate at that position 11: else 12: No application 13: end if 14: end of while 15: end while 16: while all positions covered except the first do 17: Find x for this position 18: Find y for this position 19: Calculate s=x/y 20: if s 0.75 then 21: Apply single cost not gate at this position for all y 22: else 23: No application 24: end if 25: end of while 26: end while 27: Select individuals with null hamming distance as P 28: Select individuals with unity hamming distance, 29: position as first as P 30: Select individuals with greater hamming distance than unity 31: or hamming distance as unity but position other than first as P 32: Select two random individuals from P 33: Perform Crossover 34: if decrement of hamming distance then 35: Replace parents with new children 36: else 37: Parents remain and children discarded 38: end if 39: Perform mutation at P 40: Perform crossover and mutation in the group P 41: Calculate hamming distance and move populations into groups 42: end of while 43: end while [9] D. Miller, D. Maslov, and G. Dueck, A transformation based algorithm for reversible logic synthesis, in Design Automation Conference, 2003. Proceedings, pp. 318 323, 2003. [10] D. Maslov, G. W. Dueck, and D. M. Miller, Techniques for the synthesis of reversible toffoli networks, ACM Trans. Des. Autom. Electron. Syst., vol. 12, pp., Sept. 2007. [11] P. Gupta, A. Agrawal, and N. Jha, An algorithm for synthesis of reversible logic circuits, Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, vol. 25, no. 11, pp. 2317 2330, 2006. [12] J. Donald and N. K. Jha, Reversible logic synthesis with fredkin and peres gates, J. Emerg. Technol. Comput. Syst., vol. 4, pp. 2:1 2:19, Apr. 2008. [13] M. Saeedi, M. S. Zamani, M. Sedighi, and Z. Sasanian, Reversible circuit synthesis using a cycle-based approach, J. Emerg. Technol. Comput. Syst., vol. 6, pp. 13:1 13:26, Dec. 2010. [14] R. Wille, M. Soeken, and R. Drechsler, Reducing the number of lines in reversible circuits, in Design Automation Conference (DAC), 2010 47th ACM/IEEE, pp. 647 652, 2010. [15] M. Krishna and A. Chattopadhyay, Efficient reversible logic synthesis via isomorphic subgraph matching, in Multiple-Valued Logic (ISMVL), 2014 IEEE 44th International Symposium on, pp. 103 108, May 2014. [16] M. Saeedi and M. S. Zamani and M. Sedighi, Moving forward: a nonsearch based synthesis method toward efficient CNOT-based quantum circuit synthesis algorithms, in Proceedings of the 2008 Asia and South Pacific Design Automation Conference (ASPDAC 2008), pp. 83 88, 2008. [17] P. Gupta, A. Agrawal, and N. Jha, An algorithm for synthesis of reversible logic circuits, in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 25, pp. 2317 2330,, 2006. [18] M. Sarkar, P. Ghosal and S. P. Mohanty, Reversible Circuit Synthesis Using ACO and SA Based Quine-McCluskey Method, in IEEE 56th International Midwest Symposium on Circuits and Systems (IEEE MWS- CAS), pp. 416 419, 2013. [19] D. E. Golberg, Genetic algorithms in search, optimization, and machine learning, Addion wesley, vol. 1989, 1989.