store the generation of the last best program found
This commit is contained in:
parent
10abe3bf15
commit
4a9b515ea4
@ -26,6 +26,7 @@ def main
|
|||||||
generation = 0
|
generation = 0
|
||||||
begin
|
begin
|
||||||
last_best = nil
|
last_best = nil
|
||||||
|
last_best_generation = 0
|
||||||
while true
|
while true
|
||||||
generation += 1
|
generation += 1
|
||||||
programs += programs.map do |grade, p|
|
programs += programs.map do |grade, p|
|
||||||
@ -40,6 +41,7 @@ def main
|
|||||||
programs = programs.take(NUM_PROGRAMS)
|
programs = programs.take(NUM_PROGRAMS)
|
||||||
if last_best.nil? or programs.first.first < last_best
|
if last_best.nil? or programs.first.first < last_best
|
||||||
last_best = programs.first.first
|
last_best = programs.first.first
|
||||||
|
last_best_generation = generation
|
||||||
$stdout.write("\rGrade: #{last_best}, output: #{programs.first.last.execute.inspect} ")
|
$stdout.write("\rGrade: #{last_best}, output: #{programs.first.last.execute.inspect} ")
|
||||||
end
|
end
|
||||||
if programs.first.first == 0
|
if programs.first.first == 0
|
||||||
@ -52,7 +54,7 @@ def main
|
|||||||
rescue Interrupt
|
rescue Interrupt
|
||||||
puts
|
puts
|
||||||
puts "Canceled at #{generation} generations"
|
puts "Canceled at #{generation} generations"
|
||||||
puts "The best program (grade #{programs.first.first}) is:"
|
puts "The best program (grade #{programs.first.first}, generation #{last_best_generation}) is:"
|
||||||
puts programs.first.last
|
puts programs.first.last
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user