示例#1
0
    def __movement(self, particle):

        dvest = self.__dynamicDvest()
        media = 1

        isValid = False

        #Exploracion de una particula o salto Gausseano
        while( not isValid ):

            new_particle = []

            #Se generan un arreglo [0,0,1,1,0,...] segun la distribucion Gaussiana
            for element in particle.get_elements():
                newElement = Binarization.toBinary(Distribution.gaussian(Distribution, media, dvest))
                new_particle.append(newElement)

            new_particle = Particle(new_particle, self._weightParticle(new_particle) ,self._fitness(new_particle))
            isValid = self._isValid(new_particle)


        return new_particle