1 3 1.1.............................. 3 1.2........................ 3 2 4 2.1.................. 4 2.2.............................. 5 2.2.1.......................... 6 2.2.2.......................... 7 3 9 3.1.............................. 9 3.2............................ 10 3.3............................ 10 3.4........................ 12 3.4.1...................... 13 3.5....................... 15 3.5.1...................... 17 4 18 4.1.............................. 18 4.2.............................. 19 4.3............................. 21 4.4........................ 22 5 23 5.1............................ 23 5.1.1.......................... 24 5.1.2.................... 24 5.1.3........................ 24 5.2..................... 25 5.2.1................. 25 5.2.2.. 27 1
6 29 6.1.............................. 29 6.2.............................. 31 6.3.... 33 7 34 7.1 Cocos2d-x..................... 35 7.2................ 35 8 39 2
1 1.1 2008 2 1.2 (artificial intelligence) [1] 2 [2] 3
2 2.1 (genetic algorithm) 20 x 20 4 [3] 1. 1 2. 3. 4. 1 4
2.2 1 2 x t x = sin t 1: 5
2.2.1 20 2 20 x x = sin t t = 0 1, 0 2, 1 9, 2 0 0.1 x [-20,20] 20 (1) n x x S = 19 k=0 (a k b k ) (1) ( a x b x k ) (1) 20 1. 2. 3. 4. 1 6
2.2.2 1 2 1 3 5 1000 2 3 2: 1 1 3 5 2 1 1 3 5 2 1 2 1000 7
3: 2 1 3 5 1 2 1 2 1 1 2 8
3 3.1 [4] 2 9
3.2 3.3 4 10
4: 11
3.4 (Max) (Min) 5 3 5: (3 ) 3 3 2 6 12
6: 2 3 max 1 2 1 6 1 1 1 7 3.4.1 eval 13
7: 1 2 min int Minmax( node, turn, depth){ if(depth == 0) eval(node); if(turn ){ int w, max = - ; for( n_i ){ w = Minmax(n_i,, depth-1) if(w > max) max = w; } return max; } else { int w, min = ; for( n_i ){ w = Minmax(n_i,, depth-1) if(w < min) min = w; } return min; } } 14
3.5 8 2 3 3 4 2 min(3, max(4,?))? 3 max(4,?) 4 min(3, 4 ) 3 min(0, max(1,?)) min(0, 1 ) 0 max(3, 0) 3 [5] 15
8: 16
3.5.1, int Alphabeta( node, turn, depth,, ){ if(depth == 0) eval(node); if(turn ){ for( n_i ){ = max(, Alphabeta(n_i,, depth-1,, )); if( >= ) return ; } return ; } else { for( n_i ){ = min(, Alphabeta(n_i,, depth-1,, )); if( >= ) return ; } return ; } }, 8 min(3, max(4,?)) 3, 3 ( ) 17
4 4.1 2008 3 4 9: 18
4.2 10 3 4 A,B,C 1,2,3,4 [A4] [C2] 1 4 (, ) 10: 4 8 4 19
8 4 2 6 11: 20
4.3 12 12 1 1 ( ) ( ) 1 ( ) 3 12: 21
4.4 [6] 78 22
5 1 80 1 10 6 5.1 23
5.1.1 50 5 5 4 8 3 3 1 5.1.2 500-500 5.1.3 24
5.2 5.2.1 50 5.1.1 50 5 5 4 8 3 3 1 1 1: % 2 3 4 5 2-86 58 74 3 54-72 74 4 70 68-80 5 72 72 68-25
[B2 ] ( 13) 13: [B2 ] 26
5.2.2 3 2 100 2 3 1. 2. + 3. + + & 2: (1. 2. + 3. + + & ) 1 2 3 1 36 9 22 2 6 42 7 3 49 2 0 3: (1. 2. + 3. + + & ) 1 2 3 1 49 30 63 2 39 0 53 3 43 52 100 27
1 Minmax 4 4 Minmax 28
6 6.1 2 14 5 1 2 5 3% 5 29
14: 30
4 4: 4 5 5 50 8 1 3 3 100 - [0,1] 100 100 30 6.2 1100 5 6 5: 4 286 5 137 5 202 50 63 8 189 1 266 3 293 3 129 100 16-6: 900 200 800 800 900 900 900 1100 200-0 31
900 15 15: 5 16 3 300 28 17 56 12 2 3 32
6.3 6.1 1600 7 7: 1600 116 172 378 406 384 268 293 275 83-100 55 8 2 3 8 8: 1600 160 155 59 138 138 0 420 222 468-100 59 12 2 3 33
7 AndroidOS Cocos2d-x[7] 2D 16: 34
7.1 Cocos2d-x cocos2d-x 2D D cocos2d-x Android ios OS 1 OS cocos2d-x C++ Javascript Lua 3 (MIT ) 3 7.2 17 Human VS Human Human VS CPU Rule 18 35
17: ( ) 18: ( ) 36
Human VS Human Human VS CPU CPU VS CPU 19 menu 19: ( ) 20 21 22 37
20: ( ) 21: ( ) 38
22: ( ) 8 39
[1], 2,,,2012 [2] ( ) What s,http://www -gakk or jp/whats / [3] David M Bourg Glenn Seemann,,,,2005 [4], 2010,,,2012 [5],,,2007 [6],,2009,http://media.itc.u-tokyo.ac.jp/ktanaka/dobutsushogi/animalprivate.pdf,2013 12 15 [7] Cocos2d-x,http://www.cocos2d-x.org/,2013 12 15 40