Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/10/17 11:23:05 (7 years ago)
Author:
pkimmesw
Message:

#2665 Added IsNoop to Expression, Made Expressions storable, Fixed Debugger, Fixed and improved problem data and result visualisation, Added custom ErcOption view, Added problem difficulty to problem data name

Location:
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base
Files:
20 added
14 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Boolean/BooleanErcOptions.cs

    r14897 r14952  
    77
    88    public BooleanErcOptions() { }
    9     public BooleanErcOptions(params IWeightedErcValueItem<bool>[] values) : base(true, values) { }
    10     public BooleanErcOptions(bool isEnabled, params IWeightedErcValueItem<bool>[] values) : base(isEnabled, values) { }
     9    public BooleanErcOptions(params WeightedErcItem<bool>[] values) : base(true, values) { }
     10    public BooleanErcOptions(bool isEnabled, params WeightedErcItem<bool>[] values) : base(isEnabled, values) { }
    1111
    1212    [StorableConstructor]
     
    1818      return new BooleanErcOptions(this, cloner);
    1919    }
     20
     21    public override string ToString() {
     22      return "Boolean";
     23    }
    2024  }
    2125}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Char/CharErcOptions.cs

    r14905 r14952  
    1010    public CharErcOptions() { }
    1111
    12     public CharErcOptions(params IWeightedErcValueItem<int>[] values) : this(true, values) { }
     12    public CharErcOptions(params WeightedErcItem<int>[] values) : this(true, values) { }
    1313
    14     public CharErcOptions(bool isEnabled, params IWeightedErcValueItem<int>[] values) : base(isEnabled, values) { }
     14    public CharErcOptions(bool isEnabled, params WeightedErcItem<int>[] values) : base(isEnabled, values) { }
    1515
    1616    [StorableConstructor]
     
    2626      return GetErcValue(random, Convert.ToChar);
    2727    }
     28
     29    public override string ToString() {
     30      return "Char";
     31    }
    2832  }
    2933}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/ConstantsErcValue.cs

    r14905 r14952  
    77
    88  [StorableClass]
    9   public abstract class ConstantsWeightedErcValue<T, TArray> : WeightedErcValueItem<T>
     9  public abstract class ConstantsWeightedErc<T, TArray> : WeightedErcItem<T>
    1010    where T : struct
    1111    where TArray : ValueTypeArray<T>, new() {
     
    1313    private const string ConstantsParameterName = "Constants";
    1414
    15     protected ConstantsWeightedErcValue(TArray array) : this(true, array) { }
    16     protected ConstantsWeightedErcValue(bool isEnabled, TArray array, double weight = 1d) : base(isEnabled, weight) {
     15    protected ConstantsWeightedErc(TArray array) : this(true, array) { }
     16    protected ConstantsWeightedErc(bool isEnabled, TArray array, double weight = 1d) : base(isEnabled, weight) {
    1717      Parameters.Add(new FixedValueParameter<TArray>(ConstantsParameterName, array));
     18      array.ToStringChanged += (sender, args) => UpdateName();
     19      UpdateName();
     20    }
     21
     22    private void UpdateName() {
     23      Name = Constants.ToString();
    1824    }
    1925
    2026    [StorableConstructor]
    21     protected ConstantsWeightedErcValue(bool deserializing) : base(deserializing) { }
     27    protected ConstantsWeightedErc(bool deserializing) : base(deserializing) { }
    2228
    23     protected ConstantsWeightedErcValue(ConstantsWeightedErcValue<T, TArray> origin, Cloner cloner) : base(origin, cloner) { }
     29    protected ConstantsWeightedErc(ConstantsWeightedErc<T, TArray> origin, Cloner cloner) : base(origin, cloner) { }
    2430
    2531    public IValueParameter<TArray> ConstantsParameter
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/ErcOption.cs

    r14905 r14952  
    66  [StorableClass]
    77  public abstract class ErcOption<T> : ErcOptionConvertible<T, T> {
    8     protected ErcOption() : this(false, new IWeightedErcValueItem<T>[0]) { }
     8    protected ErcOption() : this(false, new WeightedErcItem<T>[0]) { }
    99
    10     protected ErcOption(bool isEnabled, params IWeightedErcValueItem<T>[] values)
     10    protected ErcOption(bool isEnabled, params WeightedErcItem<T>[] values)
    1111        : base(isEnabled, values) { }
    1212
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/ErcOptionConvertible.cs

    r14905 r14952  
    1010
    1111  [StorableClass]
    12   public abstract class ErcOptionConvertible<TValue, TValueItem> : CheckedItemCollection<IWeightedErcValueItem<TValueItem>>, IErcValueItem<TValue> {
     12  public abstract class ErcOptionConvertible<TValue, TValueItem> : CheckedItemCollection<WeightedErcItem<TValueItem>>, IErcItem<TValue> {
    1313    [Storable]
    1414    protected bool isEnabled;
     
    1616    public event EventHandler<bool> EnabledChanged;
    1717
    18     protected ErcOptionConvertible() : this(false, new IWeightedErcValueItem<TValueItem>[0]) { }
     18    protected ErcOptionConvertible() : this(false, new WeightedErcItem<TValueItem>[0]) { }
    1919
    20     protected ErcOptionConvertible(bool isEnabled, params IWeightedErcValueItem<TValueItem>[] values) : base(values) {
     20    protected ErcOptionConvertible(bool isEnabled, params WeightedErcItem<TValueItem>[] values) : base(values) {
    2121      this.isEnabled = isEnabled;
    2222      SetEnabledChangedHandler(values);
     
    4242    }
    4343
    44     private void SetEnabledChangedHandler(IEnumerable<IWeightedErcValueItem<TValueItem>> values) {
     44    private void SetEnabledChangedHandler(IEnumerable<WeightedErcItem<TValueItem>> values) {
    4545      foreach (var item in values)
    4646        item.EnabledChanged += ErcValueItemEnabledChanged;
    4747    }
    4848
    49     protected override void OnItemsAdded(IEnumerable<IWeightedErcValueItem<TValueItem>> items) {
     49    protected override void OnItemsAdded(IEnumerable<WeightedErcItem<TValueItem>> items) {
    5050      base.OnItemsAdded(items);
    5151      SetEnabledChangedHandler(items);
    5252    }
    5353
    54     protected override void OnItemsRemoved(IEnumerable<IWeightedErcValueItem<TValueItem>> items) {
     54    protected override void OnItemsRemoved(IEnumerable<WeightedErcItem<TValueItem>> items) {
    5555      base.OnItemsRemoved(items);
    5656
     
    6060
    6161    private void ErcValueItemEnabledChanged(object sender, bool state) {
    62       SetItemCheckedState((IWeightedErcValueItem<TValueItem>)sender, state);
     62      SetItemCheckedState((WeightedErcItem<TValueItem>)sender, state);
    6363    }
    6464
    65     protected override void OnCheckedItemsChanged(IEnumerable<IWeightedErcValueItem<TValueItem>> items) {
     65    protected override void OnCheckedItemsChanged(IEnumerable<WeightedErcItem<TValueItem>> items) {
    6666      base.OnCheckedItemsChanged(items);
    6767
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/ErcOptions.cs

    r14906 r14952  
    11namespace HeuristicLab.Problems.ProgramSynthesis.Base.Erc {
    2   using System;
    32  using System.Collections.Generic;
    4   using System.Linq;
    5 
    6   using HeuristicLab.Collections;
    73  using HeuristicLab.Common;
    84  using HeuristicLab.Core;
    9   using HeuristicLab.Data;
    10   using HeuristicLab.Parameters;
    115  using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    126  using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.Boolean;
     
    1610  using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.Integer;
    1711  using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.IntegerVector;
     12  using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.Name;
    1813  using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.String;
    1914  using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.StringVector;
    2015
    2116  [StorableClass]
    22   public class ErcOptions : ParameterizedNamedItem, IReadOnlyErcOptions {
    23     private const string ProbabilityParameterName = "Probability";
    24     private const string IntegerParameterName = "Integer";
    25     private const string FloatParameterName = "Float";
    26     private const string CharParameterName = "Char";
    27     private const string BooleanParameterName = "Boolean";
    28     private const string StringParameterName = "String";
    29     private const string NameParameterName = "Name";
    30     private const string IntegerVectorParameterName = "IntegerVector";
    31     private const string FloatVectorParameterName = "FloatVector";
    32     private const string StringVectorParameterName = "StringVector";
    33 
    34     [Storable]
    35     private readonly NamedItemCollection<IValueParameter> ercOptionParameters;
    36 
    37     [Storable]
    38     private readonly ReadOnlyCheckedItemCollection<IValueParameter> ercOptions;
    39 
    40     private IDictionary<IValueParameter, EventHandler<bool>> ercOptionEnabledChangedHandler;
     17  public class ErcOptions : NamedItem, IReadOnlyErcOptions {
    4118
    4219    public ErcOptions() {
    4320      Name = "ERC Options";
    4421
    45       Parameters.Add(new FixedValueParameter<PercentValue>(ProbabilityParameterName));
    46 
    47       ercOptionParameters = new NamedItemCollection<IValueParameter>
    48                               {
    49                                 new ValueParameter<IntegerErcOptions>(IntegerParameterName),
    50                                 new ValueParameter<FloatErcOptions>(FloatParameterName),
    51                                 new ValueParameter<BooleanErcOptions>(BooleanParameterName),
    52                                 new ValueParameter<StringErcOptions>(StringParameterName),
    53                                 new ValueParameter<CharErcOptions>(CharParameterName),
    54                                 new ValueParameter<StringErcOptions>(NameParameterName),
    55                                 new ValueParameter<IntegerVectorErcOptions>(IntegerVectorParameterName),
    56                                 new ValueParameter<FloatVectorErcOptions>(FloatVectorParameterName),
    57                                 new ValueParameter<StringVectorErcOptions>(StringVectorParameterName)
    58                               };
    59 
    60       InitEnabledChangedHandlerDict(ercOptionParameters);
    61 
    62       var optionsCollection = new CheckedItemCollection<IValueParameter>(ercOptionParameters);
    63       ercOptions = new ReadOnlyCheckedItemCollection<IValueParameter>(optionsCollection);
    64       Parameters.Add(new FixedValueParameter<ReadOnlyCheckedItemCollection<IValueParameter>>("Options", ercOptions));
    65 
    66       ercOptions.CheckedItemsChanged += ErcOptionsCheckedItemsChanged;
    67       DisableAllOptions();
     22      ErcProbability = 0d;
     23      IntegerErcOptions = new IntegerErcOptions();
     24      FloatErcOptions = new FloatErcOptions();
     25      BooleanErcOptions = new BooleanErcOptions();
     26      CharErcOptions = new CharErcOptions();
     27      StringErcOptions = new StringErcOptions();
     28      NameErcOptions = new NameErcOptions();
     29      IntegerVectorErcOptions = new IntegerVectorErcOptions();
     30      StringVectorErcOptions = new StringVectorErcOptions();
     31      FloatVectorErcOptions = new FloatVectorErcOptions();
    6832    }
    6933
     
    7539    public ErcOptions(ErcOptions origin, Cloner cloner)
    7640      : base(origin, cloner) {
    77       ercOptions = cloner.Clone(origin.ercOptions);
    78       ercOptionParameters = cloner.Clone(origin.ercOptionParameters);
    79 
    80       InitEnabledChangedHandlerDict(ercOptionParameters);
     41      ErcProbability = origin.ErcProbability;
     42      IntegerErcOptions = cloner.Clone(origin.IntegerErcOptions);
     43      FloatErcOptions = cloner.Clone(origin.FloatErcOptions);
     44      BooleanErcOptions = cloner.Clone(origin.BooleanErcOptions);
     45      CharErcOptions = cloner.Clone(origin.CharErcOptions);
     46      StringErcOptions = cloner.Clone(origin.StringErcOptions);
     47      NameErcOptions = cloner.Clone(origin.NameErcOptions);
     48      IntegerVectorErcOptions = cloner.Clone(origin.IntegerVectorErcOptions);
     49      StringVectorErcOptions = cloner.Clone(origin.StringVectorErcOptions);
     50      FloatVectorErcOptions = cloner.Clone(origin.FloatVectorErcOptions);
    8151    }
    8252
    83     public IValueParameter<PercentValue> ErcProbabilityParameter
    84     {
    85       get
    86       {
    87         return (IValueParameter<PercentValue>)Parameters[ProbabilityParameterName];
    88       }
    89     }
     53    [Storable]
     54    public double ErcProbability { get; set; }
    9055
    91     public IValueParameter<IntegerErcOptions> IntegerErcOptionsParameter
    92     {
    93       get
    94       {
    95         return (IValueParameter<IntegerErcOptions>)ercOptionParameters[IntegerParameterName];
    96       }
    97     }
    9856
    99     public IntegerErcOptions IntegerErcOptions
    100     {
    101       get
    102       {
    103         return IntegerErcOptionsParameter.Value;
    104       }
    105       set
    106       {
    107         SetErcOptions(IntegerErcOptionsParameter, value);
    108       }
    109     }
    110 
    111     public IValueParameter<FloatErcOptions> FloatErcOptionsParameter
    112     {
    113       get
    114       {
    115         return (IValueParameter<FloatErcOptions>)ercOptionParameters[FloatParameterName];
    116       }
    117     }
    118 
    119     public FloatErcOptions FloatErcOptions
    120     {
    121       get
    122       {
    123         return FloatErcOptionsParameter.Value;
    124       }
    125       set
    126       {
    127         SetErcOptions(FloatErcOptionsParameter, value);
    128       }
    129     }
     57    [Storable]
     58    public IntegerErcOptions IntegerErcOptions { get; set; }
     59    [Storable]
     60    public FloatErcOptions FloatErcOptions { get; set; }
    13061
    13162    /// <summary>
    13263    ///   Integer represents ASCII value
    13364    /// </summary>
    134     public IValueParameter<CharErcOptions> CharErcOptionsParameter
    135     {
    136       get
    137       {
    138         return (IValueParameter<CharErcOptions>)ercOptionParameters[CharParameterName];
    139       }
    140     }
     65    [Storable]
     66    public CharErcOptions CharErcOptions { get; set; }
     67    [Storable]
     68    public BooleanErcOptions BooleanErcOptions { get; set; }
     69    [Storable]
     70    public StringErcOptions StringErcOptions { get; set; }
     71    [Storable]
     72    public NameErcOptions NameErcOptions { get; set; }
     73    [Storable]
     74    public IntegerVectorErcOptions IntegerVectorErcOptions { get; set; }
     75    [Storable]
     76    public StringVectorErcOptions StringVectorErcOptions { get; set; }
     77    [Storable]
     78    public FloatVectorErcOptions FloatVectorErcOptions { get; set; }
    14179
    142     public CharErcOptions CharErcOptions
    143     {
    144       get
    145       {
    146         return CharErcOptionsParameter.Value;
    147       }
    148       set
    149       {
    150         SetErcOptions(CharErcOptionsParameter, value);
    151       }
    152     }
    153 
    154     public IValueParameter<BooleanErcOptions> BooleanErcOptionsParameter
    155     {
    156       get
    157       {
    158         return (IValueParameter<BooleanErcOptions>)ercOptionParameters[BooleanParameterName];
    159       }
    160     }
    161 
    162     public BooleanErcOptions BooleanErcOptions
    163     {
    164       get
    165       {
    166         return BooleanErcOptionsParameter.Value;
    167       }
    168       set
    169       {
    170         SetErcOptions(BooleanErcOptionsParameter, value);
    171       }
    172     }
    173 
    174     public IValueParameter<StringErcOptions> StringErcOptionsParameter
    175     {
    176       get
    177       {
    178         return (IValueParameter<StringErcOptions>)ercOptionParameters[StringParameterName];
    179       }
    180     }
    181 
    182     public StringErcOptions StringErcOptions
    183     {
    184       get
    185       {
    186         return StringErcOptionsParameter.Value;
    187       }
    188       set
    189       {
    190         SetErcOptions(StringErcOptionsParameter, value);
    191       }
    192     }
    193 
    194     public IValueParameter<StringErcOptions> NameParameter
    195     {
    196       get
    197       {
    198         return (IValueParameter<StringErcOptions>)ercOptionParameters[NameParameterName];
    199       }
    200     }
    201 
    202     public StringErcOptions NameErcOptions
    203     {
    204       get
    205       {
    206         return NameParameter.Value;
    207       }
    208       set
    209       {
    210         SetErcOptions(NameParameter, value);
    211       }
    212     }
    213 
    214     public IValueParameter<IntegerVectorErcOptions> IntegerVectorErcOptionsParameter
    215     {
    216       get
    217       {
    218         return (IValueParameter<IntegerVectorErcOptions>)ercOptionParameters[IntegerVectorParameterName];
    219       }
    220     }
    221 
    222     public IntegerVectorErcOptions IntegerVectorErcOptions
    223     {
    224       get
    225       {
    226         return IntegerVectorErcOptionsParameter.Value;
    227       }
    228       set
    229       {
    230         SetErcOptions(IntegerVectorErcOptionsParameter, value);
    231       }
    232     }
    233 
    234     public IValueParameter<StringVectorErcOptions> StringVectorErcOptionsValueParameter
    235     {
    236       get
    237       {
    238         return (IValueParameter<StringVectorErcOptions>)ercOptionParameters[StringVectorParameterName];
    239       }
    240     }
    241 
    242     public StringVectorErcOptions StringVectorErcOptions
    243     {
    244       get
    245       {
    246         return StringVectorErcOptionsValueParameter.Value;
    247       }
    248       set
    249       {
    250         SetErcOptions(StringVectorErcOptionsValueParameter, value);
    251       }
    252     }
    253 
    254     public IValueParameter<FloatVectorErcOptions> FloatVectorErcOptionsParameter
    255     {
    256       get
    257       {
    258         return (IValueParameter<FloatVectorErcOptions>)ercOptionParameters[FloatVectorParameterName];
    259       }
    260     }
    261 
    262     public FloatVectorErcOptions FloatVectorErcOptions
    263     {
    264       get
    265       {
    266         return FloatVectorErcOptionsParameter.Value;
    267       }
    268       set
    269       {
    270         SetErcOptions(FloatVectorErcOptionsParameter, value);
    271       }
    272     }
    273 
    274     public double ErcProbability
    275     {
    276       get
    277       {
    278         return ErcProbabilityParameter.Value.Value;
    279       }
    280       set
    281       {
    282         ErcProbabilityParameter.Value.Value = value;
    283       }
    284     }
    285 
    286     IErcValueItem<int> IReadOnlyErcOptions.IntegerErcOptions
     80    IErcItem<int> IReadOnlyErcOptions.IntegerErcOptions
    28781    {
    28882      get
     
    29286    }
    29387
    294     IErcValueItem<double> IReadOnlyErcOptions.FloatErcOptions
     88    IErcItem<double> IReadOnlyErcOptions.FloatErcOptions
    29589    {
    29690      get
     
    30094    }
    30195
    302     IErcValueItem<bool> IReadOnlyErcOptions.BooleanErcOptions
     96    IErcItem<bool> IReadOnlyErcOptions.BooleanErcOptions
    30397    {
    30498      get
     
    308102    }
    309103
    310     IErcValueItem<char> IReadOnlyErcOptions.CharErcOptions
     104    IErcItem<char> IReadOnlyErcOptions.CharErcOptions
    311105    {
    312106      get
     
    316110    }
    317111
    318     IErcValueItem<string> IReadOnlyErcOptions.StringErcOptions
     112    IErcItem<string> IReadOnlyErcOptions.StringErcOptions
    319113    {
    320114      get
     
    324118    }
    325119
    326     IErcValueItem<string> IReadOnlyErcOptions.NameErcOptions
     120    IErcItem<string> IReadOnlyErcOptions.NameErcOptions
    327121    {
    328122      get
     
    332126    }
    333127
    334     IErcValueItem<IReadOnlyList<int>> IReadOnlyErcOptions.IntegerVectorErcOptions
     128    IErcItem<IReadOnlyList<int>> IReadOnlyErcOptions.IntegerVectorErcOptions
    335129    {
    336130      get
     
    340134    }
    341135
    342     IErcValueItem<IReadOnlyList<double>> IReadOnlyErcOptions.FloatVectorErcOptions
     136    IErcItem<IReadOnlyList<double>> IReadOnlyErcOptions.FloatVectorErcOptions
    343137    {
    344138      get
     
    348142    }
    349143
    350     IErcValueItem<IReadOnlyList<string>> IReadOnlyErcOptions.StringVectorErcOptions
     144    IErcItem<IReadOnlyList<string>> IReadOnlyErcOptions.StringVectorErcOptions
    351145    {
    352146      get
    353147      {
    354148        return StringVectorErcOptions;
    355       }
    356     }
    357 
    358     [StorableHook(HookType.AfterDeserialization)]
    359     // ReSharper disable once UnusedMember.Local
    360     private void AfterDeserialization() {
    361       InitEnabledChangedHandlerDict(ercOptionParameters);
    362     }
    363 
    364     private void InitEnabledChangedHandlerDict(NamedItemCollection<IValueParameter> parameters) {
    365       ercOptionEnabledChangedHandler =
    366         parameters.ToDictionary<IValueParameter, IValueParameter, EventHandler<bool>>(
    367           param => param,
    368           param => (sender, state) => ercOptions.SetItemCheckedState(param, state));
    369     }
    370 
    371     private void ErcOptionsCheckedItemsChanged(object sender, CollectionItemsChangedEventArgs<IValueParameter> e) {
    372       foreach (var item in e.Items) {
    373         var ercItem = (IErcItem)item.Value;
    374         ercItem.IsEnabled = ercOptions.ItemChecked(item);
    375149      }
    376150    }
     
    389163
    390164    public void SetOptionsState(bool state) {
    391       foreach (var param in ercOptions) ercOptions.SetItemCheckedState(param, state);
    392     }
    393 
    394     private void SetErcOptions(IValueParameter param, IErcItem value) {
    395       if ((ercOptionEnabledChangedHandler[param] != null) && (param.Value != null)) ((IErcItem)param.Value).EnabledChanged -= ercOptionEnabledChangedHandler[param];
    396 
    397       param.Value = value;
    398       ercOptions.SetItemCheckedState(param, value != null ? value.IsEnabled : false);
    399 
    400       if (value != null) value.EnabledChanged += ercOptionEnabledChangedHandler[param];
     165      IntegerErcOptions.IsEnabled = state;
     166      FloatErcOptions.IsEnabled = state;
     167      CharErcOptions.IsEnabled = state;
     168      BooleanErcOptions.IsEnabled = state;
     169      StringErcOptions.IsEnabled = state;
     170      NameErcOptions.IsEnabled = state;
     171      IntegerVectorErcOptions.IsEnabled = state;
     172      FloatVectorErcOptions.IsEnabled = state;
     173      StringVectorErcOptions.IsEnabled = state;
    401174    }
    402175  }
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Float/FloatErcOptions.cs

    r14897 r14952  
    88    public FloatErcOptions() { }
    99
    10     public FloatErcOptions(params IWeightedErcValueItem<double>[] values) : base(true, values) { }
     10    public FloatErcOptions(params WeightedErcItem<double>[] values) : base(true, values) { }
    1111
    12     public FloatErcOptions(bool isEnabled, params IWeightedErcValueItem<double>[] values) : base(isEnabled, values) { }
     12    public FloatErcOptions(bool isEnabled, params WeightedErcItem<double>[] values) : base(isEnabled, values) { }
    1313
    1414    [StorableConstructor]
     
    2020      return new FloatErcOptions(this, cloner);
    2121    }
     22
     23    public override string ToString() {
     24      return "Float";
     25    }
    2226  }
    2327}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/FloatVector/FloatVectorErcOptions.cs

    r14897 r14952  
    88  public class FloatVectorErcOptions : ErcOption<IReadOnlyList<double>> {
    99    public FloatVectorErcOptions() { }
    10     public FloatVectorErcOptions(params IWeightedErcValueItem<IReadOnlyList<double>>[] values) : base(true, values) { }
     10    public FloatVectorErcOptions(params WeightedErcItem<IReadOnlyList<double>>[] values) : base(true, values) { }
    1111
    12     public FloatVectorErcOptions(bool isEnabled, params IWeightedErcValueItem<IReadOnlyList<double>>[] values) : base(isEnabled, values) { }
     12    public FloatVectorErcOptions(bool isEnabled, params WeightedErcItem<IReadOnlyList<double>>[] values) : base(isEnabled, values) { }
    1313
    1414    [StorableConstructor]
     
    2020      return new FloatVectorErcOptions(this, cloner);
    2121    }
     22
     23    public override string ToString() {
     24      return "FloatVector";
     25    }
    2226  }
    2327}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IErcItem.cs

    r14905 r14952  
    11namespace HeuristicLab.Problems.ProgramSynthesis.Base.Erc {
    22  using System;
    3 
    4   using HeuristicLab.Core;
     3  using Core;
    54
    65  public interface IErcItem : IItem {
     
    87    bool IsEnabled { get; set; }
    98  }
     9
     10  public interface IErcItem<out T> : IErcItem {
     11    T GetErcValue(IRandom random);
     12  }
     13
     14  public interface IWeightedErcItem : IErcItem, IWeighted { }
     15
     16  public interface IWeightedErcItem<out T> : IErcItem<T>, IWeightedErcItem { }
    1017}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IReadOnlyErcOptions.cs

    r14897 r14952  
    44  public interface IReadOnlyErcOptions {
    55    double ErcProbability { get; }
    6     IErcValueItem<int> IntegerErcOptions { get; }
    7     IErcValueItem<double> FloatErcOptions { get; }
    8     IErcValueItem<bool> BooleanErcOptions { get; }
    9     IErcValueItem<char> CharErcOptions { get; }
    10     IErcValueItem<string> StringErcOptions { get; }
    11     IErcValueItem<string> NameErcOptions { get; }
    12     IErcValueItem<IReadOnlyList<int>> IntegerVectorErcOptions { get; }
    13     IErcValueItem<IReadOnlyList<double>> FloatVectorErcOptions { get; }
    14     IErcValueItem<IReadOnlyList<string>> StringVectorErcOptions { get; }
     6    IErcItem<int> IntegerErcOptions { get; }
     7    IErcItem<double> FloatErcOptions { get; }
     8    IErcItem<bool> BooleanErcOptions { get; }
     9    IErcItem<char> CharErcOptions { get; }
     10    IErcItem<string> StringErcOptions { get; }
     11    IErcItem<string> NameErcOptions { get; }
     12    IErcItem<IReadOnlyList<int>> IntegerVectorErcOptions { get; }
     13    IErcItem<IReadOnlyList<double>> FloatVectorErcOptions { get; }
     14    IErcItem<IReadOnlyList<string>> StringVectorErcOptions { get; }
    1515  }
    1616}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Integer/IntegerErcOptions.cs

    r14897 r14952  
    66  public class IntegerErcOptions : ErcOption<int> {
    77    public IntegerErcOptions() { }
    8     public IntegerErcOptions(params IWeightedErcValueItem<int>[] values) : base(true, values) { }
    9     public IntegerErcOptions(bool isEnabled, params IWeightedErcValueItem<int>[] values) : base(isEnabled, values) { }
     8    public IntegerErcOptions(params WeightedErcItem<int>[] values) : base(true, values) { }
     9    public IntegerErcOptions(bool isEnabled, params WeightedErcItem<int>[] values) : base(isEnabled, values) { }
    1010
    1111    [StorableConstructor]
     
    1717      return new IntegerErcOptions(this, cloner);
    1818    }
     19    public override string ToString() {
     20      return "Integer";
     21    }
    1922  }
    2023}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IntegerVector/IntegerVectorErcOptions.cs

    r14897 r14952  
    88  public class IntegerVectorErcOptions : ErcOption<IReadOnlyList<int>> {
    99    public IntegerVectorErcOptions() { }
    10     public IntegerVectorErcOptions(params IWeightedErcValueItem<IReadOnlyList<int>>[] values) : base(true, values) { }
     10    public IntegerVectorErcOptions(params WeightedErcItem<IReadOnlyList<int>>[] values) : base(true, values) { }
    1111
    12     public IntegerVectorErcOptions(bool isEnabled, params IWeightedErcValueItem<IReadOnlyList<int>>[] values) : base(isEnabled, values) { }
     12    public IntegerVectorErcOptions(bool isEnabled, params WeightedErcItem<IReadOnlyList<int>>[] values) : base(isEnabled, values) { }
    1313
    1414    [StorableConstructor]
     
    2020      return new IntegerVectorErcOptions(this, cloner);
    2121    }
     22
     23    public override string ToString() {
     24      return "IntegerVector";
     25    }
    2226  }
    2327}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/String/StringErcOptions.cs

    r14897 r14952  
    77  public class StringErcOptions : ErcOption<string> {
    88    public StringErcOptions() { }
    9     public StringErcOptions(params IWeightedErcValueItem<string>[] values) : base(true, values) { }
    10     public StringErcOptions(bool isEnabled, params IWeightedErcValueItem<string>[] values) : base(isEnabled, values) { }
     9    public StringErcOptions(params WeightedErcItem<string>[] values) : base(true, values) { }
     10    public StringErcOptions(bool isEnabled, params WeightedErcItem<string>[] values) : base(isEnabled, values) { }
    1111
    1212    [StorableConstructor]
     
    1818      return new StringErcOptions(this, cloner);
    1919    }
     20
     21    public override string ToString() {
     22      return "String";
     23    }
    2024  }
    2125}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/StringVector/StringVectorErcOptions.cs

    r14897 r14952  
    88  public class StringVectorErcOptions : ErcOption<IReadOnlyList<string>> {
    99    public StringVectorErcOptions() { }
    10     public StringVectorErcOptions(params IWeightedErcValueItem<IReadOnlyList<string>>[] values) : base(true, values) { }
     10    public StringVectorErcOptions(params WeightedErcItem<IReadOnlyList<string>>[] values) : base(true, values) { }
    1111
    12     public StringVectorErcOptions(bool isEnabled, params IWeightedErcValueItem<IReadOnlyList<string>>[] values) : base(isEnabled, values) { }
     12    public StringVectorErcOptions(bool isEnabled, params WeightedErcItem<IReadOnlyList<string>>[] values) : base(isEnabled, values) { }
    1313
    1414    [StorableConstructor]
     
    2020      return new StringVectorErcOptions(this, cloner);
    2121    }
     22
     23    public override string ToString() {
     24      return "StringVector";
     25    }
    2226  }
    2327}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/HeuristicLab.Problems.ProgramSynthesis.Base.csproj

    r14905 r14952  
    4444      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
    4545    </Reference>
     46    <Reference Include="HeuristicLab.Core.Views-3.3">
     47      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core.Views-3.3.dll</HintPath>
     48    </Reference>
    4649    <Reference Include="HeuristicLab.Data-3.3">
    4750      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     51    </Reference>
     52    <Reference Include="HeuristicLab.Data.Views-3.3">
     53      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data.Views-3.3.dll</HintPath>
     54    </Reference>
     55    <Reference Include="HeuristicLab.MainForm-3.3">
     56      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.MainForm-3.3.dll</HintPath>
     57    </Reference>
     58    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
     59      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
    4860    </Reference>
    4961    <Reference Include="HeuristicLab.Parameters-3.3">
     
    6274    <Reference Include="System" />
    6375    <Reference Include="System.Core" />
     76    <Reference Include="System.Drawing" />
     77    <Reference Include="System.Windows.Forms" />
    6478    <Reference Include="System.Xml.Linq" />
    6579    <Reference Include="System.Data.DataSetExtensions" />
     
    7185  <ItemGroup>
    7286    <Compile Include="Erc\Boolean\BooleanErcOptions.cs" />
    73     <Compile Include="Erc\Boolean\BooleanRandomErcValue.cs" />
     87    <Compile Include="Erc\Boolean\BooleanRandomErc.cs" />
    7488    <Compile Include="Erc\Char\CharErcOptions.cs" />
    7589    <Compile Include="Erc\ConstantsErcValue.cs" />
     
    7892    <Compile Include="Erc\IErcItem.cs" />
    7993    <Compile Include="Erc\IReadOnlyErcOptions.cs" />
    80     <Compile Include="Erc\WeightedErcValueItem.cs" />
    81     <Compile Include="Erc\FloatVector\FloatVectorConstantsErcValue.cs" />
     94    <Compile Include="Erc\Name\NameErcOptions.cs" />
     95    <Compile Include="Erc\Views\CheckedErcItemCollectionView.cs">
     96      <SubType>UserControl</SubType>
     97    </Compile>
     98    <Compile Include="Erc\Views\CheckedErcItemCollectionView.Designer.cs">
     99      <DependentUpon>CheckedErcItemCollectionView.cs</DependentUpon>
     100    </Compile>
     101    <Compile Include="Erc\Views\ErcOptionsView.cs">
     102      <SubType>UserControl</SubType>
     103    </Compile>
     104    <Compile Include="Erc\Views\ErcOptionsView.Designer.cs">
     105      <DependentUpon>ErcOptionsView.cs</DependentUpon>
     106    </Compile>
     107    <Compile Include="Erc\WeightedErcItem.cs" />
     108    <Compile Include="Erc\FloatVector\FloatVectorConstantsErc.cs" />
    82109    <Compile Include="Erc\FloatVector\FloatVectorErcOptions.cs" />
    83     <Compile Include="Erc\Float\FloatConstantErcValue.cs" />
    84     <Compile Include="Erc\Float\FloatRangeErcValue.cs" />
    85     <Compile Include="Erc\IntegerVector\IntegerVectorConstantsErcValue.cs" />
     110    <Compile Include="Erc\Float\FloatConstantErc.cs" />
     111    <Compile Include="Erc\Float\FloatRangeErc.cs" />
     112    <Compile Include="Erc\IntegerVector\IntegerVectorConstantsErc.cs" />
    86113    <Compile Include="Erc\IntegerVector\IntegerVectorErcOptions.cs" />
    87     <Compile Include="Erc\IWeightedErcValueItem.cs" />
    88     <Compile Include="Erc\StringVector\StringVectorConstantsErcValue.cs" />
     114    <Compile Include="Erc\StringVector\StringVectorConstantsErc.cs" />
    89115    <Compile Include="Erc\StringVector\StringVectorErcOptions.cs" />
    90     <Compile Include="Erc\VectorConstantsErcValue.cs" />
    91     <Compile Include="Erc\String\StringConstantErcValue.cs" />
    92     <Compile Include="Erc\Integer\IntegerConstantErcValue.cs" />
     116    <Compile Include="Erc\VectorConstantsErc.cs" />
     117    <Compile Include="Erc\String\StringConstantErc.cs" />
     118    <Compile Include="Erc\Integer\IntegerConstantErc.cs" />
    93119    <Compile Include="Erc\ErcOptions.cs" />
    94120    <Compile Include="Erc\Float\FloatErcOptions.cs" />
    95     <Compile Include="Erc\IErcValueItem.cs" />
    96121    <Compile Include="Erc\Integer\IntegerErcOptions.cs" />
    97     <Compile Include="Erc\Integer\IntegerRangeErcValue.cs" />
    98     <Compile Include="Erc\String\StringRandomErcValue.cs" />
     122    <Compile Include="Erc\Integer\IntegerRangeErc.cs" />
     123    <Compile Include="Erc\String\StringRandomErc.cs" />
    99124    <Compile Include="Erc\String\StringErcOptions.cs" />
    100125    <Compile Include="Generators\StringGenerator.cs" />
     
    103128    <Compile Include="Properties\AssemblyInfo.cs" />
    104129    <Compile Include="Weighted\WeightedExtensions.cs" />
     130  </ItemGroup>
     131  <ItemGroup>
     132    <EmbeddedResource Include="Erc\Views\ErcOptionsView.resx">
     133      <DependentUpon>ErcOptionsView.cs</DependentUpon>
     134    </EmbeddedResource>
    105135  </ItemGroup>
    106136  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Plugin.cs

    r14907 r14952  
    3131  [PluginDependency("HeuristicLab.Common", "3.3")]
    3232  [PluginDependency("HeuristicLab.Core", "3.3")]
     33  [PluginDependency("HeuristicLab.Core.Views", "3.3")]
    3334  [PluginDependency("HeuristicLab.Data", "3.3")]
     35  [PluginDependency("HeuristicLab.Data.Views", "3.3")]
    3436  [PluginDependency("HeuristicLab.Parameters", "3.3")]
    3537  [PluginDependency("HeuristicLab.Persistence", "3.3")]
    3638  [PluginDependency("HeuristicLab.Random", "3.3")]
     39  [PluginDependency("HeuristicLab.MainForm", "3.3")]
     40  [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")]
    3741  public class Plugin : PluginBase {
    3842
Note: See TracChangeset for help on using the changeset viewer.