A benchmark suite for designing combinational logic circuits via metaheuristics
Introduction
Manually designing an efficient digital electronic circuit is a task that requires time and Boolean algebra expertise [1]. To assist this work, some deterministic algorithms can be found in the literature for Boolean functions minimization, such as the Quine–McCluskey [2] method and Karnaugh Maps [3]. However, these methods are limited in practice to problems with a small number of inputs variables, as the two-level logic minimization is an NP-complete problem [4]. Thus, circuits with a large number of variables have to be minimized with potentially non-optimal heuristic methods such as ESPRESSO [5].
ESPRESSO is a logic minimization software that uses a heuristic to efficiently reduce the complexity of logic circuits in terms of the number of logic gates. Instead of expanding the logic function in minterms, ESPRESSO manipulates “cubes” representing the product terms. There is no guarantee in finding the optimum solution, but usually, a reasonable solution is obtained. Compared to other traditional techniques, ESPRESSO is more efficient, as it requires lower memory usage and processing time.
On the other hand, evolutionary computing techniques applied to the evolution of digital circuits (Evolvable Hardware) have proved to be a competitive field, being able to find original designs and simplifications through association rules that are not commonly used by humans designers. However, this approach still faces scalability problems as the computational cost (notably the processing time) of the metaheuristics is strongly affected by the number of rows in the truth table, and this number grows exponentially with the number of inputs of the circuit.
Preliminary studies demonstrated that evolutionary computation techniques produce competitive results when compared to those created by using traditional methods, such as Karnaugh Maps and the Quine–McCluskey algorithm [6], [7], [8], [9]. However, these works only used digital circuits with a small number of variables (2–4 inputs and 1–3 outputs). Vasicek and Sekanina [10] were the first to evolve more complex benchmark circuits (8–41 inputs and 1–63 outputs), resulting in solutions with fewer logic gates when compared to common optimization methods. Still, there is a gap between the circuits from the literature and the real needs of the industry when it comes to the size of the circuits, mainly in terms of the number of inputs [11]. Hence, new algorithms are being developed to address known issues and improve existing methods [1], [12], [13].
The way that evolutionary computation techniques are analyzed in the literature is not uniform when it comes to the design and optimization of digital circuits. In each paper, the methods are compared to a particular set of problems, employing different objective functions and performance measurements. Only circuits with a small number of logic gates (3–4 inputs and 1–3 outputs) were designed in [14], where the optimization is broken in two steps: first, the absolute difference between the actual and the required output is minimized for finding a feasible solution; then, in the second step, the number of logic gates is minimized. Circuits with 3–16 inputs and 1–128 outputs were created in [15], and the techniques are evaluated regarding the number of generations required to find a feasible solution, the fitness function value, and the time required to solve the problem. The computational effort, the processing time, and the success rate when looking for feasible solutions were used in [10] to analyze the performance of the methods when applied to circuits with 8–41 inputs and 1–63 outputs. Circuits with up to 16 inputs and outputs were considered in [16], where the techniques were comparatively assessed concerning the number of objective function evaluations required to find a feasible solution and the success rate. Thus, it is possible to observe that there is no consensus on the set of problems for testing the techniques and the most appropriate metrics to measure the quality of these solutions. Also, the sets of logic gates supported by the search techniques are not the same among these works.
Due to these differences, the growing number of new proposals, and the widespread usage of evolutionary techniques for solving this type of problem, it is important to create and implement a new benchmark for the design of digital circuits. Thus, we propose here a benchmark suite to analyze and compare metaheuristics approaches for designing Combinational Logic Circuits (CLCs). This suite includes a set of digital logic circuits and the methodology for performance evaluation. The selected test-problems include circuits with different features (number of inputs, number of outputs, output balancing, and simplification ratio), covering a wide range of hardness degrees. The proposed methodology aims at helping the experimentation and the comparison among different methods for the evolutionary design of combinational logic circuits. Finally, we used Cartesian Genetic Programming (CGP) variants to illustrate the performance analysis of the results, as CGP is pointed out as the most efficient metaheuristic for the design and optimization of CLCs [17].
The remainder of this paper is organized as follows: Section 2 presents a review of the Evolvable Hardware literature, covering the techniques commonly used for the evolution of digital circuits. Section 3 introduces the CLC optimization problem addressed in this work. Section 4 presents the proposed benchmark suite, the selected test-problems, and the recommended performance evaluation methodology. Section 5 examines the Cartesian Genetic Programming and its methods for evolving digital circuits (this is the metaheuristic used in this paper for the computational experiments). Section 6 shows a case study using the proposed benchmark. Finally, Section 7 closes this paper with conclusions and future work.
Section snippets
Evolvable hardware and evolutionary design
Evolvable Hardware (EH) refers to the employment of Evolutionary Algorithms (EAs) and Bio-Inspired Algorithms (BIAs) for creating, optimizing, adapting, and repairing physical hardware designs [18]. The investigations on the use of evolutionary computation techniques for the design and optimization of digital circuits have their first milestone with Friedman in 1956 [19]. However, this field only began to receive more attention in 1993, with the work of Louis [7].
Koza [20] was the first author
The optimization problem
The optimization problem regarding the design of CLCs can be defined as: where is a candidate design, is the objective function, and is the th equality constraint. A candidate design is a CLC encoded in any suitable representation. In this paper, a Directed Acyclic Graph (DAG) is the representation used to encode the CLCs. This representation is adopted by CGP and will be described in Section 5.
The classical objective function for CLCs in the
The proposed benchmark
The proposed benchmark consists of a heterogeneous set of CLC test-problems with different characteristics along with the performance measurements and the methodology for comparing different metaheuristics.
Cartesian genetic programming (CGP)
Cartesian Genetic Programming [35] is a genetic programming technique proposed by Miller and widely used for designing digital circuits. As CGP presented good results for this type of problem when compared to other metaheuristics, this search method is used here to illustrate the comparative analyses over the proposed benchmark. Despite its initial intention of evolving digital circuits, CGP is nowadays applied in several areas, such as robot controllers [43], neural networks [44], and image
Computational experiments
Computational experiments were performed to illustrate the evaluation of search methods with the proposed benchmark. Four evolutionary techniques based on CGP were used, namely:
- •
SAM-R: CGP with SAM, starting with a randomly-generated initial individual;
- •
SG-R: CGP with SAM and GAM, starting with a randomly-generated initial individual;
- •
PM-E: CGP with PM, starting with the baseline circuit as the initial individual; and
- •
SAM-E: CGP with SAM, starting with the baseline circuit as the initial individual.
Concluding remarks and future works
The evolvable hardware literature is heterogeneous in both the characteristics of the problems and the metrics used to compare the methods. This article addresses the need to standardize not only the set of problems but also the way to comparatively evaluate the results. The benchmark suite proposed here aims to improve and facilitate the development of this research field.
In this proposal, a set of representative problems regarding the characteristics of the circuits are considered. They are
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Acknowledgments
The authors thank the financial support provided by FAPEMIG, Brazil (APQ-00337-18), CNPq, Brazil (312682/2018-2), and UFJF, Brazil . We also thank the reviewers for their valuable suggestions.
References (48)
- et al.
Constraint-handling in nature-inspired numerical optimization: Past, present and future
Swarm Evol. Comput.
(2011) An efficient constraint handling method for genetic algorithms
Comput. Methods Appl. Mech. Engrg.
(2000)- et al.
Cartesian genetic programming with crossover for designing combinational logic circuits
Minimization of boolean functions
Bell Labs Tech. J.
(1956)The map method for synthesis of combinational logic circuits
Trans. Amer. Inst. Electr. Eng. Part I: Commun. Electron.
(1953)- et al.
Complexity of two-level logic minimization
IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst.
(2006) - et al.
Logic Minimization Algorithms for VLSI Synthesis, Vol. 2
(1984) - et al.
Automated design of combinational logic circuits using genetic algorithms
Genetic Algorithms as a Computational Tool for Design
(1993)- et al.
Combinational and sequential logic optimisation using genetic algorithms
Designing electronic circuits using evolutionary algorithms. arithmetic circuits: A case study
How to evolve complex combinational circuits from scratch?
Bridging the gap between evolvable hardware and industry using Cartesian genetic programming
Automated circuit approximation method driven by data distribution
Biased mutation and tournament selection approaches for designing combinational logic circuits via Cartesian genetic programming
Proc. of the Encontro Nacional Intel. Artif. Comput. (ENIAC)
Evolutionary multiobjective design of combinational logic circuits
On evolution of relatively large combinational logic circuits
A novel efficient mutation for evolutionary design of combinational logic circuits
Evolutionary approach to approximate digital circuits design
IEEE Trans. Evol. Comput.
Evolvable hardware challenges: Past, present and the path to a promising future
Selective feedback computers for engineering synthesis and nervous system analogy
Genetic Programming II, Automatic Discovery of Reusable Subprograms
Ant colony system for the design of combinational logic circuits
Design of combinational logic circuits through an evolutionary multiobjective optimization approach
AI EDAM
Cited by (10)
SagTree: Towards efficient mutation in evolutionary circuit approximation
2022, Swarm and Evolutionary ComputationCitation Excerpt :Instead, state-of-the-art circuit approximation techniques based on CGP typically use standard CGP mutation operators to generate the offspring from the parent. This fact is also demonstrated by the existing benchmarks [8,15] including approximate circuits that were obtained using these operators. At the same time, specific search operators and search strategies have been proposed for various other applications of CGP (see, e.g., [16–21]).
Special Issue on Benchmarking of Computational Intelligence Algorithms in the Applied Soft Computing Journal
2020, Applied Soft Computing JournalAn adaptive mutation for cartesian genetic programming using an ϵ -greedy strategy
2023, Applied IntelligenceGeneral Boolean Function Benchmark Suite
2023, FOGA 2023 - Proceedings of the 17th ACM/SIGEVO Conference on Foundations of Genetic AlgorithmsDesign and Evaluation of Arithmetic and Logic Unit Using Simulated Annealing
2023, 2023 10th International Conference on Soft Computing and Machine Intelligence, ISCMI 2023Realization and Optimization of Combinational Circuits Using Simulated Annealing and Partitioning Approach
2023, IETE Journal of Research