Beispiel #1
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
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
 def test_get_tally_of_number_of_bits_of_memory(self):
     """
     Returns a list of length MAX_BITS_OF_MEMORY + 1 where each position represents the number
     of organisms with that many number of bits of memory
     """
     pd_org.MAX_BITS_OF_MEMORY = 4
     
     organism_a = pd_org.PDOrg(pd_org.MemoryPDGenotype(1,[True, False], [False]))
     organism_b = pd_org.PDOrg(pd_org.MemoryPDGenotype(2,[True, False, False, True], [False, True]))
     organisms = [organism_a, organism_b, organism_a, organism_a]
     
     tally = pd_analysis.get_tally_of_number_of_bits_of_memory(organisms)
     expected = [0, 3, 1, 0, 0]
     self.assertEqual(tally, expected)
    def test_get_tally_of_number_of_bits_of_memory(self):
        """
        Returns a list of length MAX_BITS_OF_MEMORY + 1 where each position represents the number
        of organisms with that many number of bits of memory
        """
        pd_org.MAX_BITS_OF_MEMORY = 4

        organism_a = pd_org.PDOrg(
            pd_org.MemoryPDGenotype(1, [True, False], [False]))
        organism_b = pd_org.PDOrg(
            pd_org.MemoryPDGenotype(2, [True, False, False, True],
                                    [False, True]))
        organisms = [organism_a, organism_b, organism_a, organism_a]

        tally = pd_analysis.get_tally_of_number_of_bits_of_memory(organisms)
        expected = [0, 3, 1, 0, 0]
        self.assertEqual(tally, expected)