Ejemplo n.º 1
0
        private void bt_Alg_Evo_Click(object sender, EventArgs e)
        {
            list_proceso.Items.Clear();
            Color  NuevoColor = System.Drawing.Color.FromArgb(255, 0, 0);
            Bitmap BitImag = new Bitmap(pictureBox_Gris.Image);
            Bitmap BitImag_limp = new Bitmap(pictureBox_Gris.Image);
            int    NValidez = 0, epocas = 0;

            list_proceso.Items.Add("- Iniciar Evolución");
            AE AlgoEvolutivo = new AE(BitImg, 10, 60);

            list_proceso.Items.Add("- Generar individuos");
            do
            {
                AlgoEvolutivo.AzarIndividuo(BitImg.GetLength(0), BitImg.GetLength(1));
            } while (ObtenerValidez(AlgoEvolutivo.IND));

            for (int i = 0; i < AlgoEvolutivo.IND.Count; i++)
            {
                BitImag.SetPixel(AlgoEvolutivo.IND[i].Y, AlgoEvolutivo.IND[i].X, NuevoColor);
            }
            pictureBox_Gris.Image = BitImag;
            pictureBox_Gris.Refresh();
            list_proceso.Items.Add("- Buscar distancias");
            AlgoEvolutivo.BuscarDistancia();
            list_proceso.Items.Add("- Generar población");
            AlgoEvolutivo.GenerarPoblacion();

            pictureBox_Gris.Image = BitImag_limp;
            list_proceso.Items.Add("- Evolucionar población");
            epocas = AlgoEvolutivo.Evolucionar(0, AlgoEvolutivo.IND.Count, pictureBox_Gris, BitImag_limp);
            for (int i = 0; i < AlgoEvolutivo.IND.Count; i++)
            {
                BitImag_limp.SetPixel(AlgoEvolutivo.IND[i].Y, AlgoEvolutivo.IND[i].X, NuevoColor);
            }
            pictureBox_Gris.Image = BitImag_limp;
            list_proceso.Items.Add("Numero de epocos que realizo el algoritmo es: " + epocas);
            for (int i = 0; i < AlgoEvolutivo.IND.Count; i++)
            {
                if (AlgoEvolutivo.IND[i].Validez == 1)
                {
                    NValidez++;
                }
            }
            list_proceso.Items.Add("Numero de acertaciones es: " + NValidez + " de " + AlgoEvolutivo.IND.Count + " individuos");
        }