File size: 139,021 Bytes
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
d0f2aec
 
1cb25d9
 
 
 
 
 
 
 
 
 
d0f2aec
 
1cb25d9
 
d0f2aec
 
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
d0f2aec
 
1cb25d9
 
 
 
 
 
 
 
 
 
d0f2aec
 
 
 
 
 
1cb25d9
d0f2aec
1cb25d9
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
d0f2aec
1cb25d9
 
d0f2aec
1cb25d9
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
d0f2aec
1cb25d9
 
 
d0f2aec
1cb25d9
d0f2aec
1cb25d9
d0f2aec
1cb25d9
d0f2aec
1cb25d9
 
 
 
 
 
 
 
d0f2aec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1cb25d9
 
 
d0f2aec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
d0f2aec
1cb25d9
 
 
d0f2aec
1cb25d9
d0f2aec
1cb25d9
d0f2aec
1cb25d9
d0f2aec
1cb25d9
 
 
 
 
 
d0f2aec
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d0f2aec
1cb25d9
 
 
d0f2aec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1cb25d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nwaAZRu1NTiI"
      },
      "source": [
        "# DQN v2\n",
        "\n",
        "#### This version implements DQN with Keras\n",
        "#### Findings:\n",
        "Smaller NET then v1 does not work"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 37,
      "metadata": {
        "id": "LNXxxKojNTiL"
      },
      "outputs": [],
      "source": [
        "import tensorflow as tf\n",
        "from tensorflow.keras import layers\n",
        "from tensorflow.keras.utils import to_categorical\n",
        "import gym\n",
        "from gym import spaces\n",
        "from gym.utils import seeding\n",
        "from gym import wrappers\n",
        "\n",
        "from tqdm.notebook import tqdm\n",
        "from collections import deque\n",
        "import numpy as np\n",
        "import random\n",
        "from matplotlib import pyplot as plt\n",
        "from sklearn.preprocessing import MinMaxScaler\n",
        "import joblib\n",
        "\n",
        "import io\n",
        "import base64\n",
        "from IPython.display import HTML, Video\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 57,
      "metadata": {},
      "outputs": [],
      "source": [
        "class DQN:\n",
        "    def __init__(self, env=None, replay_buffer_size=1000, action_size=2):\n",
        "        self.replay_buffer = deque(maxlen=replay_buffer_size)\n",
        "\n",
        "        self.action_size = action_size\n",
        "\n",
        "        # Hyperparameters\n",
        "        self.gamma = 0.95           # Discount rate\n",
        "        self.epsilon = 1.0          # Exploration rate\n",
        "        self.epsilon_min = 0.001      # Minimal exploration rate (epsilon-greedy)\n",
        "        self.epsilon_decay = 0.95    # Decay rate for epsilon\n",
        "        self.update_rate = 5       # Number of steps until updating the target network\n",
        "        self.batch_size = 100\n",
        "        self.learning_rate = 5e-4\n",
        "        \n",
        "        # Construct DQN models\n",
        "        self.model = self._build_model()\n",
        "        self.target_model = self._build_model()\n",
        "        self.target_model.set_weights(self.model.get_weights())\n",
        "        self.model.summary()\n",
        "        self.env = env\n",
        "        self.action_size = action_size\n",
        "\n",
        "        self.scaler = None\n",
        "\n",
        "    def _build_model(self):\n",
        "        model = tf.keras.Sequential()\n",
        "        \n",
        "        model.add(tf.keras.Input(shape=(4,)))\n",
        "        model.add(layers.Dense(512, activation = 'relu'))\n",
        "        model.add(layers.Dense(256, activation = 'relu'))\n",
        "        model.add(layers.Dense(128, activation = 'relu'))\n",
        "        model.add(layers.Dense(self.action_size, activation = 'linear'))\n",
        "        # model.compile(optimizer = RMSprop(lr = self.lr, rho = 0.95, epsilon = 0.01), loss = \"mse\", metrics = ['accuracy'])\n",
        "        \n",
        "        optimizer = tf.keras.optimizers.Adam(learning_rate=self.learning_rate)\n",
        "        # model.compile(loss='mse', optimizer=tf.keras.optimizers.RMSprop(lr = self.learning_rate, rho = 0.95, epsilon = 0.01), metrics = ['accuracy'])\n",
        "        model.compile(loss='mse', optimizer=optimizer, metrics = ['accuracy'])\n",
        "        return model\n",
        "\n",
        "    def _min_max(self):\n",
        "        \"\"\"Run some steps to get data to do MINMAX scale \"\"\"\n",
        "        state_arr = []\n",
        "        state_arr.append(self.env.observation_space.high)\n",
        "        state_arr[0][1], state_arr[0][3] = 0,0\n",
        "        state_arr.append(self.env.observation_space.low)\n",
        "        state_arr[1][1], state_arr[1][3] = 0,0\n",
        "        state = self.env.reset()\n",
        "        for i in range(1000):\n",
        "            random_action = self.env.action_space.sample()\n",
        "            next_state, reward, done, info = self.env.step(random_action)\n",
        "            state_arr.append(next_state)\n",
        "            if done:\n",
        "                state = self.env.reset()\n",
        "\n",
        "        state_arr = np.array(state_arr)\n",
        "        self.scaler = MinMaxScaler()\n",
        "        self.scaler.fit(state_arr)\n",
        "        # print(self.scaler.data_max_)\n",
        "        # print(self.scaler.data_min_)\n",
        "\n",
        "    def _get_scaled_state(self, state):\n",
        "        return state\n",
        "        # return self.scaler.transform(state.reshape(1,-1)).flatten()\n",
        "\n",
        "    #\n",
        "    # Trains the model using randomly selected experiences in the replay memory\n",
        "    #\n",
        "    def _train(self):\n",
        "        X, y = [], []\n",
        "        # state, action, reward, next_state, done \n",
        "        # create the targets \n",
        "        if self.batch_size > len(self.replay_buffer):\n",
        "            return\n",
        "        minibatch = random.sample(self.replay_buffer, self.batch_size)\n",
        "        mb_arr = np.array(minibatch, dtype=object)\n",
        "\n",
        "        next_state_arr = np.stack(mb_arr[:,3])\n",
        "        future_qvalues = self.target_model.predict(next_state_arr, verbose=0)\n",
        "\n",
        "        state_arr = np.stack(mb_arr[:,0])\n",
        "        qvalues = self.model.predict(state_arr, verbose=0)\n",
        "\n",
        "        for index, (state, action, reward, next_state, done) in enumerate(minibatch):\n",
        "            if done == True:\n",
        "                q_target = reward\n",
        "            else:\n",
        "                q_target = reward + self.gamma * np.max(future_qvalues[index])\n",
        "\n",
        "            q_curr = qvalues[index]\n",
        "            q_curr[action] = q_target                \n",
        "            X.append(state)\n",
        "            y.append(q_curr)\n",
        "\n",
        "        # Perform gradient step\n",
        "        X, y = np.array(X), np.array(y)\n",
        "        history = self.model.fit(X, y, batch_size = self.batch_size, shuffle = False, verbose=0)\n",
        "        # history = self.model.fit(X, y, epochs=1, verbose=0)\n",
        "        # print(f\"Loss: {history.history['loss']}  \")\n",
        "\n",
        "\n",
        "    def learn(self, total_steps=None):\n",
        "        #create scaler\n",
        "        self._min_max()\n",
        "        current_episode = 0\n",
        "        total_reward = 0\n",
        "        rewards = [0]\n",
        "        current_step = 0\n",
        "        while current_step < total_steps:\n",
        "            current_episode += 1\n",
        "            state = self.env.reset()\n",
        "            state = self._get_scaled_state(state)\n",
        "            total_reward = 0\n",
        "            done = False\n",
        "            while done != True:\n",
        "                current_step +=1\n",
        "                # e-greedy\n",
        "                if np.random.random() > (1 - self.epsilon):\n",
        "                    action = random.randrange(self.action_size)\n",
        "                else:\n",
        "                    model_predict = self.model.predict(np.array([state]), verbose=0)\n",
        "                    action = np.argmax(model_predict)\n",
        "\n",
        "                # step\n",
        "                next_state, reward, done, info = self.env.step(action)\n",
        "                total_reward += reward\n",
        "\n",
        "                next_state = self._get_scaled_state(next_state)\n",
        "\n",
        "                # add to buffer\n",
        "                self.replay_buffer.append((state, action, reward, next_state, done))\n",
        "\n",
        "                if current_step>10 and current_step % self.update_rate == 0:\n",
        "                    print(f\"epsilon:{self.epsilon} step:{current_step} episode:{current_episode} last_score {rewards[-1]} \")\n",
        "                    self._train()\n",
        "                    # update target\n",
        "                    self.target_model.set_weights(self.model.get_weights())\n",
        "                \n",
        "                state = next_state\n",
        "\n",
        "                # update epsilon every 100 steps \n",
        "                if current_step % 20 == 0:\n",
        "                    if self.epsilon > self.epsilon_min:\n",
        "                        self.epsilon *= self.epsilon_decay\n",
        "\n",
        "            rewards.append(total_reward)\n",
        "\n",
        "    #\n",
        "    # Loads a saved model\n",
        "    #\n",
        "    def load(self, name):\n",
        "        self.model.load_weights(name)\n",
        "        self.scaler = joblib.load(name+\".scaler\") \n",
        "\n",
        "    #\n",
        "    # Saves parameters of a trained model\n",
        "    #\n",
        "    def save(self, name):\n",
        "        self.model.save_weights(name)\n",
        "        joblib.dump(self.scaler, name+\".scaler\") \n",
        "\n",
        "    def play(self, state):\n",
        "        state = self._get_scaled_state(state)\n",
        "        return np.argmax(self.model.predict(np.array([state]), verbose=0)[0])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 58,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Model: \"sequential_36\"\n",
            "_________________________________________________________________\n",
            " Layer (type)                Output Shape              Param #   \n",
            "=================================================================\n",
            " dense_144 (Dense)           (None, 512)               2560      \n",
            "                                                                 \n",
            " dense_145 (Dense)           (None, 256)               131328    \n",
            "                                                                 \n",
            " dense_146 (Dense)           (None, 128)               32896     \n",
            "                                                                 \n",
            " dense_147 (Dense)           (None, 2)                 258       \n",
            "                                                                 \n",
            "=================================================================\n",
            "Total params: 167,042\n",
            "Trainable params: 167,042\n",
            "Non-trainable params: 0\n",
            "_________________________________________________________________\n",
            "epsilon:1.0 step:15 episode:1 last_score 0 \n",
            "epsilon:1.0 step:20 episode:1 last_score 0 \n",
            "epsilon:0.95 step:25 episode:1 last_score 0 \n",
            "epsilon:0.95 step:30 episode:2 last_score 26.0 \n",
            "epsilon:0.95 step:35 episode:2 last_score 26.0 \n",
            "epsilon:0.95 step:40 episode:3 last_score 11.0 \n",
            "epsilon:0.9025 step:45 episode:3 last_score 11.0 \n",
            "epsilon:0.9025 step:50 episode:3 last_score 11.0 \n",
            "epsilon:0.9025 step:55 episode:3 last_score 11.0 \n",
            "epsilon:0.9025 step:60 episode:4 last_score 21.0 \n",
            "epsilon:0.8573749999999999 step:65 episode:4 last_score 21.0 \n",
            "epsilon:0.8573749999999999 step:70 episode:4 last_score 21.0 \n",
            "epsilon:0.8573749999999999 step:75 episode:5 last_score 13.0 \n",
            "epsilon:0.8573749999999999 step:80 episode:5 last_score 13.0 \n",
            "epsilon:0.8145062499999999 step:85 episode:5 last_score 13.0 \n",
            "epsilon:0.8145062499999999 step:90 episode:5 last_score 13.0 \n",
            "epsilon:0.8145062499999999 step:95 episode:6 last_score 21.0 \n",
            "epsilon:0.8145062499999999 step:100 episode:6 last_score 21.0 \n",
            "epsilon:0.7737809374999999 step:105 episode:7 last_score 11.0 \n",
            "epsilon:0.7737809374999999 step:110 episode:7 last_score 11.0 \n",
            "epsilon:0.7737809374999999 step:115 episode:7 last_score 11.0 \n",
            "epsilon:0.7737809374999999 step:120 episode:8 last_score 13.0 \n",
            "epsilon:0.7350918906249998 step:125 episode:8 last_score 13.0 \n",
            "epsilon:0.7350918906249998 step:130 episode:8 last_score 13.0 \n",
            "epsilon:0.7350918906249998 step:135 episode:8 last_score 13.0 \n",
            "epsilon:0.7350918906249998 step:140 episode:8 last_score 13.0 \n",
            "epsilon:0.6983372960937497 step:145 episode:8 last_score 13.0 \n",
            "epsilon:0.6983372960937497 step:150 episode:8 last_score 13.0 \n",
            "epsilon:0.6983372960937497 step:155 episode:8 last_score 13.0 \n",
            "epsilon:0.6983372960937497 step:160 episode:9 last_score 40.0 \n",
            "epsilon:0.6634204312890623 step:165 episode:9 last_score 40.0 \n",
            "epsilon:0.6634204312890623 step:170 episode:9 last_score 40.0 \n",
            "epsilon:0.6634204312890623 step:175 episode:10 last_score 15.0 \n",
            "epsilon:0.6634204312890623 step:180 episode:10 last_score 15.0 \n",
            "epsilon:0.6302494097246091 step:185 episode:10 last_score 15.0 \n",
            "epsilon:0.6302494097246091 step:190 episode:10 last_score 15.0 \n",
            "epsilon:0.6302494097246091 step:195 episode:10 last_score 15.0 \n",
            "epsilon:0.6302494097246091 step:200 episode:11 last_score 27.0 \n",
            "epsilon:0.5987369392383786 step:205 episode:11 last_score 27.0 \n",
            "epsilon:0.5987369392383786 step:210 episode:12 last_score 8.0 \n",
            "epsilon:0.5987369392383786 step:215 episode:12 last_score 8.0 \n",
            "epsilon:0.5987369392383786 step:220 episode:13 last_score 12.0 \n",
            "epsilon:0.5688000922764596 step:225 episode:13 last_score 12.0 \n",
            "epsilon:0.5688000922764596 step:230 episode:13 last_score 12.0 \n",
            "epsilon:0.5688000922764596 step:235 episode:14 last_score 13.0 \n",
            "epsilon:0.5688000922764596 step:240 episode:14 last_score 13.0 \n",
            "epsilon:0.5403600876626365 step:245 episode:15 last_score 12.0 \n",
            "epsilon:0.5403600876626365 step:250 episode:15 last_score 12.0 \n",
            "epsilon:0.5403600876626365 step:255 episode:15 last_score 12.0 \n",
            "epsilon:0.5403600876626365 step:260 episode:16 last_score 15.0 \n",
            "epsilon:0.5133420832795047 step:265 episode:16 last_score 15.0 \n",
            "epsilon:0.5133420832795047 step:270 episode:16 last_score 15.0 \n",
            "epsilon:0.5133420832795047 step:275 episode:16 last_score 15.0 \n",
            "epsilon:0.5133420832795047 step:280 episode:16 last_score 15.0 \n",
            "epsilon:0.48767497911552943 step:285 episode:17 last_score 23.0 \n",
            "epsilon:0.48767497911552943 step:290 episode:17 last_score 23.0 \n",
            "epsilon:0.48767497911552943 step:295 episode:18 last_score 9.0 \n",
            "epsilon:0.48767497911552943 step:300 episode:19 last_score 9.0 \n",
            "epsilon:0.46329123015975293 step:305 episode:19 last_score 9.0 \n",
            "epsilon:0.46329123015975293 step:310 episode:19 last_score 9.0 \n",
            "epsilon:0.46329123015975293 step:315 episode:20 last_score 14.0 \n",
            "epsilon:0.46329123015975293 step:320 episode:20 last_score 14.0 \n",
            "epsilon:0.44012666865176525 step:325 episode:20 last_score 14.0 \n",
            "epsilon:0.44012666865176525 step:330 episode:20 last_score 14.0 \n",
            "epsilon:0.44012666865176525 step:335 episode:21 last_score 21.0 \n",
            "epsilon:0.44012666865176525 step:340 episode:21 last_score 21.0 \n",
            "epsilon:0.41812033521917696 step:345 episode:21 last_score 21.0 \n",
            "epsilon:0.41812033521917696 step:350 episode:22 last_score 12.0 \n",
            "epsilon:0.41812033521917696 step:355 episode:22 last_score 12.0 \n",
            "epsilon:0.41812033521917696 step:360 episode:23 last_score 9.0 \n",
            "epsilon:0.3972143184582181 step:365 episode:23 last_score 9.0 \n",
            "epsilon:0.3972143184582181 step:370 episode:24 last_score 14.0 \n",
            "epsilon:0.3972143184582181 step:375 episode:24 last_score 14.0 \n",
            "epsilon:0.3972143184582181 step:380 episode:25 last_score 10.0 \n",
            "epsilon:0.37735360253530714 step:385 episode:25 last_score 10.0 \n",
            "epsilon:0.37735360253530714 step:390 episode:25 last_score 10.0 \n",
            "epsilon:0.37735360253530714 step:395 episode:25 last_score 10.0 \n",
            "epsilon:0.37735360253530714 step:400 episode:26 last_score 20.0 \n",
            "epsilon:0.35848592240854177 step:405 episode:26 last_score 20.0 \n",
            "epsilon:0.35848592240854177 step:410 episode:27 last_score 9.0 \n",
            "epsilon:0.35848592240854177 step:415 episode:27 last_score 9.0 \n",
            "epsilon:0.35848592240854177 step:420 episode:28 last_score 10.0 \n",
            "epsilon:0.34056162628811465 step:425 episode:28 last_score 10.0 \n",
            "epsilon:0.34056162628811465 step:430 episode:28 last_score 10.0 \n",
            "epsilon:0.34056162628811465 step:435 episode:29 last_score 14.0 \n",
            "epsilon:0.34056162628811465 step:440 episode:29 last_score 14.0 \n",
            "epsilon:0.3235335449737089 step:445 episode:30 last_score 11.0 \n",
            "epsilon:0.3235335449737089 step:450 episode:30 last_score 11.0 \n",
            "epsilon:0.3235335449737089 step:455 episode:31 last_score 10.0 \n",
            "epsilon:0.3235335449737089 step:460 episode:31 last_score 10.0 \n",
            "epsilon:0.30735686772502346 step:465 episode:31 last_score 10.0 \n",
            "epsilon:0.30735686772502346 step:470 episode:32 last_score 12.0 \n",
            "epsilon:0.30735686772502346 step:475 episode:33 last_score 8.0 \n",
            "epsilon:0.30735686772502346 step:480 episode:33 last_score 8.0 \n",
            "epsilon:0.2919890243387723 step:485 episode:34 last_score 10.0 \n",
            "epsilon:0.2919890243387723 step:490 episode:34 last_score 10.0 \n",
            "epsilon:0.2919890243387723 step:495 episode:35 last_score 9.0 \n",
            "epsilon:0.2919890243387723 step:500 episode:35 last_score 9.0 \n",
            "epsilon:0.27738957312183365 step:505 episode:36 last_score 10.0 \n",
            "epsilon:0.27738957312183365 step:510 episode:36 last_score 10.0 \n",
            "epsilon:0.27738957312183365 step:515 episode:37 last_score 10.0 \n",
            "epsilon:0.27738957312183365 step:520 episode:37 last_score 10.0 \n",
            "epsilon:0.263520094465742 step:525 episode:38 last_score 9.0 \n",
            "epsilon:0.263520094465742 step:530 episode:38 last_score 9.0 \n",
            "epsilon:0.263520094465742 step:535 episode:39 last_score 10.0 \n",
            "epsilon:0.263520094465742 step:540 episode:39 last_score 10.0 \n",
            "epsilon:0.25034408974245487 step:545 episode:40 last_score 10.0 \n",
            "epsilon:0.25034408974245487 step:550 episode:40 last_score 10.0 \n",
            "epsilon:0.25034408974245487 step:555 episode:40 last_score 10.0 \n",
            "epsilon:0.25034408974245487 step:560 episode:41 last_score 14.0 \n",
            "epsilon:0.2378268852553321 step:565 episode:41 last_score 14.0 \n",
            "epsilon:0.2378268852553321 step:570 episode:42 last_score 10.0 \n",
            "epsilon:0.2378268852553321 step:575 episode:43 last_score 9.0 \n",
            "epsilon:0.2378268852553321 step:580 episode:43 last_score 9.0 \n",
            "epsilon:0.2259355409925655 step:585 episode:43 last_score 9.0 \n",
            "epsilon:0.2259355409925655 step:590 episode:44 last_score 13.0 \n",
            "epsilon:0.2259355409925655 step:595 episode:44 last_score 13.0 \n",
            "epsilon:0.2259355409925655 step:600 episode:45 last_score 11.0 \n",
            "epsilon:0.2146387639429372 step:605 episode:45 last_score 11.0 \n",
            "epsilon:0.2146387639429372 step:610 episode:46 last_score 8.0 \n",
            "epsilon:0.2146387639429372 step:615 episode:46 last_score 8.0 \n",
            "epsilon:0.2146387639429372 step:620 episode:46 last_score 8.0 \n",
            "epsilon:0.20390682574579033 step:625 episode:47 last_score 14.0 \n",
            "epsilon:0.20390682574579033 step:630 episode:48 last_score 9.0 \n",
            "epsilon:0.20390682574579033 step:635 episode:48 last_score 9.0 \n",
            "epsilon:0.20390682574579033 step:640 episode:49 last_score 9.0 \n",
            "epsilon:0.1937114844585008 step:645 episode:49 last_score 9.0 \n",
            "epsilon:0.1937114844585008 step:650 episode:50 last_score 10.0 \n",
            "epsilon:0.1937114844585008 step:655 episode:50 last_score 10.0 \n",
            "epsilon:0.1937114844585008 step:660 episode:50 last_score 10.0 \n",
            "epsilon:0.18402591023557577 step:665 episode:51 last_score 12.0 \n",
            "epsilon:0.18402591023557577 step:670 episode:52 last_score 8.0 \n",
            "epsilon:0.18402591023557577 step:675 episode:52 last_score 8.0 \n",
            "epsilon:0.18402591023557577 step:680 episode:53 last_score 11.0 \n",
            "epsilon:0.17482461472379698 step:685 episode:53 last_score 11.0 \n",
            "epsilon:0.17482461472379698 step:690 episode:53 last_score 11.0 \n",
            "epsilon:0.17482461472379698 step:695 episode:54 last_score 15.0 \n",
            "epsilon:0.17482461472379698 step:700 episode:54 last_score 15.0 \n",
            "epsilon:0.16608338398760714 step:705 episode:55 last_score 10.0 \n",
            "epsilon:0.16608338398760714 step:710 episode:55 last_score 10.0 \n",
            "epsilon:0.16608338398760714 step:715 episode:56 last_score 10.0 \n",
            "epsilon:0.16608338398760714 step:720 episode:56 last_score 10.0 \n",
            "epsilon:0.15777921478822676 step:725 episode:56 last_score 10.0 \n",
            "epsilon:0.15777921478822676 step:730 episode:57 last_score 12.0 \n",
            "epsilon:0.15777921478822676 step:735 episode:57 last_score 12.0 \n",
            "epsilon:0.15777921478822676 step:740 episode:58 last_score 10.0 \n",
            "epsilon:0.14989025404881542 step:745 episode:58 last_score 10.0 \n",
            "epsilon:0.14989025404881542 step:750 episode:59 last_score 11.0 \n",
            "epsilon:0.14989025404881542 step:755 episode:59 last_score 11.0 \n",
            "epsilon:0.14989025404881542 step:760 episode:60 last_score 9.0 \n",
            "epsilon:0.14239574134637464 step:765 episode:60 last_score 9.0 \n",
            "epsilon:0.14239574134637464 step:770 episode:61 last_score 11.0 \n",
            "epsilon:0.14239574134637464 step:775 episode:61 last_score 11.0 \n",
            "epsilon:0.14239574134637464 step:780 episode:61 last_score 11.0 \n",
            "epsilon:0.1352759542790559 step:785 episode:62 last_score 14.0 \n",
            "epsilon:0.1352759542790559 step:790 episode:62 last_score 14.0 \n",
            "epsilon:0.1352759542790559 step:795 episode:63 last_score 12.0 \n",
            "epsilon:0.1352759542790559 step:800 episode:63 last_score 12.0 \n",
            "epsilon:0.1285121565651031 step:805 episode:63 last_score 12.0 \n",
            "epsilon:0.1285121565651031 step:810 episode:64 last_score 13.0 \n",
            "epsilon:0.1285121565651031 step:815 episode:64 last_score 13.0 \n",
            "epsilon:0.1285121565651031 step:820 episode:64 last_score 13.0 \n",
            "epsilon:0.12208654873684793 step:825 episode:65 last_score 14.0 \n",
            "epsilon:0.12208654873684793 step:830 episode:65 last_score 14.0 \n",
            "epsilon:0.12208654873684793 step:835 episode:66 last_score 10.0 \n",
            "epsilon:0.12208654873684793 step:840 episode:66 last_score 10.0 \n",
            "epsilon:0.11598222130000553 step:845 episode:67 last_score 14.0 \n",
            "epsilon:0.11598222130000553 step:850 episode:67 last_score 14.0 \n",
            "epsilon:0.11598222130000553 step:855 episode:67 last_score 14.0 \n",
            "epsilon:0.11598222130000553 step:860 episode:68 last_score 13.0 \n",
            "epsilon:0.11018311023500525 step:865 episode:68 last_score 13.0 \n",
            "epsilon:0.11018311023500525 step:870 episode:68 last_score 13.0 \n",
            "epsilon:0.11018311023500525 step:875 episode:69 last_score 15.0 \n",
            "epsilon:0.11018311023500525 step:880 episode:69 last_score 15.0 \n",
            "epsilon:0.10467395472325498 step:885 episode:70 last_score 11.0 \n",
            "epsilon:0.10467395472325498 step:890 episode:70 last_score 11.0 \n",
            "epsilon:0.10467395472325498 step:895 episode:70 last_score 11.0 \n",
            "epsilon:0.10467395472325498 step:900 episode:70 last_score 11.0 \n",
            "epsilon:0.09944025698709223 step:905 episode:71 last_score 18.0 \n",
            "epsilon:0.09944025698709223 step:910 episode:71 last_score 18.0 \n",
            "epsilon:0.09944025698709223 step:915 episode:71 last_score 18.0 \n",
            "epsilon:0.09944025698709223 step:920 episode:71 last_score 18.0 \n",
            "epsilon:0.09446824413773762 step:925 episode:72 last_score 22.0 \n",
            "epsilon:0.09446824413773762 step:930 episode:72 last_score 22.0 \n",
            "epsilon:0.09446824413773762 step:935 episode:72 last_score 22.0 \n",
            "epsilon:0.09446824413773762 step:940 episode:72 last_score 22.0 \n",
            "epsilon:0.08974483193085074 step:945 episode:72 last_score 22.0 \n",
            "epsilon:0.08974483193085074 step:950 episode:72 last_score 22.0 \n",
            "epsilon:0.08974483193085074 step:955 episode:72 last_score 22.0 \n",
            "epsilon:0.08974483193085074 step:960 episode:72 last_score 22.0 \n",
            "epsilon:0.0852575903343082 step:965 episode:72 last_score 22.0 \n",
            "epsilon:0.0852575903343082 step:970 episode:72 last_score 22.0 \n",
            "epsilon:0.0852575903343082 step:975 episode:72 last_score 22.0 \n",
            "epsilon:0.0852575903343082 step:980 episode:72 last_score 22.0 \n",
            "epsilon:0.08099471081759278 step:985 episode:72 last_score 22.0 \n",
            "epsilon:0.08099471081759278 step:990 episode:73 last_score 66.0 \n",
            "epsilon:0.08099471081759278 step:995 episode:73 last_score 66.0 \n",
            "epsilon:0.08099471081759278 step:1000 episode:73 last_score 66.0 \n",
            "epsilon:0.07694497527671314 step:1005 episode:73 last_score 66.0 \n",
            "epsilon:0.07694497527671314 step:1010 episode:73 last_score 66.0 \n",
            "epsilon:0.07694497527671314 step:1015 episode:73 last_score 66.0 \n",
            "epsilon:0.07694497527671314 step:1020 episode:73 last_score 66.0 \n",
            "epsilon:0.07309772651287748 step:1025 episode:73 last_score 66.0 \n",
            "epsilon:0.07309772651287748 step:1030 episode:73 last_score 66.0 \n",
            "epsilon:0.07309772651287748 step:1035 episode:73 last_score 66.0 \n",
            "epsilon:0.07309772651287748 step:1040 episode:73 last_score 66.0 \n",
            "epsilon:0.0694428401872336 step:1045 episode:73 last_score 66.0 \n",
            "epsilon:0.0694428401872336 step:1050 episode:73 last_score 66.0 \n",
            "epsilon:0.0694428401872336 step:1055 episode:73 last_score 66.0 \n",
            "epsilon:0.0694428401872336 step:1060 episode:73 last_score 66.0 \n",
            "epsilon:0.0659706981778719 step:1065 episode:74 last_score 74.0 \n",
            "epsilon:0.0659706981778719 step:1070 episode:74 last_score 74.0 \n",
            "epsilon:0.0659706981778719 step:1075 episode:74 last_score 74.0 \n",
            "epsilon:0.0659706981778719 step:1080 episode:74 last_score 74.0 \n",
            "epsilon:0.0626721632689783 step:1085 episode:74 last_score 74.0 \n",
            "epsilon:0.0626721632689783 step:1090 episode:74 last_score 74.0 \n",
            "epsilon:0.0626721632689783 step:1095 episode:74 last_score 74.0 \n",
            "epsilon:0.0626721632689783 step:1100 episode:74 last_score 74.0 \n",
            "epsilon:0.059538555105529384 step:1105 episode:74 last_score 74.0 \n",
            "epsilon:0.059538555105529384 step:1110 episode:74 last_score 74.0 \n",
            "epsilon:0.059538555105529384 step:1115 episode:75 last_score 47.0 \n",
            "epsilon:0.059538555105529384 step:1120 episode:75 last_score 47.0 \n",
            "epsilon:0.05656162735025291 step:1125 episode:75 last_score 47.0 \n",
            "epsilon:0.05656162735025291 step:1130 episode:75 last_score 47.0 \n",
            "epsilon:0.05656162735025291 step:1135 episode:75 last_score 47.0 \n",
            "epsilon:0.05656162735025291 step:1140 episode:75 last_score 47.0 \n",
            "epsilon:0.053733545982740265 step:1145 episode:75 last_score 47.0 \n",
            "epsilon:0.053733545982740265 step:1150 episode:75 last_score 47.0 \n",
            "epsilon:0.053733545982740265 step:1155 episode:75 last_score 47.0 \n",
            "epsilon:0.053733545982740265 step:1160 episode:75 last_score 47.0 \n",
            "epsilon:0.05104686868360325 step:1165 episode:75 last_score 47.0 \n",
            "epsilon:0.05104686868360325 step:1170 episode:75 last_score 47.0 \n",
            "epsilon:0.05104686868360325 step:1175 episode:75 last_score 47.0 \n",
            "epsilon:0.05104686868360325 step:1180 episode:75 last_score 47.0 \n",
            "epsilon:0.04849452524942309 step:1185 episode:75 last_score 47.0 \n",
            "epsilon:0.04849452524942309 step:1190 episode:75 last_score 47.0 \n",
            "epsilon:0.04849452524942309 step:1195 episode:75 last_score 47.0 \n",
            "epsilon:0.04849452524942309 step:1200 episode:75 last_score 47.0 \n",
            "epsilon:0.04606979898695193 step:1205 episode:76 last_score 91.0 \n",
            "epsilon:0.04606979898695193 step:1210 episode:76 last_score 91.0 \n",
            "epsilon:0.04606979898695193 step:1215 episode:76 last_score 91.0 \n",
            "epsilon:0.04606979898695193 step:1220 episode:76 last_score 91.0 \n",
            "epsilon:0.04376630903760433 step:1225 episode:76 last_score 91.0 \n",
            "epsilon:0.04376630903760433 step:1230 episode:76 last_score 91.0 \n",
            "epsilon:0.04376630903760433 step:1235 episode:76 last_score 91.0 \n",
            "epsilon:0.04376630903760433 step:1240 episode:76 last_score 91.0 \n",
            "epsilon:0.041577993585724116 step:1245 episode:76 last_score 91.0 \n",
            "epsilon:0.041577993585724116 step:1250 episode:76 last_score 91.0 \n",
            "epsilon:0.041577993585724116 step:1255 episode:76 last_score 91.0 \n",
            "epsilon:0.041577993585724116 step:1260 episode:76 last_score 91.0 \n",
            "epsilon:0.03949909390643791 step:1265 episode:76 last_score 91.0 \n",
            "epsilon:0.03949909390643791 step:1270 episode:76 last_score 91.0 \n",
            "epsilon:0.03949909390643791 step:1275 episode:76 last_score 91.0 \n",
            "epsilon:0.03949909390643791 step:1280 episode:76 last_score 91.0 \n",
            "epsilon:0.03752413921111601 step:1285 episode:77 last_score 82.0 \n",
            "epsilon:0.03752413921111601 step:1290 episode:77 last_score 82.0 \n",
            "epsilon:0.03752413921111601 step:1295 episode:77 last_score 82.0 \n",
            "epsilon:0.03752413921111601 step:1300 episode:77 last_score 82.0 \n",
            "epsilon:0.03564793225056021 step:1305 episode:77 last_score 82.0 \n",
            "epsilon:0.03564793225056021 step:1310 episode:77 last_score 82.0 \n",
            "epsilon:0.03564793225056021 step:1315 episode:77 last_score 82.0 \n",
            "epsilon:0.03564793225056021 step:1320 episode:77 last_score 82.0 \n",
            "epsilon:0.0338655356380322 step:1325 episode:77 last_score 82.0 \n",
            "epsilon:0.0338655356380322 step:1330 episode:77 last_score 82.0 \n",
            "epsilon:0.0338655356380322 step:1335 episode:78 last_score 49.0 \n",
            "epsilon:0.0338655356380322 step:1340 episode:78 last_score 49.0 \n",
            "epsilon:0.032172258856130585 step:1345 episode:78 last_score 49.0 \n",
            "epsilon:0.032172258856130585 step:1350 episode:78 last_score 49.0 \n",
            "epsilon:0.032172258856130585 step:1355 episode:78 last_score 49.0 \n",
            "epsilon:0.032172258856130585 step:1360 episode:78 last_score 49.0 \n",
            "epsilon:0.030563645913324056 step:1365 episode:79 last_score 28.0 \n",
            "epsilon:0.030563645913324056 step:1370 episode:79 last_score 28.0 \n",
            "epsilon:0.030563645913324056 step:1375 episode:79 last_score 28.0 \n",
            "epsilon:0.030563645913324056 step:1380 episode:79 last_score 28.0 \n",
            "epsilon:0.029035463617657853 step:1385 episode:79 last_score 28.0 \n",
            "epsilon:0.029035463617657853 step:1390 episode:79 last_score 28.0 \n",
            "epsilon:0.029035463617657853 step:1395 episode:79 last_score 28.0 \n",
            "epsilon:0.029035463617657853 step:1400 episode:80 last_score 36.0 \n",
            "epsilon:0.027583690436774957 step:1405 episode:80 last_score 36.0 \n",
            "epsilon:0.027583690436774957 step:1410 episode:80 last_score 36.0 \n",
            "epsilon:0.027583690436774957 step:1415 episode:80 last_score 36.0 \n",
            "epsilon:0.027583690436774957 step:1420 episode:80 last_score 36.0 \n",
            "epsilon:0.02620450591493621 step:1425 episode:80 last_score 36.0 \n",
            "epsilon:0.02620450591493621 step:1430 episode:80 last_score 36.0 \n",
            "epsilon:0.02620450591493621 step:1435 episode:80 last_score 36.0 \n",
            "epsilon:0.02620450591493621 step:1440 episode:80 last_score 36.0 \n",
            "epsilon:0.0248942806191894 step:1445 episode:80 last_score 36.0 \n",
            "epsilon:0.0248942806191894 step:1450 episode:80 last_score 36.0 \n",
            "epsilon:0.0248942806191894 step:1455 episode:80 last_score 36.0 \n",
            "epsilon:0.0248942806191894 step:1460 episode:81 last_score 60.0 \n",
            "epsilon:0.023649566588229927 step:1465 episode:81 last_score 60.0 \n",
            "epsilon:0.023649566588229927 step:1470 episode:81 last_score 60.0 \n",
            "epsilon:0.023649566588229927 step:1475 episode:81 last_score 60.0 \n",
            "epsilon:0.023649566588229927 step:1480 episode:81 last_score 60.0 \n",
            "epsilon:0.022467088258818428 step:1485 episode:81 last_score 60.0 \n",
            "epsilon:0.022467088258818428 step:1490 episode:82 last_score 32.0 \n",
            "epsilon:0.022467088258818428 step:1495 episode:82 last_score 32.0 \n",
            "epsilon:0.022467088258818428 step:1500 episode:82 last_score 32.0 \n",
            "epsilon:0.021343733845877507 step:1505 episode:82 last_score 32.0 \n",
            "epsilon:0.021343733845877507 step:1510 episode:82 last_score 32.0 \n",
            "epsilon:0.021343733845877507 step:1515 episode:82 last_score 32.0 \n",
            "epsilon:0.021343733845877507 step:1520 episode:82 last_score 32.0 \n",
            "epsilon:0.02027654715358363 step:1525 episode:83 last_score 32.0 \n",
            "epsilon:0.02027654715358363 step:1530 episode:83 last_score 32.0 \n",
            "epsilon:0.02027654715358363 step:1535 episode:83 last_score 32.0 \n",
            "epsilon:0.02027654715358363 step:1540 episode:83 last_score 32.0 \n",
            "epsilon:0.019262719795904448 step:1545 episode:83 last_score 32.0 \n",
            "epsilon:0.019262719795904448 step:1550 episode:83 last_score 32.0 \n",
            "epsilon:0.019262719795904448 step:1555 episode:83 last_score 32.0 \n",
            "epsilon:0.019262719795904448 step:1560 episode:83 last_score 32.0 \n",
            "epsilon:0.018299583806109226 step:1565 episode:83 last_score 32.0 \n",
            "epsilon:0.018299583806109226 step:1570 episode:83 last_score 32.0 \n",
            "epsilon:0.018299583806109226 step:1575 episode:83 last_score 32.0 \n",
            "epsilon:0.018299583806109226 step:1580 episode:84 last_score 57.0 \n",
            "epsilon:0.017384604615803764 step:1585 episode:84 last_score 57.0 \n",
            "epsilon:0.017384604615803764 step:1590 episode:84 last_score 57.0 \n",
            "epsilon:0.017384604615803764 step:1595 episode:84 last_score 57.0 \n",
            "epsilon:0.017384604615803764 step:1600 episode:84 last_score 57.0 \n",
            "epsilon:0.016515374385013576 step:1605 episode:84 last_score 57.0 \n",
            "epsilon:0.016515374385013576 step:1610 episode:84 last_score 57.0 \n",
            "epsilon:0.016515374385013576 step:1615 episode:84 last_score 57.0 \n",
            "epsilon:0.016515374385013576 step:1620 episode:84 last_score 57.0 \n",
            "epsilon:0.015689605665762895 step:1625 episode:84 last_score 57.0 \n",
            "epsilon:0.015689605665762895 step:1630 episode:84 last_score 57.0 \n",
            "epsilon:0.015689605665762895 step:1635 episode:84 last_score 57.0 \n",
            "epsilon:0.015689605665762895 step:1640 episode:84 last_score 57.0 \n",
            "epsilon:0.01490512538247475 step:1645 episode:84 last_score 57.0 \n",
            "epsilon:0.01490512538247475 step:1650 episode:84 last_score 57.0 \n",
            "epsilon:0.01490512538247475 step:1655 episode:84 last_score 57.0 \n",
            "epsilon:0.01490512538247475 step:1660 episode:84 last_score 57.0 \n",
            "epsilon:0.014159869113351011 step:1665 episode:85 last_score 86.0 \n",
            "epsilon:0.014159869113351011 step:1670 episode:85 last_score 86.0 \n",
            "epsilon:0.014159869113351011 step:1675 episode:85 last_score 86.0 \n",
            "epsilon:0.014159869113351011 step:1680 episode:85 last_score 86.0 \n",
            "epsilon:0.01345187565768346 step:1685 episode:85 last_score 86.0 \n",
            "epsilon:0.01345187565768346 step:1690 episode:85 last_score 86.0 \n",
            "epsilon:0.01345187565768346 step:1695 episode:85 last_score 86.0 \n",
            "epsilon:0.01345187565768346 step:1700 episode:85 last_score 86.0 \n",
            "epsilon:0.012779281874799287 step:1705 episode:86 last_score 41.0 \n",
            "epsilon:0.012779281874799287 step:1710 episode:86 last_score 41.0 \n",
            "epsilon:0.012779281874799287 step:1715 episode:86 last_score 41.0 \n",
            "epsilon:0.012779281874799287 step:1720 episode:86 last_score 41.0 \n",
            "epsilon:0.012140317781059323 step:1725 episode:86 last_score 41.0 \n",
            "epsilon:0.012140317781059323 step:1730 episode:86 last_score 41.0 \n",
            "epsilon:0.012140317781059323 step:1735 episode:86 last_score 41.0 \n",
            "epsilon:0.012140317781059323 step:1740 episode:86 last_score 41.0 \n",
            "epsilon:0.011533301892006355 step:1745 episode:86 last_score 41.0 \n",
            "epsilon:0.011533301892006355 step:1750 episode:86 last_score 41.0 \n",
            "epsilon:0.011533301892006355 step:1755 episode:86 last_score 41.0 \n",
            "epsilon:0.011533301892006355 step:1760 episode:86 last_score 41.0 \n",
            "epsilon:0.010956636797406038 step:1765 episode:87 last_score 59.0 \n",
            "epsilon:0.010956636797406038 step:1770 episode:87 last_score 59.0 \n",
            "epsilon:0.010956636797406038 step:1775 episode:87 last_score 59.0 \n",
            "epsilon:0.010956636797406038 step:1780 episode:87 last_score 59.0 \n",
            "epsilon:0.010408804957535735 step:1785 episode:87 last_score 59.0 \n",
            "epsilon:0.010408804957535735 step:1790 episode:87 last_score 59.0 \n",
            "epsilon:0.010408804957535735 step:1795 episode:87 last_score 59.0 \n",
            "epsilon:0.010408804957535735 step:1800 episode:87 last_score 59.0 \n",
            "epsilon:0.009888364709658948 step:1805 episode:88 last_score 41.0 \n",
            "epsilon:0.009888364709658948 step:1810 episode:88 last_score 41.0 \n",
            "epsilon:0.009888364709658948 step:1815 episode:88 last_score 41.0 \n",
            "epsilon:0.009888364709658948 step:1820 episode:88 last_score 41.0 \n",
            "epsilon:0.009393946474176 step:1825 episode:88 last_score 41.0 \n",
            "epsilon:0.009393946474176 step:1830 episode:88 last_score 41.0 \n",
            "epsilon:0.009393946474176 step:1835 episode:88 last_score 41.0 \n",
            "epsilon:0.009393946474176 step:1840 episode:89 last_score 34.0 \n",
            "epsilon:0.0089242491504672 step:1845 episode:89 last_score 34.0 \n",
            "epsilon:0.0089242491504672 step:1850 episode:89 last_score 34.0 \n",
            "epsilon:0.0089242491504672 step:1855 episode:89 last_score 34.0 \n",
            "epsilon:0.0089242491504672 step:1860 episode:89 last_score 34.0 \n",
            "epsilon:0.008478036692943839 step:1865 episode:89 last_score 34.0 \n",
            "epsilon:0.008478036692943839 step:1870 episode:89 last_score 34.0 \n",
            "epsilon:0.008478036692943839 step:1875 episode:90 last_score 32.0 \n",
            "epsilon:0.008478036692943839 step:1880 episode:90 last_score 32.0 \n",
            "epsilon:0.008054134858296647 step:1885 episode:90 last_score 32.0 \n",
            "epsilon:0.008054134858296647 step:1890 episode:90 last_score 32.0 \n",
            "epsilon:0.008054134858296647 step:1895 episode:90 last_score 32.0 \n",
            "epsilon:0.008054134858296647 step:1900 episode:90 last_score 32.0 \n",
            "epsilon:0.0076514281153818135 step:1905 episode:90 last_score 32.0 \n",
            "epsilon:0.0076514281153818135 step:1910 episode:90 last_score 32.0 \n",
            "epsilon:0.0076514281153818135 step:1915 episode:91 last_score 44.0 \n",
            "epsilon:0.0076514281153818135 step:1920 episode:91 last_score 44.0 \n",
            "epsilon:0.0072688567096127225 step:1925 episode:91 last_score 44.0 \n",
            "epsilon:0.0072688567096127225 step:1930 episode:91 last_score 44.0 \n",
            "epsilon:0.0072688567096127225 step:1935 episode:91 last_score 44.0 \n",
            "epsilon:0.0072688567096127225 step:1940 episode:91 last_score 44.0 \n",
            "epsilon:0.006905413874132086 step:1945 episode:91 last_score 44.0 \n",
            "epsilon:0.006905413874132086 step:1950 episode:91 last_score 44.0 \n",
            "epsilon:0.006905413874132086 step:1955 episode:91 last_score 44.0 \n",
            "epsilon:0.006905413874132086 step:1960 episode:91 last_score 44.0 \n",
            "epsilon:0.006560143180425482 step:1965 episode:92 last_score 46.0 \n",
            "epsilon:0.006560143180425482 step:1970 episode:92 last_score 46.0 \n",
            "epsilon:0.006560143180425482 step:1975 episode:92 last_score 46.0 \n",
            "epsilon:0.006560143180425482 step:1980 episode:92 last_score 46.0 \n",
            "epsilon:0.0062321360214042075 step:1985 episode:92 last_score 46.0 \n",
            "epsilon:0.0062321360214042075 step:1990 episode:92 last_score 46.0 \n",
            "epsilon:0.0062321360214042075 step:1995 episode:92 last_score 46.0 \n",
            "epsilon:0.0062321360214042075 step:2000 episode:92 last_score 46.0 \n",
            "epsilon:0.005920529220333997 step:2005 episode:92 last_score 46.0 \n",
            "epsilon:0.005920529220333997 step:2010 episode:92 last_score 46.0 \n",
            "epsilon:0.005920529220333997 step:2015 episode:92 last_score 46.0 \n",
            "epsilon:0.005920529220333997 step:2020 episode:92 last_score 46.0 \n",
            "epsilon:0.0056245027593172965 step:2025 episode:92 last_score 46.0 \n",
            "epsilon:0.0056245027593172965 step:2030 episode:92 last_score 46.0 \n",
            "epsilon:0.0056245027593172965 step:2035 episode:93 last_score 71.0 \n",
            "epsilon:0.0056245027593172965 step:2040 episode:93 last_score 71.0 \n",
            "epsilon:0.005343277621351432 step:2045 episode:93 last_score 71.0 \n",
            "epsilon:0.005343277621351432 step:2050 episode:93 last_score 71.0 \n",
            "epsilon:0.005343277621351432 step:2055 episode:93 last_score 71.0 \n",
            "epsilon:0.005343277621351432 step:2060 episode:93 last_score 71.0 \n",
            "epsilon:0.0050761137402838595 step:2065 episode:93 last_score 71.0 \n",
            "epsilon:0.0050761137402838595 step:2070 episode:93 last_score 71.0 \n",
            "epsilon:0.0050761137402838595 step:2075 episode:93 last_score 71.0 \n",
            "epsilon:0.0050761137402838595 step:2080 episode:93 last_score 71.0 \n",
            "epsilon:0.004822308053269666 step:2085 episode:93 last_score 71.0 \n",
            "epsilon:0.004822308053269666 step:2090 episode:93 last_score 71.0 \n",
            "epsilon:0.004822308053269666 step:2095 episode:93 last_score 71.0 \n",
            "epsilon:0.004822308053269666 step:2100 episode:93 last_score 71.0 \n",
            "epsilon:0.004581192650606183 step:2105 episode:93 last_score 71.0 \n",
            "epsilon:0.004581192650606183 step:2110 episode:93 last_score 71.0 \n",
            "epsilon:0.004581192650606183 step:2115 episode:93 last_score 71.0 \n",
            "epsilon:0.004581192650606183 step:2120 episode:93 last_score 71.0 \n",
            "epsilon:0.0043521330180758735 step:2125 episode:93 last_score 71.0 \n",
            "epsilon:0.0043521330180758735 step:2130 episode:93 last_score 71.0 \n",
            "epsilon:0.0043521330180758735 step:2135 episode:93 last_score 71.0 \n",
            "epsilon:0.0043521330180758735 step:2140 episode:93 last_score 71.0 \n",
            "epsilon:0.0041345263671720795 step:2145 episode:93 last_score 71.0 \n",
            "epsilon:0.0041345263671720795 step:2150 episode:93 last_score 71.0 \n",
            "epsilon:0.0041345263671720795 step:2155 episode:93 last_score 71.0 \n",
            "epsilon:0.0041345263671720795 step:2160 episode:93 last_score 71.0 \n",
            "epsilon:0.003927800048813475 step:2165 episode:93 last_score 71.0 \n",
            "epsilon:0.003927800048813475 step:2170 episode:93 last_score 71.0 \n",
            "epsilon:0.003927800048813475 step:2175 episode:93 last_score 71.0 \n",
            "epsilon:0.003927800048813475 step:2180 episode:94 last_score 146.0 \n",
            "epsilon:0.0037314100463728015 step:2185 episode:94 last_score 146.0 \n",
            "epsilon:0.0037314100463728015 step:2190 episode:94 last_score 146.0 \n",
            "epsilon:0.0037314100463728015 step:2195 episode:94 last_score 146.0 \n",
            "epsilon:0.0037314100463728015 step:2200 episode:94 last_score 146.0 \n",
            "epsilon:0.0035448395440541612 step:2205 episode:94 last_score 146.0 \n",
            "epsilon:0.0035448395440541612 step:2210 episode:94 last_score 146.0 \n",
            "epsilon:0.0035448395440541612 step:2215 episode:95 last_score 35.0 \n",
            "epsilon:0.0035448395440541612 step:2220 episode:95 last_score 35.0 \n",
            "epsilon:0.003367597566851453 step:2225 episode:95 last_score 35.0 \n",
            "epsilon:0.003367597566851453 step:2230 episode:95 last_score 35.0 \n",
            "epsilon:0.003367597566851453 step:2235 episode:95 last_score 35.0 \n",
            "epsilon:0.003367597566851453 step:2240 episode:95 last_score 35.0 \n",
            "epsilon:0.00319921768850888 step:2245 episode:95 last_score 35.0 \n",
            "epsilon:0.00319921768850888 step:2250 episode:95 last_score 35.0 \n",
            "epsilon:0.00319921768850888 step:2255 episode:95 last_score 35.0 \n",
            "epsilon:0.00319921768850888 step:2260 episode:96 last_score 46.0 \n",
            "epsilon:0.003039256804083436 step:2265 episode:96 last_score 46.0 \n",
            "epsilon:0.003039256804083436 step:2270 episode:96 last_score 46.0 \n",
            "epsilon:0.003039256804083436 step:2275 episode:96 last_score 46.0 \n",
            "epsilon:0.003039256804083436 step:2280 episode:96 last_score 46.0 \n",
            "epsilon:0.0028872939638792637 step:2285 episode:96 last_score 46.0 \n",
            "epsilon:0.0028872939638792637 step:2290 episode:96 last_score 46.0 \n",
            "epsilon:0.0028872939638792637 step:2295 episode:96 last_score 46.0 \n",
            "epsilon:0.0028872939638792637 step:2300 episode:97 last_score 40.0 \n",
            "epsilon:0.0027429292656853004 step:2305 episode:97 last_score 40.0 \n",
            "epsilon:0.0027429292656853004 step:2310 episode:97 last_score 40.0 \n",
            "epsilon:0.0027429292656853004 step:2315 episode:97 last_score 40.0 \n",
            "epsilon:0.0027429292656853004 step:2320 episode:97 last_score 40.0 \n",
            "epsilon:0.0026057828024010354 step:2325 episode:97 last_score 40.0 \n",
            "epsilon:0.0026057828024010354 step:2330 episode:97 last_score 40.0 \n",
            "epsilon:0.0026057828024010354 step:2335 episode:97 last_score 40.0 \n",
            "epsilon:0.0026057828024010354 step:2340 episode:97 last_score 40.0 \n",
            "epsilon:0.0024754936622809836 step:2345 episode:97 last_score 40.0 \n",
            "epsilon:0.0024754936622809836 step:2350 episode:97 last_score 40.0 \n",
            "epsilon:0.0024754936622809836 step:2355 episode:97 last_score 40.0 \n",
            "epsilon:0.0024754936622809836 step:2360 episode:97 last_score 40.0 \n",
            "epsilon:0.002351718979166934 step:2365 episode:97 last_score 40.0 \n",
            "epsilon:0.002351718979166934 step:2370 episode:97 last_score 40.0 \n",
            "epsilon:0.002351718979166934 step:2375 episode:98 last_score 74.0 \n",
            "epsilon:0.002351718979166934 step:2380 episode:98 last_score 74.0 \n",
            "epsilon:0.0022341330302085875 step:2385 episode:98 last_score 74.0 \n",
            "epsilon:0.0022341330302085875 step:2390 episode:98 last_score 74.0 \n",
            "epsilon:0.0022341330302085875 step:2395 episode:98 last_score 74.0 \n",
            "epsilon:0.0022341330302085875 step:2400 episode:98 last_score 74.0 \n",
            "epsilon:0.002122426378698158 step:2405 episode:98 last_score 74.0 \n",
            "epsilon:0.002122426378698158 step:2410 episode:98 last_score 74.0 \n",
            "epsilon:0.002122426378698158 step:2415 episode:98 last_score 74.0 \n",
            "epsilon:0.002122426378698158 step:2420 episode:98 last_score 74.0 \n",
            "epsilon:0.0020163050597632503 step:2425 episode:98 last_score 74.0 \n",
            "epsilon:0.0020163050597632503 step:2430 episode:98 last_score 74.0 \n",
            "epsilon:0.0020163050597632503 step:2435 episode:98 last_score 74.0 \n",
            "epsilon:0.0020163050597632503 step:2440 episode:98 last_score 74.0 \n",
            "epsilon:0.0019154898067750877 step:2445 episode:98 last_score 74.0 \n",
            "epsilon:0.0019154898067750877 step:2450 episode:98 last_score 74.0 \n",
            "epsilon:0.0019154898067750877 step:2455 episode:98 last_score 74.0 \n",
            "epsilon:0.0019154898067750877 step:2460 episode:98 last_score 74.0 \n",
            "epsilon:0.0018197153164363333 step:2465 episode:98 last_score 74.0 \n",
            "epsilon:0.0018197153164363333 step:2470 episode:98 last_score 74.0 \n",
            "epsilon:0.0018197153164363333 step:2475 episode:98 last_score 74.0 \n",
            "epsilon:0.0018197153164363333 step:2480 episode:99 last_score 105.0 \n",
            "epsilon:0.0017287295506145165 step:2485 episode:99 last_score 105.0 \n",
            "epsilon:0.0017287295506145165 step:2490 episode:99 last_score 105.0 \n",
            "epsilon:0.0017287295506145165 step:2495 episode:99 last_score 105.0 \n",
            "epsilon:0.0017287295506145165 step:2500 episode:99 last_score 105.0 \n",
            "epsilon:0.0016422930730837905 step:2505 episode:99 last_score 105.0 \n",
            "epsilon:0.0016422930730837905 step:2510 episode:99 last_score 105.0 \n",
            "epsilon:0.0016422930730837905 step:2515 episode:99 last_score 105.0 \n",
            "epsilon:0.0016422930730837905 step:2520 episode:99 last_score 105.0 \n",
            "epsilon:0.0015601784194296008 step:2525 episode:99 last_score 105.0 \n",
            "epsilon:0.0015601784194296008 step:2530 episode:99 last_score 105.0 \n",
            "epsilon:0.0015601784194296008 step:2535 episode:99 last_score 105.0 \n",
            "epsilon:0.0015601784194296008 step:2540 episode:99 last_score 105.0 \n",
            "epsilon:0.0014821694984581207 step:2545 episode:99 last_score 105.0 \n",
            "epsilon:0.0014821694984581207 step:2550 episode:99 last_score 105.0 \n",
            "epsilon:0.0014821694984581207 step:2555 episode:99 last_score 105.0 \n",
            "epsilon:0.0014821694984581207 step:2560 episode:100 last_score 79.0 \n",
            "epsilon:0.0014080610235352145 step:2565 episode:100 last_score 79.0 \n",
            "epsilon:0.0014080610235352145 step:2570 episode:100 last_score 79.0 \n",
            "epsilon:0.0014080610235352145 step:2575 episode:100 last_score 79.0 \n",
            "epsilon:0.0014080610235352145 step:2580 episode:100 last_score 79.0 \n",
            "epsilon:0.0013376579723584536 step:2585 episode:100 last_score 79.0 \n",
            "epsilon:0.0013376579723584536 step:2590 episode:100 last_score 79.0 \n",
            "epsilon:0.0013376579723584536 step:2595 episode:100 last_score 79.0 \n",
            "epsilon:0.0013376579723584536 step:2600 episode:100 last_score 79.0 \n",
            "epsilon:0.0012707750737405309 step:2605 episode:100 last_score 79.0 \n",
            "epsilon:0.0012707750737405309 step:2610 episode:100 last_score 79.0 \n",
            "epsilon:0.0012707750737405309 step:2615 episode:100 last_score 79.0 \n",
            "epsilon:0.0012707750737405309 step:2620 episode:100 last_score 79.0 \n",
            "epsilon:0.0012072363200535043 step:2625 episode:100 last_score 79.0 \n",
            "epsilon:0.0012072363200535043 step:2630 episode:100 last_score 79.0 \n",
            "epsilon:0.0012072363200535043 step:2635 episode:100 last_score 79.0 \n",
            "epsilon:0.0012072363200535043 step:2640 episode:100 last_score 79.0 \n",
            "epsilon:0.001146874504050829 step:2645 episode:100 last_score 79.0 \n",
            "epsilon:0.001146874504050829 step:2650 episode:101 last_score 92.0 \n",
            "epsilon:0.001146874504050829 step:2655 episode:101 last_score 92.0 \n",
            "epsilon:0.001146874504050829 step:2660 episode:101 last_score 92.0 \n",
            "epsilon:0.0010895307788482875 step:2665 episode:101 last_score 92.0 \n",
            "epsilon:0.0010895307788482875 step:2670 episode:101 last_score 92.0 \n",
            "epsilon:0.0010895307788482875 step:2675 episode:101 last_score 92.0 \n",
            "epsilon:0.0010895307788482875 step:2680 episode:101 last_score 92.0 \n",
            "epsilon:0.001035054239905873 step:2685 episode:101 last_score 92.0 \n",
            "epsilon:0.001035054239905873 step:2690 episode:101 last_score 92.0 \n",
            "epsilon:0.001035054239905873 step:2695 episode:101 last_score 92.0 \n",
            "epsilon:0.001035054239905873 step:2700 episode:101 last_score 92.0 \n",
            "epsilon:0.0009833015279105794 step:2705 episode:101 last_score 92.0 \n",
            "epsilon:0.0009833015279105794 step:2710 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2715 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2720 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2725 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2730 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2735 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2740 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2745 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2750 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2755 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2760 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2765 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2770 episode:102 last_score 61.0 \n",
            "epsilon:0.0009833015279105794 step:2775 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2780 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2785 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2790 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2795 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2800 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2805 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2810 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2815 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2820 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2825 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2830 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2835 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2840 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2845 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2850 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2855 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2860 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2865 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2870 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2875 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2880 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2885 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2890 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2895 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2900 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2905 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2910 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2915 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2920 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2925 episode:103 last_score 64.0 \n",
            "epsilon:0.0009833015279105794 step:2930 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2935 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2940 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2945 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2950 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2955 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2960 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2965 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2970 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2975 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2980 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2985 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2990 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:2995 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:3000 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:3005 episode:104 last_score 153.0 \n",
            "epsilon:0.0009833015279105794 step:3010 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3015 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3020 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3025 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3030 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3035 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3040 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3045 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3050 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3055 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3060 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3065 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3070 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3075 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3080 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3085 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3090 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3095 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3100 episode:105 last_score 82.0 \n",
            "epsilon:0.0009833015279105794 step:3105 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3110 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3115 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3120 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3125 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3130 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3135 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3140 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3145 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3150 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3155 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3160 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3165 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3170 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3175 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3180 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3185 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3190 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3195 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3200 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3205 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3210 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3215 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3220 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3225 episode:106 last_score 96.0 \n",
            "epsilon:0.0009833015279105794 step:3230 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3235 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3240 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3245 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3250 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3255 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3260 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3265 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3270 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3275 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3280 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3285 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3290 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3295 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3300 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3305 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3310 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3315 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3320 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3325 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3330 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3335 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3340 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3345 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3350 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3355 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3360 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3365 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3370 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3375 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3380 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3385 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3390 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3395 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3400 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3405 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3410 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3415 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3420 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3425 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3430 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3435 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3440 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3445 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3450 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3455 episode:107 last_score 121.0 \n",
            "epsilon:0.0009833015279105794 step:3460 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3465 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3470 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3475 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3480 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3485 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3490 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3495 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3500 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3505 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3510 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3515 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3520 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3525 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3530 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3535 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3540 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3545 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3550 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3555 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3560 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3565 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3570 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3575 episode:108 last_score 234.0 \n",
            "epsilon:0.0009833015279105794 step:3580 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3585 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3590 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3595 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3600 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3605 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3610 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3615 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3620 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3625 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3630 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3635 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3640 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3645 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3650 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3655 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3660 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3665 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3670 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3675 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3680 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3685 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3690 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3695 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3700 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3705 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3710 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3715 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3720 episode:109 last_score 118.0 \n",
            "epsilon:0.0009833015279105794 step:3725 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3730 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3735 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3740 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3745 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3750 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3755 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3760 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3765 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3770 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3775 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3780 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3785 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3790 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3795 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3800 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3805 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3810 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3815 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3820 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3825 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3830 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3835 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3840 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3845 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3850 episode:110 last_score 143.0 \n",
            "epsilon:0.0009833015279105794 step:3855 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3860 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3865 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3870 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3875 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3880 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3885 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3890 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3895 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3900 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3905 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3910 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3915 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3920 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3925 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3930 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3935 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3940 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3945 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3950 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3955 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3960 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3965 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3970 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3975 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3980 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3985 episode:111 last_score 131.0 \n",
            "epsilon:0.0009833015279105794 step:3990 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:3995 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4000 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4005 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4010 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4015 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4020 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4025 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4030 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4035 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4040 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4045 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4050 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4055 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4060 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4065 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4070 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4075 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4080 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4085 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4090 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4095 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4100 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4105 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4110 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4115 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4120 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4125 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4130 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4135 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4140 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4145 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4150 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4155 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4160 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4165 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4170 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4175 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4180 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4185 episode:112 last_score 137.0 \n",
            "epsilon:0.0009833015279105794 step:4190 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4195 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4200 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4205 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4210 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4215 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4220 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4225 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4230 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4235 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4240 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4245 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4250 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4255 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4260 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4265 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4270 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4275 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4280 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4285 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4290 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4295 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4300 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4305 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4310 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4315 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4320 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4325 episode:113 last_score 199.0 \n",
            "epsilon:0.0009833015279105794 step:4330 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4335 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4340 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4345 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4350 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4355 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4360 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4365 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4370 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4375 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4380 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4385 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4390 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4395 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4400 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4405 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4410 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4415 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4420 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4425 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4430 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4435 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4440 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4445 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4450 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4455 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4460 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4465 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4470 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4475 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4480 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4485 episode:114 last_score 139.0 \n",
            "epsilon:0.0009833015279105794 step:4490 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4495 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4500 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4505 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4510 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4515 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4520 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4525 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4530 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4535 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4540 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4545 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4550 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4555 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4560 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4565 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4570 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4575 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4580 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4585 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4590 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4595 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4600 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4605 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4610 episode:115 last_score 160.0 \n",
            "epsilon:0.0009833015279105794 step:4615 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4620 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4625 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4630 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4635 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4640 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4645 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4650 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4655 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4660 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4665 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4670 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4675 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4680 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4685 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4690 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4695 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4700 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4705 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4710 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4715 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4720 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4725 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4730 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4735 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4740 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4745 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4750 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4755 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4760 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4765 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4770 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4775 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4780 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4785 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4790 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4795 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4800 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4805 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4810 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4815 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4820 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4825 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4830 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4835 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4840 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4845 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4850 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4855 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4860 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4865 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4870 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4875 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4880 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4885 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4890 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4895 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4900 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4905 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4910 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4915 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4920 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4925 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4930 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4935 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4940 episode:116 last_score 125.0 \n",
            "epsilon:0.0009833015279105794 step:4945 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4950 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4955 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4960 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4965 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4970 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4975 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4980 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4985 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4990 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:4995 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5000 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5005 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5010 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5015 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5020 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5025 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5030 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5035 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5040 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5045 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5050 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5055 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5060 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5065 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5070 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5075 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5080 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5085 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5090 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5095 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5100 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5105 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5110 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5115 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5120 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5125 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5130 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5135 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5140 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5145 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5150 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5155 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5160 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5165 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5170 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5175 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5180 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5185 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5190 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5195 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5200 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5205 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5210 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5215 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5220 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5225 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5230 episode:117 last_score 330.0 \n",
            "epsilon:0.0009833015279105794 step:5235 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5240 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5245 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5250 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5255 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5260 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5265 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5270 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5275 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5280 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5285 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5290 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5295 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5300 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5305 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5310 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5315 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5320 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5325 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5330 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5335 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5340 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5345 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5350 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5355 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5360 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5365 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5370 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5375 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5380 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5385 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5390 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5395 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5400 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5405 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5410 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5415 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5420 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5425 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5430 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5435 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5440 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5445 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5450 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5455 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5460 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5465 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5470 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5475 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5480 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5485 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5490 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5495 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5500 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5505 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5510 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5515 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5520 episode:118 last_score 292.0 \n",
            "epsilon:0.0009833015279105794 step:5525 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5530 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5535 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5540 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5545 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5550 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5555 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5560 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5565 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5570 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5575 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5580 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5585 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5590 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5595 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5600 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5605 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5610 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5615 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5620 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5625 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5630 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5635 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5640 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5645 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5650 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5655 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5660 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5665 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5670 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5675 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5680 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5685 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5690 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5695 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5700 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5705 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5710 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5715 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5720 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5725 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5730 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5735 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5740 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5745 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5750 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5755 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5760 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5765 episode:119 last_score 288.0 \n",
            "epsilon:0.0009833015279105794 step:5770 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5775 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5780 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5785 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5790 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5795 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5800 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5805 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5810 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5815 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5820 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5825 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5830 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5835 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5840 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5845 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5850 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5855 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5860 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5865 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5870 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5875 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5880 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5885 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5890 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5895 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5900 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5905 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5910 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5915 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5920 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5925 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5930 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5935 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5940 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5945 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5950 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5955 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5960 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5965 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5970 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5975 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5980 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5985 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5990 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:5995 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:6000 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:6005 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:6010 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:6015 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:6020 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:6025 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:6030 episode:120 last_score 244.0 \n",
            "epsilon:0.0009833015279105794 step:6035 episode:120 last_score 244.0 \n"
          ]
        }
      ],
      "source": [
        "env = gym.make('CartPole-v1')\n",
        "\n",
        "model = DQN(env=env, replay_buffer_size=10_000, action_size=2)\n",
        "model.learn(total_steps=6_000)\n",
        "env.close()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 59,
      "metadata": {},
      "outputs": [],
      "source": [
        "model.save(\"./alt/DQN_v2.h5\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 60,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Model: \"sequential_38\"\n",
            "_________________________________________________________________\n",
            " Layer (type)                Output Shape              Param #   \n",
            "=================================================================\n",
            " dense_152 (Dense)           (None, 512)               2560      \n",
            "                                                                 \n",
            " dense_153 (Dense)           (None, 256)               131328    \n",
            "                                                                 \n",
            " dense_154 (Dense)           (None, 128)               32896     \n",
            "                                                                 \n",
            " dense_155 (Dense)           (None, 2)                 258       \n",
            "                                                                 \n",
            "=================================================================\n",
            "Total params: 167,042\n",
            "Trainable params: 167,042\n",
            "Non-trainable params: 0\n",
            "_________________________________________________________________\n",
            "Total reward 439.0\n"
          ]
        }
      ],
      "source": [
        "eval_env = gym.make('CartPole-v1')\n",
        "model = DQN(env=eval_env, replay_buffer_size=10_000, action_size=2)\n",
        "model.load(\"./alt/DQN_v2.h5\")\n",
        "eval_env = wrappers.Monitor(eval_env, \"./alt/gym-results\", force=True)\n",
        "state = eval_env.reset()\n",
        "total_reward = 0\n",
        "for _ in range(1000):\n",
        "    action = model.play(state)\n",
        "    observation, reward, done, info = eval_env.step(action)\n",
        "    total_reward +=reward\n",
        "    state = observation\n",
        "    if done: \n",
        "        break\n",
        "print(f\"Total reward {total_reward}\")\n",
        "eval_env.close()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[[ 4.8000002e+00  0.0000000e+00  4.1887903e-01  0.0000000e+00]\n",
            " [-4.8000002e+00  0.0000000e+00 -4.1887903e-01  0.0000000e+00]\n",
            " [-4.5489166e-03 -2.4116948e-01 -4.1077949e-02  3.0230245e-01]\n",
            " ...\n",
            " [ 5.0607350e-02  1.7593256e-01 -8.8660561e-02 -4.2944443e-01]\n",
            " [ 5.4126002e-02  3.7219086e-01 -9.7249448e-02 -7.4870765e-01]\n",
            " [ 6.1569817e-02  5.6851023e-01 -1.1222360e-01 -1.0703416e+00]]\n",
            "Max  [4.8        2.2215695  0.41887903 2.1663814 ]\n",
            "Min  [-4.8        -1.4063605  -0.41887903 -2.5751066 ]\n",
            "[ 0.0172858   0.00332159 -0.03439883  0.01944862]\n",
            "[0.5018006  0.38856372 0.45893943 0.54720277]\n"
          ]
        }
      ],
      "source": [
        "\n",
        "# def _min_max(env):\n",
        "#     \"\"\"Run some steps to get data to do MINMAX scale \"\"\"\n",
        "#     state_arr = []\n",
        "#     state_arr.append(env.observation_space.high)\n",
        "#     state_arr[0][1], state_arr[0][3] = 0,0\n",
        "#     state_arr.append(env.observation_space.low)\n",
        "#     state_arr[1][1], state_arr[1][3] = 0,0\n",
        "#     state = env.reset()\n",
        "#     for i in range(1000):\n",
        "#         random_action = env.action_space.sample()\n",
        "#         next_state, reward, done, info = env.step(random_action)\n",
        "#         state_arr.append(next_state)\n",
        "#         if done:\n",
        "#             state = env.reset()\n",
        "\n",
        "#     state_arr = np.array(state_arr)\n",
        "\n",
        "#     print(state_arr)\n",
        "#     scaler = MinMaxScaler()\n",
        "#     scaler.fit(state_arr)\n",
        "#     print(\"Max \",scaler.data_max_)\n",
        "#     print(\"Min \", scaler.data_min_)\n",
        "#     return scaler\n",
        "\n",
        "# env = gym.make('CartPole-v1')\n",
        "# scaler = _min_max(env)\n",
        "# state = env.reset()\n",
        "# print(state)\n",
        "# state =  scaler.transform(state.reshape(1, -1)).flatten()\n",
        "# print(state)\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": []
    }
  ],
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3.8.13 ('rl2')",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.8.13"
    },
    "orig_nbformat": 4,
    "vscode": {
      "interpreter": {
        "hash": "cd60ab8388a66026f336166410d6a8a46ddf65ece2e85ad2d46c8b98d87580d1"
      }
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "01a2dbcb714e40148b41c761fcf43147": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "20b0f38ec3234ff28a62a286cd57b933": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "PasswordModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "PasswordModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "PasswordView",
            "continuous_update": true,
            "description": "Token:",
            "description_tooltip": null,
            "disabled": false,
            "layout": "IPY_MODEL_01a2dbcb714e40148b41c761fcf43147",
            "placeholder": "​",
            "style": "IPY_MODEL_90c874e91b304ee1a7ef147767ac00ce",
            "value": ""
          }
        },
        "270cbb5d6e9c4b1e9e2f39c8b3b0c15f": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "VBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "VBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "VBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_a02224a43d8d4af3bd31d326540d25da",
              "IPY_MODEL_20b0f38ec3234ff28a62a286cd57b933",
              "IPY_MODEL_f6c845330d6743c0b35c2c7ad834de77",
              "IPY_MODEL_f1675c09d16a4251b403f9c56255f168",
              "IPY_MODEL_c1a82965ae26479a98e4fdbde1e64ec2"
            ],
            "layout": "IPY_MODEL_3fa248114ac24656ba74923936a94d2d"
          }
        },
        "2dc5fa9aa3334dfcbdee9c238f2ef60b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "3e753b0212644990b558c68853ff2041": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3fa248114ac24656ba74923936a94d2d": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": "center",
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": "flex",
            "flex": null,
            "flex_flow": "column",
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": "50%"
          }
        },
        "42d140b838b844819bc127afc1b7bc84": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "90c874e91b304ee1a7ef147767ac00ce": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "9d847f9a7d47458d8cd57d9b599e47c6": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a02224a43d8d4af3bd31d326540d25da": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_caef095934ec47bbb8b64eab22049284",
            "placeholder": "​",
            "style": "IPY_MODEL_2dc5fa9aa3334dfcbdee9c238f2ef60b",
            "value": "<center> <img\nsrc=https://huggingface.co/front/assets/huggingface_logo-noborder.svg\nalt='Hugging Face'> <br> Copy a token from <a\nhref=\"https://huggingface.co/settings/tokens\" target=\"_blank\">your Hugging Face\ntokens page</a> and paste it below. <br> Immediately click login after copying\nyour token or it might be stored in plain text in this notebook file. </center>"
          }
        },
        "a2cfb91cf66447d7899292854bd64a07": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c1a82965ae26479a98e4fdbde1e64ec2": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9d847f9a7d47458d8cd57d9b599e47c6",
            "placeholder": "​",
            "style": "IPY_MODEL_42d140b838b844819bc127afc1b7bc84",
            "value": "\n<b>Pro Tip:</b> If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks. </center>"
          }
        },
        "caef095934ec47bbb8b64eab22049284": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "eaba3f1de4444aabadfea2a3dadb1d80": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ee4a21bedc504171ad09d205d634b528": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ButtonStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ButtonStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "button_color": null,
            "font_weight": ""
          }
        },
        "f1675c09d16a4251b403f9c56255f168": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ButtonModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ButtonModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ButtonView",
            "button_style": "",
            "description": "Login",
            "disabled": false,
            "icon": "",
            "layout": "IPY_MODEL_a2cfb91cf66447d7899292854bd64a07",
            "style": "IPY_MODEL_ee4a21bedc504171ad09d205d634b528",
            "tooltip": ""
          }
        },
        "f6c845330d6743c0b35c2c7ad834de77": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "CheckboxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "CheckboxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "CheckboxView",
            "description": "Add token as git credential?",
            "description_tooltip": null,
            "disabled": false,
            "indent": true,
            "layout": "IPY_MODEL_3e753b0212644990b558c68853ff2041",
            "style": "IPY_MODEL_eaba3f1de4444aabadfea2a3dadb1d80",
            "value": true
          }
        }
      }
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}