Skip to content

Commit 840dd84

Browse files
Modify inverted double pendulum example to have a better chance of finding a solution.
1 parent 19040e2 commit 840dd84

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

examples/inverted-double-pendulum/config-feedforward

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[NEAT]
22
fitness_criterion = max
33
fitness_threshold = 9000.0
4-
pop_size = 150
4+
pop_size = 250
55
reset_on_extinction = 0
66

77
no_fitness_termination = False
@@ -63,9 +63,8 @@ compatibility_threshold = 3.0
6363

6464
[DefaultStagnation]
6565
species_fitness_func = max
66-
max_stagnation = 20
67-
68-
species_elitism = 2
66+
max_stagnation = 50
67+
species_elitism = 2
6968

7069
[DefaultReproduction]
7170
elitism = 3

examples/inverted-double-pendulum/evolve-feedforward.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def run(config_file):
7878

7979
# Run evolution with parallel evaluation
8080
pe = neat.ParallelEvaluator(multiprocessing.cpu_count(), eval_genome)
81-
winner = pop.run(pe.evaluate, 300)
81+
winner = pop.run(pe.evaluate, 500)
8282

8383
# Save the winner
8484
with open('winner-feedforward.pickle', 'wb') as f:
@@ -87,8 +87,8 @@ def run(config_file):
8787
print('\n\nBest genome:\n{!s}'.format(winner))
8888

8989
# Visualize the results
90-
visualize.plot_stats(stats, ylog=False, view=False, filename="feedforward-fitness.svg")
91-
visualize.plot_species(stats, view=False, filename="feedforward-speciation.svg")
90+
visualize.plot_stats(stats, ylog=False, view=True, filename="feedforward-fitness.svg")
91+
visualize.plot_species(stats, view=True, filename="feedforward-speciation.svg")
9292

9393
# Create node names for visualization
9494
node_names = {
@@ -98,9 +98,9 @@ def run(config_file):
9898
0: 'force'
9999
}
100100

101-
visualize.draw_net(config, winner, view=False, node_names=node_names,
101+
visualize.draw_net(config, winner, view=True, node_names=node_names,
102102
filename="winner-feedforward.gv")
103-
visualize.draw_net(config, winner, view=False, node_names=node_names,
103+
visualize.draw_net(config, winner, view=True, node_names=node_names,
104104
filename="winner-feedforward-pruned.gv", prune_unused=True)
105105

106106
return winner, stats

0 commit comments

Comments
 (0)