# Evolving Multi-Output Digital Circuits Using Multi-Genome Grammatical Evolution
## 6 Conclusions and Future Work  
In this work, we presented a Multi-Genome Grammatical Evolution implementation and demonstrated that it is better suited for solving multi-output (or multi-target) problems than standard Grammatical Evolution. Genetic operators, mappers and initialisation routines have been adapted to work with the new genome representation. Custom grammar syntax rules, together with a cyclic dependency-checking algorithm, have been developed to facilitate the evolution of inter-output dependencies. A new wrapping operator called Perfect Wrapping has been developed to ensure every single Multi-Genome Grammatical Evolution mapping event creates a valid executable object. Despite the success of Multi-Genome Grammatical Evolution on the benchmark circuit problems used, there are several open questions and further experiments that need to be conducted. For example, the best mutation and crossover events for the genetic operators adapted for Multi-Genome Grammatical Evolution need to be investigated. We need to develop more intelligent algorithms to help Multi-Genome Grammatical Evolution evolve very complex-output dependencies that may exist in other multi-output benchmark problems. Furthermore, the limitations of output variable dependency feature mentioned in Section 5.1 needs to be improved to allow output variables that, when used by other output variables, contribute to increasing their fitness value. Finally, Multi-Genome Grammatical Evolution has the potential to be applied to application domains other than the digital circuit domain. First, Multi-Genome Grammatical Evolution can be used to evolve the single dependent variable and several independent variables before performing multiple regression analysis to combine these variables to predict the target variable. Second, Multi-Genome Grammatical Evolution can be applied to multi-output classification problems. Finally, Multi-Genome Grammatical Evolution was applied to single-output problems that can be decomposed, however, Multi-Genome Grammatical Evolution should be applicable to multi-output problems. However, certain application domains may require several features of Multi-Genome Grammatical Evolution to be customised, such as the substitution operator and mapping mechanism. Conceptualization, M.T. ; methodology, M.T. and C.R. ; software, M.T. and A.d.L. ; validation, M.T., C.R., A.M. and D.M.D. ; formal analysis, M.T. and A.M.; investigation, M.T. and C.R. ; resources, C.R. ; data curation, M.T. ; writing--original draft preparation, M.T., A.d.L. and J.M. writing--review and editing, C.R., D.M.D. and A.M.; visualization, M.T. ; supervision, C.R. ; project administration, M.T. and C.R. ; funding acquisition, C.R. All authors have read and agreed to the published version of the manuscript. The authors are supported by Research Grant 16/IA/4605 from the Science Foundation Ireland and by Lero, the Irish Software Engineering Research Centre. The fourth author is supported, in part, by Science Foundation Ireland grant 20/FFP-P/8818. **Data Availability Statement:** Not applicable. **Conflicts of Interest:** The authors declare no conflict of interest. Appendix A Listing A1. 5-bit + 5-bit Adder Grammar with Output Variable Sharing. Output variable sharing is enabled by making an output variable rule non-terminal a production of \(\langle\)expr-*\(\rangle\) rules as highlighted in the grammar.