コード例 #1
0
ファイル: environment.py プロジェクト: storaged/simulation
    def __init__(self):
        
        #-----location part
        if parameters.location_mode:
            self.mesh_size = 1./parameters.LD0range/2
            f = lambda size: [[{} for x in xrange(int(size)+1)] for y in xrange(int(size)+1)]
            self.mesh = f(self.mesh_size)
            map_path = parameters.map_phenotype_image(parameters.maps)
            self.load_terrain(map_path+".info.tmp", map_path+".tmp")
        #------------------

        from plant import Plant
        from phenotype import Phenotype

        self.plants = {}
        self.allplantslist = []
        self.generation = 0
        self.__class__.default = self
        self.__class__.environments += 1
        debug.g("niche %d" % parameters.niche_size)
        for i in xrange(parameters.niche_size):
            if parameters.location_mode:
                Plant.new(parameters.get_start_point(parameters.maps))
            else:
                Plant.new((0,0))
        debug.g("*** %d" % len(self.plants))
        self.optimal_global_phenotype = Phenotype()
        self.base_phenotype = Phenotype()
        self.survivors = parameters.niche_size
        self.randomkiller = selectors.KillerRandom()
        (self.killer, self.reproducer) = selectors.getSelectors()
        self.phenotype_link = Phenotype
        self.history = History(self)
        self.history.update()
コード例 #2
0
ファイル: gamete.py プロジェクト: storaged/simulation
    def crossbreed(self, gamete):
        parent1 = self.origin
        parent2 = gamete.origin

        new_aut_TE = merge(self.aut_TE_list, gamete.aut_TE_list)
        new_nonaut_TE = merge(self.nonaut_TE_list, gamete.nonaut_TE_list)
        new_transposase_activity = 0.5 * (parent1.transposase_activity + parent2.transposase_activity)

        if param.location_mode :
            p = Plant.new(parent1.location, len(new_aut_TE), new_transposase_activity)
        else :
            p = Plant.new((0,0), len(new_aut_TE), new_transposase_activity)

        p.inactive_transposons = 0 #self.inactive_transposons

        p.phenotype = parent1.phenotype.generate_phenotype(parent2.phenotype)
        p.ord_counter = parent1.ord_counter #nie wiem co tu ma byc

        p.aut_transposons_list = new_aut_TE
        p.aut_transposons = len(new_aut_TE)

        p.nonaut_transposons_list = new_nonaut_TE
        p.nonaut_transposons = len(new_nonaut_TE)

        return p