imported hobo11 data... this is a fragment of vmware svn, whatever I had
[tues-crep.git] / sites / hobo11.nerdland.org / coursework / 20062 / achtung / doc / bair_barrett_cp3.txt
blob486491a50e2e4ecc02e0d03e40e33effac22c7db
1 Genetic Algorithms
2 4003-509-02
3 Checkpoint #3: Genotype / Phenotype
5 Andrew Bair
6 Kingdon Barrett
8 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
13 objects.
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):
21         float genes[5];
23 Class 1 Genetic Mapping:
24         genes[0] -> eyeX
25         genes[1] -> eyeY
26         genes[2] -> centerX
27         genes[3] -> centerZ
28         genes[4] -> zoom
30 Class 2 Genotype:
31         int genes[5]
33 Class 2 Genetic Mapping:
34         genes[0] -> eyeX
35         genes[1] -> eyeY
36         genes[2] -> centerX
37         genes[3] -> centerZ
38         genes[4] -> zoom
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):
50 Class 1 Results:
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>
452 Class 2 Results:
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>