diff --git a/genetic.rb b/genetic.rb index bbce794..c54adfe 100755 --- a/genetic.rb +++ b/genetic.rb @@ -13,9 +13,9 @@ def grade_program(p) output = p.execute grade = (EXPECTED_OUTPUT.size - output.size).abs * 100 [EXPECTED_OUTPUT.size, output.size].min.times do |i| - grade += (ord(EXPECTED_OUTPUT[i]) - ord(output[i])).abs + grade += (ord(EXPECTED_OUTPUT[i]) - ord(output[i])).abs * 10 end - grade + grade + p.length end def main diff --git a/program.rb b/program.rb index 4e41091..ea1a013 100644 --- a/program.rb +++ b/program.rb @@ -56,6 +56,10 @@ class Program end end + def length + @instructions.size + end + private def random_instruction