package genetic; import java.util.LinkedList; import java.util.Random; public class Crossing { private int crossingType; private int count; private double crossingProb; private int popSize; public Crossing (int type, double prob, int size) { crossingType = type; count=0; crossingProb = prob; popSize = size; } public void setCrossingType(int type) { crossingType = type; } public int getCount() { return count; } public void setCrossingProb(double prob) { crossingProb = prob; } public LinkedList crossing(LinkedList pop) { LinkedList newPop = null; count=0; switch (crossingType) { case 1: { newPop = onePointTwoChildren(pop); break; } case 2: { newPop = onePointOneChild(pop); break; } case 3: { newPop = manyPointsOneChild(pop); break; } case 4: { newPop = manyPointsTwoChildren(pop); break; } } return newPop; } private LinkedList onePointTwoChildren(LinkedList pop) { int nodes = pop.get(0).getChromosome().length; //dlugosc tablicy chromosomow Random r = new Random(); int div = r.nextInt(nodes); //punkt podzialu int size = 0; //rozmiar aktualnej,nowej populacji //System.out.println("Podzial - " + div); LinkedList newPop = new LinkedList(); //lista na nowa populacje while (size onePointOneChild(LinkedList pop) { int nodes = pop.get(0).getChromosome().length; //dlugosc tablicy chromosomow Random r = new Random(); int div = r.nextInt(nodes); //punkt podzialu int size = 0; //rozmiar aktualnej,nowej populacji System.out.println("Podzial - " + div); LinkedList newPop = new LinkedList(); //lista na nowa populacje while (size manyPointsOneChild(LinkedList pop) { int nodes = pop.get(0).getChromosome().length; //dlugosc tablicy chromosomow Random r = new Random(); int size = 0; //rozmiar aktualnej,nowej populacji LinkedList newPop = new LinkedList(); //lista na nowa populacje while (size manyPointsTwoChildren(LinkedList pop) { int nodes = pop.get(0).getChromosome().length; //dlugosc tablicy chromosomow Random r = new Random(); int size = 0; //rozmiar aktualnej,nowej populacji LinkedList newPop = new LinkedList(); //lista na nowa populacje while (size