
We describe a design principle for adaptive systems under which adaptation is driven by particular challenges that the environment poses, as opposed to average or otherwise aggregated measures of performance over many challenges. We trace the development of this"particularity"approach from the use of lexicase selection in genetic programming to"particularist"approaches to other forms of machine learning and to the design of adaptive systems more generally.
For various evolutionary systems it was found that the abundance of phenotypes in a search space, defined as the size of their respective neutral networksNeutral networks, is key to understanding the trajectory an evolutionary process takes from an initial to a target solution. In this chapter we use a Linear Genetic Programming system to demonstrate that the abundance of phenotypes is determined by the combinatorics offered in its neutral components. This translates into the size of the neutral space available to a phenotype and also can explain the beautiful and rather curious observation that the abundance of phenotypes is dependent on their complexity in a negative exponential fashion.
Program synthesis with Genetic Programming searches for a correct program that satisfies the input specification, which is usually provided as input-output examples. One particular challenge is how to effectively handle loops and recursion avoiding programs that never terminate. A helpful abstraction that can alleviate this problem is the employment of Recursion Schemes that generalize the combination of data production and consumption. Recursion Schemes are very powerful as they allow the construction of programs that can summarize data, create sequences, and perform advanced calculations. The main advantage of writing a program using Recursion Schemes is that the programs are composed of well defined templates with only a few parts that need to be synthesized. In this paper we make an initial study of the benefits of using program synthesis with fold and unfold templates, and outline some preliminary experimental results. To highlight the advantages and disadvantages of this approach, we manually solved the entire GPSB benchmark using recursion schemes, highlighting the parts that should be evolved compared to alternative implementations. We noticed that, once the choice of which recursion scheme is made, the synthesis process can be simplified as each of the missing parts of the template are reduced to simpler functions, which are further constrained by their own input and output types.
Accurately predicting blood glucose levels in individuals with diabetes is essential for effectively managing and preventing complications. This paper explores the application of Grammatical Evolution, a genetic programming technique, for glucose prediction. It discusses how Grammatical Evolution has been employed in addressing various challenges related to glucose prediction, such as limited actual recorded data, prediction safety, interpretability of models, consideration of latent variables, and prognosis of hypoglycemia episodes. Building upon this research, the paper presents a comprehensive framework for glucose control that utilizes evolutionary techniques, primarily emphasizing structured grammatical evolution. The framework encompasses several stages, including data gathering, data augmentation, extraction of latent variability features, scenario clustering, structured grammatical evolution training, development of interpretable personal models, derivation of classification rules, glucose prediction, hypoglycemia alert, and glucose control. By harnessing the power of evolutionary algorithms, the framework optimizes model performance and adapts to individual patient characteristics. The proposed framework presents a promising approach to improve glucose monitoring and control, thereby contributing to better diabetes management and improved quality of life for patients.
In recent years, Large Language Models (LLMs)Large language models have rapidly progressed in their capabilities in natural language processing (NLP) tasks, which have interestingly grown in scope to include generating computer programs. Indeed, recent studies have demonstrated how LLMs can enable highly proficient genetic programming (GP) algorithms and novel evolutionary algorithms more broadly. Motivated by these opportunities, this paper introduces OpenELM, an open-source Python library for designing evolutionary algorithms that leverage LLMs to intelligently generate variation, as well as to assess fitness and measures of diversity. The library includes implementations of several variation operators, and is designed to accommodate those with limited compute resources, by enabling fast inference, being runnable through hosted notebooks (such as Google Colab), and allowing for API-based LLMs to be used instead of local models run on GPUs. Additionally, OpenELM includes a variety of domain implementations for easy experimentation and adaptation, including several GP domains. The hope is to help researchers easily develop new approaches and applications within the nascent and largely unexplored paradigm of evolutionary algorithms that leverage LLMs.