Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/05/10 13:52:16 (14 years ago)
Author:
gkronber
Message:

Added best solution analyzer for artificial ant problem. #999 (Refactor algorithm analysis and tracing)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.ArtificialAnt/3.3/ArtificialAntProblem.cs

    r3616 r3631  
    3737using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.ArchitectureManipulators;
    3838using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Interfaces;
     39using HeuristicLab.Problems.ArtificialAnt.Analyzers;
    3940
    4041namespace HeuristicLab.Problems.ArtificialAnt {
     
    181182      get { return BestKnownQualityParameter.Value; }
    182183    }
    183     private List<ISymbolicExpressionTreeOperator> operators;
     184    private List<IOperator> operators;
    184185    public IEnumerable<IOperator> Operators {
    185       get { return operators.Cast<IOperator>(); }
     186      get { return operators; }
     187    }
     188
     189    public IEnumerable<IAntTrailPopulationAnalyzer> AntTrailAnalyzers {
     190      get { return operators.OfType<IAntTrailPopulationAnalyzer>(); }
    186191    }
    187192    #endregion
     
    209214      ParameterizeSolutionCreator();
    210215      ParameterizeEvaluator();
    211       ParameterizeVisualizer();
    212 
    213216      Initialize();
    214217    }
     
    248251      ParameterizeSolutionCreator();
    249252      ParameterizeEvaluator();
    250       ParameterizeVisualizer();
     253      ParameterizeAnalyzers();
    251254      ParameterizeOperators();
    252255      OnSolutionCreatorChanged();
     
    254257    private void SolutionCreator_SymbolicExpressionTreeParameter_ActualNameChanged(object sender, EventArgs e) {
    255258      ParameterizeEvaluator();
    256       ParameterizeVisualizer();
     259      ParameterizeAnalyzers();
    257260      ParameterizeOperators();
    258261    }
     
    260263      Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged);
    261264      ParameterizeEvaluator();
    262       ParameterizeVisualizer();
     265      ParameterizeAnalyzers();
    263266      OnEvaluatorChanged();
    264267    }
    265268
    266269    private void Evaluator_QualityParameter_ActualNameChanged(object sender, EventArgs e) {
    267       ParameterizeVisualizer();
     270      ParameterizeAnalyzers();
    268271    }
    269272
     
    293296
    294297    private void InitializeOperators() {
    295       operators = new List<ISymbolicExpressionTreeOperator>();
    296       operators.AddRange(ApplicationManager.Manager.GetInstances<ISymbolicExpressionTreeOperator>());
     298      operators = new List<IOperator>();
     299      operators.AddRange(ApplicationManager.Manager.GetInstances<ISymbolicExpressionTreeOperator>().OfType<IOperator>());
     300      operators.Add(new PopulationBestAntTrailAnalyzer());
     301      ParameterizeAnalyzers();
    297302      ParameterizeOperators();
    298303    }
     
    308313      Evaluator.WorldParameter.ActualName = WorldParameter.Name;
    309314    }
    310     private void ParameterizeVisualizer() {
    311       //if (Visualizer != null) {
    312       //  Visualizer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
    313       //  var antTrailVisualizer = Visualizer as IAntTrailVisualizer;
    314       //  if (antTrailVisualizer != null) {
    315       //    antTrailVisualizer.SymbolicExpressionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
    316       //    antTrailVisualizer.WorldParameter.ActualName = WorldParameter.Name;
    317       //    antTrailVisualizer.MaxTimeStepsParameter.ActualName = MaxTimeStepsParameter.Name;
    318       //  }
    319       //  var bestSymExpressionVisualizer = Visualizer as BestSymbolicExpressionTreeVisualizer;
    320       //  if (bestSymExpressionVisualizer != null) {
    321       //    bestSymExpressionVisualizer.SymbolicExpressionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
    322       //  }
    323       //}
     315    private void ParameterizeAnalyzers() {
     316      foreach (IAntTrailPopulationAnalyzer analyzer in AntTrailAnalyzers) {
     317        analyzer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
     318        analyzer.SymbolicExpressionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
     319        analyzer.WorldParameter.ActualName = WorldParameter.Name;
     320        analyzer.MaxTimeStepsParameter.ActualName = MaxTimeStepsParameter.Name;
     321      }
    324322    }
    325323
Note: See TracChangeset for help on using the changeset viewer.