Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet
Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet
120 Bilag A 633 b [ c −1][ r −1] = 2 ; 634 } 635 } 636 i f ( c > 1) { 637 i f ( fb [ c −2][ r ] == 0) { 638 i n t [ ] r e ; 639 b [ c −1][ r ] = 1 ; 640 b [ c −2][ r ] = 0 ; 641 r e = placePieceMin ( b , d , n , c −1, r , c −2, r , alpha , beta ) ; 642 alpha = r e [ 1 ] ; 643 beta = r e [ 2 ] ; 644 i f ( r e [ 0 ] == 1) { 645 b [ c −1][ r ] = 2 ; 646 b [ c −2][ r ] = 2 ; 647 r e t u r n ( r e [ 3 ] ) ; 648 } 649 b [ c −1][ r ] = 0 ; 650 b [ c −2][ r ] = 1 ; 651 r e = placePieceMin ( b , d , n , c −2, r , c −1, r , alpha , beta ) ; 652 alpha = r e [ 1 ] ; 653 beta = r e [ 2 ] ; 654 i f ( r e [ 0 ] == 1) { 655 b [ c −1][ r ] = 2 ; 656 b [ c −2][ r ] = 2 ; 657 r e t u r n ( r e [ 3 ] ) ; 658 } 659 b [ c −1][ r ] = 2 ; 660 b [ c −2][ r ] = 2 ; 661 } 662 } 663 } 664 } 665 // syd 666 i f ( r < tModel . noRows−1){ 667 i f ( fb [ c ] [ r +1] == 0) { 668 i f ( c < tModel . noCols −1){ 669 i f ( fb [ c +1][ r +1] == 0) { 670 i n t [ ] r e ; 671 b [ c ] [ r +1] = 1 ; 672 b [ c +1][ r +1] = 0 ; 673 r e = placePieceMin ( b , d , n , c , r +1, c +1, r +1, alpha , beta ) ; 674 alpha = r e [ 1 ] ; 675 beta = r e [ 2 ] ; 676 i f ( r e [ 0 ] == 1) { 677 b [ c ] [ r +1] = 2 ; 678 b [ c +1][ r +1] = 2 ; 679 r e t u r n ( r e [ 3 ] ) ; 680 } 681 b [ c ] [ r +1] = 0 ;
A.2 AITaijiGrowth.java 121 682 b [ c +1][ r +1] = 1 ; 683 r e = placePieceMin ( b , d , n , c +1, r +1, c , r +1, alpha , beta ) ; 684 alpha = r e [ 1 ] ; 685 beta = r e [ 2 ] ; 686 i f ( r e [ 0 ] == 1) { 687 b [ c ] [ r +1] = 2 ; 688 b [ c +1][ r +1] = 2 ; 689 r e t u r n ( r e [ 3 ] ) ; 690 } 691 b [ c ] [ r +1] = 2 ; 692 b [ c +1][ r +1] = 2 ; 693 } 694 } 695 i f ( c > 0) { 696 i f ( fb [ c −1][ r +1] == 0) { 697 i n t [ ] r e ; 698 b [ c ] [ r +1] = 1 ; 699 b [ c −1][ r +1] = 0 ; 700 r e = placePieceMin ( b , d , n , c , r +1, c −1, r +1, alpha , beta ) ; 701 alpha = r e [ 1 ] ; 702 beta = r e [ 2 ] ; 703 i f ( r e [ 0 ] == 1) { 704 b [ c ] [ r +1] = 2 ; 705 b [ c −1][ r +1] = 2 ; 706 r e t u r n ( r e [ 3 ] ) ; 707 } 708 b [ c ] [ r +1] = 0 ; 709 b [ c −1][ r +1] = 1 ; 710 r e = placePieceMin ( b , d , n , c −1, r +1, c , r +1, alpha , beta ) ; 711 alpha = r e [ 1 ] ; 712 beta = r e [ 2 ] ; 713 i f ( r e [ 0 ] == 1) { 714 b [ c ] [ r +1] = 2 ; 715 b [ c −1][ r +1] = 2 ; 716 r e t u r n ( r e [ 3 ] ) ; 717 } 718 b [ c ] [ r +1] = 2 ; 719 b [ c −1][ r +1] = 2 ; 720 } 721 } 722 i f ( r < tModel . noRows−2){ 723 i f ( fb [ c ] [ r +2] == 0) { 724 i n t [ ] r e ; 725 b [ c ] [ r +1] = 1 ; 726 b [ c ] [ r +2] = 0 ; 727 r e = placePieceMin ( b , d , n , c , r +1, c , r +2, alpha , beta ) ; 728 alpha = r e [ 1 ] ;
- Page 80 and 81: 70 Optimering af Minimax
- Page 82 and 83: 72 Begrænsning af antallet af unde
- Page 84 and 85: 74 Begrænsning af antallet af unde
- Page 86 and 87: 76 Begrænsning af antallet af unde
- Page 88 and 89: 78 Test og sammenligning af de impl
- Page 90 and 91: 80 Test og sammenligning af de impl
- Page 92 and 93: 82 Test og sammenligning af de impl
- Page 94 and 95: 84 Test og sammenligning af de impl
- Page 96 and 97: 86 Test og sammenligning af de impl
- Page 98 and 99: 88 Test og sammenligning af de impl
- Page 100 and 101: 90 Test og sammenligning af de impl
- Page 102 and 103: 92 Konklusion selv n˚a igennem et
- Page 104 and 105: 94 Konklusion
- Page 106 and 107: 96 Bilag A 19 20 // i n i t i a l i
- Page 108 and 109: 98 Bilag A 120 nodes [ p [ 0 ] ] [
- Page 110 and 111: 100 Bilag A 218 i f ( n . a > beta
- Page 112 and 113: 102 Bilag A 319 p [2]= nodes [ p [
- Page 114 and 115: 104 Bilag A 419 420 421 422 423 424
- Page 116 and 117: 106 Bilag A 517 n . wr = tModel . n
- Page 118 and 119: 108 Bilag A 61 } 62 } 63 64 // c h
- Page 120 and 121: 110 Bilag A 155 b [ c +1][ r −1]
- Page 122 and 123: 112 Bilag A 251 b [ c −1][ r −1
- Page 124 and 125: 114 Bilag A 347 r e = placePieceMax
- Page 126 and 127: 116 Bilag A 443 r e = placePieceMax
- Page 128 and 129: 118 Bilag A 537 b [ c +1][ r −1]
- Page 132 and 133: 122 Bilag A 729 beta = r e [ 2 ] ;
- Page 134 and 135: 124 Bilag A 825 beta = r e [ 2 ] ;
- Page 136 and 137: 126 Bilag A 916 i f ( n . a > v ) 9
- Page 138 and 139: 128 Bilag A 997 Root . wc=0; // tMo
- Page 140 and 141: 130 Bilag A 1097 n . bc = tModel .
- Page 142 and 143: 132 Bilag A 93 i f ( rowEnd >= tMod
- Page 144 and 145: 134 Bilag A 192 alpha = n . a ; 193
- Page 146 and 147: 136 Bilag A 291 } 292 293 // Min−
- Page 148 and 149: 138 Bilag A 391 n . c h i l d r e n
- Page 150 and 151: 140 Bilag A 493 i f ( Root . c h i
- Page 152 and 153: 142 Bilag A 593 r e t u r n ( n ) ;
- Page 154 and 155: 144 Bilag A 90 b [ c ] [ r ] = 0 ;
- Page 156 and 157: 146 Bilag A 185 // System . out . p
- Page 158 and 159: 148 Bilag A 280 } 281 282 // f l y
- Page 160 and 161: 150 Bilag A 377 // i f ( tTree . ma
- Page 162 and 163: 152 Bilag A 481 } 482 r e t u r n (
- Page 164 and 165: 154 Bilag A 532 // System . out . p
- Page 166 and 167: 156 Bilag A 33 p u b l i c i n t [
- Page 168 and 169: 158 Bilag A 137 f o r ( i n t r =0;
- Page 170 and 171: 160 Bilag A 245 f o r ( i n t r =0;
- Page 172 and 173: 162 Bilag A 353 break ; 354 } 355 i
- Page 174 and 175: 164 Bilag A 94 } 95 { // H o r i s
- Page 176 and 177: 166 Bilag A 198 p r i v a t e void
- Page 178 and 179: 168 Bilag A 303 f [ 1 ] [ 0 ] [ 1 ]
A.2 AI<strong>Taiji</strong>Growth.java 121<br />
682 b [ c +1][ r +1] = 1 ;<br />
683 r e = placePieceMin ( b , d , n ,<br />
c +1, r +1, c , r +1,<br />
alpha , beta ) ;<br />
684 alpha = r e [ 1 ] ;<br />
685 beta = r e [ 2 ] ;<br />
686 i f ( r e [ 0 ] == 1) {<br />
687 b [ c ] [ r +1] = 2 ;<br />
688 b [ c +1][ r +1] = 2 ;<br />
689 r e t u r n ( r e [ 3 ] ) ;<br />
690 }<br />
691 b [ c ] [ r +1] = 2 ;<br />
692 b [ c +1][ r +1] = 2 ;<br />
693 }<br />
694 }<br />
695 i f ( c > 0) {<br />
696 i f ( fb [ c −1][ r +1] == 0) {<br />
697 i n t [ ] r e ;<br />
698 b [ c ] [ r +1] = 1 ;<br />
699 b [ c −1][ r +1] = 0 ;<br />
700 r e = placePieceMin ( b , d , n ,<br />
c , r +1, c −1, r +1,<br />
alpha , beta ) ;<br />
701 alpha = r e [ 1 ] ;<br />
702 beta = r e [ 2 ] ;<br />
703 i f ( r e [ 0 ] == 1) {<br />
704 b [ c ] [ r +1] = 2 ;<br />
705 b [ c −1][ r +1] = 2 ;<br />
706 r e t u r n ( r e [ 3 ] ) ;<br />
707 }<br />
708 b [ c ] [ r +1] = 0 ;<br />
709 b [ c −1][ r +1] = 1 ;<br />
710 r e = placePieceMin ( b , d , n ,<br />
c −1, r +1, c , r +1,<br />
alpha , beta ) ;<br />
711 alpha = r e [ 1 ] ;<br />
712 beta = r e [ 2 ] ;<br />
713 i f ( r e [ 0 ] == 1) {<br />
714 b [ c ] [ r +1] = 2 ;<br />
715 b [ c −1][ r +1] = 2 ;<br />
716 r e t u r n ( r e [ 3 ] ) ;<br />
717 }<br />
718 b [ c ] [ r +1] = 2 ;<br />
719 b [ c −1][ r +1] = 2 ;<br />
720 }<br />
721 }<br />
722 i f ( r < tModel . noRows−2){<br />
723 i f ( fb [ c ] [ r +2] == 0) {<br />
724 i n t [ ] r e ;<br />
725 b [ c ] [ r +1] = 1 ;<br />
726 b [ c ] [ r +2] = 0 ;<br />
727 r e = placePieceMin ( b , d , n ,<br />
c , r +1, c , r +2, alpha ,<br />
beta ) ;<br />
728 alpha = r e [ 1 ] ;