Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/05/12 12:36:25 (12 years ago)
Author:
epitzer
Message:

Improve Information Analyzer #1696

  • Configurable discretized or full quantile analysis
  • Configurable shape size
  • Include peak information values and deltas in results
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/FitnessLandscapeAnalysis/HeuristicLab.Analysis.FitnessLandscape/Analysis/InformationAnalyzer.cs

    r8725 r8744  
    5353      get { return (ValueLookupParameter<IntValue>)Parameters["NQuantiles"]; }
    5454    }
     55    public ValueLookupParameter<IntValue> ShapeSizeParameter {
     56      get { return (ValueLookupParameter<IntValue>)Parameters["ShapeSize"]; }
     57    }
    5558    public LookupParameter<DoubleValue> InformationContentValueParameter {
    5659      get { return (LookupParameter<DoubleValue>)Parameters["InformationContentValue"]; }
     
    122125      Parameters.Add(new LookupParameter<InformationAnalysisTable>("Information", "A data table that information theoretic fitness landscape characteristics"));
    123126      Parameters.Add(new LookupParameter<VariableCollection>("Results", "The collection of all results of this algorithm"));
     127
    124128      Parameters.Add(new ValueLookupParameter<IntValue>("NQuantiles", "The number of delta quantiles to display", new IntValue(20)));
     129      Parameters.Add(new ValueLookupParameter<IntValue>("ShapeSize", "The number of slopes to consider as shapes.", new IntValue(2)));
     130
    125131      Parameters.Add(new LookupParameter<DoubleValue>("InformationContentValue", "The information content H(0) at eps = 0"));
    126132      Parameters.Add(new LookupParameter<DoubleValue>("PartialInformationContentValue", "Partial information content M(0) at eps = 0"));
     
    170176    private void AnalyseInformation() {
    171177      int nQuantiles = NQuantilesParameter.ActualValue.Value;
     178      int shapeSize = ShapeSizeParameter.ActualValue.Value;
    172179      var qualities = QualityTrailParameter.ActualValue.Rows.First().Values.ToList();
    173180      if (qualities.Count > nQuantiles) {
     
    178185        var totalEntropy = informationTable.Rows["Total Entropy"].Values;
    179186        var qualityDelta = informationTable.Rows["Quality Delta"].Values;
    180         var analysis = new InformationAnalysis(qualities, nQuantiles);
     187        var analysis = new InformationAnalysis(qualities, nQuantiles, shapeSize);
    181188        InformationStability.Rows["Regularity"].Values.Add(analysis.Regularity);
    182189        InformationStability.Rows["Diversity"].Values.Add(analysis.Diversity);
    183         InformationStability.Rows["Relative Regularity"].Values.Add(1.0 * analysis.Regularity / qualities.Count);
    184         InformationStability.Rows["Relative Diversity"].Values.Add(1.0 * analysis.Diversity / qualities.Count);
     190        InformationStability.Rows["Relative Regularity"].Values.Add(1.0*analysis.Regularity/qualities.Count);
     191        InformationStability.Rows["Relative Diversity"].Values.Add(1.0*analysis.Diversity/qualities.Count);
    185192        InformationStability.Rows["Information Stability"].Values.Add(analysis.InformationStability);
    186193        informationContent.Clear();
     
    200207        RegularityValueParameter.ActualValue = new IntValue(analysis.Regularity);
    201208        DiversityValueParameter.ActualValue = new IntValue(analysis.Diversity);
    202         PeakInformationContentParameter.ActualValue = new DoubleValue(analysis.PeakInformationContent.Value);
    203         PeakDensityBasinInformationParameter.ActualValue = new DoubleValue(analysis.PeakDensityBasinInformation.Value);
    204         PeakInformationContentQualityDeltaParameter.ActualValue = new DoubleValue(analysis.PeakInformationContent.QualityDelta);
    205         PeakDensityBasinInformationQualityDeltaParameter.ActualValue = new DoubleValue(analysis.PeakDensityBasinInformation.QualityDelta);
     209        if (analysis.PeakInformationContent != null) {
     210          PeakInformationContentParameter.ActualValue = new DoubleValue(analysis.PeakInformationContent.Value);
     211          PeakInformationContentQualityDeltaParameter.ActualValue = new DoubleValue(analysis.PeakInformationContent.QualityDelta);
     212        }
     213        if (analysis.PeakDensityBasinInformation != null) {
     214          PeakDensityBasinInformationParameter.ActualValue = new DoubleValue(analysis.PeakDensityBasinInformation.Value);
     215          PeakDensityBasinInformationQualityDeltaParameter.ActualValue = new DoubleValue(analysis.PeakDensityBasinInformation.QualityDelta);
     216        }
    206217      }
    207218    }
Note: See TracChangeset for help on using the changeset viewer.