Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Moving example and tests, fixing a major bug that didn't drop previou…
…s fitness computation on mutation
- Loading branch information
Showing
with
55 additions
and 12 deletions.
- +4 −4 {example → examples}/getting_started_1.rb
- 0 {example → examples}/getting_started_2.rb
- +41 −0 examples/manual_instantiation.rb
- +0 −3 {example → examples}/population_vs_archipelago.rb
- +2 −2 gimuby.gemspec
- +2 −1 lib/gimuby/genetic/population/population.rb
- +1 −0 lib/gimuby/genetic/solution/mutation_strategy/mutation_strategy.rb
- +4 −0 lib/gimuby/genetic/solution/solution.rb
- +1 −2 rakefile
- 0 {test → tests}/abstract_test_case.rb
- 0 {test → tests}/genetic/archipelago/test_archipelago.rb
- 0 {test → tests}/genetic/archipelago/test_barabasi_albert_connect_strategy.rb
- 0 {test → tests}/genetic/archipelago/test_circle_connect_strategy.rb
- 0 {test → tests}/genetic/archipelago/test_clustering_coefficient_measure.rb
- 0 {test → tests}/genetic/archipelago/test_connected_measure.rb
- 0 {test → tests}/genetic/archipelago/test_constant_degree_connect_strategy.rb
- 0 {test → tests}/genetic/archipelago/test_diameter_measure.rb
- 0 {test → tests}/genetic/archipelago/test_fully_connected_connect_strategy.rb
- 0 {test → tests}/genetic/archipelago/test_random_connect_strategy.rb
- 0 {test → tests}/genetic/archipelago/test_shortest_paths_measure.rb
- 0 {test → tests}/genetic/archipelago/test_watts_strogatz_connect_strategy.rb
- 0 {test → tests}/genetic/population/test_bests_pick_strategy.rb
- 0 {test → tests}/genetic/population/test_population.rb
- 0 {test → tests}/genetic/population/test_random_wheel_pick_strategy.rb
- 0 {test → tests}/genetic/population/test_replace_worst_replace_strategy.rb
- 0 {test → tests}/genetic/population/test_tournament_pick_strategy.rb
- 0 {test → tests}/genetic/population/test_uniform_replace_strategy.rb
- 0 {test → tests}/genetic/solution/test_average_new_generation_strategy.rb
- 0 {test → tests}/genetic/solution/test_combined_new_generation_strategy.rb
- 0 {test → tests}/genetic/solution/test_cross_over_new_generation_strategy.rb
- 0 {test → tests}/genetic/solution/test_parent_range_new_generation_strategy.rb
- 0 {test → tests}/genetic/solution/test_permutation_check_strategy.rb
- 0 {test → tests}/genetic/solution/test_permutation_mutation_strategy.rb
- 0 {test → tests}/genetic/solution/test_solution_space_check_strategy.rb
- 0 {test → tests}/genetic/solution/test_solution_space_mutation_strategy.rb
- 0 {test → tests}/mock/population_mock.rb
- 0 {test → tests}/mock/solution_mock.rb
- 0 {test → tests}/problem/abstract_test_problem_solution.rb
- 0 {test → tests}/problem/foxholes/test_foxholes.rb
- 0 {test → tests}/problem/foxholes/test_foxholes_solution.rb
- 0 {test → tests}/problem/lennard_jones/test_lennard_jones.rb
- 0 {test → tests}/problem/lennard_jones/test_lennard_jones_solution.rb
- 0 {test → tests}/problem/rastrigin/test_rastrigin.rb
- 0 {test → tests}/problem/rastrigin/test_rastrigin_solution.rb
- 0 {test → tests}/problem/rosenbrock/test_rosenbrock_solution.rb
- 0 {test → tests}/problem/schaffer/test_schaffer_solution.rb
- 0 {test → tests}/problem/sphere/test_sphere.rb
- 0 {test → tests}/problem/sphere/test_sphere_solution.rb
- 0 {test → tests}/problem/step/test_step.rb
- 0 {test → tests}/problem/step/test_step_solution.rb
- 0 {test → tests}/problem/tsp/test_tsp.rb
- 0 {test → tests}/problem/tsp/test_tsp_solution.rb
- 0 {test → tests}/test_event_manager.rb
File renamed without changes.
@@ -0,0 +1,41 @@ | ||
require 'gimuby/genetic/archipelago/archipelago' | ||
require 'gimuby/genetic/archipelago/connect_strategy/fully_connected_connect_strategy' | ||
|
||
require 'gimuby/genetic/population/population' | ||
require 'gimuby/genetic/population/pick_strategy/tournament_pick_strategy' | ||
require 'gimuby/genetic/population/replace_strategy/replace_worst_replace_strategy' | ||
|
||
require 'gimuby/problem/step/step_solution' | ||
|
||
# Manual archipelago creation | ||
archipelago = Archipelago.new | ||
archipelago.connect_strategy = FullyConnectedConnectStrategy.new | ||
archipelago.migration_rate = 10.0 / 100.0 | ||
archipelago.migration_symmetric = true | ||
archipelago.migration_type = :synchronized | ||
|
||
10.times do | ||
# Manual population creation | ||
population = Population.new | ||
population.pick_strategy = TournamentPickStrategy.new | ||
population.replace_strategy = ReplaceWorstReplaceStrategy.new | ||
|
||
# We add solution of the relevant problem | ||
30.times do | ||
solution = StepSolution.new | ||
population.add_solution(solution) | ||
end | ||
|
||
# The current population is attached to the archipelago | ||
archipelago.add_population(population) | ||
end | ||
|
||
# Every population is here, we connect them together | ||
archipelago.connect_all | ||
|
||
# We run the algorithm | ||
100.times do | ||
archipelago.generation_step | ||
end | ||
|
||
puts archipelago.get_best_fitness |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.