#2643 closed defect (done)
Subtree crossover can fail when tree size is larger than maximum tree size
Reported by: | bburlacu | Owned by: | mkommend |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.14 |
Component: | Encodings.SymbolicExpressionTreeEncoding | Version: | 3.3.13 |
Keywords: | Cc: |
Description
This is a weird corner case which normally doesn't happen in practice. However, the problem can appear for example when a run is paused and then the maximum tree length parameter is set to a lower value. In the extreme case, the new size limit can prevent all subtrees from the non-root parent from being swapped due to exceeded size limit. Furthermore, the maxInsertedBranchLength value as computed internally by the Cross method in SubtreeCrossover.cs can become negative.
Change History (7)
comment:1 Changed 8 years ago by bburlacu
- Status changed from new to accepted
comment:2 Changed 8 years ago by bburlacu
- Owner changed from bburlacu to mkommend
- Status changed from accepted to reviewing
comment:3 Changed 8 years ago by bburlacu
- Milestone changed from HeuristicLab 3.3.14 to HeuristicLab 3.3.15
comment:4 Changed 8 years ago by mkommend
- Milestone changed from HeuristicLab 3.3.15 to HeuristicLab 3.3.14
- Status changed from reviewing to readytorelease
comment:5 Changed 8 years ago by mkommend
- Resolution set to done
- Status changed from readytorelease to closed
comment:6 Changed 8 years ago by mkommend
r14198: Corrected small bug in subtree crossover to preserve backwards compatibility.
comment:7 Changed 8 years ago by swagner
Note: See
TracTickets for help on using
tickets.
r14181: Prevent invalid values for maxInsertedBranchLength and maxInsertedBranchDepth in SubtreeCrossover.cs.