The purpose of this thesis is to use volunteer computing to solve computer game problems, including the minimum Sudoku problem and the Connect6 game openings. This thesis uses traditional volunteer computing, BOINC, to help solve the minimum Sudoku problem. However, the Connect6 game openings are not suitable to be solved using the traditional volunteer computing. Thus, this thesis proposes job-level volunteer computing to help solve the Connect6 game openings efficiently.
For solving the minimum Sudoku problem, this thesis presents a more efficient algorithm, named disjoint minimum unavoidable set (DMUS), and incorporates it into the program Checker written by McGuire in 2006. In total we speedup the program by a factor of about 128.
We use traditional volunteer computing, BOINC, to help solve the minimum Sudoku problem. The Sudoku project started on October 2010. At the end of July 2013, the project has been running more than 680 million credits on BOINC [5] and completed the checking of more than 93% primitive grids, and no 16-clue grids have been found yet. We expect to complete the result soon.
For solving the Connect6 game openings, this thesis proposes job-level volunteer computing. The benefits of job-level include the following: develop clients and jobs independently, run jobs in parallel, maintain the generic search in the client, and monitor the search tree easily. The first also implies that it is easy to develop job-level search without extra development cost to the game-playing programs (like NCTU6).
Many search algorithms can be incorporated into job-level volunteer computing, such
as proof number search, monte-carlo tree search, and A*. This thesis propose generic (best-first) search, and modified it into generic job-level search, which can be run in parallel.
This thesis incorporates proof number search into job-level volunteer computing, which is called JL-PNS, and use it to solve the Connect6 game openings. This thesis also proposes some methods to improve job-level search, such as the initialization of proof number and disproof number, postponed sibling generation, and polices for pre-update phase. Finally, this thesis successfully solves several positions of Connect6, including several 3-move openings shown in Figure 32, especially the difficult openings like mickey mouse opening and straight opening, and no Connect6 human experts were able to solve them. From the results, we expect to solve and develop more Connect6 openings.
References
[1] L.V. Allis, A knowledge-based approach of Connect Four: The game is over, white to move wins, M.Sc. Thesis, Vrije Universiteit Report No. IR-163, Faculty of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, 1988.
[2] L.V. Allis, Searching for solutions in games and artificial intelligence, Ph.D. Thesis, University of Limburg, Maastricht, The Netherlands, 1994.
[3] L.V. Allis, H.J. van den Herik and M.P.H. Huntjens, “Go-Moku Solved by New Search Techniques,” Computational Intelligence, vol. 12, pp. 7–23, 1996.
[4] L.V. Allis, M. van der Meulen and H.J. van den Herik, “Proof-number Search,” Artificial Intelligence, vol. 66 (1), pp. 91–124, 1994.
[5] D.P. Anderson, “Boinc: A System for Public-resource Computing and Storage,”
Proceedings of the Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04), IEEE CS Press, Pittsburgh, USA, pp. 4-10, 2004.
[6] D.P. Anderson, J. Cobb, E. Korpela, M. Lebofsky, and D. Werthimer, “SETI@home: An Experiment in Public-Resource Computing.” Communications of the ACM, vol. 45(11), pp. 56–61, 2002.
[7] P. Berman, and G. Schnitger, “On the Complexity of Approximating the Independent Set Problem,” Springer-Verlag, Lecture Notes in Computer Science, vol. 349, pp. 256–267, 1989.
[8] D.M. Breuker, J. Uiterwijk and H. J. van den Herik, “The PN2-search Algorithm,” In H. J.
van den Herik, B. Monien (Eds.), Advances in Computer Games, vol. 9, IKAT, Universiteit Maastricht, Maastricht, The Netherlands, pp. 115–132, 2001.
[9] C. Browne, E. Powley, D. Whitehouse, S. Lucas, P. Cowling, P. Rohlfshagen, S. Tavener, D. Perez, S. Samothrakis, and S. Colton, “A Survey of Monte Carlo Tree Search Methods,”
the IEEE Transactions on Computational Intelligence and AI in Games, vol. 4(1), Forthcoming, 2012.
[10] M. Cambell, AJ Hoane Jr., F.-H. Hsu, “Deep Blue,” Artificial Intelligence, vol. 134, pp.
47–83, 2002.
[11] G. M. Chaslot, J-B. Hoock, J. Perez, A. Rimmel, O. Teytaud, and M. H. M. Winands,
“Meta Monte-Carlo Tree Search for Automatic Opening Book Generation,” In Proceedings of the IJCAI’09 Workshop on General Intelligence in Game Playing Agents, pp. 7–12, 2009.
[12] G. M. Chaslot, M. H. M. Winands, and H. J. van den Herik, “Parallel Monte-Carlo Tree Search,” the 6th International Conference on Computers and Games (CG2008), Beijing, China, 2008.
[13] J.-P. Delahaye, “The Science Behind Sudoku,” Scientific American, vol. 294(6), pp. 80–
87, 2006.
[14] Einstein@home, Available: http://einstein.phys.uwm.edu/.
[15] H.-R. Fang, T.-S. Hsu, S.-C. Hsu, “Construction of Chinese Chess Endgame Databases by Retrograde Analysis,” Revised Papers from the Second International Conference on Computers and Games, pp.96–114, 2000.
[16] G. Fedak, C. Germain, V. Neri and F. Cappello, “Xtremweb: A Generic Global Computing System,” Proceedings of the 1st IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID2001): Workshop on Global Computing on Personal Devices, IEEE CS Press, Brisbane, Australia, pp. 582–587, 2001.
[17] B. Felgenhauer, and F. Jarvis, “Mathematics of Sudoku I,” Math. Spectrum, vol. 39, pp.
15–22, 2006.
[18] G. Fowler, Fowler's sudoku solver, Available:
http://www2.research.att.com/~gsf/sudoku/sudoku.html, 2007.
[19] R.U. Gasser, “Solving Nine Men’s Morris,” In R.J. Nowakowski, Games of No Chance, MSRI Publications, vol. 29, Cambridge University Press, Cambridge, MA, pp. 101–113, 1996.
[20] S. Gelly, and D. Silver, “Monte-Carlo Tree Search and Rapid Action Value Estimation in Computer Go,” Artificial Intelligence, vol. 175, pp. 1856–1875, July 2011.
[21] H.J. van den Herik, J.W.H.M. Uiterwijk and J.V. Rijswijck, “Games solved: Now and in the future,” Artificial Intelligence, vol. 134 (1-2), pp. 277–311, 2002.
[22] H.J. van den Herik and M.H.M. Winands, “Proof-Number Search and its Variants,”
Oppositional Concepts in Computational Intelligence, pp. 91-118, 2008.
[23] Y.-L Huang, The Study of Minimum Sudoku, Master’s thesis (in Chinese), Graduate Department of Compute Science, National Chiao Tung University, Taiwan, 2009.
[24] ICGA Tournaments, Available: http://www.grappa.univ-lille3.fr/icga/
[25] H. Iida, M. Sakuta, and J. Rollason, “Computer Shogi,” Artificial Intelligence, vol. 134(1–
2), pp. 121–144, 2002.
[26] A. Kishimoto and Y. Kotani, “Parallel AND/OR Tree Search Based on Proof and Disproof Numbers,” Fifth Games Programming Workshop, vol. 99(14) of IPSJ Symposium Series, pp. 24–30, 1999.
[27] A. Kishimoto, and M. Müller, “DF-PN in Go: Application to the One-Eye Problem.” In H.J. van den Herik, H. Iida, and E. A. Heinz, editors, Advances in Computer Games Conference (ACG'10), pp. 125–141. Kluwer Academic, 2003.
[28] H.-H. Lin, D.-J. Sun, I.-C. Wu and S.-J. Yen, "The 2010 TAAI Computer-Game Tournaments", ICGA Journal (SCI), vol. 34(1), March 2011.
[29] H.-H. Lin and I.-C. Wu, "An Efficient Approach to Solving the Minimum Sudoku Problem", ICGA Journal (SCI), vol. 34(4), pp. 191–208, December 2011.
[30] H.-H. Lin, and I.-C. Wu, "Solving the Minimum Sudoku Problem", The International Workshop on Computer Games (IWCG 2010), Hsinchu, Taiwan, November 2010.
[31] P.-H. Lin and I.-C. Wu, “NCTU6 Wins Man-Machine Connect6 Championship 2009,”
ICGA Journal, vol. 32(4), pp. 230–232, 2009.
[32] Y.-K. Lin, “Research on Minimum Sudoku Generator”, Master’s thesis (in Chinese), Graduate Department of Computer Science and Information Engineering, National Taiwan Normal University, Taiwan, 2007.
Sudoku Minimum Number of Clues Problem,” Available:
http://www.math.ie/McGuire_V1.pdf, January, 2012.
[36] A. Nagai, Df-pn Algorithm for Searching AND/OR Trees and Its Applications, Ph.D.
thesis, University of Tokyo, Japan, 2002.
[37] O. Patashnik, “Qubic: 4×4×4 Tic-Tac-Toe,” Mathematical Magazine, vol. 53, pp. 202–
216, 1980.
[38] J. Pawlewicz and L. Lew, “Improving Depth-first Pn-search: 1+ε Trick,” In H. J. van den Herik, P. Ciancarini, and H.H.L.M. Donkers, editors, Fifth International Conference on
Computers and Games, vol. 4630 of LNCS, pp. 160–170, Computers and Games, Springer, Heidelberg, 2006.
[39] PrimeGrid, Available: http://www.primegrid.com/.
[40] J. Robson, The complexity of Go, in: Proc. IFIP (International Federation of Information Processing), pp. 413–417, 1983.
[41] G. Royle, Minimum Sudoku. Available:
http://people.csse.uwa.edu.au/gordon/sudokumin.php, 2007.
[42] E. Russell, and F. Jarvis, “Mathematics of Sudoku II,” Math. Spectrum, vol. 39, pp. 54–58, 2006.
[43] A. Saffidine, N. Jouandeau, and T. Cazenave, “Solving Breakthrough with Race Patterns and Job-Level Proof Number Search,” the 13th Advances in Computer Games Conference (ACG'13), Tilburg, The Netherlands, 2011.
[44] J.T. Saito, M.H.M. Winands and H.J. van den Herik, “Randomized Parallel Proof-Number Search,” Advances in Computer Games Conference (ACG2009), Lecture Notes in Computer Science (LNCS 6048), pp. 75–87, Palacio del Condestable, Pamplona, Spain, 2009.
[45] J. Schaeffer and H. J. van den Herik, “Games, computers, and artificial intelligence,”
Artificial Intelligence, vol. 134(1–2), pp. 1–7, 2002.
[46] J. Schaeffer, N. Burch, Y.N. Björnsson, A. Kishimoto, M. Müller, R. Lake, P. Lu and S.
Sutphen, “Checkers is Solved,” Science, vol. 5844(317), pp. 1518–1552, 2007.
[47] M. Seo, H. Iida and J. Uiterwijk, “The PN*-search Algorithm: Application to Tsumeshogi,”
Artificial Intelligence, vol. 129(1-2), pp. 253–277, 2001. International Workshop on Computer Games (IWCG 2010), Hsinchu, Taiwan, November 2010.
[51] C. E. Shannon, “Programming a computer for playing chess,” Philisophical Magazine, vol. 41, pp. 256–275, 1950.
[52] Sudoku at VTaiwan Project on BOINC, Available: http://sudoku.nctu.edu.tw/, October, 2010.
[53] Sudoku Forum, Available: http://www.setbb.com/phpbb/index.php?mforum=sudoku, 2009.
[54] Taiwan Computer Game Association, Available: http://tcga.ndhu.edu.tw/
[55] Taiwan Connect6 Association, Connect6 homepage, Available: http://www.connect6.org/.
[56] T. Thomsen, “Lambda-Search in Game Trees - With Application to Go,” ICGA Journal, vol. 23(4), pp. 203–217, 2000.
[57] J. Wagner and I. Virag, “Solving Renju,” ICGA Journal, vol. 24(1), pp. 30–34, 2001.
[58] M.H.M. Winands, J.W.H.M. Uiterwijk and H.J. van den Herik, “PDS-PN: A New Proof-number Search Algorithm: Application to Lines of Action,” In J. Schaeffer, M.
Müller, and Y. Björnson, editors, Computers and Games 2002, vol. 2883 of LNCS, pp.
170–185. Computers and Games, Springer, Heidelberg, 2003.
[59] I.-C. Wu, C.-P. Chen, P.-H. Lin, K.-C. Huang, L.-P. Chen, D.-J. Sun, Y.-C. Chan and H.-Y.
Tsou, “A Volunteer-Computing-Based Grid Environment for Connect6 Applications,”
IEEE International Conference on Computational Science and Engineering (CSE2009), vol. 1, pp. 110–117, 2009.
[60] I-C. Wu, S.-C. Hsu, S.-J. Yen, S.-S. Lin, K.-Y. Kao, J.-C. Chen, K.-C. Huang, H.-Y.
Chang, and Y.-C. Chung, “A Volunteer Computing System for Computer Games and its Applications,” an integrated project, National Science Council, Taiwan, 2010.
[61] I.-C. Wu, D.-Y. Huang and H.-C. Chang, “Connect6,” ICGA Journal, vol. 28(4), pp. 234–
242, 2006.
[62] I.-C. Wu and D.-Y. Huang, “A New Family of K-in-a-row Games,” Advances in Computer Games Conference (ACG2005), Taipei, Taiwan, 2005.
[63] I.-C. Wu, H.-H. Lin, D.-J. Sun, K.-Y. Kao, P.-H. Lin, Y.-C. Chan, and P.-T. Chen,
"Job-Level Proof Number Search", the IEEE Transactions on Computational Intelligence and AI in Games (SCI), vol. 5(1), pp. 44–56, March 2013.
[64] I.-C. Wu and P.-H. Lin, “NCTU6-Lite Wins Connect6 Tournament,” ICGA Journal, vol.
31(4), pp. 240–243, 2008.
[65] I.-C. Wu and P.-H. Lin, “Relevance-Zone-Oriented Proof Search for Connect6,” IEEE
Transaction on Computational Intelligence and AI in Games, vol. 2(3), September 2010.
[66] I.-C. Wu, H.-H. Lin, P.-H. Lin, D.-J. Sun, Y.-C. Chan and B.-T. Chen, “Job-Level Proof-Number Search for Connect6,” International Conference on Computers and Games (CG2010), Kanazawa, Japan, 2010.
[67] I.-C. Wu, H.-T. Tsai, H.-H. Lin, Y.-S. Lin, C.-M. Chang, P.-H. Lin, “Temporal Difference Learning for Connect6,” Advances in Computer Games (ACG 13), Tilburg, The Netherlands, 20–22, November 2011.
[68] I.-C. Wu and S.-J. Yen, “NCTU6 Wins Connect6 Tournament,” ICGA Journal, vol. 29(3), pp. 157–158, September 2006.
[69] S.-J. Yen, J.-C. Chen, T.-N. Yang, and S.-C. Hsu, “Computer Chinese Chess,” ICGA Journal, vol. 27(1), pp. 3–18, March 2004.
[70] S.-J. Yen, C.-W. Chou, H.-H. Lin and I.-C. Wu, “TAAI 2010 Computer Go Tournaments,”
ICGA Journal, vol. 34(1), pp. 48-50, March 2011.
Vita
Hung-Hsuan Lin was born in Taichung, Taiwan in 1984. He received the B.S. and Ph.D. degree in Computer Science and Information Engineering from National Chiao Tung University, Hsinchu, Taiwan, in 2007 and 2013, respectively. His research interests include artificial intelligence, computer game, volunteer computing and cloud computing.