Results 1 - 10
of
23
Genetic Programming and Multi-Agent Layered Learning by Reinforcements
- In Genetic and Evolutionary Computation Conference
, 2002
"... We present an adaptation of the standard genetic program (GP) to hierarchically decomposable, multi-agent learning problems. To break down a problem that requires cooperation of multiple agents, we use the team objective function to derive a simpler, intermediate objective function for pairs of coop ..."
Abstract
-
Cited by 35 (3 self)
- Add to MetaCart
We present an adaptation of the standard genetic program (GP) to hierarchically decomposable, multi-agent learning problems. To break down a problem that requires cooperation of multiple agents, we use the team objective function to derive a simpler, intermediate objective function for pairs of cooperating agents. We apply GP to optimize first for the intermediate, then for the team objective function, using the final population from the earlier GP as the initial seed population for the next. This layered learning approach facilitates the discovery of primitive behaviors that can be reused and adapted towards complex objectives based on a shared team goal.
A Novel Co-evolutionary Approach to Automatic Software Bug Fixing
- In Proceedings of the IEEE Congress on Evolutionary Computation (CEC ’08
, 2008
"... expensive, and that has led the investigation to how to automate them. In particular, Software Testing can take up to half of the resources of the development of new software. Although there has been a lot of work on automating the testing phase, fixing a bug after its presence has been discovered i ..."
Abstract
-
Cited by 26 (4 self)
- Add to MetaCart
expensive, and that has led the investigation to how to automate them. In particular, Software Testing can take up to half of the resources of the development of new software. Although there has been a lot of work on automating the testing phase, fixing a bug after its presence has been discovered is still a duty of the programmers. In this paper we propose an evolutionary approach to automate the task of fixing bugs. This novel evolutionary approach is based on Co-evolution, in which programs and test cases co-evolve, influencing each other with the aim of fixing the bugs of the programs. This competitive co-evolution is similar to what happens in nature for predators and prey. The user needs only to provide a buggy program and a formal specification of it. No other information is required. Hence, the approach may work for any implementable software. We show some preliminary experiments in which bugs in an implementation of a sorting algorithm are automatically fixed. I.
Evolutionary Unit Testing Of Object-Oriented Software Using A Hybrid Evolutionary Algorithm
- In: CEC’06: Proceedings of the 2006 IEEE Congress on Evolutionary Computation, IEEE (2006) 851–858
"... Abstract — Evolutionary algorithms have been successfully applied in the area of software testing. However, previous approaches in the area of object-oriented testing are limited in terms of test case feasibility due to call dependences and runtime exceptions. In this paper, we present a search-base ..."
Abstract
-
Cited by 20 (0 self)
- Add to MetaCart
Abstract — Evolutionary algorithms have been successfully applied in the area of software testing. However, previous approaches in the area of object-oriented testing are limited in terms of test case feasibility due to call dependences and runtime exceptions. In this paper, we present a search-based approach to automatically generating test cases for objectoriented software. It relies on a tree-based representation of method call sequences. Strongly-typed genetic programming is employed to generate method call trees which respect the call dependences among the methods. We apply a new kind of distance-based fitness function that accounts for runtime exceptions. In a case study, the approach outperformed random testing in terms of achieved coverage and it produced test cases achieving full branch coverage for a test object that makes ample use of explicit runtime exceptions. I.
Fighting Bloat With Nonparametric Parsimony Pressure
- Parallel Problem Solving from Nature - PPSN VII, number 2439 in Lecture Notes in Computer Science, LNCS
, 2002
"... Many forms of parsimony pressure are parametric, that is final fitness is a parametric model of the actual size and raw fitness values. The problem with parametric techniques is that they are hard to tune to prevent size from dominating fitness late in the evolutionary run, or to compensate for p ..."
Abstract
-
Cited by 17 (2 self)
- Add to MetaCart
Many forms of parsimony pressure are parametric, that is final fitness is a parametric model of the actual size and raw fitness values. The problem with parametric techniques is that they are hard to tune to prevent size from dominating fitness late in the evolutionary run, or to compensate for problem-dependent nonlinearities in the raw fitness function. In this paper we briefly discuss existing bloat-control techniques, then introduce two new kinds of non-parametric parsimony pressure, Direct and Proportional Tournament. As their names suggest, these techniques are based on simple modifications of tournament selection to consider both size and fitness, but not together as a combined parametric equation.
Layered Learning in Genetic Programming for a Cooperative Robot Soccer Problem
, 2000
"... We present an alternative to standard genetic programming (GP) that applies layered learning techniques to decompose a problem. GP is applied to subproblems sequentially, where the population in the last generation of a subproblem is used as the initial population of the next subproblem. This method ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
We present an alternative to standard genetic programming (GP) that applies layered learning techniques to decompose a problem. GP is applied to subproblems sequentially, where the population in the last generation of a subproblem is used as the initial population of the next subproblem. This method is applied to evolve agents to play keep-away soccer, a subproblem of robotic soccer that requires cooperation among multiple agents in a dynamic environment. The layered learning paradigm allows GP to evolve better solutions faster than standard GP. Results show that the layered learning GP outperforms standard GP by evolving a lower tness faster and an overall better tness. Results indicate a wide area of future research with layered learning in GP.
Coevolving Programs and Unit Tests from their Specification
- In Proceedings of the twenty-second IEEE/ACM International Conference on Automated Software Engineering (ASE ’07
"... Writing a formal specification before implementing a program helps to find problems with the system requirements. The requirements might be for example incomplete and ambiguous. Fixing these types of errors is very difficult and expensive during the implementation phase of the software development c ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
Writing a formal specification before implementing a program helps to find problems with the system requirements. The requirements might be for example incomplete and ambiguous. Fixing these types of errors is very difficult and expensive during the implementation phase of the software development cycle. Although writing a formal specification is usually easier than implementing the actual code, writing a specification requires time, and often it is preferred, instead, to use this time on the implementation. In this paper we introduce for the first time a framework that might evolve any possible generic program from its specification. We use the Genetic Programming to evolve the programs, and at the same time we exploit the specifications to coevolve sets of unit tests. Programs are rewarded on how many tests they do not fail, whereas the unit tests are rewarded on how many programs they make fail. We present and analyse four different problems on which this novel technique is successfully applied.
Empirical comparison of incremental reuse strategies in genetic programming for keep-away soccer
- Late Breaking Papers at the 2004 Genetic and Evolutionary Computation Conference
, 2004
"... Abstract. Easy missions approaches to machine learning seek to synthesize solutions for complex tasks from those for simpler ones. In genetic programming, this has been achieved by identifying goals and fitness functions for subproblems of the overall problem. Solutions evolved for these subproblems ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
Abstract. Easy missions approaches to machine learning seek to synthesize solutions for complex tasks from those for simpler ones. In genetic programming, this has been achieved by identifying goals and fitness functions for subproblems of the overall problem. Solutions evolved for these subproblems are then reused to speed up learning, either as automatically defined functions (ADFs) or by seeding a new GP population. Previous positive results using both approaches for learning in multi-agent systems (MAS) showed that incremental reuse using easy missions achieves comparable or better overall fitness than monolithic simple GP. A key unresolved issue dealt with hybrid reuse using ADF plus easy missions. Results in the keepaway soccer domain (a test bed for MAS learning) were also inconclusive on whether compactness-inducing reuse helped or hurt overall agent performance. In this paper, we compare monolithic (simple GP and GP with ADFs) and easy missions reuse to two types of GP learning systems with incremental reuse: GP/ADF hybrids with easy missions and single-mission incremental ADFs. As hypothesized, pure easy missions reuse achieves results competitive with the best hybrid approaches in this domain. We interpret this finding and suggest a theoretical approach to characterizing incremental reuse and code growth.
Using Schema Theory to Explore Interactions of Multiple Operators
, 2002
"... In the last two years the schema theory for Genetic Programming (GP) has been applied to the problem of understanding the length biases of a variety of crossover and mutation operators on variable length linear structures. In these initial papers, operators were studied in isolation. In practice, ho ..."
Abstract
-
Cited by 10 (9 self)
- Add to MetaCart
In the last two years the schema theory for Genetic Programming (GP) has been applied to the problem of understanding the length biases of a variety of crossover and mutation operators on variable length linear structures. In these initial papers, operators were studied in isolation. In practice, however, they are typically used in various combinations, and in this paper we present the first schema theory analysis of the complex interactions of multiple operators. In particular we apply the schema theory to the use of standard subtree crossover, full mutation, and grow mutation (in varying proportions) to variable length linear structures in the one-then-zeros problem. We then show how the results can be used to guide choices about the relative proportion of these operators in order to achieve certain structural goals during a run.
Modification point depth and genome growth in genetic programming
- Evolutionary Computation
, 2003
"... The evolutionary computation community has shown increasing interest in arbitrarylength representations, particularly in the field of genetic programming. A serious stumbling block to the scalability of such representations has been bloat: uncontrolled genome growth during an evolutionary run. Bloat ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
The evolutionary computation community has shown increasing interest in arbitrarylength representations, particularly in the field of genetic programming. A serious stumbling block to the scalability of such representations has been bloat: uncontrolled genome growth during an evolutionary run. Bloat appears across the evolutionary computation spectrum, but genetic programming has given it by far the largest attention. Most genetic programming models explain this phenomenon as a result of the growth of introns, areas in an individual which serve no functional purpose. This paper presents evidence which directly contradicts intron theories. The paper then uses data drawn from this evidence to propose a new model of genome growth. In this model, bloat in genetic programming is a function of the mean depth of the modification (crossover or mutation) point. Points far from the root are correspondingly less likely to hurt the child’s survivability in the next generation. The modification point is in turn strongly correlated to average parent tree size and to removed subtree size, both of which are directly linked to the size of the resulting child.
A Comparison of Bloat Control Methods for Genetic Programming
"... Genetic programming has highlighted the problem of bloat, the uncontrolled growth of the average size of an individual in the population. The most common approach to dealing with bloat in tree-based genetic programming individuals is to limit their maximal allowed depth. An alternative to depth limi ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Genetic programming has highlighted the problem of bloat, the uncontrolled growth of the average size of an individual in the population. The most common approach to dealing with bloat in tree-based genetic programming individuals is to limit their maximal allowed depth. An alternative to depth limiting is to punish individuals in some way based on excess size, and our experiments have shown that the combination of depth limiting with such a punitive method is generally more effective than either alone. Which such combinations are most effective at reducing bloat? In this article we augment depth limiting with nine bloat control methods and compare them with one another. These methods are chosen from past literature and from techniques of our own devising. Testing with four genetic programming problems, we identify where each bloat control method performs well on a per-problem basis, and under what settings various methods are effective independent of problem. We report on the results of these tests, and discover an unexpected winner in the cross-platform category. 1

