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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
124 Bilag A<br />
825 beta = r e [ 2 ] ;<br />
826 i f ( r e [ 0 ] == 1) {<br />
827 b [ c ] [ r −1] = 2 ;<br />
828 b [ c ] [ r −2] = 2 ;<br />
829 r e t u r n ( r e [ 3 ] ) ;<br />
830 }<br />
831 b [ c ] [ r −1] = 2 ;<br />
832 b [ c ] [ r −2] = 2 ;<br />
833 }<br />
834 }<br />
835 }<br />
836 }<br />
837 }<br />
838 }<br />
839 }<br />
840 r e t u r n ( n . a ) ;<br />
841 }<br />
842 }<br />
843<br />
844<br />
845 // haandtere p l a c e r i n g e n a f b r i k k e r f o r max ( ) , c h e c k e r om de<br />
a l l e r e d e e k s i s t e r e r , haandtere alpha beta pruning<br />
846 p r i v a t e i n t [ ] placePieceMax ( i n t [ ] [ ] b , i n t d , Node n , i n t wC,<br />
i n t wR, i n t bC , i n t bR, i n t alpha , i n t beta ) {<br />
847 i n t [ ] p = new i n t [ 3 ] ;<br />
848 p = c h e c k B o a r d I n d i v i d u a l i t y ( b , d ) ;<br />
849 i n t [ ] r e = new i n t [ 4 ] ; // r e [0]= 1 break , r e [1]= alpha , r e<br />
[2]= beta , r e [3]= n . a<br />
850<br />
851 i f ( p [ 2 ] >= 0) {<br />
852 nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] ) . par . add ( n ) ;<br />
853 n . c h i l d r e n . add ( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p<br />
[ 2 ] ) ) ;<br />
854 i n t v = min ( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] )<br />
, alpha , beta , 1 ) ;<br />
855 i f ( n . a < v )<br />
856 n . a = v ;<br />
857 i f ( n . a > beta ) {<br />
858 r e [ 0 ] = 0 ; // 1 = alpha beta pruning<br />
s l a a e t t i l , 0 = s l a a e t f r a (<br />
s l a a e t f r a da den g i v e r<br />
problemer )<br />
859 r e [1]= alpha ;<br />
860 r e [2]= beta ;<br />
861 r e [3]= n . a ;<br />
862 r e t u r n ( r e ) ;<br />
863 }<br />
864 i f ( alpha < n . a )<br />
865 alpha = n . a ;<br />
866<br />
867 }<br />
868 i f ( p [ 2 ] == −1){<br />
869 p [2]= nodes [ p [ 0 ] ] [ p [ 1 ] ] . s i z e ( ) ;<br />
870 nodes [ p [ 0 ] ] [ p [ 1 ] ] . add ( n . addChild ( tNode .<br />
createChildNode (wC, wR, bC , bR, n ) )