예제 #1
0
		public void AddOrganism( Organism p0 )
		{
			GeneticUtil.CHECKNULLARG( p0 );

			if ( this.IsFull )
			{
				throw new GeneticError( "Cannot add an organism to a full population");
			}

			this.organisms.Add( p0 );
		}
예제 #2
0
파일: organism.cs 프로젝트: saveenr/saveenr
		public Organism Clone()
		{
			IChromosome cs = this.Genes.Clone();
			Organism the_clone = new Organism( cs , this.Fitness  );

			if ( the_clone.Genes.GetLength() != this.Genes.GetLength() )
			{
				throw  new GeneticError("Cloned Chromosomes of diffetent lengths");
			}

			return the_clone;
		}
예제 #3
0
		public void Crossover( Organism parent0, Organism parent1, out Organism child0, out Organism child1 )
		{
			child0 = parent0.Clone();
			child1 = parent1.Clone();

			int left;
			int right;
			GeneticUtil.PickCrossOverPoints( parent0.Genes , out left, out right );
			child0.Genes.SwapGenesBetween( left, right, child1.Genes );
		}
예제 #4
0
		public static void RepairCrossover( Organism parent1, Organism parent2)
		{
		}
예제 #5
0
 public static void RepairCrossover(Organism parent1, Organism parent2)
 {
 }