heal-research / HeuristicLab

HeuristicLab - An environment for heuristic and evolutionary optimization
https://dev.heuristiclab.com
GNU General Public License v3.0
35 stars 16 forks source link

Create HeuristicLab.Problems.GeneticProgramming #2472

Closed HeuristicLab-Trac-Bot closed 8 years ago

HeuristicLab-Trac-Bot commented 9 years ago

Issue migrated from trac ticket # 2472

milestone: HeuristicLab 3.3.13 | component: Problems.GeneticProgramming | priority: medium | resolution: done

2015-08-27 07:01:05: @gkronber created the issue


This plugin should hold GP problems such as the aritificial ant or the lawn mower problem.

This ticket replaces individual tickets #2421, #2422, and #2469

For integration into stable merge the following changesets:

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 07:04:42: @gkronber changed status from new to accepted

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 07:04:42: @gkronber changed component from ### Undefined ### to Problems.GeneticProgramming

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 08:22:07: @gkronber commented


changesets originally commited to #2469: r12897: added SymbolicExpressionTreeProblem base class r12904: implemented override for Analyze(...) method in SymbolicExpressionTreeProblem

r12911: created project structure for HeuristicLab.Problems.GeneticProgramming and added implementations of ArtificialAnt and LawnMower

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 08:22:07: @gkronber

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 08:22:07: @gkronber

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 08:23:13: @gkronber commented


r12912: svn:ignore

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 10:08:41: @gkronber edited the issue description

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 10:20:22: @gkronber commented


r12915:

  • include Problems.GeneticProgramming in solution
  • use Problems.GeneticProgramming from Problems.GrammaticalEvolution (only ArtificialAnt part)
  • simplified GEArtificialAntProblem by using BasicProblem
HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 10:24:53: @gkronber commented


r12916:

  • deleted unused files
  • removed createable attribute from outdated implementation of GrammaticalEvolution problems
HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 10:38:09: @gkronber edited the issue description

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 10:38:09: @gkronber commented


r12917 to r12918: removed deleted projects from solution

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 10:38:09: @gkronber

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 11:09:41: @gkronber edited the issue description

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 11:20:05: @gkronber commented


I left the SymbolicExpressionTreeProblem in the encoding plugin because I believe it fits better there (as a potential base class for all problems using the symbolic expression tree encoding). It is not strictly necessary to include a reference to Problems.GeneticProgramming.

HeuristicLab-Trac-Bot commented 9 years ago

2015-08-27 15:38:06: @gkronber commented


r12921: update best solution only if a solution with a better best quality is found

HeuristicLab-Trac-Bot commented 9 years ago

2015-09-02 17:47:32: @gkronber commented


r12936 to r12937 added an implementation of Koza-style symbolic regression as BasicProblem to Problems.GeneticProgramming

HeuristicLab-Trac-Bot commented 9 years ago

2015-09-02 17:47:32: @gkronber

HeuristicLab-Trac-Bot commented 9 years ago

2015-09-03 13:04:04: @gkronber commented


r12938: added even parity and multiplexer problems (GP)

HeuristicLab-Trac-Bot commented 9 years ago

2015-09-04 10:27:02: @gkronber commented


r12940: minor fix in multiplexer problem

HeuristicLab-Trac-Bot commented 9 years ago

2015-09-10 10:15:42: @gkronber commented


r12947: removed unnecessary Filename property

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-14 11:02:11: @gkronber changed status from accepted to reviewing

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-14 11:02:11: @gkronber changed owner from @gkronber to @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-20 12:37:23: @gkronber changed status from reviewing to assigned

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-20 12:37:23: @gkronber changed owner from @mkommend to @gkronber

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-20 12:37:23: @gkronber commented


The samples (artificial ant, lawn mower, and multiplexer) should be updated. (Done)

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-20 12:37:23: @gkronber

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-20 12:37:23: @gkronber

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 20:20:57: @gkronber commented


  • r13055: changed ordering of symbols in the grammar for the artificial ant problem to make sure the new problem produces the same results as the old implementation
  • r13056: changed GP artificial ant sample to use new implementation
HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 20:57:48: @gkronber commented


r13057: changed lawn mower sample to use the new implementation and added assertions for the results of the unit test (let's see if they work on the builder...)

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-23 09:09:20: @gkronber commented


r13058: fixed lawn mower sample

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-15 15:39:16: @gkronber commented


r13163 (sorry this commit messages incorrectly references #2069, but it was not possible to edit the svn log message afterwards)

  • adapted the multiplexer sample to use the specific implementation of the multiplexer problem instead of symbolic regression.
  • Added best known solutions for the Boolean benchmark problems
HeuristicLab-Trac-Bot commented 8 years ago

2015-11-15 15:39:16: @gkronber

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-15 15:43:23: @gkronber changed status from assigned to reviewing

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-15 15:43:23: @gkronber changed owner from @gkronber to @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-15 15:43:23: @gkronber commented


all changesets mentioned in the comments are relevant but probably it is best to review the code in

  • HeuristicLab.Problems.GeneticProgramming and
  • HeuristicLab.Problems.GeneticProgramming.Views
HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 17:05:29: @mkommend commented


Reviewed the SymbolicExpressionTreeProblem and HL.Problems.GP and the according views and unit test for sample creation.

Comments:

  • Odd source code organization (cloning and persistence in a region at the EOF)
  • BasicSymbolicRegression
    • Recreates constants every time the problem is changed => not reproducible
    • Couldn't the solution be transformed to a standard data analysis tree (simplify, optimize?
  • Why are the boolean problems restricted (number of bits) and why is this done in the evaluation function?

Overall pretty cool and easy to implement problems. I am especially impressed on how easy tree evaluation can be performed for the boolean and regression problems.

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 17:05:29: @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 17:05:29: @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 17:05:29: @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 17:05:29: @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 17:05:29: @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 17:05:29: @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 22:30:03: @mkommend commented


r13267: Minor code improvements in HL.Problems.GP (typos, code organization, code unification).

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 22:41:29: @mkommend changed status from reviewing to assigned

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-18 22:41:29: @mkommend changed owner from @mkommend to @gkronber

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-19 09:57:30: @mkommend changed status from assigned to reviewing

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-19 09:57:30: @mkommend changed owner from @gkronber to @mkommend

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-19 09:57:30: @mkommend commented


r13269: Moved cloning and persistence code near the default ctor for all new GP problems.

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-19 09:57:38: @mkommend changed status from reviewing to readytorelease

HeuristicLab-Trac-Bot commented 8 years ago

2015-11-19 09:57:38: @mkommend changed owner from @mkommend to @gkronber