SAL

a general game playing and learning open source program for any [|two-player] [|board game] of [|perfect information], written by Michael Gherrity as subject of his Ph.D. thesis //A Game Learning Machine//. SAL is written in C|ANSI C. || toc =Description= The rule of the game is defined by subroutines for generating legal moves, as already provided for [|Tic-tac-toe], Connect Four, and Chess in the source files ttt.c, connect4.c, and chess.c. One of them, or an appropriate implementation of another game, needs to be copied to game.c for building SAL to play that game.
 * Home * Engines * SAL**
 * [[image:HAL9000.jpg link="https://commons.wikimedia.org/wiki/File:HAL9000.svg"]] ||~ || **SAL**, (Search and Learn)
 * HAL 9000 ||~ ||^ ||

Search
For all games, SAL performs a two-ply, full-width alpha-beta search plus //consistency search//, which is a generalized quiescence search as proposed by Don Beal.

Evaluation
The game independent evaluation is implemented as neural network for each side. The inputs to the network are features representing the board, the number of pieces of each type on the board, the type of piece just moved, the type of piece just captured (if any), and several features considering pieces and squares under attack. The neural network evaluator is trained by temporal difference learning to estimate the outcome of the game, given the current position.

=Results=
 * In [|Tic-tac-toe], SAL learned to play perfectly after 20,000 games
 * In Connect four, SAL learned to defeat an opponent program about 80% of the time after 100,000 games
 * In Chess, after 4200 games against GNU Chess, SAL evolved from a random mover to a reasonable, but still weak chess player

=See also=
 * Chess Engines with Neural Networks
 * HAL
 * Learning Chess Programs
 * Metagamer
 * Zillions of Games

=Publications=
 * Michael Gherrity (**1993**). //A Game Learning Machine//. Ph.D. thesis, [|University of California, San Diego], advisor Paul Kube, [|pdf], [|pdf]

=Forum Posts=
 * [|Subject: Re: Game Learning] by Mike Gherrity, [|ai-repository], July 1, 1994
 * [|Sal or neurochess] by ethan ara, CCC, September 06, 2011

=External Links=

Game Player

 * [|SAL] from [|Machine Learning in Games] by Jay Scott
 * [|SAL source code]

Misc

 * [|Sal (disambiguation) from Wikipedia]
 * [|SAL 9000] fictional computer in [|2010: Odyssey Two]

=References= =What links here?= include page="SAL" component="backlinks" limit="40"
 * Up one level**