105 research outputs found
A study on the deployment of GA in a grid computing framework
Dissertação de Mestrado, Engenharia Informática, Faculdade de Ciências e Tecnologia, Universidade do Algarve, 2015Os algoritmos genéticos (AG) desempenham um papel importante na resolução de muitos problemas de otimização, incluindo científicos, económicos e socialmente relevantes. Os AGs, conjuntamente com a programação genética (PG), a programação evolutiva (PE), e as estratégias de evolução, são as principais classes de algoritmos evolutivos (AEs), ou seja, algoritmos que simulam a evolução natural. Em aplicações do mundo real o tempo de execução dos AGs pode ser computacionalmente exigente, devido, principalmente, aos requerimentos relacionados com o tamanho da população. Este problema pode ser atenuado através da paralelização, que pode levar a GAs mais rápidos e com melhor desempenho. Embora a maioria das implementações existentes de Algoritmos Genéticos Paralelos (AGPs) utilize clusters ou processamento massivamente paralelo (PMP), a computação em grid é economicamente relevante (uma grid pode ser construída utilizando computadores obsoletos) e tem algumas vantagens sobre os clusters, como por exemplo a não existência de controlo centralizado, segurança e acesso a recursos heterogéneos distribuídos em organizações virtuais dinâmicas em todo o mundo. Esta investigação utiliza o problema do mundo real denominado de Problema do Caixeiro Viajante (PCV) como referência (benchmark) para a paralelização de AGs numa infraestrutura de computação em grid. O PCV é um problema NP-difícil de otimização combinatória, bem conhecido, que pode ser formalmente descrito como o problema de encontrar, num grafo, o ciclo hamiltoniano mais curto. De facto, muitos problemas de roteamento, produção e escalonamento encontrados na engenharia, na indústria e outros tipos de negócio, podem ser equiparados ao PCV, daí a sua importância. Informalmente, o problema pode ser descrito da seguinte forma: Um vendedor tem um grande número de cidades para visitar e precisa encontrar o caminho mais curto para visitar todas as cidades, sem revisitar nenhuma delas. A principal dificuldade em encontrar as melhores soluções para o PCV é o grande número de caminhos possíveis; (n-1)! / 2 para um caminho de n cidades simétricas. À medida que o número de cidades aumenta, o número de caminhos possíveis também aumenta de uma forma fatorial. O PCV é, portanto, computacionalmente intratável, justificando plenamente a utilização de um método de otimização estocástica, como os AGs. No entanto, mesmo um algoritmo de otimização estocástica pode demorar demasiado tempo para calcular, à medida que o tamanho do problema aumenta. Num AG para grandes populações, o tempo necessário para resolver o problema pode até ser excessivamente longo. Uma forma de acelerar tais algoritmos é usar recursos adicionais, tais como elementos adicionais de processamento funcionando em paralelo e colaborando para encontrar a solução. Isto leva a implementações simultâneas de AGs, adequadas para a implementação em recursos colaborando em paralelo e/ou de forma distribuída. Os Algoritmos evolutivos paralelos (AEPs) destinam-se a implementar algoritmos mais rápidos e com melhor desempenho, usando populações estruturadas, ou seja, distribuições espaciais dos indivíduos. Uma das maneiras possíveis de descentralizar a população é distribuí-la por um conjunto de nós de processamento (ilhas) que trocam periodicamente (migram) potenciais soluções; o chamado modelo de ilhas. O modelo de ilhas permite um número considerável de topologias de migração e, pela Informação que foi possível apurar, há uma carência de trabalhos de investigação sobre a comparação dessas topologias de migração, ao implementar AEPs em infraestruturas de computação em grid. De facto, a comparação de topologias de migração, utilizando uma infraestrutura de computação em grid, como proposto neste trabalho, parece não estar disponível na literatura. Esta comparação tem como objetivo fornecer uma resposta tecnicamente sólida para a questão de investigação:
Qual é a topologia, de modelo de ilhas, mais rápida para resolver instâncias do PCV usando um algoritmo genético baseado em ordem, num ambiente de computação em grid, heterogéneo e distribuído, sem uma perda significativa de fitness, comparativamente com a implementação sequencial e panmítica do mesmo algoritmo?
Uma hipótese para responder à questão de investigação pode ser expressa da seguinte forma:
Para resolver instâncias TSP, usando um algoritmo genético baseado em ordem, num ambiente de computação em grid, heterogéneo e distribuído, sem uma perda significativa de fitness, comparativamente com a implementação sequencial e panmítica do mesmo algoritmo, escolha qualquer uma das topologias coordenadas do modelo de ilhas, de entre as topologias testadas (estrela, roda, árvore, matriz totalmente conectada, árvore-anel, anel) com o maior número de nós possível (mesmo os mais lentos) e selecione a frequência de migração g que otimiza o tempo de execução para a topologia escolhida. A metodologia de investigação é essencialmente experimental, observando e analisando o comportamento do algoritmo ao alterar as propriedades do modelo de ilhas. Os resultados mostram que o AG é acelerado quando implementado num ambiente grid, mantendo a qualidade dos resultados obtidos na versão sequencial. Além disso, mesmo os computadores obsoletos podem ser usados como nós contribuindo para acelerar o tempo de execução do algoritmo. Este trabalho também discute a adequação de uma abordagem assíncrona para a implementação do AG num ambiente de computação em grid
A study on the deployment of GA in a grid computing framework
Dissertação de Mestrado, Engenharia Informática, Faculdade de Ciências e Tecnologia, Universidade do Algarve, 2015Os algoritmos genéticos (AG) desempenham um papel importante na resolução de muitos problemas de otimização, incluindo científicos, económicos e socialmente relevantes. Os AGs, conjuntamente com a programação genética (PG), a programação evolutiva (PE), e as estratégias de evolução, são as principais classes de algoritmos evolutivos (AEs), ou seja, algoritmos que simulam a evolução natural. Em aplicações do mundo real o tempo de execução dos AGs pode ser computacionalmente exigente, devido, principalmente, aos requerimentos relacionados com o tamanho da população. Este problema pode ser atenuado através da paralelização, que pode levar a GAs mais rápidos e com melhor desempenho. Embora a maioria das implementações existentes de Algoritmos Genéticos Paralelos (AGPs) utilize clusters ou processamento massivamente paralelo (PMP), a computação em grid é economicamente relevante (uma grid pode ser construída utilizando computadores obsoletos) e tem algumas vantagens sobre os clusters, como por exemplo a não existência de controlo centralizado, segurança e acesso a recursos heterogéneos distribuídos em organizações virtuais dinâmicas em todo o mundo. Esta investigação utiliza o problema do mundo real denominado de Problema do Caixeiro Viajante (PCV) como referência (benchmark) para a paralelização de AGs numa infraestrutura de computação em grid. O PCV é um problema NP-difícil de otimização combinatória, bem conhecido, que pode ser formalmente descrito como o problema de encontrar, num grafo, o ciclo hamiltoniano mais curto. De facto, muitos problemas de roteamento, produção e escalonamento encontrados na engenharia, na indústria e outros tipos de negócio, podem ser equiparados ao PCV, daí a sua importância. Informalmente, o problema pode ser descrito da seguinte forma: Um vendedor tem um grande número de cidades para visitar e precisa encontrar o caminho mais curto para visitar todas as cidades, sem revisitar nenhuma delas. A principal dificuldade em encontrar as melhores soluções para o PCV é o grande número de caminhos possíveis; (n-1)! / 2 para um caminho de n cidades simétricas. À medida que o número de cidades aumenta, o número de caminhos possíveis também aumenta de uma forma fatorial. O PCV é, portanto, computacionalmente intratável, justificando plenamente a utilização de um método de otimização estocástica, como os AGs. No entanto, mesmo um algoritmo de otimização estocástica pode demorar demasiado tempo para calcular, à medida que o tamanho do problema aumenta. Num AG para grandes populações, o tempo necessário para resolver o problema pode até ser excessivamente longo. Uma forma de acelerar tais algoritmos é usar recursos adicionais, tais como elementos adicionais de processamento funcionando em paralelo e colaborando para encontrar a solução. Isto leva a implementações simultâneas de AGs, adequadas para a implementação em recursos colaborando em paralelo e/ou de forma distribuída. Os Algoritmos evolutivos paralelos (AEPs) destinam-se a implementar algoritmos mais rápidos e com melhor desempenho, usando populações estruturadas, ou seja, distribuições espaciais dos indivíduos. Uma das maneiras possíveis de descentralizar a população é distribuí-la por um conjunto de nós de processamento (ilhas) que trocam periodicamente (migram) potenciais soluções; o chamado modelo de ilhas. O modelo de ilhas permite um número considerável de topologias de migração e, pela Informação que foi possível apurar, há uma carência de trabalhos de investigação sobre a comparação dessas topologias de migração, ao implementar AEPs em infraestruturas de computação em grid. De facto, a comparação de topologias de migração, utilizando uma infraestrutura de computação em grid, como proposto neste trabalho, parece não estar disponível na literatura. Esta comparação tem como objetivo fornecer uma resposta tecnicamente sólida para a questão de investigação:
Qual é a topologia, de modelo de ilhas, mais rápida para resolver instâncias do PCV usando um algoritmo genético baseado em ordem, num ambiente de computação em grid, heterogéneo e distribuído, sem uma perda significativa de fitness, comparativamente com a implementação sequencial e panmítica do mesmo algoritmo?
Uma hipótese para responder à questão de investigação pode ser expressa da seguinte forma:
Para resolver instâncias TSP, usando um algoritmo genético baseado em ordem, num ambiente de computação em grid, heterogéneo e distribuído, sem uma perda significativa de fitness, comparativamente com a implementação sequencial e panmítica do mesmo algoritmo, escolha qualquer uma das topologias coordenadas do modelo de ilhas, de entre as topologias testadas (estrela, roda, árvore, matriz totalmente conectada, árvore-anel, anel) com o maior número de nós possível (mesmo os mais lentos) e selecione a frequência de migração g que otimiza o tempo de execução para a topologia escolhida. A metodologia de investigação é essencialmente experimental, observando e analisando o comportamento do algoritmo ao alterar as propriedades do modelo de ilhas. Os resultados mostram que o AG é acelerado quando implementado num ambiente grid, mantendo a qualidade dos resultados obtidos na versão sequencial. Além disso, mesmo os computadores obsoletos podem ser usados como nós contribuindo para acelerar o tempo de execução do algoritmo. Este trabalho também discute a adequação de uma abordagem assíncrona para a implementação do AG num ambiente de computação em grid
INVESTIGATIONS INTO THE COGNITIVE ABILITIES OF ALTERNATE LEARNING CLASSIFIER SYSTEM ARCHITECTURES
The Learning Classifier System (LCS) and its descendant, XCS, are promising paradigms for machine learning design and implementation. Whereas LCS allows classifier payoff predictions to guide system performance, XCS focuses on payoff-prediction accuracy instead, allowing it to evolve optimal classifier sets in particular applications requiring rational thought. This research examines LCS and XCS performance in artificial situations with broad social/commercial parallels, created using the non-Markov Iterated Prisoner\u27s Dilemma (IPD) game-playing scenario, where the setting is sometimes asymmetric and where irrationality sometimes pays. This research systematically perturbs a conventional IPD-playing LCS-based agent until it results in a full-fledged XCS-based agent, contrasting the simulated behavior of each LCS variant in terms of a number of performance measures. The intent is to examine the XCS paradigm to understand how it better copes with a given situation (if it does) than the LCS perturbations studied.Experiment results indicate that the majority of the architectural differences do have a significant effect on the agents\u27 performance with respect to the performance measures used in this research. The results of these competitions indicate that while each architectural difference significantly affected its agent\u27s performance, no single architectural difference could be credited as causing XCS\u27s demonstrated superiority in evolving optimal populations. Instead, the data suggests that XCS\u27s ability to evolve optimal populations in the multiplexer and IPD problem domains result from the combined and synergistic effects of multiple architectural differences.In addition, it is demonstrated that XCS is able to reliably evolve the Optimal Population [O] against the TFT opponent. This result supports Kovacs\u27 Optimality Hypothesis in the IPD environment and is significant because it is the first demonstrated occurrence of this ability in an environment other than the multiplexer and Woods problem domains.It is therefore apparent that while XCS performs better than its LCS-based counterparts, its demonstrated superiority may not be attributed to a single architectural characteristic. Instead, XCS\u27s ability to evolve optimal classifier populations in the multiplexer problem domain and in the IPD problem domain studied in this research results from the combined and synergistic effects of multiple architectural differences
Evolutionary algorithm-based analysis of gravitational microlensing lightcurves
A new algorithm developed to perform autonomous fitting of gravitational
microlensing lightcurves is presented. The new algorithm is conceptually
simple, versatile and robust, and parallelises trivially; it combines features
of extant evolutionary algorithms with some novel ones, and fares well on the
problem of fitting binary-lens microlensing lightcurves, as well as on a number
of other difficult optimisation problems. Success rates in excess of 90% are
achieved when fitting synthetic though noisy binary-lens lightcurves, allowing
no more than 20 minutes per fit on a desktop computer; this success rate is
shown to compare very favourably with that of both a conventional (iterated
simplex) algorithm, and a more state-of-the-art, artificial neural
network-based approach. As such, this work provides proof of concept for the
use of an evolutionary algorithm as the basis for real-time, autonomous
modelling of microlensing events. Further work is required to investigate how
the algorithm will fare when faced with more complex and realistic microlensing
modelling problems; it is, however, argued here that the use of parallel
computing platforms, such as inexpensive graphics processing units, should
allow fitting times to be constrained to under an hour, even when dealing with
complicated microlensing models. In any event, it is hoped that this work might
stimulate some interest in evolutionary algorithms, and that the algorithm
described here might prove useful for solving microlensing and/or more general
model-fitting problems.Comment: 14 pages, 3 figures; accepted for publication in MNRA
Recommended from our members
Intelligent joint channel parameter estimation techniques for mobile wireless positioning applications
This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University.Mobile wireless positioning has recently received great attention. For mobile wireless
communication networks, an inherently suitable approach is to obtain the parameters
that are used for positioning estimates from the radio signal measurements between a
mobile device and one or more xed base stations. However, obtaining accurate estimates of these location-dependent channel parameters is a challenging task. The focus of this thesis is on the estimation of these channel parameters for mobile wireless positioning
applications. In particular, we investigate novel estimators that jointly estimate
more than one type of channel parameters. We rst perform a comprehensive critical
review on the most recent and popular joint channel parameter estimation techniques.
Secondly, we improve a state-of-the-art technique, namely the Space Alternating Generalised Expectation maximisation (SAGE) algorithm by employing adaptive interference
cancellation to improve the estimation accuracy of weaker paths. Thirdly, a novel intelligent channel parameter estimation technique using Evolution Strategy (ES) is proposed to overcome the drawbacks of the existing iterative maximum likelihood methods. Furthermore, given that in reality it is di cult to obtain the number of multipath in advance, we propose a two tier Hierarchically Organised ES to jointly estimate the number of multipath as well as the channel parameters. Finally, we extend the proposed ES method to further estimate the Doppler shift in mobile environments. Our proposed intelligent joint channel estimation techniques are shown to exhibit excellent performance even with low Signal to Noise Ratio (SNR) channel conditions as well as robust against uncertainties in initialisations.EPSRC and Cambridge Silicon Radi
Never Too Old To Learn: On-line Evolution of Controllers in Swarm- and Modular Robotics
Eiben, A.E. [Promotor
A Field Guide to Genetic Programming
xiv, 233 p. : il. ; 23 cm.Libro ElectrónicoA Field Guide to Genetic Programming (ISBN 978-1-4092-0073-4) is an introduction to genetic programming (GP). GP is a systematic, domain-independent method for getting computers to solve problems automatically starting from a high-level statement of what needs to be done. Using ideas from natural evolution, GP starts from an ooze of random computer programs, and progressively refines them through processes of mutation and sexual recombination, until solutions emerge. All this without the user having to know or specify the form or structure of solutions in advance. GP has generated a plethora of human-competitive results and applications, including novel scientific discoveries and patentable inventions. The authorsIntroduction --
Representation, initialisation and operators in Tree-based GP --
Getting ready to run genetic programming --
Example genetic programming run --
Alternative initialisations and operators in Tree-based GP --
Modular, grammatical and developmental Tree-based GP --
Linear and graph genetic programming --
Probalistic genetic programming --
Multi-objective genetic programming --
Fast and distributed genetic programming --
GP theory and its applications --
Applications --
Troubleshooting GP --
Conclusions.Contents
xi
1 Introduction
1.1 Genetic Programming in a Nutshell
1.2 Getting Started
1.3 Prerequisites
1.4 Overview of this Field Guide I
Basics
2 Representation, Initialisation and GP
2.1 Representation
2.2 Initialising the Population
2.3 Selection
2.4 Recombination and Mutation Operators in Tree-based
3 Getting Ready to Run Genetic Programming 19
3.1 Step 1: Terminal Set 19
3.2 Step 2: Function Set 20
3.2.1 Closure 21
3.2.2 Sufficiency 23
3.2.3 Evolving Structures other than Programs 23
3.3 Step 3: Fitness Function 24
3.4 Step 4: GP Parameters 26
3.5 Step 5: Termination and solution designation 27
4 Example Genetic Programming Run
4.1 Preparatory Steps 29
4.2 Step-by-Step Sample Run 31
4.2.1 Initialisation 31
4.2.2 Fitness Evaluation Selection, Crossover and Mutation Termination and Solution Designation Advanced Genetic Programming
5 Alternative Initialisations and Operators in
5.1 Constructing the Initial Population
5.1.1 Uniform Initialisation
5.1.2 Initialisation may Affect Bloat
5.1.3 Seeding
5.2 GP Mutation
5.2.1 Is Mutation Necessary?
5.2.2 Mutation Cookbook
5.3 GP Crossover
5.4 Other Techniques 32
5.5 Tree-based GP 39
6 Modular, Grammatical and Developmental Tree-based GP 47
6.1 Evolving Modular and Hierarchical Structures 47
6.1.1 Automatically Defined Functions 48
6.1.2 Program Architecture and Architecture-Altering 50
6.2 Constraining Structures 51
6.2.1 Enforcing Particular Structures 52
6.2.2 Strongly Typed GP 52
6.2.3 Grammar-based Constraints 53
6.2.4 Constraints and Bias 55
6.3 Developmental Genetic Programming 57
6.4 Strongly Typed Autoconstructive GP with PushGP 59
7 Linear and Graph Genetic Programming 61
7.1 Linear Genetic Programming 61
7.1.1 Motivations 61
7.1.2 Linear GP Representations 62
7.1.3 Linear GP Operators 64
7.2 Graph-Based Genetic Programming 65
7.2.1 Parallel Distributed GP (PDGP) 65
7.2.2 PADO 67
7.2.3 Cartesian GP 67
7.2.4 Evolving Parallel Programs using Indirect Encodings 68
8 Probabilistic Genetic Programming
8.1 Estimation of Distribution Algorithms 69
8.2 Pure EDA GP 71
8.3 Mixing Grammars and Probabilities 74
9 Multi-objective Genetic Programming 75
9.1 Combining Multiple Objectives into a Scalar Fitness Function 75
9.2 Keeping the Objectives Separate 76
9.2.1 Multi-objective Bloat and Complexity Control 77
9.2.2 Other Objectives 78
9.2.3 Non-Pareto Criteria 80
9.3 Multiple Objectives via Dynamic and Staged Fitness Functions 80
9.4 Multi-objective Optimisation via Operator Bias 81
10 Fast and Distributed Genetic Programming 83
10.1 Reducing Fitness Evaluations/Increasing their Effectiveness 83
10.2 Reducing Cost of Fitness with Caches 86
10.3 Parallel and Distributed GP are Not Equivalent 88
10.4 Running GP on Parallel Hardware 89
10.4.1 Master–slave GP 89
10.4.2 GP Running on GPUs 90
10.4.3 GP on FPGAs 92
10.4.4 Sub-machine-code GP 93
10.5 Geographically Distributed GP 93
11 GP Theory and its Applications 97
11.1 Mathematical Models 98
11.2 Search Spaces 99
11.3 Bloat 101
11.3.1 Bloat in Theory 101
11.3.2 Bloat Control in Practice 104
III
Practical Genetic Programming
12 Applications
12.1 Where GP has Done Well
12.2 Curve Fitting, Data Modelling and Symbolic Regression
12.3 Human Competitive Results – the Humies
12.4 Image and Signal Processing
12.5 Financial Trading, Time Series, and Economic Modelling
12.6 Industrial Process Control
12.7 Medicine, Biology and Bioinformatics
12.8 GP to Create Searchers and Solvers – Hyper-heuristics xiii
12.9 Entertainment and Computer Games 127
12.10The Arts 127
12.11Compression 128
13 Troubleshooting GP
13.1 Is there a Bug in the Code?
13.2 Can you Trust your Results?
13.3 There are No Silver Bullets
13.4 Small Changes can have Big Effects
13.5 Big Changes can have No Effect
13.6 Study your Populations
13.7 Encourage Diversity
13.8 Embrace Approximation
13.9 Control Bloat
13.10 Checkpoint Results
13.11 Report Well
13.12 Convince your Customers
14 Conclusions
Tricks of the Trade
A Resources
A.1 Key Books
A.2 Key Journals
A.3 Key International Meetings
A.4 GP Implementations
A.5 On-Line Resources 145
B TinyGP 151
B.1 Overview of TinyGP 151
B.2 Input Data Files for TinyGP 153
B.3 Source Code 154
B.4 Compiling and Running TinyGP 162
Bibliography 167
Inde
VolcanoFinder:Genomic scans for adaptive introgression
Recent research shows that introgression between closely-related species is an important source of adaptive alleles for a wide range of taxa. Typically, detection of adaptive introgression from genomic data relies on comparative analyses that require sequence data from both the recipient and the donor species. However, in many cases, the donor is unknown or the data is not currently available. Here, we introduce a genome-scan method-VolcanoFinder-to detect recent events of adaptive introgression using polymorphism data from the recipient species only. VolcanoFinder detects adaptive introgression sweeps from the pattern of excess intermediate-frequency polymorphism they produce in the flanking region of the genome, a pattern which appears as a volcano-shape in pairwise genetic diversity. Using coalescent theory, we derive analytical predictions for these patterns. Based on these results, we develop a composite-likelihood test to detect signatures of adaptive introgression relative to the genomic background. Simulation results show that VolcanoFinder has high statistical power to detect these signatures, even for older sweeps and for soft sweeps initiated by multiple migrant haplotypes. Finally, we implement VolcanoFinder to detect archaic introgression in European and sub-Saharan African human populations, and uncovered interesting candidates in both populations, such as TSHR in Europeans and TCHH-RPTN in Africans. We discuss their biological implications and provide guidelines for identifying and circumventing artifactual signals during empirical applications of VolcanoFinder
Distributed Control of a Swarm of Autonomous Unmanned Aerial Vehicles
With the increasing use of Unmanned Aerial Vehicles (UAV)s military operations, there is a growing need to develop new methods of control and navigation for these vehicles. This investigation proposes the use of an adaptive swarming algorithm that utilizes local state information to influence the overall behavior of each individual agent in the swarm based upon the agent\u27s current position in the battlespace. In order to investigate the ability of this algorithm to control UAVs in a cooperative manner, a swarm architecture is developed that allows for on-line modification of basic rules. Adaptation is achieved by using a set of behavior coefficients that define the weight at which each of four basic rules is asserted in an individual based upon local state information. An Evolutionary Strategy (ES) is employed to create initial metrics of behavior coefficients. Using this technique, three distinct emergent swarm behaviors are evolved, and each behavior is investigated in terms of the ability of the adaptive swarming algorithm to achieve the desired emergent behavior by modifying the simple rules of each agent. Finally, each of the three behaviors is analyzed visually using a graphical representation of the simulation, and numerically, using a set of metrics developed for this investigation
- …