Пример #1
0
class BitStrGeneratorTests(unittest.TestCase):
    def setUp(self):
        self.config = {
            "max_population": 10,


            "bitstring_generation": {
                "genome_length": 10
            },

            "codons": [
                "0000",
                "0001",
                "0010",
                "0011",
                "0100",
                "0101",
                "0110",
                "0111",
                "1000",
                "1001",
                "1011",
                "1111"
            ]
        }
        self.generator = BitStringGenerator(self.config)

    def test_generate_random_codon(self):
        codon = self.generator.generate_random_codon()

        self.assertTrue(len(codon) > 0)
        self.assertTrue(codon in self.config["codons"])

    def test_generate_random_bitstr(self):
        bitstr = self.generator.generate_random_bitstr()

        self.assertTrue(len(bitstr.genome) > 0)
        self.assertEquals(bitstr.length, 10)
        self.assertEquals(bitstr.score, None)

    def test_init(self):
        population = self.generator.init()

        self.assertEquals(len(population.individuals), 10)
Пример #2
0
            },
            "mutation": {
                "method": ["POINT_MUTATION"],
                "probability": 0.2
            }
        }

        generator = BitStringGenerator(config)

        # genetic operators
        selection = Selection(config)
        crossover = BitStringCrossover(config)
        mutation = BitStringMutation(config)

        # run GA
        population = generator.init()

        details = play.play_details(
            population=population,
            evaluate=evaluate,
            functions=None,
            selection=selection,
            crossover=crossover,
            mutation=mutation,
            print_func=print_func,
            stop_func=stop_func,
            config=config,
        )
        start_time = time.time()
        play.play(details)
        end_time = time.time()
Пример #3
0
            "mutation": {
                "method": ["POINT_MUTATION"],
                "probability": 0.2
            }
        }

        generator = BitStringGenerator(config)

        # genetic operators
        selection = Selection(config)
        crossover = BitStringCrossover(config)
        mutation = BitStringMutation(config)

        # run GA
        population = generator.init()

        details = play.play_details(
            population=population,
            evaluate=evaluate,
            functions=None,
            selection=selection,
            crossover=crossover,
            mutation=mutation,
            print_func=print_func,
            stop_func=stop_func,
            config=config,
        )
        start_time = time.time()
        play.play(details)
        end_time = time.time()