Pizzaria

746 palavras 3 páginas
class Crom implements Comparable { char[] alleles; // Alelos do cromossomo, cada um contendo '0' ou '1' int fitness; // Valor de fitness do cromossomo public Crom(char[] a) { alleles = a; fitness = 0; } public int compareTo(Object o) { Crom oCrom = (Crom)o; if(oCrom.fitness < this.fitness) return -1; else return 1; } }

Crom[] calcFitness(Crom[] cList) { // O TreeSet é utilizado para ordenar a população de cromossomos // de acordo com o valor fitness, do melhor para o pior fitness java.util.TreeSet sortByFitness = new java.util.TreeSet(); // Cada cromossomo da população tem seu fitness calculado. // O fitness nesse exemplo é indicado pela quantidade de // 1's (bits "ligados") contidos no cromossomo for(Crom c : cList){ for (int l = 0; l < c.alleles.length; ++l) { c.fitness += (c.alleles[l] == '1' ? 1 : 0); } sortByFitness.add(c); } return sortByFitness.toArray(new Crom[]{}); }

Crom selectRouletteWheel(Crom[] cList, int fitTotal) { // Armazena o fitness total da população int sum = fitTotal; // Um número entre zero e "sum" é sorteado int randWheel = new java.util.Random().nextInt(fitTotal + 1); // Começando pelo cromossomo com melhor fitness, subtrai-se o // valor do fitness do cromossomo do valor total (sum) até que // "sum" seja menor ou igual a "randWheel". O cromossomo com o // último fitness

Relacionados

  • Pizzaria
    258 palavras | 2 páginas
  • Pizzaria
    11053 palavras | 45 páginas
  • pizzaria
    928 palavras | 4 páginas
  • Pizzaria
    388 palavras | 2 páginas
  • Pizzaria
    12882 palavras | 52 páginas
  • Pizzaria
    558 palavras | 3 páginas
  • Pizzaria
    2255 palavras | 10 páginas
  • pizzaria
    751 palavras | 4 páginas
  • pizzaria
    547 palavras | 3 páginas
  • PIZZARIA
    7946 palavras | 32 páginas