Modularity for Genetic Programming. Anil Kumar Saini PhD Student CICS, UMass Amherst

Similar documents
Evolutionary origins of modularity

Genetic Programming. and its use for learning Concepts in Description Logics

Properties of Biological Networks

Genetic Programming: A study on Computer Language

Genetic programming. Lecture Genetic Programming. LISP as a GP language. LISP structure. S-expressions

Genetic Programming for Julia: fast performance and parallel island model implementation

The Gene Modular Detection of Random Boolean Networks by Dynamic Characteristics Analysis

Application of Genetic Algorithms to CFD. Cameron McCartney

A Comparative Study of Linear Encoding in Genetic Programming

Genetic Algorithms and Genetic Programming. Lecture 9: (23/10/09)

Introduction to Genetic Algorithms

Evolutionary Computation. Chao Lan

Polyhedron Evolver Evolution of 3D Shapes with Evolvica

Using the UML for Architectural Description Rich Hilliard

Automatic Programming of Agents by Genetic Programming

The Evolution of System-call Monitoring

An empirical study of the efficiency of learning boolean functions using a Cartesian Genetic Programming approach

Measuring Web Service Interfaces

The Establishment Game. Motivation

MATLAB Based Optimization Techniques and Parallel Computing

Contents. Index... 11

Kyrre Glette INF3490 Evolvable Hardware Cartesian Genetic Programming

Response Network Emerging from Simple Perturbation

Design Automation MAE 2250

Stefan WAGNER *, Michael AFFENZELLER * HEURISTICLAB GRID A FLEXIBLE AND EXTENSIBLE ENVIRONMENT 1. INTRODUCTION

Genetic Programming of Autonomous Agents. Functional Description and Complete System Block Diagram. Scott O'Dell

An Introduction to Complex Systems Science

A Genetic Programming Approach for Distributed Queries

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

Build Scientific Computing Infrastructure with Rebar3 and Docker. Eric Sage

Solving the Travelling Salesman Problem in Parallel by Genetic Algorithm on Multicomputer Cluster

Genetic Programming of Autonomous Agents. Functional Requirements List and Performance Specifi cations. Scott O'Dell

Evolution of the Discrete Cosine Transform Using Genetic Programming

Dynamic network generative model

Automatic Modularization of ANNs Using Adaptive Critic Method

Evolution Evolves with Autoconstruction

Genetic Algorithm. Dr. Rajesh Kumar

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

Overview of SBSE. CS454, Autumn 2017 Shin Yoo

A Structural Optimization Method of Genetic Network Programming. for Enhancing Generalization Ability

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Evolutionary Computation Part 2

Modern Robots: Evolutionary Robotics

Partitioning Regression

CUT: Community Update and Tracking in Dynamic Social Networks

Effects of Constant Optimization by Nonlinear Least Squares Minimization in Symbolic Regression

Chapter 5 Components for Evolution of Modular Artificial Neural Networks

Applied Cloning Techniques for a Genetic Algorithm Used in Evolvable Hardware Design

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Maximizing the Value of STM Content through Semantic Enrichment. Frank Stumpf December 1, 2009

Image Classification and Processing using Modified Parallel-ACTIT

Evaluating the Effect of Perturbations in Reconstructing Network Topologies

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

Parallel Linear Genetic Programming

Coevolving Functions in Genetic Programming: Classification using K-nearest-neighbour

Reusing Code in Genetic Programming

The calculator problem and the evolutionary synthesis of arbitrary software

entire search space constituting coefficient sets. The brute force approach performs three passes through the search space, with each run the se

Constraining Connectivity to Encourage Modularity in HyperNEAT

Modern Robots: Evolutionary Robotics

Multi-Objective Optimization Using Genetic Algorithms

Genetic Programming Prof. Thomas Bäck Nat Evur ol al ut ic o om nar put y Aling go rg it roup hms Genetic Programming 1

Missing Data Estimation in Microarrays Using Multi-Organism Approach

NSGA-II for Biological Graph Compression

EXPLORING STYLE EMERGENCE IN ARCHITECTURAL DESIGNS

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design

Genetic algorithms in computer aided design

Evolving Three-Dimensional Objects with a Generative Encoding Inspired by Developmental Biology

Santa Fe Trail Problem Solution Using Grammatical Evolution

Dejong Function Optimization by means of a Parallel Approach to Fuzzified Genetic Algorithm

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

EVOLUTIONARY DESIGN OF HOUSING: A template for development and evaluation procedures

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

Evolving Teleo-Reactive Programs for Block Stacking using Indexicals through Genetic Programming

Evolving Variable-Ordering Heuristics for Constrained Optimisation

Robinson, A., and L. Spector Using Genetic Programming with Multiple Data Types and Automatic Modularization to Evolve Decentralized and

Programmable Pattern-Formation and Scale-Independence

Data Extraction and Alignment in Web Databases

ANTICIPATORY VERSUS TRADITIONAL GENETIC ALGORITHM

A Singular Example for the Averaged Mean Curvature Flow

Evolving Human Competitive Research Spectra-Based Note Fault Localisation Techniques

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

