PL/SQL Chess Engine v0.92 (download the much stronger Release 1.01 under 'release')
This freeware chess engine, written in PL/SQL by Egon Von Bech Madsen for Oracle Database, consists of the following packages:
- PL_PIG_CHESS_ENGINE
- PL_PIG_CHESS_ENGINE_EVAL
- PL_PIG_CHESS_DATA
- PL_PIG_CHESS_INTERFACE
PL/SQL is a quite restricted and slow language to use for a Chess Engine. If You want top strength, don't use PL-PIG-Chess. Engines like StockFish (C language) is able to calculate around 100 times faster.
Fair Performance is reached by intensive use of VARRAYS, SIMPLE_INTEGER and INLINEable SET operators. And by NOT using SQL features. The many initiations of arrays happens only one time pr session/game.
- Opening books (internal plus polyglot books)
- Static evaluation
- quiescence deepening minimax algorithm with alpha/beta cut-off and sort for better pruning
- Q-search deepening (deeper selective search on killer-moves like check, attacks, promotion, double-threats and pinning themes)
- Leaf (dynamic) evaluation
- Single CPU only
- Supports 5 levels (from few seconds to several minutes pr move).
- Rating: up to 1600 ( v1.0 up to 1900)
- PGN, FEN, EPD and Polyglot open chess formats is supported.
- All code is original and made from the bottom, mostly based on widespread ideas though.
- Automated test-suite to tune weights and features for best rating (the most time-consuming and critical part of coding an engine)
Install the 4 packages on a Oracle database:
- PL_PIG_CHESS_ENGINE
- PL_PIG_CHESS_ENGINE_EVAL
- PL_PIG_CHESS_DATA
- PL_PIG_CHESS_INTERFACE
USE:
- Use SQL*PLUS or Toad/SQL-Developer with DBMS_OUTPUT activated
- Use examples seen in PL_PIG_CHESS_INTERFACE
OR install the GUI PL_PIG_CHS_GUI or maybe make your own graphical (APEX?) interface...
This is distributed under the Diceware License.