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.
A.1 AI<strong>Taiji</strong>AlphaBeta.java 101<br />
270 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 />
271 i f ( p [ 2 ] >= 0) {<br />
272 nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] ) . par . add ( n ) ;<br />
273 n . c h i l d r e n . add ( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p<br />
[ 2 ] ) ) ;<br />
274 i n t v = max( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] )<br />
, alpha , beta , 1 ) ;<br />
275 i f ( n . a > v )<br />
276 n . a = v ;<br />
277 i f ( n . a < alpha ) {<br />
278 b [ c ] [ r ] = 2 ;<br />
279 b [ c ] [ r +1] = 2 ;<br />
280 r e t u r n ( n . a ) ;<br />
281 }<br />
282 i f ( beta > n . a )<br />
283 beta = n . a ;<br />
284 }<br />
285 i f ( p [ 2 ] == −1){<br />
286 p [2]= nodes [ p [ 0 ] ] [ p [ 1 ] ] . s i z e ( ) ;<br />
287 nodes [ p [ 0 ] ] [ p [ 1 ] ] . add ( n . addChild ( tNode .<br />
createChildNode ( c , r , c , r +1, n ) ) ) ;<br />
288 count++;<br />
289 i n t v = max( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] )<br />
, alpha , beta , 0 ) ;<br />
290 i f ( n . a > v )<br />
291 n . a = v ;<br />
292 i f ( n . a < alpha ) {<br />
293 b [ c ] [ r ] = 2 ;<br />
294 b [ c ] [ r +1] = 2 ;<br />
295 r e t u r n ( n . a ) ;<br />
296 }<br />
297 i f ( beta > n . a )<br />
298 beta = n . a ;<br />
299 }<br />
300 b [ c ] [ r ] = 0 ;<br />
301 b [ c ] [ r +1] = 1 ;<br />
302<br />
303 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 />
304 i f ( p [ 2 ] >= 0) {<br />
305 nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] ) . par . add ( n ) ;<br />
306 n . c h i l d r e n . add ( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p<br />
[ 2 ] ) ) ;<br />
307 i n t v = max( nodes [ p [ 0 ] ] [ p [ 1 ] ] . get ( p [ 2 ] )<br />
, alpha , beta , 1 ) ;<br />
308 i f ( n . a > v )<br />
309 n . a = v ;<br />
310 i f ( n . a < alpha ) {<br />
311 b [ c ] [ r ] = 2 ;<br />
312 b [ c ] [ r +1] = 2 ;<br />
313 r e t u r n ( n . a ) ;<br />
314 }<br />
315 i f ( beta > n . a )<br />
316 beta = n . a ;<br />
317 }<br />
318 i f ( p [ 2 ] == −1){