Finding optimal strategies in sequential games with the novel selection monad
This work provides a new programming approach for game AI developers, though it appears incremental as it builds on the recently discovered selection monad without claiming major breakthroughs.
The authors tackled the problem of finding optimal strategies in sequential games by developing a library using the novel selection monad (Tx = Selection (x -> r) -> r), which they demonstrated through three Haskell case studies (Connect Four, Sudoku solver, and simplified Chess) and performed a performance analysis to identify optimization points.
The recently discovered monad, Tx = Selection (x -> r) -> r, provides an elegant way to finnd optimal strategies in sequential games. During this thesis, a library was developed which provides a set of useful functions using the selection monad to compute optimal games and AIs for sequential games. In order to explore the selection monads ability to support these AI implementations, three example case studies were developed using Haskell: The two-player game Connect Four, a Sudoku solver and a simplified version of Chess. These case studies show how to elegantly implement a game AI. Furthermore, a performance analysis of these case studies was done, identifying the major points where performance can be increased.