HAL has a command line interface, and supports an interactive English dialogue between the opponent and itself to receive and report its moves and to receive directives, such as skill level. The directives are given to HAL in the form of English sentences, which can be rather free-form in structure, and will even allow for slight misspellings in certain situations. HAL utilizes the long algebraic notation[6][7].
an open source chess program by Stephen F. Wheeler, also dubbed HAL-9000 as pun of HAL 9000, the fictional character in Arthur C. Clarke's Space Odyssey series, first appearing in 2001: A Space Odyssey [1] [2]. HAL was written in Turbo Pascal to run under the MS-DOS command line, and was part of Wheeler's Ph.D. research during the late 80s and early 90s [3], specifically on linear symbolic problem-solving systems and natural language processing. A slightly modified and bug fixed version was published with source in December 2015 at Chess.com [4].
Table of Contents
Description
User Interface
HAL has a command line interface, and supports an interactive English dialogue between the opponent and itself to receive and report its moves and to receive directives, such as skill level. The directives are given to HAL in the form of English sentences, which can be rather free-form in structure, and will even allow for slight misspellings in certain situations. HAL utilizes the long algebraic notation [6] [7].Board Representation
HAL's board is represented by an incremental updated 8x8 board, a two-dimensional array of board cells, and a piece-list as array of piece cells indexed by side (1..2) and man index 1..16.Search
The search algorithm is pure alpha-beta implemented as recursive negamax with fail-soft bounds inside the iterative deepening framework with aspiration windows. Move ordering is improved by the refutation table based on the triangular PV-table, and a sophisticated killer heuristic with up to four killers per ply. Selectivity is due to check extensions and depth limited quiescence search.Evaluation
Evaluation considers material balance, a material exchange heuristic, and positional heuristic terms for development, king attack, defence, threats, mobility, advancement, captures and checks.See also
Postings
External Links
Chess Program
Fictional Character
References
What links here?
Up one level