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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
A.1 AI<strong>Taiji</strong>AlphaBeta.java 97<br />
69 i n t h = tModel . tHash . hashFunction3 ( b ) ;<br />
70 p [0]= d ; / / d ;<br />
71 p [1]= h ;<br />
72 p[2]= −1;<br />
73 f o r ( i n t i = 0 ; i = searchD | | ! tModel . movesLeftN ( n ) ) {<br />
85 n . a = tModel . fMap . c a l D i f ( n . nodeBoard , tModel . noCols ,<br />
tModel . noRows ) ;<br />
86 r e t u r n ( n . a ) ;<br />
87 }<br />
88 e l s e {<br />
89 i f ( ex == 1) {<br />
90 i f ( n . a >= beta )<br />
91 r e t u r n ( n . a ) ;<br />
92 }<br />
93 n . a = −tModel . maxScore ;<br />
94 i n t [ ] [ ] b = n . nodeBoard ;<br />
95 i n t d = n . d ;<br />
96 f o r ( i n t c =0; c < tModel . noCols ; c++){<br />
97 f o r ( i n t r =0; r < tModel . noRows−1; r++){<br />
98 i f ( b [ c ] [ r ] == 2 && b [ c ] [ r +1] == 2 ) {<br />
99 b [ c ] [ r ] = 1 ;<br />
100 b [ c ] [ r +1] = 0 ;<br />
101 i n t [ ] p = new i n t [ 3 ] ;<br />
102 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 />
103 i f ( p [ 2 ] >= 0) {<br />
104 nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] ) . par . add ( n ) ;<br />
105 n . c h i l d r e n . add ( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p<br />
[ 2 ] ) ) ;<br />
106 i n t v = min ( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] )<br />
, alpha , beta , 1 ) ;<br />
107 i f ( n . a < v )<br />
108 n . a = v ;<br />
109 i f ( n . a > beta ) {<br />
110 b [ c ] [ r ] = 2 ;<br />
111 b [ c ] [ r +1] = 2 ;<br />
112 r e t u r n ( n . a ) ;<br />
113 }<br />
114 i f ( alpha < n . a )<br />
115 alpha = n . a ;<br />
116<br />
117 }<br />
118 i f ( p [ 2 ] == −1){<br />
119 p [2]= nodes [ p [ 0 ] ] [ p [ 1 ] ] . s i z e ( ) ;