Brameier / Banzhaf Linear Genetic Programming
1. Auflage 2007
ISBN: 978-0-387-31030-5
Verlag: Springer US
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, 316 Seiten, eBook
Reihe: Genetic and Evolutionary Computation
ISBN: 978-0-387-31030-5
Verlag: Springer US
Format: PDF
Kopierschutz: 1 - PDF Watermark
Zielgruppe
Research
Autoren/Hrsg.
Weitere Infos & Material
Fundamental Analysis.- Basic Concepts of Linear Genetic Programming.- Characteristics of the Linear Representation.- A Comparison with Neural Networks.- Method Design.- Linear Genetic Operators I — Segment Variations.- Linear Genetic Operators II — Instruction Mutations.- Analysis of Control Parameters.- A Comparison with Tree-Based Genetic Programming.- Advanced Techniques and Phenomena.- Control of Diversity and Variation Step Size.- Code Growth and Neutral Variations.- Evolution of Program Teams.- Epilogue.
2.1.5 Iteration Concepts (p.22)
Iteration of code by loops plays a rather unimportant role in genetic programming. Most GP applications that require loops involve control problems with the combination of primitive actions of an agent being the object of evolution. Data flow is usually not necessary in such programs.
Instead, each instruction performs actions with side effects on the problem environment and .tness is derived from a reinforcement signal. For the problem classes we focus on here, supervised classiffcation and approximation, iteration is of minor importance. That is not to say that a reuse of code by iterations could not result in more compact and elegant solutions.
In functional programming the concept of loops is unknown. The implicit iteration concept in functional programs denotes recursions which are, however, hard to control in tree-based genetic programming [142]. Otherwise, iterated evaluations of a subtree can have an effect only if functions produce side effects. In linear GP, assignments represent an implicit side effect on memory locations as part of the imperative representation. Nevertheless, the iteration of an instruction segment may only be effective if it includes at least one effective instruction and if at least one register acts as both destination register and source register in the same or a combination of (effective) instructions, e.g., r0 := r0 + 1.
In the following, possible iteration concepts for linear GP will be presented. These comprise conditional loops and loops with a limited number of iterations. One form of iteration in linear programs is a conditional backward jump corresponding to a while loop in C. The problem with this concept is that infinite loops can be easily formed by conditions that are always fulfilled.
In general, it is not possible to detect all in.nite loops in programs, due to the halting problem [36]. A solution to remedy this situation is to terminate a genetic program after a maximal number of instructions. The result of the program would then, however, depend on the execution time allowed.
The more recommended option is a loop concept that limits the number of iterations in each loop. This requires an additional control flow parameter which may either be constant or be varied within loop instructions. Such a construct is usually expressed by a for loop in C. Because only overlapping loops (not nested loops) need to be avoided, an appropriate choice to limit the size of loop blocks may be the coevolution of endfor instructions.
Analogous to the interpretation of branches in Section 2.1.4, a for instruction and a succeeding endfor de.ne a loop block provided that only closed loops lie in between. All other loop instructions are not interpreted.
2.1.6 Modularization Concepts
For certain problems modularization may be advantageous in GP. By using subroutines repeatedly within programs, solutions may become more compact and the same limited program space can be used more efficiently. A problem may also be decomposed into simpler subproblems that can be solved more efficiently in local submodules. In this case, a combination of subsolutions may result in a simpler and better overall solution.