Opened 4 years ago

Last modified 16 months ago

#2026 accepted enhancement

Functionality to dynamically define symbols and semantics for GP problems

Reported by: gkronber Owned by: gkronber
Priority: medium Milestone: HeuristicLab 4.x Backlog
Component: Encodings.SymbolicExpressionTreeEncoding Version: branch
Keywords: Cc:

Description (last modified by gkronber)

Here we track developments of the GPDL language including the compiler frontend and different backends. GPDL and a prototype compiler for HeuristicLab was first presented at GECCO'13 in Amsterdam http://dev.heuristiclab.com/GPDL

Change History (51)

comment:1 Changed 4 years ago by gkronber

  • Status changed from new to accepted

comment:2 Changed 4 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.9

comment:3 Changed 4 years ago by gkronber

r9518 worked on integration of GPDL compiler into HeuristicLab

comment:4 Changed 4 years ago by gkronber

Changesets r9425 and r9430 also belong to this ticket.

comment:5 Changed 4 years ago by gkronber

r9519 worked on GPDL integration into HL.

  • Implemented problem provider for examples.
  • Implemented editor for GPDL definitions.

comment:6 Changed 4 years ago by gkronber

r9528: worked on HL integration of GPDL compiler

comment:7 Changed 4 years ago by gkronber

r9529: svn:ignore

comment:8 Changed 4 years ago by gkronber

r9674: Worked on integration of ICSharpCode.AvalonEdit control for GPDL syntax-highlighting and error reporting.

comment:9 Changed 4 years ago by gkronber

r9724: changed ATGs of GPDL syntax analyzer and compiler to use Coco/R syntax and replaced Coco-2 compiler with Coco/R.

comment:10 Changed 4 years ago by gkronber

r9725: re-enabled code generation from within HL and added missing file.

comment:11 Changed 4 years ago by gkronber

r9726: removed unused methods

comment:12 Changed 4 years ago by gkronber

r9727: attributes for NT- and T-symbols are optional (incorrectly translated from Coco-2 yesterday)

comment:13 Changed 4 years ago by gkronber

r9842:

  • added rudimentary error checking to GPDL parser ATG.
  • Added GPL license headers to all files.
  • Created a first set of unit tests.

comment:14 Changed 4 years ago by gkronber

r9843:

  • made the problem field non-static
  • added a unit test to compile all examples

comment:15 Changed 4 years ago by gkronber

r9844: added two GP benchmark problems even-parity and multiplexer.

comment:16 Changed 4 years ago by gkronber

r9846:

  • added lawn mower problem.
  • in the GPDL editor: create a OSGA for solving the compiled problem directly.

comment:17 Changed 4 years ago by gkronber

r9847: lawn mower programs are only executed once. This makes the problem much harder.

comment:18 Changed 4 years ago by ascheibe

  • Milestone changed from HeuristicLab 3.3.9 to HeuristicLab 3.3.10

comment:19 Changed 3 years ago by gkronber

r10031: worked on plugin for grammars and made some changes for compatibility with the latest stable version of HL

comment:20 Changed 3 years ago by gkronber

  • Description modified (diff)

