class TestEvaluateAgainst: def setup(self): self.individual_a = Individual('0123456789') def test_identical(self): chars = self.individual_a.chars assert_true(self.individual_a.evaluate_against(chars) == len(chars)) def test_no_similarity(self): assert_true(self.individual_a.evaluate_against('a tallship') == 0)
from individual import Individual from mutator import Mutator num_tries = 0 num_moves = 0 TARGET = "Methinks it is like a weasel" mutator = Mutator(2) ind = Individual(len(TARGET)) fitness = ind.evaluate_against(TARGET) while fitness < len(TARGET): new_ind = mutator.reproduce_asexually(ind) new_fitness = new_ind.evaluate_against(TARGET) num_tries = num_tries + 1 if new_fitness > fitness: ind = new_ind fitness = new_fitness num_moves = num_moves + 1 print(new_ind) print("Found in",num_tries,"tries and",num_moves,"moves.")