Example #1
0
 public Gene mutate(int mutations)
 {
     Gene mutation = new Gene(this); //copy host
     for (int m = 0; m < mutations; m++)
     {
         int muta   = r.Next(0, expression.Count); //find area to mutate
         int updown = (r.Next(0, 100) >= 50 ? 1 : -1); //up or down?
         mutation.expression[muta] += updown; //apply mutation
     }
     mutation.find_overlaps_on_train(); //fit after mutation
     mutation.complexity = 0; // complexity after fit
     for (int e = 0; e < mutation.expression.Count; e++) //complexity
     {
         mutation.complexity += Math.Abs(mutation.expression[e]);
     }
     return mutation;
 }
Example #2
0
 static void test(Gene gene)
 {
 }
Example #3
0
 //mutations constructor
 public Gene(Gene gene)
 {
     expression = new List<int>();
     for (int e = 0; e < gene.expression.Count; e++) expression.Add(gene.expression[e]); //copy expression from host
     // complexity after mutation
 }