store the generation of the last best program found

This commit is contained in:
Josh Holtrop 2014-02-11 09:36:15 -05:00
parent 10abe3bf15
commit 4a9b515ea4

View File

@ -26,6 +26,7 @@ def main
generation = 0
begin
last_best = nil
last_best_generation = 0
while true
generation += 1
programs += programs.map do |grade, p|
@ -40,6 +41,7 @@ def main
programs = programs.take(NUM_PROGRAMS)
if last_best.nil? or programs.first.first < last_best
last_best = programs.first.first
last_best_generation = generation
$stdout.write("\rGrade: #{last_best}, output: #{programs.first.last.execute.inspect} ")
end
if programs.first.first == 0
@ -52,7 +54,7 @@ def main
rescue Interrupt
puts
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
end
end