Esempio n. 1
0
        public Modelo build()
        {
            AdapterModelo adapter = AdapterModelo.Instance;

            return(new Modelo(
                       adapter.getModelo(indice_modelo),
                       adapter.getColor(binario_color),
                       adapter.getPosicion(binario_posicion),
                       adapter.getPertenencia(binario_pertenencia)));
        }
Esempio n. 2
0
        private void loguearCromosoma(Chromosome cromosoma)
        {
            appendText(Color.CadetBlue, "Aptitud: " + cromosoma.Fitness, true);
            appendText(Color.Blue, cromosoma.ToBinaryString(), true);
            var        particiones = Acertijo.particionar(cromosoma.Genes, 9);
            Chromosome cromo       = new Chromosome();
            int        i           = 0;

            foreach (var particion in particiones)
            {
                cromo.Genes.Clear();
                List <Gene> genes = particion.ToList <Gene>();
                cromo.Genes.AddRange(genes);
                appendText(Color.DarkMagenta, cromo.ToBinaryString());
                appendText(Color.Black, "   ---> " + adapter.getModelo(i));
                var genesAuxiliares = Acertijo.particionar(genes, 3);
                int t = 0;
                foreach (var genAuxiliar in genesAuxiliares)
                {
                    cromo.Genes.Clear();
                    cromo.Genes.AddRange(genAuxiliar);
                    string cadenaBits = cromo.ToBinaryString();
                    if (cadenaBits == "111")
                    {
                        appendText(Color.YellowGreen, ", INVALIDO");
                    }
                    else
                    {
                        switch (t)
                        {
                        case 0:
                            appendText(Color.Black, ", " + adapter.getColor(cadenaBits));
                            break;

                        case 1:
                            appendText(Color.Black, ", " + adapter.getPertenencia(cadenaBits));
                            break;

                        case 2:
                            appendText(Color.Black, ", " + adapter.getPosicion(cadenaBits));
                            break;

                        default:
                            appendText(Color.White, ", INVALIDO");
                            break;
                        }
                    }
                    t++;
                }
                i++;
                appendText(Color.Black, " ", true);
            }
        }