public int IndexOf(IGEPOrganism item)
 {
     return base.IndexOf(item: item);
 }
 public void Insert(int index, IGEPOrganism item)
 {
     base.Insert(index: index, item: item);
 }
 public void CopyTo(IGEPOrganism[] array, int arrayIndex)
 {
     base.CopyTo(array: array, arrayIndex: arrayIndex);
 }
 public bool Remove(IGEPOrganism item)
 {
     return base.Remove(item: item);
 }
 public void Add(IGEPOrganism item)
 {
     base.Add(organism: item);
 }
 public bool Contains(IGEPOrganism item)
 {
     return base.Contains(item: item);
 }
Example #7
0
 public GEPPhenome(IGEPOrganism organism, IGEPSurroundings surroundings)
     : base(organism: organism, surroundings: surroundings)
 {
 }
Example #8
0
 public GEPGenome(IGEPOrganism organism) 
     : base(organism)
 {
 }
 protected GEPPhenomeBase(IGEPOrganism organism, IGEPSurroundings surroundings)
     : base(organism: organism, surroundings: surroundings)
 {
 }
 protected GEPGenomeBase(IGEPOrganism organism) 
     : base(organism)
 {
 }
Example #11
0
 private double GetValue(IGEPOrganism organism, params IRegistry[] inputs)
 {
     return inputs.Sum(input => RateOrganism(organism, input)) / inputs.Length;
 }
Example #12
0
        private double RateOrganism(IGEPOrganism o, IRegistry inputRegistry)
        {
            var behavior = o.Behave(new GEPSurroundings(inputRegistry));

            const double worstFitness = 15000;
            if (behavior.Success)
            {
                var resultsRegistry = o.ResultsRegistry;
                resultsRegistry.MoveToZero();
                var resultValue = resultsRegistry.Read().Value;

                if (double.IsNaN(resultValue) || double.IsInfinity(resultValue))
                    return worstFitness;

                var desiredOutput = this.Function(inputRegistry.ReadAt(0).Value);

                var fitness = Math.Abs(resultValue - desiredOutput);

                if(double.IsNaN(fitness) || double.IsInfinity(fitness))
                    return worstFitness;

                return fitness;

            }
            else
                return worstFitness;
        }
Example #13
0
 private IRegistry GetInputRegistry(IGEPOrganism o, double valueAtZeroPosition)
 {
     var inputRegistry = new Registry(o.Parent.InputRegistryIdentifier, RegistryType.Input, readOnly: false);
     inputRegistry.Write(new AminoAcidResult(valueAtZeroPosition));
     inputRegistry.ReadOnly = true;
     return inputRegistry;
 }