All Projects → sai-dev → sai

sai-dev / sai

Licence: other
SAI: a fork of Leela Zero with variable komi.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to sai

saltzero
Machine learning bot for ultimate tic-tac-toe based on DeepMind's AlphaGo Zero paper. C++ and Python.
Stars: ✭ 27 (-70.65%)
Mutual labels:  alphago-zero
connect4
Solving board games like Connect4 using Deep Reinforcement Learning
Stars: ✭ 33 (-64.13%)
Mutual labels:  alphago-zero
alphaFive
alphaGo版本的五子棋(gobang, gomoku)
Stars: ✭ 51 (-44.57%)
Mutual labels:  alphago-zero
alphazero
Board Game Reinforcement Learning using AlphaZero method. including Makhos (Thai Checkers), Reversi, Connect Four, Tic-tac-toe game rules
Stars: ✭ 24 (-73.91%)
Mutual labels:  alphago-zero
MyAlphaGoZeroOnConnect4
My Simple Implementation of AlphaGo Zero on Connect4
Stars: ✭ 16 (-82.61%)
Mutual labels:  alphago-zero
KKAlphaGoZero
alphaGoZero论文的实现
Stars: ✭ 35 (-61.96%)
Mutual labels:  alphago-zero
Alphazero gomoku
An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
Stars: ✭ 2,570 (+2693.48%)
Mutual labels:  alphago-zero
Alpha Zero General
A clean implementation based on AlphaZero for any game in any framework + tutorial + Othello/Gobang/TicTacToe/Connect4 and more
Stars: ✭ 2,617 (+2744.57%)
Mutual labels:  alphago-zero
Chess Alpha Zero
Chess reinforcement learning by AlphaGo Zero methods.
Stars: ✭ 1,868 (+1930.43%)
Mutual labels:  alphago-zero
Elf
ELF: a platform for game research with AlphaGoZero/AlphaZero reimplementation
Stars: ✭ 3,240 (+3421.74%)
Mutual labels:  alphago-zero
alpha-zero
AlphaZero implementation for Othello, Connect-Four and Tic-Tac-Toe based on "Mastering the game of Go without human knowledge" and "Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm" by DeepMind.
Stars: ✭ 68 (-26.09%)
Mutual labels:  alphago-zero
connect4-alpha-zero
Connect4 reinforcement learning by AlphaGo Zero methods.
Stars: ✭ 102 (+10.87%)
Mutual labels:  alphago-zero

What

SAI is a variable-komi fork of leela-zero, a Go program with no human provided knowledge.

SAI is derived from Leela Zero 0.17 + AutoGTP v18.

This means even though SAI and Leela Zero share many similarities, SAI brings its own specific features and things as compared to Leela Zero.

The relevant papers are:

Current Run

The server is currently running here, on resources of Chieti-Pescara University.

Previous Runs

We have pretty strong 9x9 networks such as S1 from the 9x9 paper.

But you will need to compile the program with modified settings, for it to be able to play on 9x9 goban.

What you can do with SAI

With SAI you can:

  • run SAI locally on your machine to play with various boardsizes (9x9 is superhuman, 19x19 will be quite weak for many months)
  • participate in the collective contributing effort to help training SAI.

Among the main differences between SAI and Leela Zero:

  • support for any komi
  • trained to support natively high handicap stones
  • hardcoded options to make play more reliable: ladder planes, etc.

You can see a more detailed summary of the differences between SAI and Leela Zero in the wiki, or refer to the papers for technical exhaustiveness.

What you need

A PC with a computing device:

  • ideally a GPU (a discrete graphics card made by NVIDIA or AMD, preferably not too old, and with the most recent drivers installed).
  • or you can run the program without a GPU (CPU-only), but performance will be much lower. If your CPU is not recent (Haswell or newer, Ryzen or newer), performance will most likely be very bad, but you can still play.

Note that you can use either your own physical hardware, or run SAI remotely from cloud virtual machines, or another source, which can be a workaround to you not having your own performant computing device.

SAI can run on Windows, MacOS, and Linux.

How to download, install, and run SAI

These steps will allow you to be able to run SAI and play with SAI:

  • for Windows, see here
  • for Linux, see here

How to help SAI get stronger

If you want to help, you can use your computing device in the collective effort to make SAI stronger.

This will make SAI play against itself (selfplay games) and other versions of itself (match games) on the SAI server, to train and get stronger.

Any help is greatly appreciated!

username and password

Unlike Leela Zero, to help the collective effort with games and matches, you have to create credentials here.

This way we can track and contact people that, for any reason, are uploading wrong data. (This happened sometimes for leela-zero project.)

Also, this gives you access to the The Leaderboard !

Choose a password of no importance and that you don't use elsewhere, since it will be sent unencrypted.

autogtp

To contribute, we don't run the sai executable but instead a specific contributing executable called autogtp.

After you downloaded and installed SAI as explained previously, see the autogtp instructions:

The client autogtp will connect to the server automatically and do its work in the background, uploading results after each game. You can stop it with Ctrl-C.

Note that specific autogtp documentation is also available here.

How to contribute to SAI's github

You can find some guidelines on how to contribute to this github here.

Note that these are mostly borrowed from Leela Zero's github, so they are not totally relevant for SAI.

FAQ

You can find commonly asked questions about SAI and their answers in several languages:

  • in english, see here
  • in chinese 中文, see here

License

The code is released under the GPLv3 or later, except for ThreadPool.h, cl2.hpp, half.hpp and the eigen and clblast_level3 subdirs, which have specific licenses (compatible with GPLv3) mentioned in those files.

Additional permission under GNU GPL version 3 section 7

If you modify this Program, or any covered work, by linking or combining it with NVIDIA Corporation's libraries from the NVIDIA CUDA Toolkit and/or the NVIDIA CUDA Deep Neural Network library and/or the NVIDIA TensorRT inference library (or a modified version of those libraries), containing parts covered by the terms of the respective license agreement, the licensors of this Program grant you additional permission to convey the resulting work.

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].