예제 #1
0
    def resetPopulation(self):

        for node in self.__leafNode:
            #bestCell = node.getBest()
            node.resetAgent()
            #node.addToPocket(bestCell)
        for node in self.__fatherNode:
            #bestCell = node.getBest()
            node.resetAgent()
            #node.addToPocket(bestCell)

        #bestCell = self.__rootNode.getBest()
        #self.__rootNode.resetAgent()
        #self.__rootNode.addToPocket(bestCell)

        if self.__isKB:
            #gene = Gene()
            #gene.randomCellKB(len(self.__ligand.branchSegment), self.__searchSpace, self.__ligand.anglesArray, self.__kbProb)
            #gene = self.calculates(gene)
            #self.__rootNode.addToPocket(copy.deepcopy(gene))

            for n in range(len(self.__fatherNode)):
                gene = Gene()
                gene.randomCellKB(len(self.__ligand.branchSegment),
                                  self.__searchSpace,
                                  self.__ligand.anglesArray, self.__kbProb)
                gene = self.calculatesInit(gene)
                self.__fatherNode[n].addToPocket(gene)  #cpyflag
            for n in range(len(self.__leafNode)):
                gene = Gene()
                gene.randomCellKB(len(self.__ligand.branchSegment),
                                  self.__searchSpace,
                                  self.__ligand.anglesArray, self.__kbProb)
                gene = self.calculatesInit(gene)
                self.__leafNode[n].addToPocket(gene)  #cpyflag
        else:
            #gene = Gene()
            #gene.randomCell(len(self.__ligand.branchSegment), self.__searchSpace)
            #gene = self.calculates(gene)
            #self.__rootNode.addToPocket(copy.deepcopy(gene))

            for n in range(len(self.__fatherNode)):
                gene = Gene()
                gene.randomCell(len(self.__ligand.branchSegment),
                                self.__searchSpace)
                gene = self.calculatesInit(gene)
                self.__fatherNode[n].addToPocket(gene)  #cpyflag
            for n in range(len(self.__leafNode)):
                gene = Gene()
                gene.randomCell(len(self.__ligand.branchSegment),
                                self.__searchSpace)
                gene = self.calculatesInit(gene)
                self.__leafNode[n].addToPocket(gene)  #cpyflag
예제 #2
0
 def initPopulation(self, first=True):
     if self.__isKB:
         gene = Gene()
         gene.randomCellKB(len(self.__ligand.branchSegment),
                           self.__searchSpace, self.__ligand.anglesArray,
                           self.__kbProb)
         gene = self.calculatesInit(gene)
         self.__rootNode.addToPocket(gene)  #flag cpy
         for n in range(len(self.__fatherNode)):
             gene = Gene()
             gene.randomCellKB(len(self.__ligand.branchSegment),
                               self.__searchSpace,
                               self.__ligand.anglesArray, self.__kbProb)
             gene = self.calculatesInit(gene)
             self.__fatherNode[n].addToPocket(gene)  #flag cpy
         for n in range(len(self.__leafNode)):
             gene = Gene()
             gene.randomCellKB(len(self.__ligand.branchSegment),
                               self.__searchSpace,
                               self.__ligand.anglesArray, self.__kbProb)
             gene = self.calculatesInit(gene)
             self.__leafNode[n].addToPocket(gene)  #flag cpy
         if first:
             self.initLog()
     else:
         gene = Gene()
         gene.randomCell(len(self.__ligand.branchSegment),
                         self.__searchSpace)
         gene = self.calculatesInit(gene)
         self.__rootNode.addToPocket(gene)  #flag cpy
         for n in range(len(self.__fatherNode)):
             gene = Gene()
             gene.randomCell(len(self.__ligand.branchSegment),
                             self.__searchSpace)
             gene = self.calculatesInit(gene)
             self.__fatherNode[n].addToPocket(gene)  #flag cpy
         for n in range(len(self.__leafNode)):
             gene = Gene()
             gene.randomCell(len(self.__ligand.branchSegment),
                             self.__searchSpace)
             gene = self.calculatesInit(gene)
             self.__leafNode[n].addToPocket(gene)  #flag cpy
         if first:
             self.initLog()