Changes between Version 17 and Version 18 of Documentation/Reference/GPDL


Ignore:
Timestamp:
07/08/13 19:23:45 (6 years ago)
Author:
gkronber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/Reference/GPDL

    v17 v18  
    33gkronber@heuristiclab.com
    44
    5 The aim of GPDL is to make it easier to use GP-systems. Currently, it is very cumbersome to implement new problems in GP-systems, because several factors which include among others:
    6  * a lot of boiler-plate code has to be written to integrate into the GP framework.
    7  * it is necessary to learn the API of the GP system
    8  * problem implementations cannot be re-used to try different GP systems (e.g. ECJ, HeuristicLab, ...)
     5The aim of GPDL is to make it easier to use GP-systems. Currently, it is very cumbersome to implement new problems in GP-systems, because of several factors including among others:
     6 * a lot of boiler-plate code has to be written to integrate into the GP framework,
     7 * it is necessary to learn APIs of different GP system,
     8 * problem implementations cannot be re-used to try different GP systems (e.g. ECJ, HeuristicLab, GEVA, JGAP, ...).
    99
    10 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 high-quality implementations of GP and it takes a lot of time to implement more complex GP problems.
     10We argue, that the uptake of GP for real world applications has only been limited so far, because it is difficult to use the available high-quality implementations of GP, and it takes a lot of time to implement more complex GP problems.
    1111
    12 GPDL separates the implementation of problem details from the intricacies of algorithm implementations. Only the details of the problem are specified in a framework-independent 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!
     12GPDL separates the implementation of problem details from the intricacies of algorithm implementations. Only the details of the problem are specified in a framework-independent 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 to use different GP implementations or even other kinds of solvers!
    1313
    14 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).
     14GPDL 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. The goal is to find a 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 or maximized. Below, you will find an example for the definition of a symbolic regression problem in GPDL.
    1515
    16 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.
     16GPDL 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).
    1717
    1818On this page we provide a first specification of the GPDL language and a reference implementation for a GPDL compiler for HeuristicLab.