Optimizing a Trussed Frame Subjected to Wind Using Rhino, Grasshopper, Karamba and Galapagos

Selection Based on the Pareto Nondomination Criterion for Controlling Code Growth in Genetic Programming

One-Point Geometric Crossover

A New Crossover Technique for Cartesian Genetic Programming

An Investigation into the Free/Open Source Software Phenomenon using Data Mining, Social Network Theory, and Agent-Based

3DUDOOHO*UDPPDWLFDO(YROXWLRQ

Parameter Control of Genetic Algorithms by Learning and Simulation of Bayesian Networks

Semantic Extensions for Genetic Programming

Towards practical autoconstructive evolution: self-evolution of problem-solving genetic programming systems

Computational morphogenesis in architecture: the cost optimization of free form grid-shells

A THREAD BUILDING BLOCKS BASED PARALLEL GENETIC ALGORITHM

Engineers and scientists use instrumentation and measurement. Genetic Algorithms for Autonomous Robot Navigation

Annotation of Human Motion Capture Data using Conditional Random Fields

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

Graph Structured Program Evolution

A Memetic Heuristic for the Co-clustering Problem

WSN LIFETIME EXTENSION USING GA OPTIMISED FUZZY LOGIC

Transcription:

Modularity for Genetic Programming Anil Kumar Saini PhD Student CICS, UMass Amherst

Outline Definition of modularity in different domains Advantages of modularity Modularity in GP systems Defining modularity for evolved programs Open problems 2

Modules in Biology A module can be viewed as a semi-autonomous entity that evolves, functions or participates in development (or other processes) relatively independently from other modules[1]. Example, modules in human brain, gene regulatory networks, etc. Modules in Human Brain 3

Modules in Software A module is a part of solution (i.e., something that may be clearly delineated from the solution), such that it exhibits some form of independence (full of partial) from the remaining part of solution (often referred to as context)[2]. Example, operating system, etc. Operating system 4

Modules in Networks Networks are modular if they contain highly connected clusters of nodes that are sparsely connected to nodes in other clusters[3]. Modular Network [4] 5

Advantages of Modularity - Biology Modularity can enhance evolvability, an organism s capacity to generate adaptive heritable variation, for two reasons: the organization of biological systems into modules may permit changes inside one module without perturbing other modules. modules can be combined and reused to create new biological functions Under certain conditions, there is a direct correlation between modularity and fitness[3] 6

Advantages of Modularity - Software Modular software is easier to read Can make changes in one module without affecting other modules Can reuse modules. Example, library functions in various programming languages, etc. GP: intersection between evolutionary biology and software. We want evolvable and more readable programs 7

Modularity in GP Systems Automatically defined Functions (ADFs) by John R. Koza Evolving programs can use ADFs as modules Numbers and types of ADFs, and other restrictions specified in advance by the user Architecture-altering Operations by John R. Koza Enables the programs to alter the number and types of ADFs during the process of evolution More sophisticated and complicated genetic operators needed 8

Modularity in GP Systems Tag-based modules in PushGP A set of instructions can be tagged with a number and later retrieved using the same number Thought to be useful for the evolution of modular programs Later found to be useful only for a small number of problems 9

Modularity in GP Systems Evolution hates modularity (in the short run)! Modular programs do not provide smooth fitness gradient as is provided by non-modular ones In non-modular programs, every change (in the right direction), whether small or big, provides an improvement in the overall fitness, but in case of modular programs, until you get the whole module right, you might not notice any change in the fitness. 10

Defining Modularity for Evolved Programs Requirements to beconsidered a module? Elements comprising the module should be together There is a specific beginning and an end to the module While using the module at different locations, the same copy should be used 11

Defining Modularity for Evolved Programs Modularity composed of two parts: Reuse (U) and Repetition (P)! = #$%&'()*+,(%-, &*.)+/ 01*. ',)+/.*2'3%, 4*(53 %$%&'()*+,(%-, 6 = #$%&'()*+,(%-, &*.)+/ 01*. ',)+/ 2'-3)&5(%, *0.*2'3%, 4*(53 %$%&'()*+,(%-, 12

Open research problems How to get evolution to use modules? Additional selection pressure: in addition to fitness, use modularity value to select parents Evolutionary origins of modularity? Is modularity an essential ingredient to solve more complex problems? Why does evolution hate modularity? 13

References 1. Espinosa-Soto, Carlos, and Andreas Wagner. "Specialization can drive the evolution of modularity." PLoS computational biology 6.3 (2010): e1000719. 2. Krawiec, Krzysztof, and Bartosz Wieloch. "Functional modularity for genetic programming." Proceedings of the 11th Annual conference on Genetic and evolutionary computation. ACM, 2009. 3. Jeff Clune, Jean-Baptiste Mouret, and Hod Lipson. 2013. The evolutionary origins of modularity. In Proc. R. Soc. B, Vol. 280. The Royal Society, 20122863 4. Newman, Mark EJ. "Modularity and community structure in networks." Proceedings of the national academy of sciences103.23 (2006): 8577-8582. 5. Poli, Riccardo, et al. A field guide to genetic programming. Lulu. com, 2008. 14

Thanks aks@cs.umass.edu 15