Finding optimal strategies in sequential games with the novel selection monad

05/26/2021
by   Johannes Hartmann, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/16/2023

On Optimal Strategies for Wordle and General Guessing Games

The recent popularity of Wordle has revived interest in guessing games. ...
research
11/16/2018

Sequential games and nondeterministic selection functions

This paper analyses Escardó and Oliva's generalisation of selection func...
research
12/11/2017

Press-Dyson Analysis of Asynchronous, Sequential Prisoner's Dilemma

Two-player games have had a long and fruitful history of applications st...
research
09/23/2020

Balancing simulation and gameplay – applying game user research to LeukemiaSIM

A bioinformatics researcher and a game design researcher walk into a lab...
research
09/28/2020

Agent Environment Cycle Games

Partially Observable Stochastic Games (POSGs), are the most general mode...
research
09/15/2016

NPCs as People, Too: The Extreme AI Personality Engine

PK Dick once asked "Do Androids Dream of Electric Sheep?" In video games...
research
09/14/2021

Optimal To-Do List Gamification for Long Term Planning

Most people struggle with prioritizing work. While inexact heuristics ha...

Please sign up or login with your details

Forgot password? Click here to reset