Saturday, April 6, 2019

Sprouts 2019 Talks

Sprouts 2019 was yesterday and we had some excellent talks.  Here are my little summaries of them!

Nick Paolini: "Machine Learning in Combinatorial Games"

Nick gave an intro to Machine Learning as a subcategory of AI, including explaining historic data, models, objective functions, and some optimization.  He described Erik Jarlberg's recent work on Nim  (This explored a question I've been really curious about for years!)  Erik's work found that learning players can figure out how to make correct moves in Nim even when trained on a random player.  Nick also talked about developments with AlphaZero, an AI player for Go, Chess, and Shogi.  Nick then talked about his interest in trying to calculate NimSums via machine learning.

Nathan Mozinski: "Displaying Col Moves Online"

Nate showed the current progress on his senior project: displaying the moves in an active Col game being played between two Java players.  That initial code is code I created for my Data Structures class.  He's modified it to write the state of the game to a text file after each move.  He then added a JavaScript-powered webpage to display that game:  Right now it displays the current board, the previous board, and the win-loss records of the two players in the on-going match.

Craig Tennenhouse: "Towards an Impartial Short Tafl Variant"

Craig talked about Hnefetafl and some impartial variants he's been exploring.  In his rulesets, there is a King and one or more soldiers (who may or may not be attempting a coup).  To make it short, the King can only move North and West and the game ends when it cannot move.  The different rulesets are each based on a different rule for the movement of the soldiers.  Surprisingly, even with only one soldier and a ruleset such as "The soldier must move closer to the king", P-positions appear in very unexpected places!  For the rule "The soldier can only move south or east and can't go past the king", Craig seems to have solved for all the P-positions.