From 4a9b515ea4928e6809e09a80a37d9f66aa051430 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 11 Feb 2014 09:36:15 -0500 Subject: [PATCH] store the generation of the last best program found --- genetic.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/genetic.rb b/genetic.rb index 6cf60f1..603454f 100755 --- a/genetic.rb +++ b/genetic.rb @@ -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