All Projects → crypt3lx2k → Zerofish

crypt3lx2k / Zerofish

Licence: MIT license
An implementation of the AlphaZero algorithm for chess

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Zerofish

renpy-chess
A chess GUI built with Ren'Py, python-chess, and Stockfish. Version 2.0 of https://github.com/RuolinZheng08/renpy-chess-engine
Stars: ✭ 36 (+5.88%)
Mutual labels:  chess-engine, chess
bot-o-tron
Try out lichess' bot interface
Stars: ✭ 36 (+5.88%)
Mutual labels:  chess-engine, chess
uci
A thin wrapper on a uci chess engine
Stars: ✭ 33 (-2.94%)
Mutual labels:  chess-engine, chess
magic-bits
A C++ header-only library for efficient move generation in Chess using "magic bitboards" technique
Stars: ✭ 26 (-23.53%)
Mutual labels:  chess-engine, chess
liground
A free, open-source and modern Chess Variant Analysis GUI for the 21st century
Stars: ✭ 41 (+20.59%)
Mutual labels:  chess-engine, chess
zahak
A UCI compatible chess AI in Go
Stars: ✭ 20 (-41.18%)
Mutual labels:  chess-engine, chess
rustic
Rustic is a chess engine. It is written from scratch, in the Rust programming language.
Stars: ✭ 68 (+100%)
Mutual labels:  chess-engine, chess
Chess-Zero
Chess reinforcement learning by AlphaZero methods.
Stars: ✭ 36 (+5.88%)
Mutual labels:  chess, alphazero
Walleye
A chess engine written from scratch in Rust ♞
Stars: ✭ 82 (+141.18%)
Mutual labels:  chess-engine, chess
Sunfish
Sunfish: a Python Chess Engine in 111 lines of code
Stars: ✭ 2,254 (+6529.41%)
Mutual labels:  chess-engine, chess
ConvChess
Convolutional Neural Networks learns to play chess moves
Stars: ✭ 14 (-58.82%)
Mutual labels:  chess-engine, chess
stockfish-chess-web-gui
Responsive chess web GUI to play against the Stockfish 10 chess engine. Multiple web GUI implementations have also been included.
Stars: ✭ 21 (-38.24%)
Mutual labels:  chess-engine, chess
Demolito
UCI Chess Engine
Stars: ✭ 41 (+20.59%)
Mutual labels:  chess-engine, chess
Realtime-OpenCV-Chess
♔ Chess-playing with Open-CV [Human vs AI (Stockfish engine)]
Stars: ✭ 18 (-47.06%)
Mutual labels:  chess-engine, chess
fastchess
Predicts the best chess move with 27.5% accuracy by a single matrix multiplication
Stars: ✭ 75 (+120.59%)
Mutual labels:  chess-engine, chess
elephantfish
elephantfish: 一个只有124行的中国象棋引擎
Stars: ✭ 129 (+279.41%)
Mutual labels:  chess-engine, chess
AnimalChess
Animal Fight Chess Game(斗兽棋) written in rust.
Stars: ✭ 76 (+123.53%)
Mutual labels:  chess, alphazero
OpenChess
A cross-platform chess game.
Stars: ✭ 18 (-47.06%)
Mutual labels:  chess-engine, chess
Bit-Genie
UCI chess engine in C++
Stars: ✭ 19 (-44.12%)
Mutual labels:  chess-engine, chess
littlewing
Chess engine written in Rust ♛
Stars: ✭ 27 (-20.59%)
Mutual labels:  chess-engine, chess

ZeroFish

An implementation of the AlphaZero algorithm for chess

Currently under construction.

Currently uses a completely different model than the one from the paper! This model has a very different layout than the one from the paper. Significantly reduced number of parameters in value and policy output heads. Completely different action space. Does not deal with under-promotions. Action space is absolute compared to the relative to moving piece action spaced used in the paper.

Short guide to the different files

adapter.py - Acts a layer between the python-chess package and numpy. Supposed to handle all traffic between chess.Board and chess.Move to our neural network data and labels.

config.py - Handles all default values and the argument parser.

game_state.py - Acts as a layer of abstraction for chess/adapter to provide a game state that only deals with action indices.

input_fn.py - Handles the different types of input formats for tensorflow (placeholders, tfrecords data-sets).

mcts.py - Handles the MCTS algorithm.

model_fn.py - Contains the definition of our inference/evaluation/training model.

model.py - Handles building inference/evaluation/training specifications and acts as a layer of abstraction for our model_fn. Large parts of this could be replaced with tf.Estimator when the API matures.

output_fn.py - Handles output for the tfrecords format.

pgn_to_records.py - WIP supposed to handle reading pgn files and outputting tfrecords.

self_play.py - Plays one game of self-play and outputs tfrecords and pgn files.

train.py - Trains by reading tfrecords files from a directory.

visualize_filters.py - Shows image representations of the learned filters.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].