23 research outputs found

    Data types as a more ergonomic frontend for Grammar-Guided Genetic Programming

    Full text link
    Genetic Programming (GP) is an heuristic method that can be applied to many Machine Learning, Optimization and Engineering problems. In particular, it has been widely used in Software Engineering for Test-case generation, Program Synthesis and Improvement of Software (GI). Grammar-Guided Genetic Programming (GGGP) approaches allow the user to refine the domain of valid program solutions. Backus Normal Form is the most popular interface for describing Context-Free Grammars (CFG) for GGGP. BNF and its derivatives have the disadvantage of interleaving the grammar language and the target language of the program. We propose to embed the grammar as an internal Domain-Specific Language in the host language of the framework. This approach has the same expressive power as BNF and EBNF while using the host language type-system to take advantage of all the existing tooling: linters, formatters, type-checkers, autocomplete, and legacy code support. These tools have a practical utility in designing software in general, and GP systems in particular. We also present Meta-Handlers, user-defined overrides of the tree-generation system. This technique extends our object-oriented encoding with more practicability and expressive power than existing CFG approaches, achieving the same expressive power of Attribute Grammars, but without the grammar vs target language duality. Furthermore, we evidence that this approach is feasible, showing an example Python implementation as proof. We also compare our approach against textual BNF-representations w.r.t. expressive power and ergonomics. These advantages do not come at the cost of performance, as shown by our empirical evaluation on 5 benchmarks of our example implementation against PonyGE2. We conclude that our approach has better ergonomics with the same expressive power and performance of textual BNF-based grammar encodings

    PonyGE2: Grammatical Evolution in Python

    Full text link
    Grammatical Evolution (GE) is a population-based evolutionary algorithm, where a formal grammar is used in the genotype to phenotype mapping process. PonyGE2 is an open source implementation of GE in Python, developed at UCD's Natural Computing Research and Applications group. It is intended as an advertisement and a starting-point for those new to GE, a reference for students and researchers, a rapid-prototyping medium for our own experiments, and a Python workout. As well as providing the characteristic genotype to phenotype mapping of GE, a search algorithm engine is also provided. A number of sample problems and tutorials on how to use and adapt PonyGE2 have been developed.Comment: 8 pages, 4 figures, submitted to the 2017 GECCO Workshop on Evolutionary Computation Software Systems (EvoSoft

    On the Use of Dynamic GP Fitness Cases in Static and Dynamic Optimisation Problems

    Get PDF
    In Genetic Programming (GP), the fitness of individuals is normally computed by using a set of fitness cases (FCs). Research on the use of FCs in GP has primarily focused on how to reduce the size of these sets. However, often, only a small set of FCs is available and there is no need to reduce it. In this work, we are interested in using the whole FCs set, but rather than adopting the commonly used GP approach of presenting the entire set of FCs to the system from the beginning of the search, referred as static FCs, we allow the GP system to build it by aggregation over time, named as dynamic FCs, with the hope to make the search more amenable. Moreover, there is no study on the use of FCs in Dynamic Optimisation Problems (DOPs). To this end, we also use the Kendall Tau Distance (KTD) approach, which quantifies pairwise dissimilarities among two lists of fitness values. KTD aims to capture the degree of a change in DOPs and we use this to promote structural diversity. Results on eight symbolic regression functions indicate that both approaches are highly beneficial in GP

    AutoOC: Automated multi-objective design of deep autoencoders and one-class classifiers using grammatical evolution

    Get PDF
    One-Class Classification (OCC) corresponds to a subclass of unsupervised Machine Learning (ML) that is valuable when labeled data is non-existent. In this paper, we present AutoOC, a computationally efficient Grammatical Evolution (GE) approach that automatically searches for OCC models. AutoOC assumes a multi-objective optimization, aiming to increase the OCC predictive performance while reducing the ML training time. AutoOC also includes two execution speedup mechanisms, a periodic training sampling, and a multi-core fitness evaluation. In particular, we study two AutoOC variants: a pure Neuroevolution (NE) setup that optimizes two types of deep learning models, namely dense Autoencoder (AE) and Variational Autoencoder (VAE); and a general Automated Machine Learning (AutoML) ALL setup that considers five distinct OCC base learners, specifically Isolation Forest (IF), Local Outlier Factor (LOF), One-Class SVM (OC-SVM), AE and VAE. Several experiments were conducted, using eight public OpenML datasets and two validation scenarios (unsupervised and supervised). The results show that AutoOC requires a reasonable amount of execution time and tends to obtain lightweight OCC models. Moreover, AutoOC provides quality predictive results, outperforming a baseline IF for all analyzed datasets and surpassing the best supervised OpenML human modeling for two datasets.- (undefined

    Weighted Hierarchical Grammatical Evolution

    Get PDF
    Grammatical evolution (GE) is one of the most widespread techniques in evolutionary computation. Genotypes in GE are bit strings while phenotypes are strings, of a language defined by a user-provided context-free grammar. In this paper, we propose a novel procedure for mapping genotypes to phenotypes that we call weighted hierarchical GE (WHGE). WHGE imposes a form of hierarchy on the genotype and encodes grammar symbols with a varying number of bits based on the relative expressive power of those symbols. WHGE does not impose any constraint on the overall GE framework, in particular, WHGE may handle recursive grammars, uses the classical genetic operators, and does not need to define any bound in advance on the size of phenotypes. We assessed experimentally our proposal in depth on a set of challenging and carefully selected benchmarks, comparing the results of the standard GE framework as well as two of the most significant enhancements proposed in the literature: 1) position-independent GE and 2) structured GE. Our results show that WHGE delivers very good results in terms of fitness as well as in terms of the properties of the genotype-phenotype mapping procedure

    Towards the Conceptualization of Refinement Typed Genetic Programming

    Get PDF
    Tese de mestrado, Engenharia Informática (Engenharia de Software) Universidade de Lisboa, Faculdade de Ciências, 2020The Genetic Programming (GP) approaches typically have difficulties dealing with the large search space as the number of language components grows. The increasing number of components leads to amore extensive search space and lengthens the time required to find a fitting solution. Strongly Typed Genetic Programming (STGP) tries to reduce the search space using the programming language type system, only allowing typesafe programs to be generated. Grammar Guided Genetic Programming (GGGP) allows the user to specify the program’s structure through grammar, reducing the number of combinations between the language components. However, the STGP restriction of the search space is still not capable of holding the increasing number of synthesis components, and the GGGP approach is arguably usable since it requires the user to create not only a parser and interpreter for the generated expressions from the grammar, but also all the functions existing in the grammar. This work proposes Refinement Typed Genetic Programming (RTGP), a hybrid approach between STGP and RTGP, which uses refinement types to reduce the search space while maintaining the language usability properties. This work introduces the ÆON programming language, which allows the partial or total synthesis of refinement typed programs using genetic programming. The potential of RTGP is presented with the usability arguments on two use cases against GGGP and the creation of a prototype propertybased verification tool, pyCheck, proof of RTGPs components versatility

    Bioinformatics Applications Based On Machine Learning

    Get PDF
    The great advances in information technology (IT) have implications for many sectors, such as bioinformatics, and has considerably increased their possibilities. This book presents a collection of 11 original research papers, all of them related to the application of IT-related techniques within the bioinformatics sector: from new applications created from the adaptation and application of existing techniques to the creation of new methodologies to solve existing problems

    Hotspots in the grid: Avian sensitivity and vulnerability to collision risk from energy infrastructure interactions in Europe and North Africa

    Get PDF
    Wind turbines and power lines can cause bird mortality due to collision or electrocution. The biodiversity impacts of energy infrastructure (EI) can be minimised through effective landscape-scale planning and mitigation. The identification of high-vulnerability areas is urgently needed to assess potential cumulative impacts of EI while supporting the transition to zero carbon energy. We collected GPS location data from 1,454 birds from 27 species susceptible to collision within Europe and North Africa and identified areas where tracked birds are most at risk of colliding with existing EI. Sensitivity to EI development was estimated for wind turbines and power lines by calculating the proportion of GPS flight locations at heights where birds were at risk of collision and accounting for species' specific susceptibility to collision. We mapped the maximum collision sensitivity value obtained across all species, in each 5 × 5 km grid cell, across Europe and North Africa. Vulnerability to collision was obtained by overlaying the sensitivity surfaces with density of wind turbines and transmission power lines. Results: Exposure to risk varied across the 27 species, with some species flying consistently at heights where they risk collision. For areas with sufficient tracking data within Europe and North Africa, 13.6% of the area was classified as high sensitivity to wind turbines and 9.4% was classified as high sensitivity to transmission power lines. Sensitive areas were concentrated within important migratory corridors and along coastlines. Hotspots of vulnerability to collision with wind turbines and transmission power lines (2018 data) were scattered across the study region with highest concentrations occurring in central Europe, near the strait of Gibraltar and the Bosporus in Turkey. Synthesis and applications. We identify the areas of Europe and North Africa that are most sensitive for the specific populations of birds for which sufficient GPS tracking data at high spatial resolution were available. We also map vulnerability hotspots where mitigation at existing EI should be prioritised to reduce collision risks. As tracking data availability improves our method could be applied to more species and areas to help reduce bird-EI conflicts
    corecore