#FORMAT python from pyrobot.brain.gp import * from math import pi share.env = Environment(env) share.env.update( {'i1':0, 'i2':0} ) class GP(GA): def __init__(self, cnt, **args): GA.__init__(self, Population( cnt, GPGene, bias =.6, elitePercent = .1, verbose = 1), maxGeneration = 100, verbose = 1) def fitnessFunction(self, pos): outputs = [ 0, 1, 1, 0 ] # outputs for XOR inputs = [ {'i1' : 0, 'i2' : 0}, {'i1' : 0, 'i2' : 1}, {'i1' : 1, 'i2' : 0}, {'i1' : 1, 'i2' : 1} ] diff = 0 for i in range(len(inputs)): set, goal = inputs[i], outputs[i] retval = self.pop.individuals[pos].eval(set) item = retval - goal diff += abs(item) return max(4 - diff, 0) def isDone(self): fit = self.pop.bestMember.fitness self.pop.bestMember.display() print return fit == 4 gp = GP(50) gp.evolve()