Opened 14 years ago
Closed 13 years ago
#1480 closed task (done)
Reevaluate IL emitting for symbolic data analysis solutions
Reported by: | gkronber | Owned by: | gkronber |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.6 |
Component: | Problems.DataAnalysis.Symbolic | Version: | 3.3.6 |
Keywords: | Cc: |
Description
Could be beneficial for larger datasets. Additionally it could be beneficial for solutions that are evaluated multiple times.
Change History (18)
comment:1 Changed 13 years ago by gkronber
comment:2 Changed 13 years ago by gkronber
- Owner changed from mkommend to gkronber
- Status changed from new to accepted
comment:3 Changed 13 years ago by gkronber
- added IL emitting tree interpreter for symbolic data analysis and test case.
- Found and fixed a bug in the existing interpreter for boolean operators OR and AND with NaN arguments. However, this means that the output of previously stored solutions changes. We Probably we should keep the incorrect behavior now and document this accordingly, as changing this would need a version increment of all data analysis plugins.
comment:4 Changed 13 years ago by gkronber
r6735: reduced nodesPerSecThreshold for IL-emitting interpreter performance tests to fix problems with the release build on builder.
comment:5 Changed 13 years ago by gkronber
r6755: implemented code to handle root symbols for the il emitting interpreter and fixed code for power symbol.
comment:6 Changed 13 years ago by gkronber
r6770: added code for the interpretation of lagged variables to the IL emitting interpreter.
comment:7 Changed 13 years ago by gkronber
- Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.6
comment:8 Changed 13 years ago by gkronber
- Added check if row index lies within the possible range of the dataset and implemented interpretation of time series symbols in the IL emitting interpreter.
- Added test cases for evaluation of time series symbols.
comment:9 Changed 13 years ago by gkronber
- Owner changed from gkronber to mkommend
- Status changed from accepted to reviewing
comment:10 Changed 13 years ago by gkronber
r6836: reduced threshold for evaluated tree nodes / sec for the IL emitting interpreter performance test to reduce number of fails on the builder.
comment:11 Changed 13 years ago by gkronber
r6849: experimental change to potentially improve performance of interpreters.
comment:12 Changed 13 years ago by gkronber
comment:13 Changed 13 years ago by mkommend
- Owner changed from mkommend to gkronber
- Status changed from reviewing to assigned
I've tested the whole functionality and had a brief look at the source code. Everything works as expected, but one thing should be corrected:
- Throw a more meaningful exception, if symbols are not implemented in the ILEmittingInterpreter (e.g., specifying which symbol causes the exception).
comment:14 Changed 13 years ago by gkronber
r7077: added a message for the NotSupportedException thrown in the SymbolicDataAnalysisExpressionTreeILEmittingInterpreter stating which symbolic is not supported.
comment:15 Changed 13 years ago by gkronber
- Owner changed from gkronber to mkommend
- Status changed from assigned to reviewing
comment:16 Changed 13 years ago by mkommend
- Owner changed from mkommend to gkronber
- Status changed from reviewing to readytorelease
Thx for updating the text of the thrown exceptions.
comment:17 Changed 13 years ago by abeham
- Version changed from branch to 3.3.5
comment:18 Changed 13 years ago by swagner
- Resolution set to done
- Status changed from readytorelease to closed
- Version changed from 3.3.5 to 3.3.6
Resurrected the IL emitting interpreter I once implemented for HL 3.1 and implemented an interpreter for 3.4 based on it. The unit test tests the same cases as the unit test for the standard interpreter except for the ADF operations which are not implemented in the IL emitting interpreter.