244 research outputs found
Coevolutionary optimization of fuzzy logic intelligence for strategic decision support
©2005 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.We present a description and initial results of a computer code that coevolves fuzzy logic rules to play a two-sided zero-sum competitive game. It is based on the TEMPO Military Planning Game that has been used to teach resource allocation to over 20 000 students over the past 40 years. No feasible algorithm for optimal play is known. The coevolved rules, when pitted against human players, usually win the first few competitions. For reasons not yet understood, the evolved rules (found in a symmetrical competition) place little value on information concerning the play of the opponent.Rodney W. Johnson, Michael E. Melich, Zbigniew Michalewicz, and Martin Schmid
After architecture : charting a new course
Thesis (M. Arch.)--Massachusetts Institute of Technology, Dept. of Architecture, 1998.Includes bibliographical references (p. 96-107).The thesis is a synthesis of technology, art, science, computation and philosophy in charting a new course for architecture. It attempts to address the questions: Can architecture model natural phenomena's or nonlinear processes? Can we have a theory for the generation of architectural forms? The site becomes an impetus for wider search which parallels emerging scientific & nonlinear paradigms, resulting in a nonlinear thesis the final product of which is not inevitable. The site becomes the model of thinking and testing. The thesis addresses the importance for architecture to recognize the convergence of two most powerful disciplines i.e. Biology and Information technology, that would have a major impact on humanity and bio-sphere in the next millennium. It is an attempt to find new forms of inspiration from nature, to find a theory of generation of forms at a period when as a result of the technological advancements in genetic engineering, biotechnology, computation, information technology and molecular engineering (nanotechnology), the relationship between man and nature is getting blurred. Ideas and concepts of artificial life, genetics and biological analogies are proving to be very valuable in the advancement of computational techniques (genetic algorithms, genetic programs) and material sciences (bio-materials, nano-technology, memory shaped alloys). This thesis explores the potentiality for architecture to engage and embrace the emerging paradigms shifts in science and interpret them architecturally and to find ways in which architecture could interface at this convergence of Biology and Information technology. This challenge demands creative exploration at the levels of architectural theory, design strategy or concepts, methods and realization. The final product is a process that is based on biological analogies and genetics, coupled with emerging computational techniques of genetic programming as a generating force for architecture. The primary inspiration comes from the fundamental basis of genetics and evolution and the information systems of nature. A prototype system built as part of this thesis integrates evolution, both as a metaphor and an active generative modeling tool, with the interpretive aspects of the design process. The architect is firmly in control but the evolution module aids him or her by providing the unexpected 3-D spatial and volumetric configurations which would be impossible to conceive otherwise and suggesting novel combinations or adaptations of forms currently under consideration.by Girish Ramachandran.M.Arch
Constructivist Artificial Intelligence With Genetic Programming
Learning is an essential attribute of an intelligent system. A proper understanding of the process of learning in terms of knowledge-acquisition, processing and its effective use has been one of the main goals of artificial intelligence (AI). AI, in order to achieve the desired flexibility, performance levels and wide applicability should explore and exploit a variety of learning techniques and representations. Evolutionary algorithms, in recent years, have emerged as powerful learning methods employing task-independent approaches to problem solving and are potential candidates for implementing adaptive computational models. These algorithms, due to their attractive features such as implicit and explicit parallelism, can also be powerful meta-leaming tools for other learning systems such as connectionist networks. These networks, also known as artificial neural networks, offer a paradigm for learning at an individual level that provide an extremely rich landscape of learning mechanisms which AI should exploit. The research proposed in this thesis investigates the role of genetic programming (GP) in connectionism, a learning paradigm that, despite being extremely powerful has a number of limitations. The thesis, by systematically identifying the reasons for these limitations has argued as to why connectionism should be approached with a new perspective in order to realize its true potentialities. With genetic-based designs the key issue has been the encoding strategy. That is, how to encode a neural network within a genotype so as to achieve an optimum network structure and/ or an efficient learning that can best solve a given problem. This in turn raises a number of key questions such as: 1. Is the representation (that is the genotype) that the algorithms employ sufficient to express and explore the vast space of network architectures and learning mechanisms? 2. Is the representation capable of capturing the concepts of hierarchy and modularity that are vital and so naturally employed by humans in problem-solving? 3. Are some representations better in expressing these? If so, how to exploit the strengths that are inherent to these representations? 4. If the aim is really to automate the design process what strategies should be employed so as to minimize the involvement of a designer in the design loop? 5. Is the methodology or the approach able to overcome at least some of the limitations that are commonly seen in connectionist networks? 6. Most importantly, how effective is the approach in problem-solving? These issues are investigated through a novel approach that combines genetic programming and a self-organizing neural network which provides a framework for the simulations. Through the powerful notions of constructivism and micro-macro dynamics the approach provides a way of exploiting the potential features (such as the hierarchy and modularity) that are inherent to the representation that GP employs. By providing a general definition for learning and by imposing a single potential constraint within the representation the approach demonstrates that genetic programming, if used for construction and optimization, could be extremely creative. The method also combines the bottom-up and top-down strategies that are key to evolve ALife-like systems. A comparison with earlier methods is drawn to identify the merits of the proposed approach. A pattern recognition task is considered for illustration. Simulations suggest that genetic- programming can be a powerful meta-leaming tool for implementing useful network architectures and flexible learning mechanisms for self-organizing neural networks while interacting with a given task environment. It appears that it is possible to extend the novel approach further to other types of networks. Finally the role of flexible learning in implementing adaptive AI systems is discussed. A number of potential applications domain is identified
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
An improved representation for evolving programs
A representation has been developed that addresses some of the issues
with other Genetic Program representations while maintaining their advantages.
This combines the easy reproduction of the linear representation with the inherita-
ble characteristics of the tree representation by using fixed-length blocks of genes
representing single program statements. This means that each block of genes will
always map to the same statement in the parent and child unless it is mutated,
irrespective of changes to the surrounding blocks. This method is compared to the
variable length gene blocks used by other representations with a clear improvement
in the similarity between parent and child. In addition, a set of list evaluation and
manipulation functions was evolved as an application of the new Genetic Program
components. These functions have the common feature that they all need to be 100%
correct to be useful. Traditional Genetic Programming problems have mainly been
optimization or approximation problems. The list results are good but do highlight
the problem of scalability in that more complex functions lead to a dramatic increase
in the required evolution time
- …