GECCO 2009 submission deadline
Yup, that time of year is coming around again. The 2009 Genetic and Evolutionary Computing Conference (GECCO 2009) is going to be held in Montreal, Canada. The paper submission dead line is January 14, 2009.
Yup, that time of year is coming around again. The 2009 Genetic and Evolutionary Computing Conference (GECCO 2009) is going to be held in Montreal, Canada. The paper submission dead line is January 14, 2009.
The other day I was playing to see how much I could squeeze out of a genetic algorithm written in Python. The code below shows the example I used. The first part implements a simple two loop version of a traditional allele random mutation. The second part is coded using numpy 2D arrays. The code also measures the time spent on both implementations using cProfile. from numpy import * pop_size = 2000 l = 200 z = zeros((pop_size,l)) def mutate () : for i in xrange(pop_size): for j in xrange(l) : if random.random()<0.5 : z[i,j] = random.random() import cProfile cProfile.run('mutate()') def mutate_matrix () : r = random.random(size=(pop_size,l))<0.5 v = random.random(size=(pop_size,l)) k = r*v + logical_not(r)*z cProfile.run('mutate_matrix()') If you run the code listed above you may get something similar to ...
Yes, yes, I know, Python. I just have been playing around to see how much you can squeeze out of it and I am very surprise of how elegant it can be. Just and example. I am pretty sure you have written way to many customize GA loops that you need to tweak every now and then, if so take a look at the Python version below. def evolve(self): """Implements a simple evolution loop""" func\_calls = \[\] func\_calls.append(self.evaluate) if ( self.env.selection!=None ) : func\_calls.append(self.selection) if ( self.env.crossover!=None ) : func\_calls.append(self.crossover) if ( self.env.mutation!=None ) : func\_calls.append(self.mutate) if ( self.env.replacement!=None ) : func\_calls.append(self.replace) \[f() for f in func\_calls for i in range(self.env.length/5)\] self.evaluate() return (self.best\_fitness,self.best\_individual) Where the self.env object just contains references to the methods implementing each of the functionalities generically implemented in self.evaluate, etc. Pretty sleek. ...
I just got an email from the GECCO 2008 organizers extending the deadline till January 2008.
The deadline for the next Genetic and Evolutionary Computation Conference (GECCO 2008) is approaching. Januray 16, 2008 is the date. Get ready!