Free cookie consent management tool by TermsFeed Policy Generator

Opened 12 years ago

Closed 10 years ago

#1070 closed enhancement (done)

Port SymbolicExpressionTree manipulation operators from 3.2 to 3.3

Reported by: gkronber Owned by: gkronber
Priority: low Milestone: HeuristicLab 3.3.8
Component: Encodings.SymbolicExpressionTreeEncoding Version: 3.3.8
Keywords: Cc:

Description


Attachments (1)

remove branch mutation test.hl (862.8 KB) - added by mkommend 10 years ago.
differences between GP samples with or without remove branch mutation

Download all attachments as: .zip

Change History (18)

comment:1 Changed 12 years ago by gkronber

  • Status changed from new to assigned

comment:2 Changed 12 years ago by gkronber

r4189:

  • Implemented manipulation operator for symbolic expression tree encoding that replaces one randomly chosen branch with a new randomly initialized branch.

comment:3 Changed 12 years ago by gkronber

  • Status changed from assigned to new

comment:4 Changed 12 years ago by gkronber

  • Version changed from 3.3 to 3.3.2

comment:5 Changed 11 years ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from new to assigned

comment:6 Changed 10 years ago by mkommend

  • Status changed from assigned to accepted

comment:7 Changed 10 years ago by mkommend

r8333: Added RemoveBranchManipulation to HL.Encodings.SymbolicExpressionTree.

comment:8 Changed 10 years ago by mkommend

r8335: Adapted unit test to take new GP manipulator into account.

comment:9 Changed 10 years ago by mkommend

r8342: Updated GP samples to contain the new manipulator.

comment:10 Changed 10 years ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from accepted to reviewing

comment:11 Changed 10 years ago by gkronber

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

comment:12 follow-up: Changed 10 years ago by gkronber

Interestingly the symbolic regression sample unit test became slower because of the new operator (from 1m43s to 2m11s)

comment:13 Changed 10 years ago by gkronber

  • Owner changed from gkronber to mkommend

Changed 10 years ago by mkommend

differences between GP samples with or without remove branch mutation

comment:14 in reply to: ↑ 12 Changed 10 years ago by mkommend

Replying to gkronber:

Interestingly the symbolic regression sample unit test became slower because of the new operator (from 1m43s to 2m11s)

I have attached a file containing two runs of the GP sample; one time with the remove branch mutation and one time without and exactly the same seed as the unit test uses. Both result in the same quality values as the unit test does /did. When looking at the results it becomes obvious why the unit test became slower, because more nodes were evaluated. The sum of the average tree size per generation over all generations increases from 2655.662 to 3521.365.

comment:15 Changed 10 years ago by mkommend

  • Owner changed from mkommend to gkronber

comment:16 Changed 10 years ago by gkronber

  • Status changed from reviewing to readytorelease

This is a reasonable explanation for the performance deterioration.

Reviewed the operator added with r8333 (especially like the recursive application to generate a minimal tree). Changesets r8335 and r8342 should be correct as well.

comment:17 Changed 10 years ago by swagner

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.2 to 3.3.8
Note: See TracTickets for help on using tickets.