def test_get_next_generation_by_static_payout(self):
     organism_a = pd_org.PDOrg(pd_org.MemoryPDGenotype(0,[True], []))
     organism_b = pd_org.PDOrg(pd_org.MemoryPDGenotype(0,[False], []))
     organisms = [organism_a, organism_b]
     static_competitors = [organism_a, organism_b]
     
     contender_generator = pd_selection.get_contender_generator(organisms)
     pd_selection.get_next_generation_by_selection(organisms)        
     results = pd_selection._get_next_generation(organisms, contender_generator)
     
    
     expected = [organism_a, organism_b]
     self.assertEqual(expected, expected)
Ejemplo n.º 2
0
def pd_evolve_population():
    past_organisms = {}
    
    organisms = create_initial_population()
    output = []
    headers = []
    for i in range(pd_org.MAX_BITS_OF_MEMORY + 1):
        headers.append("Organisms With " + str(i) + " Bits of Memory")
    output.append(headers)
    for org in organisms:
    #adding into the dictionary
        if org in past_organisms:
            past_organisms[org].append(org)
        else:
            past_organisms[org] = [org]
        
    pd_make_detail_file.make_file_detail(organisms, past_organisms, 0)

    for i in range(NUMBER_OF_GENERATIONS):       
        organisms = pd_selection.get_next_generation_by_selection(organisms)
        organisms = get_mutated_population(organisms)
        output.append(pd_analysis.get_tally_of_number_of_bits_of_memory(organisms))

        for org in organisms:
        #adding into the dictionary
            if org in past_organisms:
                past_organisms[org].append(org)
            else:
                past_organisms[org] = [org]
        if ( (i + 1) % OUTPUT_FREQUENCY == 0):
            pd_make_detail_file.make_file_detail(organisms, past_organisms, i + 1)

    return output
Ejemplo n.º 3
0
def pd_evolve_population():
    past_organisms = {}

    organisms = create_initial_population()
    output = []
    headers = []
    for i in range(pd_org.MAX_BITS_OF_MEMORY + 1):
        headers.append("Organisms With " + str(i) + " Bits of Memory")
    output.append(headers)
    for org in organisms:
        #adding into the dictionary
        if org in past_organisms:
            past_organisms[org].append(org)
        else:
            past_organisms[org] = [org]

    pd_make_detail_file.make_file_detail(organisms, past_organisms, 0)

    for i in range(NUMBER_OF_GENERATIONS):
        organisms = pd_selection.get_next_generation_by_selection(organisms)
        organisms = get_mutated_population(organisms)
        output.append(
            pd_analysis.get_tally_of_number_of_bits_of_memory(organisms))

        for org in organisms:
            #adding into the dictionary
            if org in past_organisms:
                past_organisms[org].append(org)
            else:
                past_organisms[org] = [org]
        if ((i + 1) % OUTPUT_FREQUENCY == 0):
            pd_make_detail_file.make_file_detail(organisms, past_organisms,
                                                 i + 1)

    return output
Ejemplo n.º 4
0
 def test_get_next_generation_by_selection(self):
     result = pd_selection.get_next_generation_by_selection(self.organisms)
     self.assertEqual(len(self.organisms), len(result))
 def test_get_next_generation_by_selection(self):
     result = pd_selection.get_next_generation_by_selection(self.organisms)
     self.assertEqual(len(self.organisms),len(result))