Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/13/18 16:56:35 (7 years ago)
Author:
bburlacu
Message:

#2895: Add solution skeleton for PushGP with genealogy analysis.

Location:
branches/2895_PushGP_GenealogyAnalysis
Files:
1 added
53 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/BooleanExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
     1using System;
     2using HeuristicLab.Common;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    34
    4   using Attributes;
    5 
    6   using HeuristicLab.Common;
    7   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    8 
    9   using Interpreter;
    10   using Stack;
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    116
    127  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/CharExpressions.cs

    r15189 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using System.Linq;
     1using System;
     2using System.Linq;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    44
    5   using Attributes;
    6   using Interpreter;
    7   using Persistence.Default.CompositeSerializers.Storable;
    8   using Stack;
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    96
    107  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/CodeExpressions.cs

    r15334 r15771  
    1 // For explicit code manipulation and execution. May also be used as a general list data types.
    2 // This types must always be present, as the top level interpreter will push any code to be executed on the
    3 // CODE stack prior to execution. However, one may turn off all CODE instructions if code manipulation is not needed.
    4 
    5 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    6   using System;
    7   using System.Collections.Generic;
    8   using System.Linq;
    9   using Attributes;
    10 
    11   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    12   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    13 
    14   using Interpreter;
    15   using Stack;
     1using System;
     2using System.Collections.Generic;
     3using System.Linq;
     4
     5using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     6
     7namespace HeuristicLab.Problems.ProgramSynthesis {
     8  // For explicit code manipulation and execution. May also be used as a general list data types.
     9  // This types must always be present, as the top level interpreter will push any code to be executed on the
     10  // CODE stack prior to execution. However, one may turn off all CODE instructions if code manipulation is not needed.
    1611
    1712  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/DefineExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using System.Collections.Generic;
    4 
    5   using Attributes;
    6 
    7   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    8 
    9   using Interpreter;
    10   using Stack;
     1using System;
     2using System.Collections.Generic;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     4
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    116
    127  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/DoCountExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using Attributes;
    4   using Interpreter;
    5   using Persistence.Default.CompositeSerializers.Storable;
    6   using Stack;
     1using System;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    73
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    85  /// <summary>
    96  /// An iteration instruction that performs a loop (the body of which is taken from the CODE stack) the number of times
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/DoRangeExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using Attributes;
    4   using Interpreter;
    5   using Persistence.Default.CompositeSerializers.Storable;
    6   using Stack;
     1using System;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    75
    86  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/DoTimesExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using Attributes;
    4   using Interpreter;
    5   using Persistence.Default.CompositeSerializers.Storable;
    6   using Stack;
     1using System;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    75
    86  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/DuplicateExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    85
    96  /// <summary>
     
    8885
    8986  [StorableClass]
    90   [PushExpression(StackTypes.Exec, "EXEC.DUP", "Duplicates the top item on the EXEC stack." , requiredBlockCount: 1)]
     87  [PushExpression(StackTypes.Exec, "EXEC.DUP", "Duplicates the top item on the EXEC stack.", requiredBlockCount: 1)]
    9188  public class ExecDuplicateExpression : DuplicateExpression<Expression> {
    9289    public ExecDuplicateExpression() { }
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/EmptyExpression.cs

    r15344 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2 
    3   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    4   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    6 
    7   using Stack;
    8 
     1using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     2
     3namespace HeuristicLab.Problems.ProgramSynthesis {
    94  /// <summary>
    105  /// Tells whether that stack is empty.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/EqualsExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3   using System.Linq;
    4 
    5   using Attributes;
    6 
    7   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    8 
    9   using Interpreter;
    10   using Stack;
     1using System.Collections.Generic;
     2using System.Linq;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     4
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    116
    127  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/ExecExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    7 
    8   using Interpreter;
     1using System;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95
    106  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/Expression.cs

    r15344 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
     1using System;
    32
    4   using HeuristicLab.Common;
    5   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Data.Pool;
     3using HeuristicLab.Common;
     4using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    75
    8   using Interpreter;
     6namespace HeuristicLab.Problems.ProgramSynthesis {
    97
    108  [Serializable]
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/ExpressionTable.cs

    r15341 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using System.Collections.Generic;
    4   using System.Linq;
    5 
    6   using Attributes;
    7   using Data.Pool;
    8 
    9   using HeuristicLab.Problems.ProgramSynthesis.Base.Extensions;
    10 
    11   using Stack;
     1using System;
     2using System.Collections.Generic;
     3using System.Linq;
     4
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    126
    137  public static class ExpressionTable {
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/FloatExpressions.cs

    r15341 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using System.Globalization;
    4 
    5   using Common;
    6 
    7   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    10   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    11 
     1using System;
     2using System.Globalization;
     3
     4using HeuristicLab.Common;
     5using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     6
     7namespace HeuristicLab.Problems.ProgramSynthesis {
    128  /// <summary>
    139  /// Pushes the sum of the top two items.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/FlushExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6 
    7   using Interpreter;
    8   using Stack;
    9 
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    105  /// <summary>
    116  /// Empties the given stack.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/InExpressions.cs

    r15273 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    4   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
     1using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    62
     3namespace HeuristicLab.Problems.ProgramSynthesis {
    74  /// <summary>
    85  /// InExpression has a state, but this state is static at compile time and therefore InExpression can be seen as stateless at runtime
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/IntegerExpressions.cs

    r15344 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    7 
    8   using Interpreter;
    9 
     1using System;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    105  /// <summary>
    116  /// Pushes the sum of the top two items.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/NameExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Linq;
     1using System.Linq;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    33
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    7   using Interpreter;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  [StorableClass]
    106  public class NameDefineXExecExpression : StatefulExpression<string> {
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/PopExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6 
    7   using Interpreter;
    8   using Stack;
    9 
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    105  [StorableClass]
    116  public abstract class PopExpression<T> : StatelessExpression {
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/PrintExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3   using System.Globalization;
    4   using Attributes;
    5   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Constants;
    7 
    8   using Interpreter;
    9   using Stack;
    10 
     1using System.Collections.Generic;
     2using System.Globalization;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     4
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    116  [StorableClass]
    127  [PushExpression(StackTypes.Print, "PRINT.NEWLINE", "Pushes an empty string onto the PRINT STACK.")]
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/PushExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using System.Collections.Generic;
    4   using System.Linq;
    5   using Attributes;
    6   using Constants;
    7   using Data.Pool;
    8   using Extensions;
    9   using Interpreter;
    10   using Persistence.Default.CompositeSerializers.Storable;
    11   using Stack;
    12 
     1using System;
     2using System.Collections.Generic;
     3using System.Linq;
     4using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     5
     6namespace HeuristicLab.Problems.ProgramSynthesis {
    137  [Serializable]
    148  [StorableClass]
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/PushProgram.cs

    r15366 r15771  
    22using System.Collections.Generic;
    33using System.Linq;
    4 
    5 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    6   using System.Diagnostics;
    7   using System.Diagnostics.CodeAnalysis;
    8 
    9   using Constants;
    10   using Data.Pool;
    11   using Extensions;
    12 
    13   using HeuristicLab.Common;
    14 
    15   using Interpreter;
    16   using Persistence.Default.CompositeSerializers.Storable;
     4using System.Diagnostics;
     5using System.Diagnostics.CodeAnalysis;
     6
     7using HeuristicLab.Common;
     8using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     9
     10namespace HeuristicLab.Problems.ProgramSynthesis {
    1711
    1812  [Serializable]
     
    133127    [NonSerialized]
    134128    private string stringRepresentation;
    135     public override string StringRepresentation
    136     {
    137       get
    138       {
     129    public override string StringRepresentation {
     130      get {
    139131        return stringRepresentation ?? (stringRepresentation = BuildStringRepresentation());
    140132      }
     
    144136    [NonSerialized]
    145137    private int? depth;
    146     public int Depth
    147     {
    148       get
    149       {
     138    public int Depth {
     139      get {
    150140        if (depth == null) depth = CalcDepth();
    151141        return depth.Value;
     
    155145    [NonSerialized]
    156146    private int[] treeIndex;
    157     private int[] TreeIndex
    158     {
    159       get
    160       {
     147    private int[] TreeIndex {
     148      get {
    161149        return treeIndex ?? (treeIndex = BuildTreeIndex());
    162150      }
     
    212200    /// </summary>
    213201    /// <returns></returns>
    214     public int TotalCount
    215     {
    216       get
    217       {
     202    public int TotalCount {
     203      get {
    218204        if (totalCount == null) {
    219205          totalCount = IsEmpty
     
    233219    /// </summary>
    234220    /// <returns></returns>
    235     public int TotalInstructionCount
    236     {
    237       get
    238       {
     221    public int TotalInstructionCount {
     222      get {
    239223        if (totalInstructionCount == null) {
    240224          totalInstructionCount = 0;
     
    259243    /// </summary>
    260244    /// <returns></returns>
    261     public int Branches
    262     {
    263       get
    264       {
     245    public int Branches {
     246      get {
    265247        if (branches == null) CountBranches();
    266248        return branches.Value;
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/RandExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3   using System.Linq;
    4 
    5   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Generators.CodeGenerator;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    10   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
     1using System.Collections.Generic;
     2using System.Linq;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     4
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    116
    127  /// <summary>
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/RotateExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6 
    7   using Interpreter;
    8   using Stack;
    9 
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    105  [StorableClass]
    116  public abstract class RotateExpression<T> : StatelessExpression {
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/ShoveExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3 
    4   using Attributes;
    5 
    6   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    8 
    9   using Interpreter;
    10   using Stack;
    11 
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    125  [StorableClass]
    136  public abstract class ShoveExpression<T> : StatelessExpression {
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/StackdepthExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6 
    7   using Interpreter;
    8   using Stack;
    9 
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    105  /// <summary>
    116  ///     Pushes the stack depth onto the INTEGER stack (thereby increasing it!).
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/StatefulExpression.cs

    r15366 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
     1using System;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    33
    4   using HeuristicLab.Common;
    5   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Data.Pool;
    7 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    85  [Serializable]
    96  [StorableClass]
     
    3431    }
    3532
    36     public override string StringRepresentation
    37     {
    38       get
    39       {
     33    public override string StringRepresentation {
     34      get {
    4035        return stringRepresentation ?? (stringRepresentation = GetStringRepresentation());
    4136      }
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/StatelessExpression.cs

    r15344 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
     1namespace HeuristicLab.Problems.ProgramSynthesis {
    22  using System;
    33
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/StringExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using System.Globalization;
    4   using System.Linq;
    5 
    6   using Attributes;
    7 
    8   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    10 
    11   using Interpreter;
    12   using Stack;
    13 
     1using System;
     2using System.Globalization;
     3using System.Linq;
     4using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     5
     6namespace HeuristicLab.Problems.ProgramSynthesis {
    147  /// <summary>
    158  /// Stringifies and pushes the top INTEGER.,
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/SwapExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6 
    7   using Interpreter;
    8   using Stack;
    9 
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    105  /// <summary>
    116  ///     Swaps the top two values.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorButLastExpressions.cs

    r15189 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3   using System.Linq;
     1using System.Collections.Generic;
     2using System.Linq;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    44
    5   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    9 
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    106  /// <summary>
    117  /// Takes the rest of the top item on the type stack.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorConcatExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    33
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Concatinates two vectors on the type stack.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorConjExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    33
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Conj's an item onto the type stack.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorContainsExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using System.Linq;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    24
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using System.Linq;
    5 
    6   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    10 
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    116  /// <summary>
    127  /// Tells whether the top lit-type item is in the top type vector.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorEmptyExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Pushes a boolean of whether the top vector is empty.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorFirstExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Gets the first item from the type stack
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorIndexOfExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Finds the index of the top lit-type item in the top type vector.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorIterateExpressions.cs

    r15334 r15771  
    11using System.Collections.Generic;
     2using System;
     3using System.Linq;
     4using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    25
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using System;
    5   using System.Linq;
    6 
    7   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    10   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    11 
     6namespace HeuristicLab.Problems.ProgramSynthesis {
    127  /// <summary>
    138  /// Iterates in reverse order (due to performance reasons) over the type vector using the code on the exec stack.If the vector isn't empty, expands to:
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorLastExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Gets the last item from the type stack
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorLengthExpressions.cs

    r15032 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    33
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Takes the length of the top item on the type stack
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorNthExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4 
    5   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    10 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    115  /// <summary>
    126  /// Gets the nth item from the type stack
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorOccurrenceOfExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Counts the occurrences of the top lit-type item in the top type vector.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorPushAllExpressions.cs

    r15189 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3   using System.Linq;
     1using System.Collections.Generic;
     2using System.Linq;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    44
    5   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    9 
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    106  /// <summary>
    117  /// Pushes every item from the first vector onto the appropriate stack in reversed order.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorRemoveExpressions.cs

    r15189 r15771  
    11using System.Collections.Generic;
     2using System.Linq;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    24
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using System.Linq;
    5 
    6   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    10 
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    116  /// <summary>
    127  /// Removes all occurrences of the first lit-type item in the top type vector.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorReplaceExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Replaces all occurrences of the second lit-type item with the first lit-type item in the top type vector.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorReplaceFirstExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    8 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    95  /// <summary>
    106  /// Replace first occurrence of the second lit-type item with the first lit-type item in the top type vector.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorRestExpressions.cs

    r15189 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using System.Collections.Generic;
    4   using System.Linq;
     1using System;
     2using System.Collections.Generic;
     3using System.Linq;
     4using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    55
    6   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    10 
     6namespace HeuristicLab.Problems.ProgramSynthesis {
    117  /// <summary>
    128  /// Takes the rest of the top item on the type stack.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorReverseExpressions.cs

    r15189 r15771  
    11using System.Collections.Generic;
     2using System.Linq;
     3using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    24
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using System.Linq;
    5 
    6   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    10 
     5namespace HeuristicLab.Problems.ProgramSynthesis {
    116  /// <summary>
    127  /// Takes the reverse of the top item on the type stack.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorSetExpressions.cs

    r15032 r15771  
    11using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    23
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    9 
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    105  /// <summary>
    116  /// Replaces, in the top type vector, item at index(from integer stack) with the first lit-type item.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorSubExpressions.cs

    r15189 r15771  
    11using System.Collections.Generic;
     2using System;
     3using System.Linq;
     4using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    25
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using System;
    5   using System.Linq;
    6 
    7   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    10   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    11 
     6namespace HeuristicLab.Problems.ProgramSynthesis {
    127  /// <summary>
    138  /// Takes the subvec of the top item on the type stack.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorTakeExpressions.cs

    r15189 r15771  
    11using System.Collections.Generic;
     2using System;
     3using System.Linq;
     4using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    25
    3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    4   using System;
    5   using System.Linq;
    6 
    7   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    10   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    11   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    12 
     6namespace HeuristicLab.Problems.ProgramSynthesis {
    137  /// <summary>
    148  /// Takes the first N items from the type stack, where N is from the integer stack
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/YankDuplicateExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System;
    3   using System.Collections.Generic;
    4   using Attributes;
    5 
    6   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    8 
    9   using Interpreter;
    10   using Stack;
    11 
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    125  /// <summary>
    136  /// Pushes a copy of an indexed item "deep" in the stack onto the top of the stack, without removing the deep item.
  • branches/2895_PushGP_GenealogyAnalysis/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/YankExpressions.cs

    r15334 r15771  
    1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    2   using System.Collections.Generic;
    3 
    4   using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    5   using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes;
    6   using HeuristicLab.Problems.ProgramSynthesis.Push.Extensions;
    7   using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    8   using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    9 
     1using System.Collections.Generic;
     2using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     3
     4namespace HeuristicLab.Problems.ProgramSynthesis {
    105  /// <summary>
    116  /// Removes an indexed item from "deep" in the stack and pushes it on top of the stack.
Note: See TracChangeset for help on using the changeset viewer.