Opened 12 years ago
Closed 11 years ago
#2021 closed enhancement (done)
SymbolicExpressionTreeLinearInterpreter
Reported by: | bburlacu | Owned by: | gkronber |
---|---|---|---|
Priority: | low | Milestone: | HeuristicLab 3.3.9 |
Component: | Problems.DataAnalysis.Symbolic | Version: | 3.3.9 |
Keywords: | Cc: |
Description (last modified by bburlacu)
Attachments (1)
Change History (38)
comment:1 Changed 12 years ago by bburlacu
comment:2 Changed 12 years ago by bburlacu
- Description modified (diff)
comment:3 Changed 12 years ago by bburlacu
- Description modified (diff)
comment:4 Changed 12 years ago by bburlacu
- Description modified (diff)
comment:5 Changed 12 years ago by bburlacu
- Status changed from new to assigned
comment:6 Changed 12 years ago by bburlacu
r9290: Removed double field from Instruction.cs, added separated double array for computing the values.
comment:7 Changed 12 years ago by bburlacu
comment:8 Changed 11 years ago by bburlacu
r9732: Merged trunk changes for HeuristicLab.Encodings.SymbolicExpressionTreeEncoding and HeuristicLab.Problems.DataAnalysis.Symbolic. Replaced prefix iteration of nodes in the linear interpretation with breadth iteration for simplified logic and extra performance. Reversed unnecessary changes to other projects.
comment:9 Changed 11 years ago by bburlacu
r9733: Fixed wrong method invocation in SymbolicDataAnalysisExpressionTreeILEmittingInterpreter.cs.
comment:10 Changed 11 years ago by bburlacu
r9734: Updated license year, fixed interpreter name (SymbolicDataAnalysisExpressionTreeLinearInterpreter) and updated description. Replaced tabs with spaces in Instruction.cs.
comment:11 Changed 11 years ago by bburlacu
r9735: Forgot to add tests subproject to the solution.
comment:12 Changed 11 years ago by bburlacu
- Status changed from assigned to accepted
r9738: Created separate LinearInstruction class for the linear interpreter. Added properties folder and strong name key.
comment:13 Changed 11 years ago by gkronber
Please accept this ticket. I'd be happy if we can integrate your changes into the trunk soon.
comment:14 Changed 11 years ago by bburlacu
r9739: Added separate SymbolicExpressionTreeLinearCompiler. Updated the SymbolicDataAnalysisExpressionTreeLinearInterpreter:
- moved constants evaluation outside of loop
- simplified code
- renamed EvaluateFast method to Evaluate and made it static.
comment:15 Changed 11 years ago by bburlacu
- Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.9
- Owner changed from bburlacu to mkommend
- Status changed from accepted to reviewing
- Derived the LinearInstruction class from Instruction.
- Added missing symbols to the linear interpreter
- Changed description for the linear interpreter
- Added more helpful exception message when a symbol is not supported.
- Added evaluation test for the linear interpreter
comment:16 Changed 11 years ago by bburlacu
r9776: Added support for lagged symbols: TimeLag, Derivative, Integral.
comment:17 Changed 11 years ago by bburlacu
r9788: Fixed evaluation bug for LaggedVariable symbols.
comment:18 Changed 11 years ago by bburlacu
r9793: Small code improvements.
comment:19 Changed 11 years ago by bburlacu
r9815: Code enhancements: changed the SymbolicExpressionTreeLinearCompiler to use and return an array directly and not a list.ToArray(). Replaced GetPrefixSequence lambda with a standalone method and eliminated SetSkip lambda from the PrepareInstructions method. Updated description of SymbolicDataAnalysisExpressionTreeLinearInterpreter.
comment:20 Changed 11 years ago by bburlacu
r9818: Changed Evaluate method to pass the row parameter by value and not by reference.
comment:21 Changed 11 years ago by mkommend
r9826: Minor code changes in the linear interpreter branch.
comment:22 Changed 11 years ago by mkommend
r9828: Integrated the linear interpreter in the trunk and restructed interpreter unit tests.
comment:23 Changed 11 years ago by mkommend
- Owner changed from mkommend to gkronber
- Version changed from branch to 3.3.9
r9830: Set the linear interpreter as default for symbolic data analysis problems.
comment:24 Changed 11 years ago by mkommend
r9831: Deleted the linear interpreter branch.
comment:25 Changed 11 years ago by bburlacu
r9837: Removed SymbolicDataAnalysisSolutionValuesCalculator.cs file that was accidentally copied into the trunk when the linear interpreter was integrated.
comment:26 Changed 11 years ago by mkommend
- Owner changed from gkronber to mkommend
- Status changed from reviewing to assigned
comment:27 Changed 11 years ago by mkommend
- Status changed from assigned to accepted
A bug was detected in the node impact calculation. The tree length is not calculated correctly and as the linear interpreter uses the tree length to allocate the instructions array, it crashes.
comment:28 Changed 11 years ago by mkommend
- Owner changed from mkommend to bburlacu
- Status changed from accepted to reviewing
r9840: Fixed a bug node impact caluclation code and adapted the cloner to include a method to get the matching cloned object given the original one.
comment:29 Changed 11 years ago by bburlacu
r9871: Replaced the opcode switch block in the Evaluate() method with an if-else block, as it apparently improves performance.
comment:30 Changed 11 years ago by mkommend
- Owner changed from bburlacu to gkronber
comment:31 Changed 11 years ago by gkronber
- Owner changed from gkronber to mkommend
- Status changed from reviewing to readytorelease
I think this is ready to be included into stable.
comment:32 Changed 11 years ago by gkronber
- Owner changed from mkommend to gkronber
- Status changed from readytorelease to reviewing
Pulled from release because of unresolved issues (see #1508)
comment:33 follow-up: ↓ 34 Changed 11 years ago by gkronber
- Owner changed from gkronber to mkommend
r9944 made fix in the way how the breath-first linear representation of the tree is translated to the prefix representation. Please review.
comment:34 in reply to: ↑ 33 Changed 11 years ago by bburlacu
comment:35 Changed 11 years ago by mkommend
- Owner changed from mkommend to gkronber
- Status changed from reviewing to readytorelease
Reviewed r9944. Thx for spotting this bug.
comment:36 Changed 11 years ago by gkronber
comment:37 Changed 11 years ago by gkronber
- Resolution set to done
- Status changed from readytorelease to closed
r9271: Initial implementation of the SymbolicDataAnalysisExpressionTreeLinearInterpreter.