docs: def mutation(self, strength = 0.1):
  		'''
  		Single gene mutation
  		'''
  		mutStrengthReal = strength
  		mutMaxSizeReal = self.gLength/2
  		mutSizeReal = int(numpy.random.random_integers(1,mutMaxSizeReal))
  		mutationPosReal = int(numpy.random.random_integers(0+mutSizeReal-1,self.y.shape[0]-1-mutSizeReal))
  		mutationSignReal = pl.rand()
  		mutationReal = pl.rand()
  
  		if mutationSignReal > 0.5:
  			for i in range(-mutSizeReal/2, mutSizeReal/2):
  				self.y.real[mutationPosReal+i] = self.y.real[mutationPosReal+i] + mutStrengthReal*self.y.real[mutationPosReal+i]*mutationReal
  		else:
  			for i in range(-mutSizeReal/2, mutSizeReal/2):
  				self.y.real[mutationPosReal+i] = self.y.real[mutationPosReal+i] - mutStrengthReal*self.y.real[mutationPosReal+i]*mutationReal
  
  		self.birth()