Extensions of Cartesian Genetic Programming for Optimization of Complex Combinational Circuits

Extensions of Cartesian Genetic Programming for Optimization of Complex Combinational Circuits

106 Views

Download Presentation
## Extensions of Cartesian Genetic Programming for Optimization of Complex Combinational Circuits

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Extensions of Cartesian Genetic Programming for Optimization**of Complex Combinational Circuits 2011/9/23 Speaker: Ching-Yi Huang Authors: ZdenekVasicek and LucusSekanina Faulty of Information Technology Brno Unibersity of Technology Brno, Czech Republic**Outline**• Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion**Introduction**• Evaluation algorithms are typically applied to circuit and optimization with the aim of improving result of conventional methods • While the achievable quality of resulting design/optimization is usually very high, the computational time required is the main drawback**Introduction**• Cartesian Genetic Programming is one of the most powerful GP method for evolutionary circuit synthesis and optimization • Using standard CGP is not scalable mainly because the evaluation time grows exponentially with increasing number of circuit inputs**Genetic Algorithm**• Genetic algorithms belong to the larger class of evolutionary algorithms (EA) • In a genetic algorithm, a population of strings (called chromosomes or the genotype of the genome), which encode candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem, evolves toward better solutions**Genetic Algorithm**• Initialization • Selection • evaluated by fitness function • Reproduction • crossover, mutation • Termination**This work**• Improved CGP, which combines • Advanced selection strategy - “An Efficient Selection strategy for Digital Circuit Evolution” [1] • Fast equivalence checking-based fitness function - “A Global Postsynthesis Optimization Method for Combinational Circuits” [2] [1] Z. Gajda and L. Sekanina, “An efficient selection strategy for digital circuit evolution,” in Evolvable Systems: From Biology to Hardware, ser. LNCS 6274. Springer Verlag, 2010, pp. 13–24. [2] Z. Vasicek and L. Sekanina, “A global postsynthesis optimization method for combinational circuits,” in Proc. of the Design, Automation and Test in Europe, DATE. IEEE Computer Society, 2011, pp. 1525– 1528.**Outline**• Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion**Cartesian Genetic Programming**• Cartesian Genetic Programming (CGP) • P = {G, ni, no, nn, F, nf, nr, nc, l} • G: genotype itself • ni: number of inputs • no: number of outputs • nn: number of node input connections • F: functions • nf: number of functions • nr: number of rows • nc: number of columns • l: levels back parameter**Cartesian Genetic Programming**Genotype • P = {G, ni, no, nn, F, nf, nr, nc, l} • G: genotype itself • ni: number of inputs • no: number of outputs • nn: number of node input connections • F: functions • nf: number of functions • nr: number of rows • nc: number of columns • l: levels back parameter • ni=6, no=3, nn=3, F={0,1,2}, nf=3, nr=3, nc=4, l=2 Length of genotype is nrnc(nn+1)+ no Phenotype**Cartesian Genetic Programming (in this work)**• A candidate entity(circuit) is modeled as an array of nc × nr programmable nodes(gates) • ni: number of inputs • no:Number of outputs • l-back parameter • na :numbers of the function inputs • Г: function set; nf: | Г | • If nr=1 and l =nc, full connectivity is enabled.**Cartesian Genetic Programming (in this work)**• nc =3 nr =2, ni=3, no=2, na =2, l=3 • Г={NOR(1), XOR(2), AND(3), NAND(4), NOT(5)}**Cartesian Genetic Programming (in this work)**• Initial: randomly of heuristic • Operation: • One point mutation operator which modifies h randomly selected genes of the chromosome (h is the user-defined value) • Population : 1+λ individuals (λ :1~20) which consists of the best individual of the previous population and its λ offspring.**Cartesian Genetic Programming**• Selection of the parent • In case when two or more individuals can serve as the parent, the individual which has not served as the parent in the previous generation will be selected as the new parent**Cartesian Genetic Programming**• Fitness function • b:the number of correct output bits obtained as response for all possible assignments to the inputs • z: the number of gates utilized • ncnr: total number of available gates • (ncnr-z) is considered only if b=bmax=n02ni f it1= b when b<n02ni, b + (ncnr-z) otherwise,**Outline**• Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion**Proposed Selection Mechanism**• Original: • If fx ≥fp, x will become a new parental solution p • If (fy < fp) and fy ≥bmax, y will be discarded • Highest-scored individual is always preserved**Proposed Selection Mechanism**• New: • Only when β(best individual) ≥bmax • x1…xλ are individuals created from p (parental individual) β ‘= β when fβ≥ xi, i =1 … λ xj otherwise, p‘= p when alli, i =1 … λ:fxi<bmax xj otherwise,**Outline**• Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion**New Fitness Evaluation**• Original • Time-consuming f it1= b when b<n02ni, b + (ncnr-z) otherwise,**New Fitness Evaluation**• New • SAT-based equivalence checking • SAT solvers assume that the equivalence checking problem is expressed using Boolean formula φ in conjunctive normal form • Transformed by Tseitin’s algorithm • Each gate is converted to the CNF according to**New Fitness Evaluation**• Miter • Satisfiable = unequivalent = fitness function returns 0 • Otherwise, return the number of utilized gates**New Fitness Evaluation**• Utilize knowledge of the dissimilarities between the reference circuit and checked circuit to reduce the size of CNF**New Fitness Evaluation**• 14+2XOR+1OR => 7+1XOR**Outline**• Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion**Experimental Results**• Method A utilized standard CGP and a fast SAT-based fitness function • Method B utilized CGP with modified selection strategy and a fast SAT-based fitness function • Benchmark: Optimized LGSynth 93 benchmarks by 100 iterative applications of a conventional synthesis conducted using ABC • 50 independent 12-hour runs • λ=2, l=nc=Ng, h=2, nr =1**10 vs 11(smaller size)**NDM: non-destructive mutations. i.e. neutral-to-fitness and fitness-improving mutations**Outline**• Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion**Contribution and Conclusion**• Their conclusion • Modified selection strategy leads to more compact circuit in roughly 50% cases • The utilized equivalence checking algorithm in the fitness function that allows significant reduction of the computation time.**Contribution and Conclusion**• My opinion