Changes between Version 13 and Version 14 of Documentation/Reference/GPDL
 Timestamp:
 07/08/13 15:23:53 (10 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

Documentation/Reference/GPDL
v13 v14 1 = Genetic Programming Problem Definition Language =1 = Genetic Programming Problem Definition Language (GPDL) = 2 2 [[http://heal.heuristiclab.com/team/kronberger  Gabriel Kronberger]], last update 8th of July, 2013 3 3 4 The aim of GPDL is to make it easier to use GPsystems. Right now, it is very cumbersome to implement new problems in GPsystems. Several factors limit the usefulness of existing GP implementations:4 The aim of GPDL is to make it easier to use GPsystems. Currently, it is very cumbersome to implement new problems in GPsystems because several factors limit the usefulness of existing GP implementations which include among others: 5 5 * a lot of boilerplate code has to be written to integrate into the GP framework. 6 6 * it is necessary to learn the API of the GP system 7 7 * problem implementations cannot be reused to try different GP systems (e.g. ECJ, HeuristicLab, ...) 8 8 9 GPDL separates the implementation of problem details from the intricacies of algorithm implementations. Only the details of the problem are specified in a frameworkindependent way. A compiler can transform the problem description to source code for different GP systems. This way it will be much easier to implement problems and try to solve them with different GP implementations or even other kinds of solvers! 9 We argue that the uptake of GP for real world applications has only been limited so far, because it is difficult to use the available highquality implementations of GP. 10 11 GPDL separates the implementation of problem details from the intricacies of algorithm implementations. Only the details of the problem are specified in a frameworkindependent way. A compiler can transform the problem description to source code for different GP systems. This way, it will be much easier to implement problems and try to solve them with different GP implementations or even other kinds of solvers! 10 12 11 13 GPDL is not limited to C# or Java and it is not limited to HeuristicLab (however, it is the only system we implemented a compiler for so far). 12 14 13 15 GPDL is based on the concept of attributed grammars with semantic actions that are usually used in compiler construction. Basically, GP can be described as search over a space of sentences of a formal language to find the sentence with optimal objective function value. Therefore, a GP problem can be defined as a tuple of a formal language, defined e.g. via a grammar, and an objective function for sentences. Therefore, our idea is to specify GP problems via an attributed grammar with semantic actions for the interpretation of sentences and an objective function to be minimized / maximized. Below you will find an example how the symbolic regression model can be in GPDL. 14 15 16 16 17 On this page we provide a first specification of the GPDL language and a reference implementation for a GPDL compiler for HeuristicLab.