diff --git a/core-java/0.004102810554955205 b/core-java/0.004102810554955205 deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/core-java/0.04832801936270381 b/core-java/0.04832801936270381 deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/core-java/0.5633433244738808 b/core-java/0.5633433244738808 deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/core-java/0.6256429734439612 b/core-java/0.6256429734439612 deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/core-java/0.9799201796740292 b/core-java/0.9799201796740292 deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/core-java/src/main/java/com/baeldung/algorithms/RunAlgorithm.java b/core-java/src/main/java/com/baeldung/algorithms/RunAlgorithm.java index 476e873f90f6..3f7c8bf4b321 100644 --- a/core-java/src/main/java/com/baeldung/algorithms/RunAlgorithm.java +++ b/core-java/src/main/java/com/baeldung/algorithms/RunAlgorithm.java @@ -8,28 +8,30 @@ public class RunAlgorithm { - public static void main(String[] args) { - Scanner in = new Scanner(System.in); - System.out.println("Run algorithm:"); - System.out.println("1 - Simulated Annealing"); - System.out.println("2 - Slope One"); - System.out.println("3 - Simple Genetic Algorithm"); - int decision = in.nextInt(); - switch (decision) { - case 1: - System.out.println("Optimized distance for travel: " + SimulatedAnnealing.simulateAnnealing(10, 10000, 0.9995)); - break; - case 2: - SlopeOne.slopeOne(3); - break; - case 3: - SimpleGeneticAlgorithm.runAlgorithm(50, "1011000100000100010000100000100111001000000100000100000000001111"); - break; - default: - System.out.println("Unknown option"); - break; - } - in.close(); - } + public static void main(String[] args) { + Scanner in = new Scanner(System.in); + System.out.println("Run algorithm:"); + System.out.println("1 - Simulated Annealing"); + System.out.println("2 - Slope One"); + System.out.println("3 - Simple Genetic Algorithm"); + int decision = in.nextInt(); + switch (decision) { + case 1: + System.out.println( + "Optimized distance for travel: " + SimulatedAnnealing.simulateAnnealing(10, 10000, 0.9995)); + break; + case 2: + SlopeOne.slopeOne(3); + break; + case 3: + SimpleGeneticAlgorithm ga = new SimpleGeneticAlgorithm(); + ga.runAlgorithm(50, "1011000100000100010000100000100111001000000100000100000000001111"); + break; + default: + System.out.println("Unknown option"); + break; + } + in.close(); + } } diff --git a/core-java/src/main/java/com/baeldung/algorithms/ga/binary/SimpleGeneticAlgorithm.java b/core-java/src/main/java/com/baeldung/algorithms/ga/binary/SimpleGeneticAlgorithm.java index c7e2a6b38106..e62eab0d5747 100644 --- a/core-java/src/main/java/com/baeldung/algorithms/ga/binary/SimpleGeneticAlgorithm.java +++ b/core-java/src/main/java/com/baeldung/algorithms/ga/binary/SimpleGeneticAlgorithm.java @@ -11,17 +11,17 @@ public class SimpleGeneticAlgorithm { private static final boolean elitism = true; private static byte[] solution = new byte[64]; - public static boolean runAlgorithm(int populationSize, String solution) { + public boolean runAlgorithm(int populationSize, String solution) { if (solution.length() != SimpleGeneticAlgorithm.solution.length) { throw new RuntimeException("The solution needs to have " + SimpleGeneticAlgorithm.solution.length + " bytes"); } - SimpleGeneticAlgorithm.setSolution(solution); + setSolution(solution); Population myPop = new Population(populationSize, true); int generationCount = 1; - while (myPop.getFittest().getFitness() < SimpleGeneticAlgorithm.getMaxFitness()) { + while (myPop.getFittest().getFitness() < getMaxFitness()) { System.out.println("Generation: " + generationCount + " Correct genes found: " + myPop.getFittest().getFitness()); - myPop = SimpleGeneticAlgorithm.evolvePopulation(myPop); + myPop = evolvePopulation(myPop); generationCount++; } System.out.println("Solution found!"); @@ -31,7 +31,7 @@ public static boolean runAlgorithm(int populationSize, String solution) { return true; } - public static Population evolvePopulation(Population pop) { + public Population evolvePopulation(Population pop) { int elitismOffset; Population newPopulation = new Population(pop.getIndividuals().size(), false); @@ -56,7 +56,7 @@ public static Population evolvePopulation(Population pop) { return newPopulation; } - private static Individual crossover(Individual indiv1, Individual indiv2) { + private Individual crossover(Individual indiv1, Individual indiv2) { Individual newSol = new Individual(); for (int i = 0; i < newSol.getDefaultGeneLength(); i++) { if (Math.random() <= uniformRate) { @@ -68,7 +68,7 @@ private static Individual crossover(Individual indiv1, Individual indiv2) { return newSol; } - private static void mutate(Individual indiv) { + private void mutate(Individual indiv) { for (int i = 0; i < indiv.getDefaultGeneLength(); i++) { if (Math.random() <= mutationRate) { byte gene = (byte) Math.round(Math.random()); @@ -77,7 +77,7 @@ private static void mutate(Individual indiv) { } } - private static Individual tournamentSelection(Population pop) { + private Individual tournamentSelection(Population pop) { Population tournament = new Population(tournamentSize, false); for (int i = 0; i < tournamentSize; i++) { int randomId = (int) (Math.random() * pop.getIndividuals().size()); @@ -97,12 +97,12 @@ protected static int getFitness(Individual individual) { return fitness; } - protected static int getMaxFitness() { + protected int getMaxFitness() { int maxFitness = solution.length; return maxFitness; } - protected static void setSolution(String newSolution) { + protected void setSolution(String newSolution) { solution = new byte[newSolution.length()]; for (int i = 0; i < newSolution.length(); i++) { String character = newSolution.substring(i, i + 1); diff --git a/core-java/src/test/java/com/baeldung/algorithms/BinaryGeneticAlgorithmUnitTest.java b/core-java/src/test/java/com/baeldung/algorithms/BinaryGeneticAlgorithmUnitTest.java index 6b720898eb52..2e92177c8c50 100644 --- a/core-java/src/test/java/com/baeldung/algorithms/BinaryGeneticAlgorithmUnitTest.java +++ b/core-java/src/test/java/com/baeldung/algorithms/BinaryGeneticAlgorithmUnitTest.java @@ -7,9 +7,10 @@ public class BinaryGeneticAlgorithmUnitTest { - @Test - public void testGA() { - Assert.assertTrue(SimpleGeneticAlgorithm.runAlgorithm(50, "1011000100000100010000100000100111001000000100000100000000001111")); - } + @Test + public void testGA() { + SimpleGeneticAlgorithm ga = new SimpleGeneticAlgorithm(); + Assert.assertTrue(ga.runAlgorithm(50, "1011000100000100010000100000100111001000000100000100000000001111")); + } } diff --git a/spring-hibernate4/.gitignore b/spring-hibernate4/.gitignore index 478cca6daccc..d31cc4c61998 100644 --- a/spring-hibernate4/.gitignore +++ b/spring-hibernate4/.gitignore @@ -12,3 +12,4 @@ *.war *.ear /target/ +/target/