Document Type

Article

Peer Reviewed

1

Publication Date

Spring 3-7-2019

Scholarship Domain(s)

Scholarship of Discovery

Abstract

This paper is meant to educate fellow computer science students of the importance of identifying, estimating and overcoming various challenges in software research through the lessons learned in the research for basic artificial intelligence (AI) conducted on the game Reversi. Teaching the various challenges and problems occurred along the way with the hopes that other students in the future can learn from and have an easier time producing better computer software research projects. Through educating other future students and taking the lessons learned in this project optimistically the next class of students will be able to create, manage and make better research in the future. Looking at the research conducted, and the data provided students and other novice programmers may be given new insight through the presentation of information found by researching AI algorithms. A new light will be shed on gathering, reading and presenting data for upcoming examination on software. For this the experience, lessons learned from research on basic AI will be used whose purpose conducted was to identify how AI preforms against other AI in the search to find the best algorithms and configurations for running a bot in a game or simulation. In the search for this the game Reversi was chosen for running these bots against each other. Open source code for the game and AI was used and then heavily modified to fit the needs of this research project. Data was gathered through many running’s of the game with two AI bots playing each other on many different settings and used to search for trends in the data to find the best configuration for playing Reversi competitively. The program has many settings for the two bots such as search tree depth, evaluation method and search algorithm. The search tree depth was used for looking “X” amount of moves ahead where “X” ranged from 1-5 moves ahead meaning the search tree would be 2-6 deep. It no secret very quickly it became apparent the AI preformed much better the more it looked ahead versus looking for moves valuable in the short term. The evaluation method was much less clear off the bat as this had three configurations total score, sides and corners method where the bot would try to either score the most points possible in a single move, try to control the sides or walls of the board or try to control the corners of the board. The search tree algorithm was a way in which searching for nodes through the evaluation method was done behind the scenes however, between the two search algorithms Alpha-Beta Pruning and MiniMax there is no difference in game mechanics for the bots. However, one did take more computing power to calculate. The data from these bots playing each other was gathered, interpreted and analyzed to better understand AI and how it works. The programed developed for this project was the Advanced Programs Winner at Martin D. Walker School of Engineering Department of Computer Science in 2018 at Olivet Nazarene University.

Creative Commons License

Creative Commons Attribution 4.0 License
This work is licensed under a Creative Commons Attribution 4.0 License.

Share

COinS