-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBlankenshipBlairReviewandFix.nb
More file actions
2774 lines (2736 loc) · 146 KB
/
Copy pathBlankenshipBlairReviewandFix.nb
File metadata and controls
2774 lines (2736 loc) · 146 KB
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
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 10.0' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 147001, 2765]
NotebookOptionsPosition[ 144999, 2702]
NotebookOutlinePosition[ 145345, 2717]
CellTagsIndexPosition[ 145302, 2714]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[CellGroupData[{
Cell["Fix", "Subsection",
CellChangeTimes->{{3.63268386058138*^9, 3.63268386860254*^9}}],
Cell["\<\
In the evaluateBottom function, replace the EvenA with oddQ (see code below) \
for determining the value of the turnInTree variable - with the understanding \
that the AI has value 2\
\>", "Text",
CellChangeTimes->{{3.632683776308693*^9, 3.63268385559128*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"(*",
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{"EvenQ", "[", "AIdepth", "]"}], ",",
RowBox[{"turnInTree", " ", "=", " ", "2"}], ",",
RowBox[{"turnInTree", " ", "=", "1"}]}], "]"}], ";"}],
RowBox[{"(*",
RowBox[{
"whose", " ", "turn", " ", "it", " ", "is", " ", "is", " ", "tree"}],
"*)"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{"uzi", " ", "changed"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{"OddQ", "[", "AIdepth", "]"}], ",",
RowBox[{"turnInTree", " ", "=", " ", "2"}], ",",
RowBox[{"turnInTree", " ", "=", "1"}]}], "]"}], ";",
RowBox[{"(*",
RowBox[{
"whose", " ", "turn", " ", "it", " ", "is", " ", "is", " ", "tree"}],
"*)"}], "\[IndentingNewLine]"}]}]], "Input",
CellChangeTimes->{{3.6326837086073384`*^9, 3.632683711938405*^9}}]
}, Closed]],
Cell[CellGroupData[{
Cell["Reasoning", "Subsection",
CellChangeTimes->{{3.63268386058138*^9, 3.6326838756936817`*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"(*", " ",
RowBox[{
RowBox[{"statements", " ", "from", " ",
RowBox[{"hardAI", "[", "]"}], " ", "to", " ", "create", " ", "the", " ",
"tree"}], ";", " ",
RowBox[{
"values", " ", "were", " ", "from", " ", "printing", " ", "the", " ",
"values", " ", "of", " ", "curBoard", " ", "and", " ", "the", " ",
"isP1turnAI"}]}], " ", "*)"}], " ",
RowBox[{
RowBox[{"curBoard", " ", "=", " ",
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{
"4", ",", "4", ",", "4", ",", "4", ",", "4", ",", "0", ",", "1"}],
"}"}], ",",
RowBox[{"{",
RowBox[{
"5", ",", "5", ",", "5", ",", "4", ",", "4", ",", "4", ",", "0"}],
"}"}]}], "}"}], ",",
RowBox[{"{", "}"}]}], "}"}]}], ";",
RowBox[{"(*",
RowBox[{
"puts", " ", "the", " ", "list", " ", "into", " ", "board", " ",
"format"}], "*)"}], "\[IndentingNewLine]"}]}]], "Input",
CellChangeTimes->{{3.632683879794764*^9, 3.632683933213833*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"layerOne", " ", "=", " ",
RowBox[{"{", "curBoard", "}"}]}], ";",
RowBox[{"(*",
RowBox[{"puts", " ", "board", " ", "into", " ", "layer", " ", "format"}],
"*)"}], "\[IndentingNewLine]"}]], "Input"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"isP1turnAI", "=", " ", "False"}]], "Input",
CellChangeTimes->{{3.6326828128599987`*^9, 3.6326828143300133`*^9}, {
3.6326828467463384`*^9, 3.6326828493563643`*^9}}],
Cell[BoxData["False"], "Output",
CellChangeTimes->{3.632682815361024*^9, 3.6326828518263893`*^9,
3.6326844558599863`*^9, 3.6326847024269857`*^9}]
}, Open ]],
Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{"tree", " ", "=",
RowBox[{"doAllLayers", "[",
RowBox[{"layerOne", ",", "AIdepth"}], "]"}]}], ";"}],
RowBox[{"(*",
RowBox[{
"generates", " ", "all", " ", "layers", " ", "from", " ", "layerOne", " ",
"to", " ", "the", " ", "depth", " ", "of", " ", "AIdepth"}], "*)"}],
"\[IndentingNewLine]"}]], "Input",
CellChangeTimes->{{3.632681917239031*^9, 3.6326819191600504`*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{"(*", " ",
RowBox[{
RowBox[{
"this", " ", "is", " ", "the", " ", "tree", " ", "after", " ",
"generation"}], " ", "-", " ",
RowBox[{
"top", " ", "level", " ", "moves", " ", "are", " ", "made", " ", "by",
" ", "AI", " ", "as", " ", "inspection", " ", "shows"}]}], "*)"}],
"\[IndentingNewLine]",
RowBox[{"TableForm", "[",
RowBox[{"Table", "[",
RowBox[{
RowBox[{"tree", "[",
RowBox[{"[", "i", "]"}], "]"}], ",", " ",
RowBox[{"{",
RowBox[{"i", ",", " ", "1", ",", " ", "15"}], "}"}]}], "]"}],
"]"}]}]], "Input",
CellChangeTimes->{{3.632681780099658*^9, 3.6326818291871495`*^9}, {
3.6326821851217136`*^9, 3.6326821852117147`*^9}, {3.6326822488413515`*^9,
3.6326822720545835`*^9}, {3.6326823376242404`*^9, 3.6326823467653317`*^9}, {
3.6326824756246223`*^9, 3.6326825432262993`*^9}, {3.6326836373359127`*^9,
3.6326836457870817`*^9}, {3.632683961598401*^9, 3.6326839693695564`*^9}}],
Cell[BoxData[
InterpretationBox[GridBox[{
{GridBox[{
{"4", "4", "4", "4", "4", "0", "1"},
{"0", "6", "6", "5", "5", "5", "0"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"4", "4", "4", "4", "4", "0", "1"},
{"5", "0", "6", "5", "5", "5", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"2"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"5", "4", "4", "4", "4", "0", "1"},
{"5", "5", "0", "5", "5", "5", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"3"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"5", "4", "4", "4", "4", "0", "1"},
{"5", "5", "5", "0", "5", "5", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"4"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"5", "5", "4", "4", "4", "0", "1"},
{"5", "5", "5", "4", "0", "5", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"5"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"5", "5", "5", "4", "4", "0", "1"},
{"5", "5", "5", "4", "4", "0", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"6"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"0", "5", "5", "5", "5", "0", "1"},
{"0", "6", "6", "5", "5", "5", "0"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"1"},
{"1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"4", "0", "5", "5", "5", "0", "2"},
{"0", "6", "6", "5", "5", "5", "0"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"1"},
{"2"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"4", "4", "0", "5", "5", "1", "2"},
{"0", "6", "6", "5", "5", "5", "0"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"1"},
{"3"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"4", "4", "4", "0", "5", "1", "2"},
{"1", "6", "6", "5", "5", "5", "0"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"1"},
{"4"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"4", "4", "4", "4", "0", "1", "2"},
{"1", "7", "6", "5", "5", "5", "0"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"1"},
{"5"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"0", "5", "5", "5", "5", "0", "1"},
{"5", "0", "6", "5", "5", "5", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"2"},
{"1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"4", "0", "5", "5", "5", "0", "7"},
{"0", "0", "6", "5", "5", "5", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"2"},
{"2"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"4", "4", "0", "5", "5", "1", "2"},
{"5", "0", "6", "5", "5", "5", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"2"},
{"3"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]},
{GridBox[{
{"4", "4", "4", "0", "5", "1", "2"},
{"6", "0", "6", "5", "5", "5", "1"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}], GridBox[{
{"2"},
{"4"}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.1]},
Offset[0.2]}, "RowsIndexed" -> {}}]}
},
GridBoxAlignment->{
"Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[2.0999999999999996`]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.4]},
Offset[0.2]}, "RowsIndexed" -> {}}],
TableForm[{{{{4, 4, 4, 4, 4, 0, 1}, {0, 6, 6, 5, 5, 5, 0}}, {1}}, {{{4, 4,
4, 4, 4, 0, 1}, {5, 0, 6, 5, 5, 5, 1}}, {2}}, {{{5, 4, 4, 4, 4, 0, 1}, {
5, 5, 0, 5, 5, 5, 1}}, {3}}, {{{5, 4, 4, 4, 4, 0, 1}, {5, 5, 5, 0, 5, 5,
1}}, {4}}, {{{5, 5, 4, 4, 4, 0, 1}, {5, 5, 5, 4, 0, 5, 1}}, {5}}, {{{5,
5, 5, 4, 4, 0, 1}, {5, 5, 5, 4, 4, 0, 1}}, {6}}, {{{0, 5, 5, 5, 5, 0,
1}, {0, 6, 6, 5, 5, 5, 0}}, {1, 1}}, {{{4, 0, 5, 5, 5, 0, 2}, {0, 6, 6,
5, 5, 5, 0}}, {1, 2}}, {{{4, 4, 0, 5, 5, 1, 2}, {0, 6, 6, 5, 5, 5, 0}}, {
1, 3}}, {{{4, 4, 4, 0, 5, 1, 2}, {1, 6, 6, 5, 5, 5, 0}}, {1, 4}}, {{{4,
4, 4, 4, 0, 1, 2}, {1, 7, 6, 5, 5, 5, 0}}, {1, 5}}, {{{0, 5, 5, 5, 5, 0,
1}, {5, 0, 6, 5, 5, 5, 1}}, {2, 1}}, {{{4, 0, 5, 5, 5, 0, 7}, {0, 0, 6,
5, 5, 5, 1}}, {2, 2}}, {{{4, 4, 0, 5, 5, 1, 2}, {5, 0, 6, 5, 5, 5, 1}}, {
2, 3}}, {{{4, 4, 4, 0, 5, 1, 2}, {6, 0, 6, 5, 5, 5, 1}}, {2,
4}}}]]], "Output",
CellChangeTimes->{
3.632682185901721*^9, 3.6326822727245903`*^9, 3.63268234861635*^9, {
3.632682488196748*^9, 3.632682543846305*^9}, 3.632682912755999*^9}]
}, Open ]],
Cell[BoxData[
RowBox[{
RowBox[{"bottomLeaves", " ", "=", " ",
RowBox[{"Select", "[",
RowBox[{"tree", ",",
RowBox[{
RowBox[{
RowBox[{"Length", "[",
RowBox[{"#", "[",
RowBox[{"[", "2", "]"}], "]"}], "]"}], " ", "\[Equal]", "AIdepth"}],
"&"}]}], "]"}]}], "\[IndentingNewLine]"}]], "Input",
CellChangeTimes->{3.6326830233341064`*^9}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{"(*", " ",
RowBox[{
RowBox[{
RowBox[{
"bottom", " ", "level", " ", "moves", " ", "are", " ", "the", " ", "5",
"th", " ", "move"}], " ", "-", " ",
RowBox[{
"and", " ", "since", " ", "the", " ", "AI", " ", "makes", " ", "the",
" ", "first", " ", "the", " ", "Ai", " ", "makes", " ", "the", " ",
"last"}]}], " ", "\[IndentingNewLine]", "\[Equal]", ">", " ",
RowBox[{
"the", " ", "turnInTree", " ", "at", " ", "the", " ", "bottom", " ",
"should", " ", "be", " ", "for", " ", "2", " ", "which", " ", "is", " ",
"the", " ", "AI"}]}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{"bottomLeaves", "[",
RowBox[{"[", "1", "]"}], "]"}]}]], "Input",
CellChangeTimes->{{3.632683312159999*^9, 3.6326833162110395`*^9}, {
3.6326836665804977`*^9, 3.6326836883649335`*^9}, {3.6326837469541063`*^9,
3.6326837618764043`*^9}}],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{
"1", ",", "7", ",", "6", ",", "5", ",", "5", ",", "0", ",", "1"}],
"}"}], ",",
RowBox[{"{",
RowBox[{
"0", ",", "0", ",", "0", ",", "7", ",", "7", ",", "7", ",", "2"}],
"}"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"1", ",", "1", ",", "2", ",", "1", ",", "3"}], "}"}]}],
"}"}]], "Output",
CellChangeTimes->{3.6326833167610445`*^9}]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["Result", "Subsection",
CellChangeTimes->{{3.632684123705124*^9, 3.632684128996177*^9}}],
Cell[CellGroupData[{
Cell["\<\
Below is what happens in the original version. When I empty the rightmost \
pit, setting myself up for a capture of 5 stones (in the \
AI\[CloseCurlyQuote]s pit opposite my rightmost pit), the AI responds does \
not keep that from happening. The nextMoveValues show that the one it picks \
has the highest value (well that one and the next one)\
\>", "Text",
CellGroupingRules->{GroupTogetherGrouping, 10000.},
CellChangeTimes->{{3.632684248917379*^9, 3.632684376488656*^9}, {
3.6326847310519857`*^9, 3.6326847478739862`*^9}, {3.6326847812689857`*^9,
3.632684806531986*^9}, {3.632684872060986*^9, 3.6326849012759857`*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"nextMoveValues", " ", "=",
RowBox[{"allLayerValues", "[",
RowBox[{"tree", ",", "AIdepth"}], "]"}]}], ";",
RowBox[{"(*",
RowBox[{
"brings", " ", "game", " ", "values", " ", "from", " ", "bottom", " ",
"boards", " ", "to", " ", "top", " ", "boards"}], "*)"}],
"\[IndentingNewLine]"}]], "Input",
CellGroupingRules->{GroupTogetherGrouping, 10000.},
CellChangeTimes->{3.632684872060986*^9}],
Cell[BoxData["nextMoveValues"], "Input",
CellGroupingRules->{GroupTogetherGrouping, 10000.},
CellChangeTimes->{{3.632684573388986*^9, 3.632684577278986*^9},
3.632684872060986*^9}],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{"25", ",",
RowBox[{"{", "1", "}"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"25", ",",
RowBox[{"{", "2", "}"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"26", ",",
RowBox[{"{", "3", "}"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"26", ",",
RowBox[{"{", "4", "}"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"25", ",",
RowBox[{"{", "5", "}"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"24", ",",
RowBox[{"{", "6", "}"}]}], "}"}]}], "}"}]], "Output",
CellGroupingRules->{GroupTogetherGrouping, 10000.},
CellChangeTimes->{3.632684577889986*^9, 3.632684731871986*^9,
3.632684872060986*^9}],
Cell[BoxData[
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJzsvWdUW+maqEnNzI+ZTieH7r7dfe/te3v63rlrwq9ZM3/mnNPn9Olb51SV
XbbLLmdjg03OIiOyRJIQEkECIZCEspAAiSSUEAiEhETOydjGOZbtcqrueb9v
bwkRDRjK7tPFetZeYmuzFXj31vvofb9v/4fAqM+D/4eAgIC4/xkWn19I/GVs
7IXkI/8T/PKr5PigwP8RbmR+FBBwGtag2z/42V/96Q9+8mc//On3fvQz4Ps/
/vkPfvLnP/zpX/zoZ8Bf/vjn/+4nf/5XP/2LvwZ+9pd/QwK3MT8l+SvEnxPA
9hv4+Vv5yz3w458h4Hn+8Kd//oOfwNP++fd/DC/hp9/74U/+7AeIP/3+j//k
ez8i+OM/+6GXHwB/tA1/uo7vf5Dg57bmmf/wj1Zf4w//+Hte/Fb+EclWr/fD
eS0/wP+mH27Nrv6J7/2f9T75X7blvT+9f4XsNlx3Hqvv/aV9x3d8xwfHv+0T
+MaUbAu2P82+jT9eZZvEwy+zegs/WsefbMX3d86P38qfbsoPgJ/sNz/egn1/
oA2P6/fSyHeGfDN/+Ceree8P9gZI0J/96OeDo9P/8t3Pdz/f/Xz3893Pdz/f
/Xz3893Pdz/f/Xz382/sp6ndBG71/Z/+JdwOy+HSeCpxs7WhxSrRdUv1Npne
Jm/tUQBtqyjR0qZo7ZbrrTKdWdZilgLNRonW0KDtFGs6RI3tInW7UN0G1Kta
61X6eqW+XuFDVy/30QLUyVsEgMyf5nXUrqeJWPKlzTVStORLmqolzTxJE7dB
yxU3VYm1lWJNhUhTLmzkCBvZ9YCqrE5VJlCxapUIvpLJVzBr5MxqOaNaxuBJ
gWKepJjbABRViQuBSlFBBYJeLqRz6mnsOhpbQCsT5JfVAnms2tzSmhw/spnV
QBaDR0AtwRRzEUXcjKIqIK2gMr2wEpap9IpUenkKJpnGScpnJ+YRlFFyWZQc
VkIOKz67NC6rNDaTiWHEUBHRiJIoIIMRRWVGUUsRmSwgOqssOosdlcVBZAPl
kVkcIILKjqCWhVPLQjNKQ9OZV1JLLqcUBycWBlEKLiXQAuPzL8Tlno/JPhed
dSYy80wk9XRExqnw9FNhaSdD074MTTkRknLiSjJw/EryF5eTCI4FJxIcDaIQ
HPHnEuLzSwkkFxGHL8YDhwIx6NeEw+heCgL9VdKR4OSjl1OOXUn9IiTteFjG
8XDqiQgg88vILEzmCSCCgAr3Al+EZXwRmnEsNP1YSNrRK0DqkcspsJ8jwUmf
BwGJhy9RAHi4Q4EJnwXGf3Yh7tPzQCzwybmY/SPaj33c7W4e9+xb+P0Gttx4
zQt5+543+6s/KIiAgeD5DEUvxK1fxF5JhdiDIDweRvVFrF+g+scq1Rur6Wtj
NXnLWL3gi9X9DdcPhB2H1r+BGPuOf4XEbs2+7H/9uX3LE/jmB8WujqmDPaw+
RcApFJ9F/TgUSEAkBgmHCS56MwciPcAQqcXRoEQEJB7BScCx4ORjl5OPQWZy
JeU4QUjqiVDEl2HpwMmw9FPhGYgI6ulIEkhyzkRlnY3OOhedfS4m+0JszoXY
3MA4IP9SAiKIQgeCEwuAy8kFV5KLQlOKgbC0krA0RkQ6IyKDGUktjaSyoqiQ
d6HUKyabE5fLic8tj8+voNAqEXRuIp2bROcmF/BSinipRdVpxTXpDD6VUUtl
CqildZms+iyWMLtMlMMW5XJEeRxxXrk4v7yBViGhV2KqpEABV17IQxTxlEBx
tbKkBsHgqwAmX82sVZcKGllAXWNZvQZgC7VsEaJc1FwuBloqxLqKBl1lg65K
oufKWnnydp68g6foqFZ0VisNNZhqZWeNEn4l1rfjbdr8aPWyurJa3uqlja8A
2vlKoAOoVXaSqDoFKgNC3YVoNNb5INYAxAYq4k+IP9+Id4fkr+0CZXutsq1W
Aej5Ml2NVMcDC2ho4oEFiDRcUWOVUAVUkig3oKryAxJvyHJBhf7sBz/54c//
Gm7Qa3XKzgG1wdnY5dIYXRrToNbsbrZ4gBarR9eN0CPcOqtbZ3G1mJ3NpoEm
o0Pb1a/ptGs6exo7bOq2blWrVdlqUbaaFToTIG8xylu65M1dsuYu6RoM0iYf
nSTaTqlmHR3+SBCdEnwX3G7QdIgRnSJNh1DdUa9uB+rUHbUqeK/aa9C/rK0a
AkDaypXoqyS6CnELhAdH1IQCRqiF4GHVo0Bi1alLa1WltSBKSmaNglGtKKmW
l/BkRTxpEVcCflRQKaIjOUJ+ROPU55fVEeSyBEAOqxZRygeyS/lZzBogk1EN
UEsIeBnFmCJeehE3vZCbVliVWlCZQkck0ysIEmnllHwOJY+NyC2LzymLz2bF
ZbNis0hiMhHRXmKy2XAkxuSUx+ZWxORVxeVz42i8OHoNhk8QS6+JpdVE02qi
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