poole@CPSC-M-POOLE01 haskell % poole@CPSC-M-POOLE01 haskell % poole@CPSC-M-POOLE01 haskell % poole@CPSC-M-POOLE01 haskell % ghci GHCi, version 9.4.8: https://www.haskell.org/ghc/ :? for help ghci> :l Minimax_mem [1 of 3] Compiling CountGame ( CountGame.hs, interpreted ) [2 of 3] Compiling TreeDict ( TreeDict.hs, interpreted ) [3 of 3] Compiling Minimax_mem ( Minimax_mem.hs, interpreted ) Ok, three modules loaded. ghci> let (cg, st0) = createCountGame 20 [1,2,3,5,7] in minimax cg st0 emptyDict ((7,1.0),State 0 [1,2,3,5,7]: (7,1.0) State 1 [1,2,3,5,7]: (2,1.0) State 2 [1,2,3,5,7]: (5,1.0) State 3 [1,2,3,5,7]: (7,-1.0) State 4 [1,2,3,5,7]: (7,1.0) State 5 [1,2,3,5,7]: (2,1.0) State 6 [1,2,3,5,7]: (5,1.0) State 7 [1,2,3,5,7]: (7,-1.0) State 8 [1,2,3,5,7]: (7,1.0) State 9 [1,2,3,5,7]: (2,1.0) State 10 [1,2,3,5,7]: (5,1.0) State 11 [1,2,3,5,7]: (7,-1.0) State 12 [1,2,3,5,7]: (7,1.0) State 13 [1,2,3,5,7]: (2,1.0) State 14 [1,2,3,5,7]: (5,1.0) State 15 [1,2,3,5,7]: (7,-1.0) State 16 [1,2,3,5,7]: (3,1.0) State 17 [1,2,3,5,7]: (2,1.0) State 18 [1,2,3,5,7]: (1,1.0) State 19 [1,2,3,5,7]: (7,-1.0) ) ghci> let (cg, st0) = createCountGame 50 [1,2,3,5,7] in minimax cg st0 emptyDict ((5,1.0),State 0 [1,2,3,5,7]: (5,1.0) State 1 [1,2,3,5,7]: (7,-1.0) State 2 [1,2,3,5,7]: (7,1.0) State 3 [1,2,3,5,7]: (2,1.0) State 4 [1,2,3,5,7]: (5,1.0) State 5 [1,2,3,5,7]: (7,-1.0) State 6 [1,2,3,5,7]: (7,1.0) State 7 [1,2,3,5,7]: (2,1.0) State 8 [1,2,3,5,7]: (5,1.0) State 9 [1,2,3,5,7]: (7,-1.0) State 10 [1,2,3,5,7]: (7,1.0) State 11 [1,2,3,5,7]: (2,1.0) State 12 [1,2,3,5,7]: (5,1.0) State 13 [1,2,3,5,7]: (7,-1.0) State 14 [1,2,3,5,7]: (7,1.0) State 15 [1,2,3,5,7]: (2,1.0) State 16 [1,2,3,5,7]: (5,1.0) State 17 [1,2,3,5,7]: (7,-1.0) State 18 [1,2,3,5,7]: (7,1.0) State 19 [1,2,3,5,7]: (2,1.0) State 20 [1,2,3,5,7]: (5,1.0) State 21 [1,2,3,5,7]: (7,-1.0) State 22 [1,2,3,5,7]: (7,1.0) State 23 [1,2,3,5,7]: (2,1.0) State 24 [1,2,3,5,7]: (5,1.0) State 25 [1,2,3,5,7]: (7,-1.0) State 26 [1,2,3,5,7]: (7,1.0) State 27 [1,2,3,5,7]: (2,1.0) State 28 [1,2,3,5,7]: (5,1.0) State 29 [1,2,3,5,7]: (7,-1.0) State 30 [1,2,3,5,7]: (7,1.0) State 31 [1,2,3,5,7]: (2,1.0) State 32 [1,2,3,5,7]: (5,1.0) State 33 [1,2,3,5,7]: (7,-1.0) State 34 [1,2,3,5,7]: (7,1.0) State 35 [1,2,3,5,7]: (2,1.0) State 36 [1,2,3,5,7]: (5,1.0) State 37 [1,2,3,5,7]: (7,-1.0) State 38 [1,2,3,5,7]: (7,1.0) State 39 [1,2,3,5,7]: (2,1.0) State 40 [1,2,3,5,7]: (5,1.0) State 41 [1,2,3,5,7]: (7,-1.0) State 42 [1,2,3,5,7]: (7,1.0) State 43 [1,2,3,5,7]: (2,1.0) State 44 [1,2,3,5,7]: (5,1.0) State 45 [1,2,3,5,7]: (7,-1.0) State 46 [1,2,3,5,7]: (3,1.0) State 47 [1,2,3,5,7]: (2,1.0) State 48 [1,2,3,5,7]: (1,1.0) State 49 [1,2,3,5,7]: (7,-1.0) ) ghci> let (cg, st0) = createCountGame 500 [7,28,35,63] in minimax cg st0 emptyDict ((35,1.0),State 0 [7,28,35,63]: (35,1.0) State 7 [7,28,35,63]: (28,1.0) State 14 [7,28,35,63]: (35,1.0) State 21 [7,28,35,63]: (28,1.0) State 28 [7,28,35,63]: (63,1.0) State 35 [7,28,35,63]: (63,-1.0) State 42 [7,28,35,63]: (63,1.0) State 49 [7,28,35,63]: (63,-1.0) State 56 [7,28,35,63]: (35,1.0) State 63 [7,28,35,63]: (28,1.0) State 70 [7,28,35,63]: (35,1.0) State 77 [7,28,35,63]: (28,1.0) State 84 [7,28,35,63]: (63,1.0) State 91 [7,28,35,63]: (63,-1.0) State 98 [7,28,35,63]: (63,1.0) State 105 [7,28,35,63]: (63,-1.0) State 112 [7,28,35,63]: (35,1.0) State 119 [7,28,35,63]: (28,1.0) State 126 [7,28,35,63]: (35,1.0) State 133 [7,28,35,63]: (28,1.0) State 140 [7,28,35,63]: (63,1.0) State 147 [7,28,35,63]: (63,-1.0) State 154 [7,28,35,63]: (63,1.0) State 161 [7,28,35,63]: (63,-1.0) State 168 [7,28,35,63]: (35,1.0) State 175 [7,28,35,63]: (28,1.0) State 182 [7,28,35,63]: (35,1.0) State 189 [7,28,35,63]: (28,1.0) State 196 [7,28,35,63]: (63,1.0) State 203 [7,28,35,63]: (63,-1.0) State 210 [7,28,35,63]: (63,1.0) State 217 [7,28,35,63]: (63,-1.0) State 224 [7,28,35,63]: (35,1.0) State 231 [7,28,35,63]: (28,1.0) State 238 [7,28,35,63]: (35,1.0) State 245 [7,28,35,63]: (28,1.0) State 252 [7,28,35,63]: (63,1.0) State 259 [7,28,35,63]: (63,-1.0) State 266 [7,28,35,63]: (63,1.0) State 273 [7,28,35,63]: (63,-1.0) State 280 [7,28,35,63]: (35,1.0) State 287 [7,28,35,63]: (28,1.0) State 294 [7,28,35,63]: (35,1.0) State 301 [7,28,35,63]: (28,1.0) State 308 [7,28,35,63]: (63,1.0) State 315 [7,28,35,63]: (63,-1.0) State 322 [7,28,35,63]: (63,1.0) State 329 [7,28,35,63]: (63,-1.0) State 336 [7,28,35,63]: (35,1.0) State 343 [7,28,35,63]: (28,1.0) State 350 [7,28,35,63]: (35,1.0) State 357 [7,28,35,63]: (28,1.0) State 364 [7,28,35,63]: (63,1.0) State 371 [7,28,35,63]: (63,-1.0) State 378 [7,28,35,63]: (63,1.0) State 385 [7,28,35,63]: (63,-1.0) State 392 [7,28,35,63]: (35,1.0) State 399 [7,28,35,63]: (28,1.0) State 406 [7,28,35,63]: (35,1.0) State 413 [7,28,35,63]: (28,1.0) State 420 [7,28,35,63]: (63,1.0) State 427 [7,28,35,63]: (63,-1.0) State 434 [7,28,35,63]: (63,1.0) State 441 [7,28,35,63]: (63,-1.0) State 448 [7,28,35,63]: (35,1.0) State 455 [7,28,35,63]: (28,1.0) State 462 [7,28,35,63]: (35,1.0) State 469 [7,28,35,63]: (28,1.0) State 476 [7,28,35,63]: (7,1.0) State 483 [7,28,35,63]: (63,-1.0) State 490 [7,28,35,63]: (7,1.0) State 497 [7,28,35,63]: (63,-1.0) ) ghci> Leaving GHCi. poole@CPSC-M-POOLE01 haskell % ghci GHCi, version 9.4.8: https://www.haskell.org/ghc/ :? for help ghci> :l Minimax_mem [1 of 3] Compiling MagicSum ( MagicSum.hs, interpreted ) [2 of 3] Compiling TreeDict ( TreeDict.hs, interpreted ) [3 of 3] Compiling Minimax_mem ( Minimax_mem.hs, interpreted ) Ok, three modules loaded. ghci> res = minimax magicsum magicsum_start emptyDict ghci> :set +s ghci> res = minimax magicsum magicsum_start emptyDict (0.00 secs, 29,880 bytes) ghci> fst res (9,0.0) (41.04 secs, 12,129,541,384 bytes) ghci> stats (snd res) "Number of elements=294778, Depth=103" (0.85 secs, 760,494,824 bytes) ghci> 3^9 19683 (0.01 secs, 68,704 bytes) ghci>