コード例 #1
0
ファイル: Individ.cs プロジェクト: M-Elena-A/University
        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);
        }
コード例 #2
0
        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;
        }