public static Individ[] PointCrossOver(Parametrs a, Individ A, Individ B) { Individ[] C = new Individ[] { new Individ(a), new Individ(a) }; if (a.Chom == 2) { Chromosom.PointCrossOver(a, A.xrom[0], B.xrom[0], out C[0].xrom[0], out C[1].xrom[0]); Chromosom.PointCrossOver(a, A.xrom[1], B.xrom[1], out C[0].xrom[1], out C[1].xrom[1]); } if (a.Chom == 4) { Chromosom.PointCrossOver(a, A.xrom[0], B.xrom[0], out C[0].xrom[0], out C[1].xrom[0]); Chromosom.PointCrossOver(a, A.xrom[1], B.xrom[1], out C[0].xrom[1], out C[1].xrom[1]); Chromosom.PointCrossOver(a, A.xrom[2], B.xrom[2], out C[0].xrom[2], out C[1].xrom[2]); Chromosom.PointCrossOver(a, A.xrom[3], B.xrom[3], out C[0].xrom[3], out C[1].xrom[3]); } //Chromosom.PointCrossOver(a, A.xrom_1, B.xrom_1, out C[0].xrom_1, out C[1].xrom_1); //Chromosom.PointCrossOver(a, A.xrom_2, B.xrom_2, out C[0].xrom_2, out C[1].xrom_2); return(C); }
private void Test_Chrom() { Chromosom test1 = new Chromosom(Aa); Chromosom test2 = new Chromosom(Aa); Chromosom test3 = new Chromosom(Aa); Chromosom test4 = new Chromosom(Aa); MtextBox.Text = MtextBox.Text + Environment.NewLine + "1)" + test1.Prin(Aa) + " 2)" + test2.Prin(Aa) + Environment.NewLine; MtextBox.Text = MtextBox.Text + "3)" + test3.Prin(Aa); MtextBox.Text = MtextBox.Text + " 4)" + test4.Prin(Aa) + Environment.NewLine; MtextBox.Text = MtextBox.Text + TestGenot_in_Fenotip(test1) + " " + TestGenot_in_Fenotip(test2) + Environment.NewLine; MtextBox.Text = MtextBox.Text + TestGenot_in_Fenotip(test3) + " " + TestGenot_in_Fenotip(test4) + Environment.NewLine; Chromosom.PointCrossOver(Aa, test1, test2, out test3, out test4); MtextBox.Text = MtextBox.Text + "3)" + test3.Prin(Aa); MtextBox.Text = MtextBox.Text + " 4)" + test4.Prin(Aa) + Environment.NewLine; MtextBox.Text = MtextBox.Text + TestGenot_in_Fenotip(test1) + " " + TestGenot_in_Fenotip(test2) + Environment.NewLine; MtextBox.Text = MtextBox.Text + TestGenot_in_Fenotip(test3) + " " + TestGenot_in_Fenotip(test4) + Environment.NewLine; }