protected InteractiveSymbolicDataAnalysisSolutionSimplifierView(ISymbolicDataAnalysisSolutionImpactValuesCalculator impactCalculator) { InitializeComponent(); foldedNodes = new Dictionary <ISymbolicExpressionTreeNode, ISymbolicExpressionTreeNode>(); changedNodes = new Dictionary <ISymbolicExpressionTreeNode, ISymbolicExpressionTreeNode>(); nodeImpacts = new Dictionary <ISymbolicExpressionTreeNode, double>(); this.Caption = "Interactive Solution Simplifier"; this.impactCalculator = impactCalculator; // initialize the tree modifier that will be used to perform edit operations over the tree treeChart.ModifyTree = Modify; }
protected SymbolicDataAnalysisExpressionPruningOperator(ISymbolicDataAnalysisSolutionImpactValuesCalculator impactValuesCalculator) { #region add parameters Parameters.Add(new LookupParameter <IDataAnalysisProblemData>(ProblemDataParameterName)); Parameters.Add(new LookupParameter <ISymbolicDataAnalysisModel>(SymbolicDataAnalysisModelParameterName)); Parameters.Add(new LookupParameter <IntRange>(FitnessCalculationPartitionParameterName)); Parameters.Add(new LookupParameter <IntValue>(PrunedNodesParameterName, "A counter of how many nodes were pruned.")); Parameters.Add(new LookupParameter <IntValue>(PrunedSubtreesParameterName, "A counter of how many subtrees were replaced.")); Parameters.Add(new LookupParameter <IntValue>(PrunedTreesParameterName, "A counter of how many trees were pruned.")); Parameters.Add(new FixedValueParameter <BoolValue>(PruneOnlyZeroImpactNodesParameterName, "Specify whether or not only zero impact nodes should be pruned.")); Parameters.Add(new FixedValueParameter <DoubleValue>(NodeImpactThresholdParameterName, "Specifies an impact value threshold below which nodes should be pruned.")); Parameters.Add(new LookupParameter <DoubleLimit>(EstimationLimitsParameterName)); Parameters.Add(new LookupParameter <ISymbolicDataAnalysisExpressionTreeInterpreter>(InterpreterParameterName)); Parameters.Add(new LookupParameter <ISymbolicExpressionTree>(SymbolicExpressionTreeParameterName)); Parameters.Add(new LookupParameter <DoubleValue>(QualityParameterName)); Parameters.Add(new LookupParameter <BoolValue>(ApplyLinearScalingParameterName)); Parameters.Add(new ValueParameter <ISymbolicDataAnalysisSolutionImpactValuesCalculator>(ImpactValuesCalculatorParameterName, impactValuesCalculator)); #endregion }
public SymbolicClassificationPruningOperator(ISymbolicDataAnalysisSolutionImpactValuesCalculator impactValuesCalculator) : base(impactValuesCalculator) { Parameters.Add(new LookupParameter <ISymbolicClassificationModelCreator>(ModelCreatorParameterName)); Parameters.Add(new LookupParameter <ISymbolicClassificationSingleObjectiveEvaluator>(EvaluatorParameterName)); }
public SymbolicRegressionPruningOperator(ISymbolicDataAnalysisSolutionImpactValuesCalculator impactValuesCalculator) : base(impactValuesCalculator) { Parameters.Add(new LookupParameter<ISymbolicRegressionSingleObjectiveEvaluator>(EvaluatorParameterName)); }
protected SymbolicDataAnalysisExpressionPruningOperator(ISymbolicDataAnalysisSolutionImpactValuesCalculator impactValuesCalculator) { #region add parameters Parameters.Add(new LookupParameter<IDataAnalysisProblemData>(ProblemDataParameterName)); Parameters.Add(new LookupParameter<ISymbolicDataAnalysisModel>(SymbolicDataAnalysisModelParameterName)); Parameters.Add(new LookupParameter<IntRange>(FitnessCalculationPartitionParameterName)); Parameters.Add(new LookupParameter<IntValue>(PrunedNodesParameterName, "A counter of how many nodes were pruned.")); Parameters.Add(new LookupParameter<IntValue>(PrunedSubtreesParameterName, "A counter of how many subtrees were replaced.")); Parameters.Add(new LookupParameter<IntValue>(PrunedTreesParameterName, "A counter of how many trees were pruned.")); Parameters.Add(new FixedValueParameter<BoolValue>(PruneOnlyZeroImpactNodesParameterName, "Specify whether or not only zero impact nodes should be pruned.")); Parameters.Add(new FixedValueParameter<DoubleValue>(NodeImpactThresholdParameterName, "Specifies an impact value threshold below which nodes should be pruned.")); Parameters.Add(new LookupParameter<DoubleLimit>(EstimationLimitsParameterName)); Parameters.Add(new LookupParameter<ISymbolicDataAnalysisExpressionTreeInterpreter>(InterpreterParameterName)); Parameters.Add(new LookupParameter<ISymbolicExpressionTree>(SymbolicExpressionTreeParameterName)); Parameters.Add(new LookupParameter<DoubleValue>(QualityParameterName)); Parameters.Add(new LookupParameter<BoolValue>(ApplyLinearScalingParameterName)); Parameters.Add(new ValueParameter<ISymbolicDataAnalysisSolutionImpactValuesCalculator>(ImpactValuesCalculatorParameterName, impactValuesCalculator)); #endregion }