当前位置: 首页>>代码示例>>Python>>正文


Python Population.clearOutgroupConnects方法代码示例

本文整理汇总了Python中Population.Population.clearOutgroupConnects方法的典型用法代码示例。如果您正苦于以下问题:Python Population.clearOutgroupConnects方法的具体用法?Python Population.clearOutgroupConnects怎么用?Python Population.clearOutgroupConnects使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Population.Population的用法示例。


在下文中一共展示了Population.clearOutgroupConnects方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from Population import Population [as 别名]
# 或者: from Population.Population import clearOutgroupConnects [as 别名]

#.........这里部分代码省略.........
        # Create initial Population
        self.newPop.setPop()
        
        # Select 1 random member of the population to be infected with disease
        randInfect = random.randint(0, len(self.newPop.agents.vs))
        self.newPop.agents.vs[randInfect]["Agent"].setDisease(self.newDisease)
        
        # Log the starting population values
        self.newPop.logStart() 
        self.newPop.createGraph(0)
        self.runVals = [(self.popSize), len(self.newPop.agents.es), self.meanPosVal, self.meanAvoidVal, 
                        self.newDisease.getSickValue(), self.newDisease.getSickTime(), 
                        self.newDisease.getTransRate(), self.immuneProb]
        
        timeLogFirstRow = ["Time", "PopSize", "NumSick", "NumImmune", "New Disease Transmissions", "Effective R0", "NumInteractions"]
        self.timeLog.append(timeLogFirstRow)
        
        if self.logInteractions == True:
            self.writeFirstIntLogRow()

        timeLogStartRow = [0, self.newPop.getSize(), self.newPop.getInitialSick(), 
                           self.newPop.getInitialImmune(), 0, 0, 0]
        self.timeLog.append(timeLogStartRow)

        self.startTime = time.time()
        self.writeInitialPop()

    def runSim(self):
        # iterate through the following steps for the defined number of time periods
        for  i in range(1, self.numTimePeriods+1):
            numInts = 0
            
            # generate a new group of random outgroup connections each time period
            self.newPop.clearOutgroupConnects()
            self.newPop.addOutgroupConnects()
            self.newPop.clearTransmissions()
            newTransStack = []  # initialize stack of potential disease transmission interactions - necessary so that agents can only spread disease a maximum of one connection away during each time period
            
            # iterate through the following steps for each connection (graph edge) in the population
            for j in self.newPop.agents.es:
#                print('Edge #' + str(j.index)) # debugging
                
                # extract agents from the connection
                vert1 = self.newPop.agents.vs[j.source]
                vert2 = self.newPop.agents.vs[j.target]
                agent1 = vert1["Agent"]
                agent2 = vert2["Agent"]
                newInt = Interaction(agent1, agent2)
                intType = j["Relation"]
                
                # check to see if either of the agents are dead
                deadCheck = newInt.deadCheck()  
                
                # execute the following if both agents are alive
                if not(deadCheck):
#                    print "Dead Check Passed"  # debugging                       
                    newInt.setStartVals() # capture the starting health values for both agents
#                    print "Interaction start values set" 
                    intPair = [vert1, vert2] # store the verticies to be passed to the gameResult() function
                    
                    newResult = self.gameResult(intPair, self.meanPosVal, self.meanAvoidVal) # determine whether the pair of agents interacted or avoided
                    
#                    print "Calculated interaction result" # debugging
                    
                    # update the health values of the agents based on the result of the interaction
                    vert1["Agent"].updateValue(newResult[1])
开发者ID:drRussClay,项目名称:Simulation,代码行数:70,代码来源:Simulation.py


注:本文中的Population.Population.clearOutgroupConnects方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。