From: Daniel Axtens Date: Thu, 9 Sep 2010 08:15:44 +0000 (+0800) Subject: option to cap number of agents X-Git-Tag: v01~9 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=580f670dd7bea442c8f478ef2f2efa4c9974c47f;p=progcomp10.git option to cap number of agents --- diff --git a/src/uccProgComp.py b/src/uccProgComp.py index 9f256fd..e3080bb 100644 --- a/src/uccProgComp.py +++ b/src/uccProgComp.py @@ -153,12 +153,13 @@ class Supervisor: @Debug def SpawnAgent (self, agent): - child = agent.__class__ () - self.population.append (child) - agent.Reproduced () - stat = self.agentStats [str(agent.__class__)] - stat [0] += 1 - stat [1] += 1 + if MAX_TOTAL_AGENTS > 0 and len(self.population) - len(self.pendingDeaths) < MAX_TOTAL_AGENTS: + child = agent.__class__ () + self.population.append (child) + agent.Reproduced () + stat = self.agentStats [str(agent.__class__)] + stat [0] += 1 + stat [1] += 1 def Select (self): # This approach causes agents to keep fighting until they've either died or reproduced.