Open tasks:

  • brute-force backend using simple tree-search
  • improved error handling
  • only allow out parameters for terminal symbols
  • for range terminals check if type is ordinal
  • translation of frontend and examples to java (for ECJ, GEVA interoperability)
  • backend for grammatical evolution in HL (see #2109)
  • 'lilGP' backend
Last edited 3 years ago by gkronber (previous) (diff)

comment:21 Changed 3 years ago by gkronber

r10049: created a separate plugin for the classes for the GPDL code generation backend. This a preparation for removing dependencies to HeuristicLab in the core GPDL compiler code.

comment:22 Changed 3 years ago by gkronber

r10050: removed svn:ignore properties

comment:23 Changed 3 years ago by gkronber

r10051: worked on a plugin for grammars (work-in-progress)

comment:24 Changed 3 years ago by gkronber

r10052: set svn:ignore properties

comment:25 Changed 3 years ago by gkronber

r10053: created a separate branch folder for HL specific files for GPDL

comment:26 Changed 3 years ago by gkronber

r10054: removed backend projects from the core compiler solution

comment:27 Changed 3 years ago by gkronber

r10055: moved HL specific plugins for the GPDL backend into a separate branch folder

comment:28 Changed 3 years ago by gkronber

r10056: reverted unintentional delete of r10055

comment:29 Changed 3 years ago by gkronber

r10057: moved a test class into the HL specific GPDL branch

comment:30 Changed 3 years ago by gkronber

r10058: changed build target directories

comment:31 Changed 3 years ago by gkronber

r10059: fixed references in HL specific GPDL plugin (backend), set svn:ignore

comment:32 Changed 3 years ago by gkronber

r10061: copied examples from the GPDL problem instance provider plugin

comment:33 Changed 3 years ago by gkronber

r10062: worked on brute force code generator, removed unused references, worked on compatibility with mono.

comment:34 Changed 3 years ago by gkronber

r10063: removed reference to HeuristicLab.PluginInfrastructure (and set svn:ignore properties)

comment:35 Changed 3 years ago by gkronber

r10064: removed the test project as it does not build on mono

comment:36 Changed 3 years ago by gkronber

r10065: added shell script to generate parser and scanner on linux and also adapted pre- and post-build events

comment:37 Changed 3 years ago by gkronber

r10066: added instructions on building a short README and the GPL license file.

comment:38 Changed 3 years ago by gkronber

r10067: worked on brute force solver for GPDL problems.

comment:39 Changed 3 years ago by gkronber

r10074: finished tree searcher for artificial ant, multiplexer and even parity examples. (+ performance tweak in Artificial Ant.txt)

comment:40 Changed 3 years ago by gkronber

r10079: added royal tree benchmark problem for GP

comment:41 Changed 3 years ago by gkronber

r10080: implemented a code generator for random search solvers for GPDL problems

comment:42 Changed 3 years ago by gkronber

r10086: worked on random search solver (now all examples are working)

comment:43 Changed 3 years ago by gkronber

r10099: minor improvements to GPDL examples

comment:44 Changed 3 years ago by gkronber

r10100: major refactoring of example GPDL solver (random search complete except for RANGE constrained terminals)

comment:45 Changed 3 years ago by gkronber

r10333: added two more GPDL examples

comment:46 Changed 3 years ago by gkronber

r10335: worked on code generator for random search (work in progress commit)

comment:47 Changed 3 years ago by gkronber

r10384: fixed random search code generation

comment:48 Changed 3 years ago by gkronber

  • r10338: changing the way terminal symbols are handled (work in progress)
  • r10385: removed commented code and improved layout
  • r10386: refactoring
  • r10387: reintegrated initialization of terminal values into the random search solver.
  • r10388: worked on code generator for brute force solver
  • r10392: implemented brute force searcher
  • r10393: fixed a bug in the brute force solver
  • r10394: fixed a bug in generation of terminal nodes
  • r10395: performance improvement for symbolic regression example
  • r10399: performance improvement for the second symbolic regression example
  • r10400: worked on MCTS solver
  • r10408: worked on MCTS solver
  • r10409: prepare for inclusion of terminals into the search tree
  • r10410: removed commented code
  • r10411: refactoring
  • r10412: also support C++-style comments
  • r10415: implemented prevention of resampling of known nodes.
  • r10423: updated examples
  • r10424: maximal depth limit for random search
  • r10425: support for max depth in brute force solver
  • r10426: generate code for all solvers
  • r10427: integrated max depth into MCTS solver
  • r10430: changed constants in MCTS
  • r10431: Added deceptive max problem.
  • r10436: implemented softmax strategy for tree exploration
  • r10437: implemented epsilon-greedy search policy

comment:49 Changed 3 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.10 to HeuristicLab 3.3.11

comment:50 Changed 2 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.11 to HeuristicLab 3.3.x Backlog

comment:51 Changed 16 months ago by gkronber

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 4.x Backlog
Note: See TracTickets for help on using tickets.