3 Checkpoint #3: Genotype / Phenotype
9 Our phenotype will determine where the camera is, where the camera is
10 pointing, and the level of zoom for the camera. All individual cameras
11 will be located in the same z-plane. Similarly, the center points for
12 all individual cameras will be located in the same z-plane as the target
15 Specifically, our phenotype will be two GLU calls:
16 gluPerspective(fovy / zoom, aspect, zNear, zFar)
\rgluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ)
18 Where zoom, eyeX, eyeY, centerX, and centerY will be determined by the evolution of our population.
20 Class 1 Genotype (preferred):
23 Class 1 Genetic Mapping:
33 Class 2 Genetic Mapping:
40 Class 2 may seem a lot like Class 1, but restricting the values to integers is a huge deal. I would prefer to use floats so we have a larger set of values to work with.
42 There will be no repairs necessary, as pyGene will take care of that for us. We are currently using pyGene's provided crossover and mutation operators; I'm not sure if we want to overload those in the future. As far as the fitness function goes, we're going to need a way to determine whether or not the target objects are in the camera's view. This takes priority over zooming in on the objects. In-code documentation in cp3.py goes into this in more detail.
44 In the results documented below, Class 2 did slightly better, mainly because it was restricted to integer values. It really could have gone either way (Class 1 sometimes had a final fitness below 10, Class 2 sometimes had a final fitness above 20). As I mentioned earlier, we will most likely be using Class 1.
46 One thing I did notice in the results is the long periods of domination by an individual. Is this natural, or are we doing something wrong?
48 Results (fitness = 0 is perfect):
51 Generation 1: <Camera id = 2
52 camera_x = 20.6915915514, camera_y = -0.608476568418
53 center_x = -17.1395701797, center_y = -13.4123739992
54 zoom = 74.1241679623, fitness = 51.8520122987>
55 Generation 2: <Camera id = 2
56 camera_x = 20.6915915514, camera_y = -0.608476568418
57 center_x = -17.1395701797, center_y = -13.4123739992
58 zoom = 74.1241679623, fitness = 51.8520122987>
59 Generation 3: <Camera id = 2
60 camera_x = 20.6915915514, camera_y = -0.608476568418
61 center_x = -17.1395701797, center_y = -13.4123739992
62 zoom = 74.1241679623, fitness = 51.8520122987>
63 Generation 4: <Camera id = 2
64 camera_x = 20.6915915514, camera_y = -0.608476568418
65 center_x = -17.1395701797, center_y = -13.4123739992
66 zoom = 74.1241679623, fitness = 51.8520122987>
67 Generation 5: <Camera id = 2
68 camera_x = 20.6915915514, camera_y = -0.608476568418
69 center_x = -17.1395701797, center_y = -13.4123739992
70 zoom = 74.1241679623, fitness = 51.8520122987>
71 Generation 6: <Camera id = 194
72 camera_x = -0.787169263559, camera_y = 13.0074086936
73 center_x = -17.5469516679, center_y = -1.64559340036
74 zoom = 2.78361876597, fitness = 32.9871230254>
75 Generation 7: <Camera id = 194
76 camera_x = -0.787169263559, camera_y = 13.0074086936
77 center_x = -17.5469516679, center_y = -1.64559340036
78 zoom = 2.78361876597, fitness = 32.9871230254>
79 Generation 8: <Camera id = 257
80 camera_x = 4.77975824999, camera_y = -18.8421690046
81 center_x = -0.275021787077, center_y = -5.33029592265
82 zoom = 11.51154406, fitness = 29.2272449643>
83 Generation 9: <Camera id = 257
84 camera_x = 4.77975824999, camera_y = -18.8421690046
85 center_x = -0.275021787077, center_y = -5.33029592265
86 zoom = 11.51154406, fitness = 29.2272449643>
87 Generation 10: <Camera id = 349
88 camera_x = 5.77548278937, camera_y = -3.23121564931
89 center_x = 6.72313242268, center_y = -3.93748394769
90 zoom = 23.9354121444, fitness = 19.667314809>
91 Generation 11: <Camera id = 349
92 camera_x = 5.77548278937, camera_y = -3.23121564931
93 center_x = 6.72313242268, center_y = -3.93748394769
94 zoom = 23.9354121444, fitness = 19.667314809>
95 Generation 12: <Camera id = 349
96 camera_x = 5.77548278937, camera_y = -3.23121564931
97 center_x = 6.72313242268, center_y = -3.93748394769
98 zoom = 23.9354121444, fitness = 19.667314809>
99 Generation 13: <Camera id = 349
100 camera_x = 5.77548278937, camera_y = -3.23121564931
101 center_x = 6.72313242268, center_y = -3.93748394769
102 zoom = 23.9354121444, fitness = 19.667314809>
103 Generation 14: <Camera id = 349
104 camera_x = 5.77548278937, camera_y = -3.23121564931
105 center_x = 6.72313242268, center_y = -3.93748394769
106 zoom = 23.9354121444, fitness = 19.667314809>
107 Generation 15: <Camera id = 349
108 camera_x = 5.77548278937, camera_y = -3.23121564931
109 center_x = 6.72313242268, center_y = -3.93748394769
110 zoom = 23.9354121444, fitness = 19.667314809>
111 Generation 16: <Camera id = 349
112 camera_x = 5.77548278937, camera_y = -3.23121564931
113 center_x = 6.72313242268, center_y = -3.93748394769
114 zoom = 23.9354121444, fitness = 19.667314809>
115 Generation 17: <Camera id = 349
116 camera_x = 5.77548278937, camera_y = -3.23121564931
117 center_x = 6.72313242268, center_y = -3.93748394769
118 zoom = 23.9354121444, fitness = 19.667314809>
119 Generation 18: <Camera id = 349
120 camera_x = 5.77548278937, camera_y = -3.23121564931
121 center_x = 6.72313242268, center_y = -3.93748394769
122 zoom = 23.9354121444, fitness = 19.667314809>
123 Generation 19: <Camera id = 349
124 camera_x = 5.77548278937, camera_y = -3.23121564931
125 center_x = 6.72313242268, center_y = -3.93748394769
126 zoom = 23.9354121444, fitness = 19.667314809>
127 Generation 20: <Camera id = 349
128 camera_x = 5.77548278937, camera_y = -3.23121564931
129 center_x = 6.72313242268, center_y = -3.93748394769
130 zoom = 23.9354121444, fitness = 19.667314809>
131 Generation 21: <Camera id = 349
132 camera_x = 5.77548278937, camera_y = -3.23121564931
133 center_x = 6.72313242268, center_y = -3.93748394769
134 zoom = 23.9354121444, fitness = 19.667314809>
135 Generation 22: <Camera id = 349
136 camera_x = 5.77548278937, camera_y = -3.23121564931
137 center_x = 6.72313242268, center_y = -3.93748394769
138 zoom = 23.9354121444, fitness = 19.667314809>
139 Generation 23: <Camera id = 349
140 camera_x = 5.77548278937, camera_y = -3.23121564931
141 center_x = 6.72313242268, center_y = -3.93748394769
142 zoom = 23.9354121444, fitness = 19.667314809>
143 Generation 24: <Camera id = 349
144 camera_x = 5.77548278937, camera_y = -3.23121564931
145 center_x = 6.72313242268, center_y = -3.93748394769
146 zoom = 23.9354121444, fitness = 19.667314809>
147 Generation 25: <Camera id = 349
148 camera_x = 5.77548278937, camera_y = -3.23121564931
149 center_x = 6.72313242268, center_y = -3.93748394769
150 zoom = 23.9354121444, fitness = 19.667314809>
151 Generation 26: <Camera id = 349
152 camera_x = 5.77548278937, camera_y = -3.23121564931
153 center_x = 6.72313242268, center_y = -3.93748394769
154 zoom = 23.9354121444, fitness = 19.667314809>
155 Generation 27: <Camera id = 349
156 camera_x = 5.77548278937, camera_y = -3.23121564931
157 center_x = 6.72313242268, center_y = -3.93748394769
158 zoom = 23.9354121444, fitness = 19.667314809>
159 Generation 28: <Camera id = 349
160 camera_x = 5.77548278937, camera_y = -3.23121564931
161 center_x = 6.72313242268, center_y = -3.93748394769
162 zoom = 23.9354121444, fitness = 19.667314809>
163 Generation 29: <Camera id = 349
164 camera_x = 5.77548278937, camera_y = -3.23121564931
165 center_x = 6.72313242268, center_y = -3.93748394769
166 zoom = 23.9354121444, fitness = 19.667314809>
167 Generation 30: <Camera id = 349
168 camera_x = 5.77548278937, camera_y = -3.23121564931
169 center_x = 6.72313242268, center_y = -3.93748394769
170 zoom = 23.9354121444, fitness = 19.667314809>
171 Generation 31: <Camera id = 349
172 camera_x = 5.77548278937, camera_y = -3.23121564931
173 center_x = 6.72313242268, center_y = -3.93748394769
174 zoom = 23.9354121444, fitness = 19.667314809>
175 Generation 32: <Camera id = 349
176 camera_x = 5.77548278937, camera_y = -3.23121564931
177 center_x = 6.72313242268, center_y = -3.93748394769
178 zoom = 23.9354121444, fitness = 19.667314809>
179 Generation 33: <Camera id = 349
180 camera_x = 5.77548278937, camera_y = -3.23121564931
181 center_x = 6.72313242268, center_y = -3.93748394769
182 zoom = 23.9354121444, fitness = 19.667314809>
183 Generation 34: <Camera id = 349
184 camera_x = 5.77548278937, camera_y = -3.23121564931
185 center_x = 6.72313242268, center_y = -3.93748394769
186 zoom = 23.9354121444, fitness = 19.667314809>
187 Generation 35: <Camera id = 349
188 camera_x = 5.77548278937, camera_y = -3.23121564931
189 center_x = 6.72313242268, center_y = -3.93748394769
190 zoom = 23.9354121444, fitness = 19.667314809>
191 Generation 36: <Camera id = 349
192 camera_x = 5.77548278937, camera_y = -3.23121564931
193 center_x = 6.72313242268, center_y = -3.93748394769
194 zoom = 23.9354121444, fitness = 19.667314809>
195 Generation 37: <Camera id = 349
196 camera_x = 5.77548278937, camera_y = -3.23121564931
197 center_x = 6.72313242268, center_y = -3.93748394769
198 zoom = 23.9354121444, fitness = 19.667314809>
199 Generation 38: <Camera id = 349
200 camera_x = 5.77548278937, camera_y = -3.23121564931
201 center_x = 6.72313242268, center_y = -3.93748394769
202 zoom = 23.9354121444, fitness = 19.667314809>
203 Generation 39: <Camera id = 349
204 camera_x = 5.77548278937, camera_y = -3.23121564931
205 center_x = 6.72313242268, center_y = -3.93748394769
206 zoom = 23.9354121444, fitness = 19.667314809>
207 Generation 40: <Camera id = 349
208 camera_x = 5.77548278937, camera_y = -3.23121564931
209 center_x = 6.72313242268, center_y = -3.93748394769
210 zoom = 23.9354121444, fitness = 19.667314809>
211 Generation 41: <Camera id = 349
212 camera_x = 5.77548278937, camera_y = -3.23121564931
213 center_x = 6.72313242268, center_y = -3.93748394769
214 zoom = 23.9354121444, fitness = 19.667314809>
215 Generation 42: <Camera id = 349
216 camera_x = 5.77548278937, camera_y = -3.23121564931
217 center_x = 6.72313242268, center_y = -3.93748394769
218 zoom = 23.9354121444, fitness = 19.667314809>
219 Generation 43: <Camera id = 349
220 camera_x = 5.77548278937, camera_y = -3.23121564931
221 center_x = 6.72313242268, center_y = -3.93748394769
222 zoom = 23.9354121444, fitness = 19.667314809>
223 Generation 44: <Camera id = 349
224 camera_x = 5.77548278937, camera_y = -3.23121564931
225 center_x = 6.72313242268, center_y = -3.93748394769
226 zoom = 23.9354121444, fitness = 19.667314809>
227 Generation 45: <Camera id = 349
228 camera_x = 5.77548278937, camera_y = -3.23121564931
229 center_x = 6.72313242268, center_y = -3.93748394769
230 zoom = 23.9354121444, fitness = 19.667314809>
231 Generation 46: <Camera id = 349
232 camera_x = 5.77548278937, camera_y = -3.23121564931
233 center_x = 6.72313242268, center_y = -3.93748394769
234 zoom = 23.9354121444, fitness = 19.667314809>
235 Generation 47: <Camera id = 349
236 camera_x = 5.77548278937, camera_y = -3.23121564931
237 center_x = 6.72313242268, center_y = -3.93748394769
238 zoom = 23.9354121444, fitness = 19.667314809>
239 Generation 48: <Camera id = 349
240 camera_x = 5.77548278937, camera_y = -3.23121564931
241 center_x = 6.72313242268, center_y = -3.93748394769
242 zoom = 23.9354121444, fitness = 19.667314809>
243 Generation 49: <Camera id = 349
244 camera_x = 5.77548278937, camera_y = -3.23121564931
245 center_x = 6.72313242268, center_y = -3.93748394769
246 zoom = 23.9354121444, fitness = 19.667314809>
247 Generation 50: <Camera id = 349
248 camera_x = 5.77548278937, camera_y = -3.23121564931
249 center_x = 6.72313242268, center_y = -3.93748394769
250 zoom = 23.9354121444, fitness = 19.667314809>
251 Generation 51: <Camera id = 349
252 camera_x = 5.77548278937, camera_y = -3.23121564931
253 center_x = 6.72313242268, center_y = -3.93748394769
254 zoom = 23.9354121444, fitness = 19.667314809>
255 Generation 52: <Camera id = 349
256 camera_x = 5.77548278937, camera_y = -3.23121564931
257 center_x = 6.72313242268, center_y = -3.93748394769
258 zoom = 23.9354121444, fitness = 19.667314809>
259 Generation 53: <Camera id = 349
260 camera_x = 5.77548278937, camera_y = -3.23121564931
261 center_x = 6.72313242268, center_y = -3.93748394769
262 zoom = 23.9354121444, fitness = 19.667314809>
263 Generation 54: <Camera id = 349
264 camera_x = 5.77548278937, camera_y = -3.23121564931
265 center_x = 6.72313242268, center_y = -3.93748394769
266 zoom = 23.9354121444, fitness = 19.667314809>
267 Generation 55: <Camera id = 349
268 camera_x = 5.77548278937, camera_y = -3.23121564931
269 center_x = 6.72313242268, center_y = -3.93748394769
270 zoom = 23.9354121444, fitness = 19.667314809>
271 Generation 56: <Camera id = 349
272 camera_x = 5.77548278937, camera_y = -3.23121564931
273 center_x = 6.72313242268, center_y = -3.93748394769
274 zoom = 23.9354121444, fitness = 19.667314809>
275 Generation 57: <Camera id = 349
276 camera_x = 5.77548278937, camera_y = -3.23121564931
277 center_x = 6.72313242268, center_y = -3.93748394769
278 zoom = 23.9354121444, fitness = 19.667314809>
279 Generation 58: <Camera id = 349
280 camera_x = 5.77548278937, camera_y = -3.23121564931
281 center_x = 6.72313242268, center_y = -3.93748394769
282 zoom = 23.9354121444, fitness = 19.667314809>
283 Generation 59: <Camera id = 349
284 camera_x = 5.77548278937, camera_y = -3.23121564931
285 center_x = 6.72313242268, center_y = -3.93748394769
286 zoom = 23.9354121444, fitness = 19.667314809>
287 Generation 60: <Camera id = 349
288 camera_x = 5.77548278937, camera_y = -3.23121564931
289 center_x = 6.72313242268, center_y = -3.93748394769
290 zoom = 23.9354121444, fitness = 19.667314809>
291 Generation 61: <Camera id = 349
292 camera_x = 5.77548278937, camera_y = -3.23121564931
293 center_x = 6.72313242268, center_y = -3.93748394769
294 zoom = 23.9354121444, fitness = 19.667314809>
295 Generation 62: <Camera id = 349
296 camera_x = 5.77548278937, camera_y = -3.23121564931
297 center_x = 6.72313242268, center_y = -3.93748394769
298 zoom = 23.9354121444, fitness = 19.667314809>
299 Generation 63: <Camera id = 349
300 camera_x = 5.77548278937, camera_y = -3.23121564931
301 center_x = 6.72313242268, center_y = -3.93748394769
302 zoom = 23.9354121444, fitness = 19.667314809>
303 Generation 64: <Camera id = 349
304 camera_x = 5.77548278937, camera_y = -3.23121564931
305 center_x = 6.72313242268, center_y = -3.93748394769
306 zoom = 23.9354121444, fitness = 19.667314809>
307 Generation 65: <Camera id = 349
308 camera_x = 5.77548278937, camera_y = -3.23121564931
309 center_x = 6.72313242268, center_y = -3.93748394769
310 zoom = 23.9354121444, fitness = 19.667314809>
311 Generation 66: <Camera id = 349
312 camera_x = 5.77548278937, camera_y = -3.23121564931
313 center_x = 6.72313242268, center_y = -3.93748394769
314 zoom = 23.9354121444, fitness = 19.667314809>
315 Generation 67: <Camera id = 349
316 camera_x = 5.77548278937, camera_y = -3.23121564931
317 center_x = 6.72313242268, center_y = -3.93748394769
318 zoom = 23.9354121444, fitness = 19.667314809>
319 Generation 68: <Camera id = 349
320 camera_x = 5.77548278937, camera_y = -3.23121564931
321 center_x = 6.72313242268, center_y = -3.93748394769
322 zoom = 23.9354121444, fitness = 19.667314809>
323 Generation 69: <Camera id = 349
324 camera_x = 5.77548278937, camera_y = -3.23121564931
325 center_x = 6.72313242268, center_y = -3.93748394769
326 zoom = 23.9354121444, fitness = 19.667314809>
327 Generation 70: <Camera id = 349
328 camera_x = 5.77548278937, camera_y = -3.23121564931
329 center_x = 6.72313242268, center_y = -3.93748394769
330 zoom = 23.9354121444, fitness = 19.667314809>
331 Generation 71: <Camera id = 349
332 camera_x = 5.77548278937, camera_y = -3.23121564931
333 center_x = 6.72313242268, center_y = -3.93748394769
334 zoom = 23.9354121444, fitness = 19.667314809>
335 Generation 72: <Camera id = 349
336 camera_x = 5.77548278937, camera_y = -3.23121564931
337 center_x = 6.72313242268, center_y = -3.93748394769
338 zoom = 23.9354121444, fitness = 19.667314809>
339 Generation 73: <Camera id = 349
340 camera_x = 5.77548278937, camera_y = -3.23121564931
341 center_x = 6.72313242268, center_y = -3.93748394769
342 zoom = 23.9354121444, fitness = 19.667314809>
343 Generation 74: <Camera id = 349
344 camera_x = 5.77548278937, camera_y = -3.23121564931
345 center_x = 6.72313242268, center_y = -3.93748394769
346 zoom = 23.9354121444, fitness = 19.667314809>
347 Generation 75: <Camera id = 349
348 camera_x = 5.77548278937, camera_y = -3.23121564931
349 center_x = 6.72313242268, center_y = -3.93748394769
350 zoom = 23.9354121444, fitness = 19.667314809>
351 Generation 76: <Camera id = 349
352 camera_x = 5.77548278937, camera_y = -3.23121564931
353 center_x = 6.72313242268, center_y = -3.93748394769
354 zoom = 23.9354121444, fitness = 19.667314809>
355 Generation 77: <Camera id = 349
356 camera_x = 5.77548278937, camera_y = -3.23121564931
357 center_x = 6.72313242268, center_y = -3.93748394769
358 zoom = 23.9354121444, fitness = 19.667314809>
359 Generation 78: <Camera id = 349
360 camera_x = 5.77548278937, camera_y = -3.23121564931
361 center_x = 6.72313242268, center_y = -3.93748394769
362 zoom = 23.9354121444, fitness = 19.667314809>
363 Generation 79: <Camera id = 349
364 camera_x = 5.77548278937, camera_y = -3.23121564931
365 center_x = 6.72313242268, center_y = -3.93748394769
366 zoom = 23.9354121444, fitness = 19.667314809>
367 Generation 80: <Camera id = 349
368 camera_x = 5.77548278937, camera_y = -3.23121564931
369 center_x = 6.72313242268, center_y = -3.93748394769
370 zoom = 23.9354121444, fitness = 19.667314809>
371 Generation 81: <Camera id = 349
372 camera_x = 5.77548278937, camera_y = -3.23121564931
373 center_x = 6.72313242268, center_y = -3.93748394769
374 zoom = 23.9354121444, fitness = 19.667314809>
375 Generation 82: <Camera id = 349
376 camera_x = 5.77548278937, camera_y = -3.23121564931
377 center_x = 6.72313242268, center_y = -3.93748394769
378 zoom = 23.9354121444, fitness = 19.667314809>
379 Generation 83: <Camera id = 349
380 camera_x = 5.77548278937, camera_y = -3.23121564931
381 center_x = 6.72313242268, center_y = -3.93748394769
382 zoom = 23.9354121444, fitness = 19.667314809>
383 Generation 84: <Camera id = 349
384 camera_x = 5.77548278937, camera_y = -3.23121564931
385 center_x = 6.72313242268, center_y = -3.93748394769
386 zoom = 23.9354121444, fitness = 19.667314809>
387 Generation 85: <Camera id = 349
388 camera_x = 5.77548278937, camera_y = -3.23121564931
389 center_x = 6.72313242268, center_y = -3.93748394769
390 zoom = 23.9354121444, fitness = 19.667314809>
391 Generation 86: <Camera id = 349
392 camera_x = 5.77548278937, camera_y = -3.23121564931
393 center_x = 6.72313242268, center_y = -3.93748394769
394 zoom = 23.9354121444, fitness = 19.667314809>
395 Generation 87: <Camera id = 349
396 camera_x = 5.77548278937, camera_y = -3.23121564931
397 center_x = 6.72313242268, center_y = -3.93748394769
398 zoom = 23.9354121444, fitness = 19.667314809>
399 Generation 88: <Camera id = 349
400 camera_x = 5.77548278937, camera_y = -3.23121564931
401 center_x = 6.72313242268, center_y = -3.93748394769
402 zoom = 23.9354121444, fitness = 19.667314809>
403 Generation 89: <Camera id = 349
404 camera_x = 5.77548278937, camera_y = -3.23121564931
405 center_x = 6.72313242268, center_y = -3.93748394769
406 zoom = 23.9354121444, fitness = 19.667314809>
407 Generation 90: <Camera id = 349
408 camera_x = 5.77548278937, camera_y = -3.23121564931
409 center_x = 6.72313242268, center_y = -3.93748394769
410 zoom = 23.9354121444, fitness = 19.667314809>
411 Generation 91: <Camera id = 349
412 camera_x = 5.77548278937, camera_y = -3.23121564931
413 center_x = 6.72313242268, center_y = -3.93748394769
414 zoom = 23.9354121444, fitness = 19.667314809>
415 Generation 92: <Camera id = 349
416 camera_x = 5.77548278937, camera_y = -3.23121564931
417 center_x = 6.72313242268, center_y = -3.93748394769
418 zoom = 23.9354121444, fitness = 19.667314809>
419 Generation 93: <Camera id = 349
420 camera_x = 5.77548278937, camera_y = -3.23121564931
421 center_x = 6.72313242268, center_y = -3.93748394769
422 zoom = 23.9354121444, fitness = 19.667314809>
423 Generation 94: <Camera id = 349
424 camera_x = 5.77548278937, camera_y = -3.23121564931
425 center_x = 6.72313242268, center_y = -3.93748394769
426 zoom = 23.9354121444, fitness = 19.667314809>
427 Generation 95: <Camera id = 349
428 camera_x = 5.77548278937, camera_y = -3.23121564931
429 center_x = 6.72313242268, center_y = -3.93748394769
430 zoom = 23.9354121444, fitness = 19.667314809>
431 Generation 96: <Camera id = 349
432 camera_x = 5.77548278937, camera_y = -3.23121564931
433 center_x = 6.72313242268, center_y = -3.93748394769
434 zoom = 23.9354121444, fitness = 19.667314809>
435 Generation 97: <Camera id = 349
436 camera_x = 5.77548278937, camera_y = -3.23121564931
437 center_x = 6.72313242268, center_y = -3.93748394769
438 zoom = 23.9354121444, fitness = 19.667314809>
439 Generation 98: <Camera id = 349
440 camera_x = 5.77548278937, camera_y = -3.23121564931
441 center_x = 6.72313242268, center_y = -3.93748394769
442 zoom = 23.9354121444, fitness = 19.667314809>
443 Generation 99: <Camera id = 349
444 camera_x = 5.77548278937, camera_y = -3.23121564931
445 center_x = 6.72313242268, center_y = -3.93748394769
446 zoom = 23.9354121444, fitness = 19.667314809>
447 Generation 100: <Camera id = 349
448 camera_x = 5.77548278937, camera_y = -3.23121564931
449 center_x = 6.72313242268, center_y = -3.93748394769
450 zoom = 23.9354121444, fitness = 19.667314809>
453 Generation 1: <Camera id = 5
454 camera_x = 18, camera_y = -6
455 center_x = 6, center_y = 20
456 zoom = 92, fitness = 50.0>
457 Generation 2: <Camera id = 30
458 camera_x = 1, camera_y = -36
459 center_x = 3, center_y = 10
460 zoom = 56, fitness = 50.0>
461 Generation 3: <Camera id = 89
462 camera_x = -15, camera_y = -3
463 center_x = 2, center_y = 23
464 zoom = 5, fitness = 43.0>
465 Generation 4: <Camera id = 89
466 camera_x = -15, camera_y = -3
467 center_x = 2, center_y = 23
468 zoom = 5, fitness = 43.0>
469 Generation 5: <Camera id = 89
470 camera_x = -15, camera_y = -3
471 center_x = 2, center_y = 23
472 zoom = 5, fitness = 43.0>
473 Generation 6: <Camera id = 89
474 camera_x = -15, camera_y = -3
475 center_x = 2, center_y = 23
476 zoom = 5, fitness = 43.0>
477 Generation 7: <Camera id = 89
478 camera_x = -15, camera_y = -3
479 center_x = 2, center_y = 23
480 zoom = 5, fitness = 43.0>
481 Generation 8: <Camera id = 277
482 camera_x = 10, camera_y = -20
483 center_x = -6, center_y = 4
484 zoom = 97, fitness = 40.0>
485 Generation 9: <Camera id = 277
486 camera_x = 10, camera_y = -20
487 center_x = -6, center_y = 4
488 zoom = 97, fitness = 40.0>
489 Generation 10: <Camera id = 277
490 camera_x = 10, camera_y = -20
491 center_x = -6, center_y = 4
492 zoom = 97, fitness = 40.0>
493 Generation 11: <Camera id = 394
494 camera_x = 4, camera_y = -6
495 center_x = -3, center_y = -9
496 zoom = 15, fitness = 22.0>
497 Generation 12: <Camera id = 394
498 camera_x = 4, camera_y = -6
499 center_x = -3, center_y = -9
500 zoom = 15, fitness = 22.0>
501 Generation 13: <Camera id = 394
502 camera_x = 4, camera_y = -6
503 center_x = -3, center_y = -9
504 zoom = 15, fitness = 22.0>
505 Generation 14: <Camera id = 394
506 camera_x = 4, camera_y = -6
507 center_x = -3, center_y = -9
508 zoom = 15, fitness = 22.0>
509 Generation 15: <Camera id = 394
510 camera_x = 4, camera_y = -6
511 center_x = -3, center_y = -9
512 zoom = 15, fitness = 22.0>
513 Generation 16: <Camera id = 394
514 camera_x = 4, camera_y = -6
515 center_x = -3, center_y = -9
516 zoom = 15, fitness = 22.0>
517 Generation 17: <Camera id = 394
518 camera_x = 4, camera_y = -6
519 center_x = -3, center_y = -9
520 zoom = 15, fitness = 22.0>
521 Generation 18: <Camera id = 394
522 camera_x = 4, camera_y = -6
523 center_x = -3, center_y = -9
524 zoom = 15, fitness = 22.0>
525 Generation 19: <Camera id = 394
526 camera_x = 4, camera_y = -6
527 center_x = -3, center_y = -9
528 zoom = 15, fitness = 22.0>
529 Generation 20: <Camera id = 394
530 camera_x = 4, camera_y = -6
531 center_x = -3, center_y = -9
532 zoom = 15, fitness = 22.0>
533 Generation 21: <Camera id = 394
534 camera_x = 4, camera_y = -6
535 center_x = -3, center_y = -9
536 zoom = 15, fitness = 22.0>
537 Generation 22: <Camera id = 394
538 camera_x = 4, camera_y = -6
539 center_x = -3, center_y = -9
540 zoom = 15, fitness = 22.0>
541 Generation 23: <Camera id = 394
542 camera_x = 4, camera_y = -6
543 center_x = -3, center_y = -9
544 zoom = 15, fitness = 22.0>
545 Generation 24: <Camera id = 394
546 camera_x = 4, camera_y = -6
547 center_x = -3, center_y = -9
548 zoom = 15, fitness = 22.0>
549 Generation 25: <Camera id = 394
550 camera_x = 4, camera_y = -6
551 center_x = -3, center_y = -9
552 zoom = 15, fitness = 22.0>
553 Generation 26: <Camera id = 394
554 camera_x = 4, camera_y = -6
555 center_x = -3, center_y = -9
556 zoom = 15, fitness = 22.0>
557 Generation 27: <Camera id = 394
558 camera_x = 4, camera_y = -6
559 center_x = -3, center_y = -9
560 zoom = 15, fitness = 22.0>
561 Generation 28: <Camera id = 394
562 camera_x = 4, camera_y = -6
563 center_x = -3, center_y = -9
564 zoom = 15, fitness = 22.0>
565 Generation 29: <Camera id = 394
566 camera_x = 4, camera_y = -6
567 center_x = -3, center_y = -9
568 zoom = 15, fitness = 22.0>
569 Generation 30: <Camera id = 394
570 camera_x = 4, camera_y = -6
571 center_x = -3, center_y = -9
572 zoom = 15, fitness = 22.0>
573 Generation 31: <Camera id = 394
574 camera_x = 4, camera_y = -6
575 center_x = -3, center_y = -9
576 zoom = 15, fitness = 22.0>
577 Generation 32: <Camera id = 394
578 camera_x = 4, camera_y = -6
579 center_x = -3, center_y = -9
580 zoom = 15, fitness = 22.0>
581 Generation 33: <Camera id = 394
582 camera_x = 4, camera_y = -6
583 center_x = -3, center_y = -9
584 zoom = 15, fitness = 22.0>
585 Generation 34: <Camera id = 394
586 camera_x = 4, camera_y = -6
587 center_x = -3, center_y = -9
588 zoom = 15, fitness = 22.0>
589 Generation 35: <Camera id = 394
590 camera_x = 4, camera_y = -6
591 center_x = -3, center_y = -9
592 zoom = 15, fitness = 22.0>
593 Generation 36: <Camera id = 394
594 camera_x = 4, camera_y = -6
595 center_x = -3, center_y = -9
596 zoom = 15, fitness = 22.0>
597 Generation 37: <Camera id = 394
598 camera_x = 4, camera_y = -6
599 center_x = -3, center_y = -9
600 zoom = 15, fitness = 22.0>
601 Generation 38: <Camera id = 394
602 camera_x = 4, camera_y = -6
603 center_x = -3, center_y = -9
604 zoom = 15, fitness = 22.0>
605 Generation 39: <Camera id = 394
606 camera_x = 4, camera_y = -6
607 center_x = -3, center_y = -9
608 zoom = 15, fitness = 22.0>
609 Generation 40: <Camera id = 394
610 camera_x = 4, camera_y = -6
611 center_x = -3, center_y = -9
612 zoom = 15, fitness = 22.0>
613 Generation 41: <Camera id = 394
614 camera_x = 4, camera_y = -6
615 center_x = -3, center_y = -9
616 zoom = 15, fitness = 22.0>
617 Generation 42: <Camera id = 394
618 camera_x = 4, camera_y = -6
619 center_x = -3, center_y = -9
620 zoom = 15, fitness = 22.0>
621 Generation 43: <Camera id = 394
622 camera_x = 4, camera_y = -6
623 center_x = -3, center_y = -9
624 zoom = 15, fitness = 22.0>
625 Generation 44: <Camera id = 394
626 camera_x = 4, camera_y = -6
627 center_x = -3, center_y = -9
628 zoom = 15, fitness = 22.0>
629 Generation 45: <Camera id = 394
630 camera_x = 4, camera_y = -6
631 center_x = -3, center_y = -9
632 zoom = 15, fitness = 22.0>
633 Generation 46: <Camera id = 394
634 camera_x = 4, camera_y = -6
635 center_x = -3, center_y = -9
636 zoom = 15, fitness = 22.0>
637 Generation 47: <Camera id = 1825
638 camera_x = -2, camera_y = 16
639 center_x = 0, center_y = -4
640 zoom = 97, fitness = 22.0>
641 Generation 48: <Camera id = 1825
642 camera_x = -2, camera_y = 16
643 center_x = 0, center_y = -4
644 zoom = 97, fitness = 22.0>
645 Generation 49: <Camera id = 1825
646 camera_x = -2, camera_y = 16
647 center_x = 0, center_y = -4
648 zoom = 97, fitness = 22.0>
649 Generation 50: <Camera id = 1825
650 camera_x = -2, camera_y = 16
651 center_x = 0, center_y = -4
652 zoom = 97, fitness = 22.0>
653 Generation 51: <Camera id = 1825
654 camera_x = -2, camera_y = 16
655 center_x = 0, center_y = -4
656 zoom = 97, fitness = 22.0>
657 Generation 52: <Camera id = 1825
658 camera_x = -2, camera_y = 16
659 center_x = 0, center_y = -4
660 zoom = 97, fitness = 22.0>
661 Generation 53: <Camera id = 1825
662 camera_x = -2, camera_y = 16
663 center_x = 0, center_y = -4
664 zoom = 97, fitness = 22.0>
665 Generation 54: <Camera id = 1825
666 camera_x = -2, camera_y = 16
667 center_x = 0, center_y = -4
668 zoom = 97, fitness = 22.0>
669 Generation 55: <Camera id = 1825
670 camera_x = -2, camera_y = 16
671 center_x = 0, center_y = -4
672 zoom = 97, fitness = 22.0>
673 Generation 56: <Camera id = 1825
674 camera_x = -2, camera_y = 16
675 center_x = 0, center_y = -4
676 zoom = 97, fitness = 22.0>
677 Generation 57: <Camera id = 1825
678 camera_x = -2, camera_y = 16
679 center_x = 0, center_y = -4
680 zoom = 97, fitness = 22.0>
681 Generation 58: <Camera id = 1825
682 camera_x = -2, camera_y = 16
683 center_x = 0, center_y = -4
684 zoom = 97, fitness = 22.0>
685 Generation 59: <Camera id = 1825
686 camera_x = -2, camera_y = 16
687 center_x = 0, center_y = -4
688 zoom = 97, fitness = 22.0>
689 Generation 60: <Camera id = 1825
690 camera_x = -2, camera_y = 16
691 center_x = 0, center_y = -4
692 zoom = 97, fitness = 22.0>
693 Generation 61: <Camera id = 1825
694 camera_x = -2, camera_y = 16
695 center_x = 0, center_y = -4
696 zoom = 97, fitness = 22.0>
697 Generation 62: <Camera id = 1825
698 camera_x = -2, camera_y = 16
699 center_x = 0, center_y = -4
700 zoom = 97, fitness = 22.0>
701 Generation 63: <Camera id = 1825
702 camera_x = -2, camera_y = 16
703 center_x = 0, center_y = -4
704 zoom = 97, fitness = 22.0>
705 Generation 64: <Camera id = 1825
706 camera_x = -2, camera_y = 16
707 center_x = 0, center_y = -4
708 zoom = 97, fitness = 22.0>
709 Generation 65: <Camera id = 1825
710 camera_x = -2, camera_y = 16
711 center_x = 0, center_y = -4
712 zoom = 97, fitness = 22.0>
713 Generation 66: <Camera id = 1825
714 camera_x = -2, camera_y = 16
715 center_x = 0, center_y = -4
716 zoom = 97, fitness = 22.0>
717 Generation 67: <Camera id = 1825
718 camera_x = -2, camera_y = 16
719 center_x = 0, center_y = -4
720 zoom = 97, fitness = 22.0>
721 Generation 68: <Camera id = 1825
722 camera_x = -2, camera_y = 16
723 center_x = 0, center_y = -4
724 zoom = 97, fitness = 22.0>
725 Generation 69: <Camera id = 1825
726 camera_x = -2, camera_y = 16
727 center_x = 0, center_y = -4
728 zoom = 97, fitness = 22.0>
729 Generation 70: <Camera id = 1825
730 camera_x = -2, camera_y = 16
731 center_x = 0, center_y = -4
732 zoom = 97, fitness = 22.0>
733 Generation 71: <Camera id = 1825
734 camera_x = -2, camera_y = 16
735 center_x = 0, center_y = -4
736 zoom = 97, fitness = 22.0>
737 Generation 72: <Camera id = 1825
738 camera_x = -2, camera_y = 16
739 center_x = 0, center_y = -4
740 zoom = 97, fitness = 22.0>
741 Generation 73: <Camera id = 1825
742 camera_x = -2, camera_y = 16
743 center_x = 0, center_y = -4
744 zoom = 97, fitness = 22.0>
745 Generation 74: <Camera id = 1825
746 camera_x = -2, camera_y = 16
747 center_x = 0, center_y = -4
748 zoom = 97, fitness = 22.0>
749 Generation 75: <Camera id = 1825
750 camera_x = -2, camera_y = 16
751 center_x = 0, center_y = -4
752 zoom = 97, fitness = 22.0>
753 Generation 76: <Camera id = 1825
754 camera_x = -2, camera_y = 16
755 center_x = 0, center_y = -4
756 zoom = 97, fitness = 22.0>
757 Generation 77: <Camera id = 1825
758 camera_x = -2, camera_y = 16
759 center_x = 0, center_y = -4
760 zoom = 97, fitness = 22.0>
761 Generation 78: <Camera id = 1825
762 camera_x = -2, camera_y = 16
763 center_x = 0, center_y = -4
764 zoom = 97, fitness = 22.0>
765 Generation 79: <Camera id = 1825
766 camera_x = -2, camera_y = 16
767 center_x = 0, center_y = -4
768 zoom = 97, fitness = 22.0>
769 Generation 80: <Camera id = 3162
770 camera_x = -6, camera_y = 0
771 center_x = -2, center_y = -9
772 zoom = 46, fitness = 17.0>
773 Generation 81: <Camera id = 3162
774 camera_x = -6, camera_y = 0
775 center_x = -2, center_y = -9
776 zoom = 46, fitness = 17.0>
777 Generation 82: <Camera id = 3162
778 camera_x = -6, camera_y = 0
779 center_x = -2, center_y = -9
780 zoom = 46, fitness = 17.0>
781 Generation 83: <Camera id = 3162
782 camera_x = -6, camera_y = 0
783 center_x = -2, center_y = -9
784 zoom = 46, fitness = 17.0>
785 Generation 84: <Camera id = 3162
786 camera_x = -6, camera_y = 0
787 center_x = -2, center_y = -9
788 zoom = 46, fitness = 17.0>
789 Generation 85: <Camera id = 3162
790 camera_x = -6, camera_y = 0
791 center_x = -2, center_y = -9
792 zoom = 46, fitness = 17.0>
793 Generation 86: <Camera id = 3162
794 camera_x = -6, camera_y = 0
795 center_x = -2, center_y = -9
796 zoom = 46, fitness = 17.0>
797 Generation 87: <Camera id = 3162
798 camera_x = -6, camera_y = 0
799 center_x = -2, center_y = -9
800 zoom = 46, fitness = 17.0>
801 Generation 88: <Camera id = 3162
802 camera_x = -6, camera_y = 0
803 center_x = -2, center_y = -9
804 zoom = 46, fitness = 17.0>
805 Generation 89: <Camera id = 3162
806 camera_x = -6, camera_y = 0
807 center_x = -2, center_y = -9
808 zoom = 46, fitness = 17.0>
809 Generation 90: <Camera id = 3162
810 camera_x = -6, camera_y = 0
811 center_x = -2, center_y = -9
812 zoom = 46, fitness = 17.0>
813 Generation 91: <Camera id = 3162
814 camera_x = -6, camera_y = 0
815 center_x = -2, center_y = -9
816 zoom = 46, fitness = 17.0>
817 Generation 92: <Camera id = 3162
818 camera_x = -6, camera_y = 0
819 center_x = -2, center_y = -9
820 zoom = 46, fitness = 17.0>
821 Generation 93: <Camera id = 3162
822 camera_x = -6, camera_y = 0
823 center_x = -2, center_y = -9
824 zoom = 46, fitness = 17.0>
825 Generation 94: <Camera id = 3162
826 camera_x = -6, camera_y = 0
827 center_x = -2, center_y = -9
828 zoom = 46, fitness = 17.0>
829 Generation 95: <Camera id = 3162
830 camera_x = -6, camera_y = 0
831 center_x = -2, center_y = -9
832 zoom = 46, fitness = 17.0>
833 Generation 96: <Camera id = 3162
834 camera_x = -6, camera_y = 0
835 center_x = -2, center_y = -9
836 zoom = 46, fitness = 17.0>
837 Generation 97: <Camera id = 3162
838 camera_x = -6, camera_y = 0
839 center_x = -2, center_y = -9
840 zoom = 46, fitness = 17.0>
841 Generation 98: <Camera id = 3162
842 camera_x = -6, camera_y = 0
843 center_x = -2, center_y = -9
844 zoom = 46, fitness = 17.0>
845 Generation 99: <Camera id = 3162
846 camera_x = -6, camera_y = 0
847 center_x = -2, center_y = -9
848 zoom = 46, fitness = 17.0>
849 Generation 100: <Camera id = 3162
850 camera_x = -6, camera_y = 0
851 center_x = -2, center_y = -9
852 zoom = 46, fitness = 17.0>