def fitness(chrome): val = decode(chrome) # interpret the circle xyrad = val.split() circ = Circle(int(xyrad[0]),int(xyrad[1]), int(xyrad[2])) # Evaluate this circle against all the circles in the initial_list # Also do a bounds check for drawing the circle on the screen for item in initial_list: if circ.intersects(item) == True: return if circ.containsCircle(item) == True: return if circ.x + circ.radius > canvas_width or circ.x - circ.radius < 0: return if circ.y + circ.radius > canvas_height or circ.y - circ.radius < 0: return chrome.fitness = circ.area() if chrome.fitness >= sol.fitness: sol.fitness = chrome.fitness sol.name = chrome.name