A Beginner/intermidate chess engine written in Dart
Lise Dart Chess Engine
Lise is Beginner chess engine re-written in Dart which uses mixture of opening book + negamax + minimax. Lise can play well known opening pawn structures/ piece placement and plays intermediate middlegame/opening play and beginner endgame play.
Remarks
Engine uses Dart chess library for legal chess move generation, chess rules checks, etc.
Terminal Chess Play
Lise Acheivements:
-
Beating Stockfish level 1
-
drawing 3 times to beginner trained Maia Chess engine
Engine Algorithm
Lise is a beginner engine, who has some sense of opening pawn structures and plays middlegame/endgame like a beginner to intermediate player.
Algorithms
LiseChessEngine uses Minimax, Negamax and Opening book
Opening Book
White openings:
- Queens Gambit
- Kings Gambit
- g3 system
- london
Black Openings:
- French
- Caro can
- Slav
- KID
- Ownes Opening
Negamax Algorithm Chessprogramming.org
- runs on depth 3, more the depth better move but slower search
- functions with eval function
Eval function
- takes account of chess board area and all legal moves
- gives white double the advantage compared to black to play as a defensive player as black, attacking player as white.
Engine Upgrades
Lise is still being worked on, with intentions to add
- A full tablebase support for better endgame play
- more opening support
- support for playing white side
- support for tactics creation
- transition to NN for dynamic piece values
Setup
- make sure to have dart installed
- git clone
- cd chess_enginelise
- enter command dart run
you will see lise playing itself a sample game of 4 moves.
Lise Java
this is remake of Lise chess engine which was written in Java, can more learn about Java version here