import java.util.Random; import java.io.File; import java.io.FileWriter; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.ListIterator; import java.util.Random; public class Dog { public static void main(String... args)throws Throwable { // create file for writing fitness of the best chromosome File file1 = new File("dog.txt"); FileWriter fw1 = new FileWriter(file1, false); PrintWriter pw1 = new PrintWriter(fw1); // create file for writing average fitness File file2 = new File("avg dog.txt"); FileWriter fw2 = new FileWriter(file2, false); PrintWriter pw2 = new PrintWriter(fw2); //create files for writing coordinates File file3 = new File("d1x.txt"); FileWriter fw3 = new FileWriter(file3, false); PrintWriter pw3 = new PrintWriter(fw3); File file4 = new File("d1y.txt"); FileWriter fw4 = new FileWriter(file4, false); PrintWriter pw4 = new PrintWriter(fw4); File file5 = new File("d2x.txt"); FileWriter fw5 = new FileWriter(file5, false); PrintWriter pw5 = new PrintWriter(fw5); File file6 = new File("d2y.txt"); FileWriter fw6 = new FileWriter(file6, false); PrintWriter pw6 = new PrintWriter(fw6); File file7 = new File("d3x.txt"); FileWriter fw7 = new FileWriter(file7, false); PrintWriter pw7 = new PrintWriter(fw7); File file8 = new File("d3y.txt"); FileWriter fw8 = new FileWriter(file8, false); PrintWriter pw8 = new PrintWriter(fw8); File file9 = new File("d3x.txt"); FileWriter fw9 = new FileWriter(file9, false); PrintWriter pw9 = new PrintWriter(fw9); File file10 = new File("d4y.txt"); FileWriter fw10 = new FileWriter(file10, false); PrintWriter pw10 = new PrintWriter(fw10); File file11 = new File("d5x.txt"); FileWriter fw11 = new FileWriter(file11, false); PrintWriter pw11 = new PrintWriter(fw11); File file12 = new File("d5y.txt"); FileWriter fw12 = new FileWriter(file12, false); PrintWriter pw12 = new PrintWriter(fw12); int[][] osob = new int[100][1000]; Random random = new Random(); int iter = 0; double avr = 0; double numb = 0; for (int i = 0; i < 100; i++){ for (int j = 0; j < 1000; j++){ osob[i][j] = random.nextInt(3); } } for(int s=0;s<5;s++) { coord c = new coord(); c.X= 500; c.Y= 500; for(int i=0;i<1000;i++) { switch (osob[s][i]) { case 0: c.Y--; break; case 1: c.Y++; break; case 2: c.X--; break; case 3: c.X++; break; default: System.out.println("Error"); break; } System.out.println("X" + s + c.X); System.out.println("Y" + s + c.Y + "\n"); if(s==0){ pw3.println(c.X); pw4.println(c.Y); } if(s==1){ pw5.println(c.X); pw6.println(c.Y); } if(s==2){ pw7.println(c.X); pw8.println(c.Y); } if(s==3){ pw9.println(c.X); pw10.println(c.Y); } if(s==4){ pw11.println(c.X); pw12.println(c.Y); } } } for (int i = 0; i < 100; i++){ for (int j = 0; j < 1000; j++){ osob[i][j]++; avr += osob[i][j]; } } System.out.println(avr / (100 * 1000)); int[] temp = new int[1000]; int[][] best = new int[50][1001]; do{ for (int i = 0; i < 99; i++){ int min_fitness = i; for(int j = i + 1; j < 100; j++) { //compare array int fitMIN = stepsToSousage(osob[min_fitness]); int fitJ = stepsToSousage(osob[j]); if(fitJ