1 / 34

Extensions of Cartesian Genetic Programming for Optimization of Complex Combinational Circuits

Extensions of Cartesian Genetic Programming for Optimization of Complex Combinational Circuits. 2011/9/23 Speaker: Ching -Yi Huang Authors: Zdenek Vasicek and Lucus Sekanina Faulty of Information Technology Brno Unibersity of Technology Brno, Czech Republic. Outline. Introduction

Download Presentation

Extensions of Cartesian Genetic Programming for Optimization of Complex Combinational Circuits

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion

  3. 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

  4. 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

  5. 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

  6. Genetic Algorithm • Initialization • Selection • evaluated by fitness function • Reproduction • crossover, mutation • Termination

  7. 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.

  8. Outline • Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion

  9. 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

  10. 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

  11. 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.

  12. 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)}

  13. 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.

  14. 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

  15. 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,

  16. Outline • Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion

  17. 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

  18. 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,

  19. Outline • Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion

  20. New Fitness Evaluation • Original • Time-consuming f it1= b when b<n02ni, b + (ncnr-z) otherwise,

  21. 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

  22. New Fitness Evaluation • Miter • Satisfiable = unequivalent = fitness function returns 0 • Otherwise, return the number of utilized gates

  23. New Fitness Evaluation • Utilize knowledge of the dissimilarities between the reference circuit and checked circuit to reduce the size of CNF

  24. New Fitness Evaluation • 14+2XOR+1OR => 7+1XOR

  25. Outline • Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion

  26. 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

  27. 10 vs 11(smaller size) NDM: non-destructive mutations. i.e. neutral-to-fitness and fitness-improving mutations

  28. Outline • Introduction • Cartesian Genetic Programming (CGP) • A new selection mechanism of CGP • Extend CGP with a new fitness evaluation • Experimental results • Conclusion

  29. 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.

  30. Contribution and Conclusion • My opinion

  31. Thanks

More Related