Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Symbols.cs @ 9562

Last change on this file since 9562 was 9562, checked in by gkronber, 11 years ago

#1967 worked on Gaussian process evolution.

File size: 24.4 KB
Line 
1using System;
2using HeuristicLab.Common;
3using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
4using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
5
6namespace HeuristicLab.Problems.GaussianProcessTuning {
7
8  #region interfaces
9  public interface IDimensionSymbol : ISymbol {
10    int Dimension { get; set; }
11  }
12  #endregion
13
14  [StorableClass]
15  public sealed class ConfigurationStartSymbol : Symbol {
16    public override int MinimumArity {
17      get { return 3; }
18    }
19    public override int MaximumArity {
20      get { return 3; }
21    }
22    [StorableConstructor]
23    private ConfigurationStartSymbol(bool deserializing) : base(deserializing) { }
24    private ConfigurationStartSymbol(ConfigurationStartSymbol original, Cloner cloner)
25      : base(original, cloner) {
26    }
27
28    public ConfigurationStartSymbol()
29      : base("GP Configuration", "The start symbol for a GP configuration") {
30    }
31    [StorableHook(HookType.AfterDeserialization)]
32    private void AfterDeserialization() {
33    }
34    public override IDeepCloneable Clone(Cloner cloner) {
35      return new ConfigurationStartSymbol(this, cloner);
36    }
37  }
38
39  #region mean function terminals
40  [StorableClass]
41  public sealed class MeanZero : Symbol {
42    public override int MinimumArity {
43      get { return 0; }
44    }
45    public override int MaximumArity {
46      get { return 0; }
47    }
48    [StorableConstructor]
49    private MeanZero(bool deserializing) : base(deserializing) { }
50    private MeanZero(MeanZero original, Cloner cloner)
51      : base(original, cloner) {
52    }
53
54    public MeanZero()
55      : base("MeanZero", "Zero mean function") {
56    }
57    [StorableHook(HookType.AfterDeserialization)]
58    private void AfterDeserialization() {
59    }
60
61    public override ISymbolicExpressionTreeNode CreateTreeNode() {
62      return new EmptyTerminalTreeNode(new MeanZero());
63    }
64    public override IDeepCloneable Clone(Cloner cloner) {
65      return new MeanZero(this, cloner);
66    }
67  }
68
69  [StorableClass]
70  public sealed class MeanOne : Symbol {
71    public override int MinimumArity {
72      get { return 0; }
73    }
74    public override int MaximumArity {
75      get { return 0; }
76    }
77    [StorableConstructor]
78    private MeanOne(bool deserializing) : base(deserializing) { }
79    private MeanOne(MeanOne original, Cloner cloner)
80      : base(original, cloner) {
81    }
82
83    public MeanOne()
84      : base("MeanOne", "One mean function") {
85    }
86    [StorableHook(HookType.AfterDeserialization)]
87    private void AfterDeserialization() {
88    }
89
90    public override ISymbolicExpressionTreeNode CreateTreeNode() {
91      return new EmptyTerminalTreeNode(this);
92    }
93    public override IDeepCloneable Clone(Cloner cloner) {
94      return new MeanOne(this, cloner);
95    }
96  }
97
98  [StorableClass]
99  public sealed class MeanConst : Symbol {
100    public override int MinimumArity {
101      get { return 0; }
102    }
103    public override int MaximumArity {
104      get { return 0; }
105    }
106    [StorableConstructor]
107    private MeanConst(bool deserializing) : base(deserializing) { }
108    private MeanConst(MeanConst original, Cloner cloner)
109      : base(original, cloner) {
110    }
111
112    public MeanConst()
113      : base("MeanConst", "Constant mean function") {
114    }
115    [StorableHook(HookType.AfterDeserialization)]
116    private void AfterDeserialization() {
117    }
118
119    public override ISymbolicExpressionTreeNode CreateTreeNode() {
120      return new MeanConstTreeNode();
121    }
122    public override IDeepCloneable Clone(Cloner cloner) {
123      return new MeanConst(this, cloner);
124    }
125  }
126
127  [StorableClass]
128  public sealed class MeanLinear : Symbol, IDimensionSymbol {
129    public override int MinimumArity {
130      get { return 0; }
131    }
132    public override int MaximumArity {
133      get { return 0; }
134    }
135    [Storable]
136    public int Dimension { get; set; }
137
138    [StorableConstructor]
139    private MeanLinear(bool deserializing) : base(deserializing) { }
140    private MeanLinear(MeanLinear original, Cloner cloner)
141      : base(original, cloner) {
142      Dimension = original.Dimension;
143    }
144
145    public MeanLinear(int dimension)
146      : base("MeanLinear", "Linear mean function") {
147      this.Dimension = dimension;
148    }
149    [StorableHook(HookType.AfterDeserialization)]
150    private void AfterDeserialization() {
151    }
152
153    public override ISymbolicExpressionTreeNode CreateTreeNode() {
154      return new MeanLinearTreeNode(this);
155    }
156    public override IDeepCloneable Clone(Cloner cloner) {
157      return new MeanLinear(this, cloner);
158    }
159  }
160  #endregion
161
162  #region mean function functions
163  [StorableClass]
164  public sealed class MeanScale : Symbol {
165    public override int MinimumArity {
166      get { return 1; }
167    }
168    public override int MaximumArity {
169      get { return 1; }
170    }
171
172    [StorableConstructor]
173    private MeanScale(bool deserializing) : base(deserializing) { }
174    private MeanScale(MeanScale original, Cloner cloner)
175      : base(original, cloner) {
176    }
177
178    public MeanScale()
179      : base("MeanScale", "Scaled version of a mean function") {
180    }
181    [StorableHook(HookType.AfterDeserialization)]
182    private void AfterDeserialization() {
183    }
184
185    public override ISymbolicExpressionTreeNode CreateTreeNode() {
186      return new MeanScaleTreeNode();
187    }
188    public override IDeepCloneable Clone(Cloner cloner) {
189      return new MeanScale(this, cloner);
190    }
191  }
192
193
194  [StorableClass]
195  public sealed class MeanPow : Symbol {
196    [Storable]
197    public int Exponent { get; set; }
198    public override int MinimumArity {
199      get { return 1; }
200    }
201    public override int MaximumArity {
202      get { return 1; }
203    }
204
205    [StorableConstructor]
206    private MeanPow(bool deserializing) : base(deserializing) { }
207    private MeanPow(MeanPow original, Cloner cloner)
208      : base(original, cloner) {
209      Exponent = original.Exponent;
210    }
211
212    public MeanPow(int exponent = 2)
213      : base("MeanPow", "Power of a mean function") {
214      Exponent = exponent;
215    }
216    [StorableHook(HookType.AfterDeserialization)]
217    private void AfterDeserialization() {
218    }
219
220    public override IDeepCloneable Clone(Cloner cloner) {
221      return new MeanPow(this, cloner);
222    }
223  }
224
225  [StorableClass]
226  public sealed class MeanProd : Symbol {
227    public override int MinimumArity {
228      get { return 2; }
229    }
230    public override int MaximumArity {
231      get { return 2; }
232    }
233
234    [StorableConstructor]
235    private MeanProd(bool deserializing) : base(deserializing) { }
236    private MeanProd(MeanProd original, Cloner cloner)
237      : base(original, cloner) {
238    }
239
240    public MeanProd()
241      : base("MeanProd", "Product of two functions") {
242    }
243    [StorableHook(HookType.AfterDeserialization)]
244    private void AfterDeserialization() {
245    }
246
247    public override IDeepCloneable Clone(Cloner cloner) {
248      return new MeanProd(this, cloner);
249    }
250  }
251
252  [StorableClass]
253  public sealed class MeanSum : Symbol {
254    public override int MinimumArity {
255      get { return 2; }
256    }
257    public override int MaximumArity {
258      get { return 2; }
259    }
260
261    [StorableConstructor]
262    private MeanSum(bool deserializing) : base(deserializing) { }
263    private MeanSum(MeanSum original, Cloner cloner)
264      : base(original, cloner) {
265    }
266
267    public MeanSum()
268      : base("MeanSum", "Sum of two functions") {
269    }
270    [StorableHook(HookType.AfterDeserialization)]
271    private void AfterDeserialization() {
272    }
273
274    public override IDeepCloneable Clone(Cloner cloner) {
275      return new MeanSum(this, cloner);
276    }
277  }
278
279  [StorableClass]
280  public sealed class MeanMask : Symbol, IDimensionSymbol {
281    [Storable]
282    public double MaskingProbability { get; set; }
283
284    public override int MinimumArity {
285      get { return 1; }
286    }
287    public override int MaximumArity {
288      get { return 1; }
289    }
290    [Storable]
291    public int Dimension { get; set; }
292
293    [StorableConstructor]
294    private MeanMask(bool deserializing) : base(deserializing) { }
295    private MeanMask(MeanMask original, Cloner cloner)
296      : base(original, cloner) {
297      MaskingProbability = original.MaskingProbability;
298      Dimension = original.Dimension;
299    }
300
301    public MeanMask(int dimension)
302      : base("MeanMask", "Mask some dimensions of the data") {
303      this.Dimension = dimension;
304      MaskingProbability = 0.2;
305    }
306    [StorableHook(HookType.AfterDeserialization)]
307    private void AfterDeserialization() {
308    }
309
310    public override ISymbolicExpressionTreeNode CreateTreeNode() {
311      return new MeanMaskTreeNode(this);
312    }
313    public override IDeepCloneable Clone(Cloner cloner) {
314      return new MeanMask(this, cloner);
315    }
316  }
317
318  #endregion
319
320  #region covariance function terminals
321  [StorableClass]
322  public sealed class CovConst : Symbol {
323    public override int MinimumArity {
324      get { return 0; }
325    }
326    public override int MaximumArity {
327      get { return 0; }
328    }
329    [StorableConstructor]
330    private CovConst(bool deserializing) : base(deserializing) { }
331    private CovConst(CovConst original, Cloner cloner)
332      : base(original, cloner) {
333    }
334
335    public CovConst()
336      : base("CovConst", "Covariance for constant functions") {
337    }
338    [StorableHook(HookType.AfterDeserialization)]
339    private void AfterDeserialization() {
340    }
341
342    public override ISymbolicExpressionTreeNode CreateTreeNode() {
343      return new CovConstTreeNode();
344    }
345    public override IDeepCloneable Clone(Cloner cloner) {
346      return new CovConst(this, cloner);
347    }
348  }
349
350  [StorableClass]
351  public sealed class CovNoise : Symbol {
352    public override int MinimumArity {
353      get { return 0; }
354    }
355    public override int MaximumArity {
356      get { return 0; }
357    }
358    [StorableConstructor]
359    private CovNoise(bool deserializing) : base(deserializing) { }
360    private CovNoise(CovNoise original, Cloner cloner)
361      : base(original, cloner) {
362    }
363
364    public CovNoise()
365      : base("CovNoise", "Noise covariance function") {
366    }
367    [StorableHook(HookType.AfterDeserialization)]
368    private void AfterDeserialization() {
369    }
370
371    public override ISymbolicExpressionTreeNode CreateTreeNode() {
372      return new CovNoiseTreeNode();
373    }
374    public override IDeepCloneable Clone(Cloner cloner) {
375      return new CovNoise(this, cloner);
376    }
377  }
378
379  [StorableClass]
380  public sealed class CovLin : Symbol {
381    public override int MinimumArity {
382      get { return 0; }
383    }
384    public override int MaximumArity {
385      get { return 0; }
386    }
387    [StorableConstructor]
388    private CovLin(bool deserializing) : base(deserializing) { }
389    private CovLin(CovLin original, Cloner cloner)
390      : base(original, cloner) {
391    }
392
393    public CovLin()
394      : base("CovLin", "linear covariance function") {
395    }
396    [StorableHook(HookType.AfterDeserialization)]
397    private void AfterDeserialization() {
398    }
399
400    public override ISymbolicExpressionTreeNode CreateTreeNode() {
401      return new EmptyTerminalTreeNode(this);
402    }
403    public override IDeepCloneable Clone(Cloner cloner) {
404      return new CovLin(this, cloner);
405    }
406  }
407  [StorableClass]
408  public sealed class CovLinArd : Symbol, IDimensionSymbol {
409    public override int MinimumArity {
410      get { return 0; }
411    }
412    public override int MaximumArity {
413      get { return 0; }
414    }
415
416    [Storable]
417    public int Dimension { get; set; }
418
419    [StorableConstructor]
420    private CovLinArd(bool deserializing) : base(deserializing) { }
421    private CovLinArd(CovLinArd original, Cloner cloner)
422      : base(original, cloner) {
423      Dimension = original.Dimension;
424    }
425
426    public CovLinArd(int dimension)
427      : base("CovLinArd", "linear covariance function with ARD") {
428      this.Dimension = dimension;
429    }
430    [StorableHook(HookType.AfterDeserialization)]
431    private void AfterDeserialization() {
432    }
433
434    public override ISymbolicExpressionTreeNode CreateTreeNode() {
435      return new CovLinArdTreeNode(this);
436    }
437    public override IDeepCloneable Clone(Cloner cloner) {
438      return new CovLinArd(this, cloner);
439    }
440  }
441  [StorableClass]
442  public sealed class CovSeArd : Symbol, IDimensionSymbol {
443    public override int MinimumArity {
444      get { return 0; }
445    }
446    public override int MaximumArity {
447      get { return 0; }
448    }
449
450    [Storable]
451    public int Dimension { get; set; }
452
453    [StorableConstructor]
454    private CovSeArd(bool deserializing) : base(deserializing) { }
455    private CovSeArd(CovSeArd original, Cloner cloner)
456      : base(original, cloner) {
457      Dimension = original.Dimension;
458    }
459
460    public CovSeArd(int dimension)
461      : base("CovSeArd", "full squared exponential covariance function with ARD") {
462      this.Dimension = dimension;
463    }
464    [StorableHook(HookType.AfterDeserialization)]
465    private void AfterDeserialization() {
466    }
467
468    public override ISymbolicExpressionTreeNode CreateTreeNode() {
469      return new CovSeArdTreeNode(this);
470    }
471    public override IDeepCloneable Clone(Cloner cloner) {
472      return new CovSeArd(this, cloner);
473    }
474  }
475  [StorableClass]
476  public sealed class CovSeIso : Symbol {
477    public override int MinimumArity {
478      get { return 0; }
479    }
480    public override int MaximumArity {
481      get { return 0; }
482    }
483
484    [StorableConstructor]
485    private CovSeIso(bool deserializing) : base(deserializing) { }
486    private CovSeIso(CovSeIso original, Cloner cloner)
487      : base(original, cloner) {
488    }
489
490    public CovSeIso()
491      : base("CovSeIso", "diagonal squared exponential covariance function") {
492    }
493    [StorableHook(HookType.AfterDeserialization)]
494    private void AfterDeserialization() {
495    }
496
497    public override ISymbolicExpressionTreeNode CreateTreeNode() {
498      return new CovSeIsoTreeNode(this);
499    }
500    public override IDeepCloneable Clone(Cloner cloner) {
501      return new CovSeIso(this, cloner);
502    }
503  }
504  [StorableClass]
505  public sealed class CovPoly : Symbol {
506    public override int MinimumArity {
507      get { return 0; }
508    }
509    public override int MaximumArity {
510      get { return 0; }
511    }
512
513    [StorableConstructor]
514    private CovPoly(bool deserializing) : base(deserializing) { }
515    private CovPoly(CovPoly original, Cloner cloner)
516      : base(original, cloner) {
517    }
518
519    public CovPoly()
520      : base("CovPoly", "") {
521    }
522    [StorableHook(HookType.AfterDeserialization)]
523    private void AfterDeserialization() {
524    }
525
526    public override ISymbolicExpressionTreeNode CreateTreeNode() {
527      return new CovPolyTreeNode(this);
528    }
529    public override IDeepCloneable Clone(Cloner cloner) {
530      return new CovPoly(this, cloner);
531    }
532  }
533  [StorableClass]
534  public sealed class CovPiecewisePoly : Symbol {
535    public override int MinimumArity {
536      get { return 0; }
537    }
538    public override int MaximumArity {
539      get { return 0; }
540    }
541
542    [StorableConstructor]
543    private CovPiecewisePoly(bool deserializing) : base(deserializing) { }
544    private CovPiecewisePoly(CovPiecewisePoly original, Cloner cloner)
545      : base(original, cloner) {
546    }
547
548    public CovPiecewisePoly()
549      : base("CovPiecewisePoly", "") {
550    }
551    [StorableHook(HookType.AfterDeserialization)]
552    private void AfterDeserialization() {
553    }
554
555    public override ISymbolicExpressionTreeNode CreateTreeNode() {
556      return new CovPiecewisePolyTreeNode(this);
557    }
558    public override IDeepCloneable Clone(Cloner cloner) {
559      return new CovPiecewisePoly(this, cloner);
560    }
561  }
562  [StorableClass]
563  public sealed class CovNn : Symbol {
564    public override int MinimumArity {
565      get { return 0; }
566    }
567    public override int MaximumArity {
568      get { return 0; }
569    }
570
571    [StorableConstructor]
572    private CovNn(bool deserializing) : base(deserializing) { }
573    private CovNn(CovNn original, Cloner cloner)
574      : base(original, cloner) {
575    }
576
577    public CovNn()
578      : base("CovNn", "neural network covariance function") {
579    }
580    [StorableHook(HookType.AfterDeserialization)]
581    private void AfterDeserialization() {
582    }
583
584    public override ISymbolicExpressionTreeNode CreateTreeNode() {
585      return new CovNnTreeNode(this);
586    }
587    public override IDeepCloneable Clone(Cloner cloner) {
588      return new CovNn(this, cloner);
589    }
590  }
591
592  [StorableClass]
593  public sealed class CovMatern : Symbol {
594    [Storable]
595    public int D { get; set; }
596
597    public override int MinimumArity {
598      get { return 0; }
599    }
600    public override int MaximumArity {
601      get { return 0; }
602    }
603
604    [StorableConstructor]
605    private CovMatern(bool deserializing) : base(deserializing) { }
606    private CovMatern(CovMatern original, Cloner cloner)
607      : base(original, cloner) {
608      D = original.D;
609    }
610
611    public CovMatern(int d)
612      : base("CovMatern", "Matern covariance function") {
613      this.D = d;
614    }
615    [StorableHook(HookType.AfterDeserialization)]
616    private void AfterDeserialization() {
617    }
618
619    public override ISymbolicExpressionTreeNode CreateTreeNode() {
620      return new CovMaternTreeNode(this);
621    }
622    public override IDeepCloneable Clone(Cloner cloner) {
623      return new CovMatern(this, cloner);
624    }
625  }
626
627  [StorableClass]
628  public sealed class CovPeriodic : Symbol {
629    public override int MinimumArity {
630      get { return 0; }
631    }
632    public override int MaximumArity {
633      get { return 0; }
634    }
635
636    [Storable]
637    private double? period;
638    public double? Period {
639      get { return period; }
640    }
641
642
643    [StorableConstructor]
644    private CovPeriodic(bool deserializing) : base(deserializing) { }
645    private CovPeriodic(CovPeriodic original, Cloner cloner)
646      : base(original, cloner) {
647      period = original.period;
648    }
649
650    public CovPeriodic(double? period = null)
651      : base("CovPeriodic", "Periodic covariance function") {
652      this.period = period;
653    }
654    [StorableHook(HookType.AfterDeserialization)]
655    private void AfterDeserialization() {
656    }
657
658    public override ISymbolicExpressionTreeNode CreateTreeNode() {
659      return new CovPeriodicTreeNode(this);
660    }
661    public override IDeepCloneable Clone(Cloner cloner) {
662      return new CovPeriodic(this, cloner);
663    }
664  }
665  [StorableClass]
666  public sealed class CovRQArd : Symbol, IDimensionSymbol {
667    public override int MinimumArity {
668      get { return 0; }
669    }
670    public override int MaximumArity {
671      get { return 0; }
672    }
673
674    [Storable]
675    public int Dimension { get; set; }
676
677    [StorableConstructor]
678    private CovRQArd(bool deserializing) : base(deserializing) { }
679    private CovRQArd(CovRQArd original, Cloner cloner)
680      : base(original, cloner) {
681      Dimension = original.Dimension;
682    }
683
684    public CovRQArd(int dimension)
685      : base("CovRQArd", "full rational quadratic covariance function with ARD") {
686      this.Dimension = dimension;
687    }
688    [StorableHook(HookType.AfterDeserialization)]
689    private void AfterDeserialization() {
690    }
691
692    public override ISymbolicExpressionTreeNode CreateTreeNode() {
693      return new CovRQArdTreeNode(this);
694    }
695    public override IDeepCloneable Clone(Cloner cloner) {
696      return new CovRQArd(this, cloner);
697    }
698  }
699  [StorableClass]
700  public sealed class CovRQIso : Symbol {
701    public override int MinimumArity {
702      get { return 0; }
703    }
704    public override int MaximumArity {
705      get { return 0; }
706    }
707
708    [StorableConstructor]
709    private CovRQIso(bool deserializing) : base(deserializing) { }
710    private CovRQIso(CovRQIso original, Cloner cloner)
711      : base(original, cloner) {
712    }
713
714    public CovRQIso()
715      : base("CovRQIso", "Rational quadratic covariance function") {
716    }
717    [StorableHook(HookType.AfterDeserialization)]
718    private void AfterDeserialization() {
719    }
720
721    public override ISymbolicExpressionTreeNode CreateTreeNode() {
722      return new CovRQisoTreeNode(this);
723    }
724    public override IDeepCloneable Clone(Cloner cloner) {
725      return new CovRQIso(this, cloner);
726    }
727  }
728  #endregion
729
730  #region covariance function functions
731  [StorableClass]
732  public sealed class CovSum : Symbol {
733    public override int MinimumArity {
734      get { return 3; }
735    }
736    public override int MaximumArity {
737      get { return 3; }
738    }
739
740    [StorableConstructor]
741    private CovSum(bool deserializing) : base(deserializing) { }
742    private CovSum(CovSum original, Cloner cloner)
743      : base(original, cloner) {
744    }
745
746    public CovSum()
747      : base("CovSum", "Sum of two covariance functions") {
748    }
749    [StorableHook(HookType.AfterDeserialization)]
750    private void AfterDeserialization() {
751    }
752
753    public override IDeepCloneable Clone(Cloner cloner) {
754      return new CovSum(this, cloner);
755    }
756  }
757  [StorableClass]
758  public sealed class CovProd : Symbol {
759    public override int MinimumArity {
760      get { return 3; }
761    }
762    public override int MaximumArity {
763      get { return 3; }
764    }
765
766    [StorableConstructor]
767    private CovProd(bool deserializing) : base(deserializing) { }
768    private CovProd(CovProd original, Cloner cloner)
769      : base(original, cloner) {
770    }
771
772    public CovProd()
773      : base("CovProd", "Product of two covariance functions") {
774    }
775    [StorableHook(HookType.AfterDeserialization)]
776    private void AfterDeserialization() {
777    }
778
779    public override IDeepCloneable Clone(Cloner cloner) {
780      return new CovProd(this, cloner);
781    }
782  }
783  [StorableClass]
784  public sealed class CovScale : Symbol {
785
786    public override int MinimumArity {
787      get { return 1; }
788    }
789    public override int MaximumArity {
790      get { return 1; }
791    }
792
793    [StorableConstructor]
794    private CovScale(bool deserializing) : base(deserializing) { }
795    private CovScale(CovScale original, Cloner cloner)
796      : base(original, cloner) {
797    }
798
799    public CovScale()
800      : base("CovScale", "Scale a covariance function") {
801    }
802    [StorableHook(HookType.AfterDeserialization)]
803    private void AfterDeserialization() {
804    }
805
806    public override ISymbolicExpressionTreeNode CreateTreeNode() {
807      return new CovScaleTreeNode(this);
808    }
809
810    public override IDeepCloneable Clone(Cloner cloner) {
811      return new CovScale(this, cloner);
812    }
813  }
814  [StorableClass]
815  public sealed class CovMask : Symbol, IDimensionSymbol {
816    [Storable]
817    public double MaskingProbability { get; set; }
818
819    public override int MinimumArity {
820      get { return 1; }
821    }
822    public override int MaximumArity {
823      get { return 1; }
824    }
825    [Storable]
826    public int Dimension { get; set; }
827
828    [StorableConstructor]
829    private CovMask(bool deserializing) : base(deserializing) { }
830    private CovMask(CovMask original, Cloner cloner)
831      : base(original, cloner) {
832      this.Dimension = original.Dimension;
833      this.MaskingProbability = original.MaskingProbability;
834    }
835
836    public CovMask(int dimension)
837      : base("CovMask", "Mask some dimensions of the data") {
838      this.Dimension = dimension;
839      MaskingProbability = 0.2;
840    }
841    [StorableHook(HookType.AfterDeserialization)]
842    private void AfterDeserialization() {
843    }
844
845    public override ISymbolicExpressionTreeNode CreateTreeNode() {
846      return new CovMaskTreeNode(this);
847    }
848    public override IDeepCloneable Clone(Cloner cloner) {
849      return new CovMask(this, cloner);
850    }
851  }
852  #endregion
853
854  #region likelihood functions
855  [StorableClass]
856  public sealed class LikGauss : Symbol {
857
858    public override int MinimumArity {
859      get { return 0; }
860    }
861    public override int MaximumArity {
862      get { return 0; }
863    }
864
865    [StorableConstructor]
866    private LikGauss(bool deserializing) : base(deserializing) { }
867    private LikGauss(LikGauss original, Cloner cloner)
868      : base(original, cloner) {
869    }
870
871    public LikGauss()
872      : base("LikGauss", "Gaussian likelihood function") {
873    }
874    [StorableHook(HookType.AfterDeserialization)]
875    private void AfterDeserialization() {
876    }
877
878    public override ISymbolicExpressionTreeNode CreateTreeNode() {
879      return new LikGaussTreeNode(this);
880    }
881
882    public override IDeepCloneable Clone(Cloner cloner) {
883      return new LikGauss(this, cloner);
884    }
885  }
886  #endregion
887}
Note: See TracBrowser for help on using the repository browser.