Wątek przeniesiony 2021-01-13 23:08 z Ogłoszenia drobne przez furious programming.

Java algorytm genetyczny selekcja metodą koła ruletki

0

Cześć,

Potrzebuję pomocy z selekcją metodą koła ruletki. Kod który napisałem, nie działa tak jakbym sobie tego życzył. Załączam kawałek kodu, żeby mniej więcej było wiadomo z czym trzeba będzie się zmierzyć. Najchętniej skonsultowałbym ten problem przez komunikator na przykład: discord, udostępniając swój ekran. Proszę o kontakt w wiadomości prywatnej z wyceną pomocy, lub tutaj.

public void addNewPopulation(Population population) {
        while (newPopulation.populationSize() != population.populationSize()) { 
            
            for (int i = 0; i <= population.populationSize() - 1; i++) {
                double randomNumber = randomNumber();

                if (randomNumber <= population.getPercentageFitness(0)) {
                    System.out.println(i);
                    newPopulation.addChromosome(population.getChromosome(0));

                } else if (randomNumber <= population.getPercentageFitness(population.populationSize() - 1)
                        && randomNumber > population.getPercentageFitness(population.populationSize() - 2)) {
                    System.out.println(i);
                    newPopulation.addChromosome(population.getChromosome(population.populationSize() - 1));

                } else if (randomNumber <= population.getPercentageFitness(i + 1)
                        && randomNumber > population.getPercentageFitness(i - 1)) {
                    System.out.println(i);
                    newPopulation.addChromosome(population.getChromosome(i));
                }
            }
0

a ten while nie jest nieskończony czasem? Chyba że całości nie wkleiłeś xd

0
population.getPercentageFitness(population.populationSize() - 2))
//...
population.getPercentageFitness(i + 1)
  • to ma obsłużyć tylko 4-elementowe populacje?
0

@vpiotr: Chciałem napisać program z dowolną ilością elementów w populacji. W poleceniu zadania jest 6.
@baant: Tak jak napisałem w poście, jest to fragment kodu. Czasami kod dodaje cała populacje, czasami wyskakuje index out of bound -1 lub 6 dla 6 elementowej listy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1