All Projects → CGLemon → pyDLGO

CGLemon / pyDLGO

Licence: MIT license
基於深度學習的 GTP 圍棋(围棋)引擎,KGS 指引文件以及演算法教學。

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pyDLGO

besogo
Embeddable SGF editor/viewer for the game of Go (aka Weiqi, Baduk)
Stars: ✭ 82 (+148.48%)
Mutual labels:  baduk, weiqi, goban
Sabaki
An elegant Go board and SGF editor for a more civilized age.
Stars: ✭ 1,768 (+5257.58%)
Mutual labels:  baduk, weiqi, goban
godpaper
🐵 An AI chess-board-game framework(by many programming languages) implementations.
Stars: ✭ 40 (+21.21%)
Mutual labels:  mcts, alphago
sgf to gif
SGF file --> GIF
Stars: ✭ 32 (-3.03%)
Mutual labels:  baduk, weiqi
sgf4j
Simple SGF Parser for Java
Stars: ✭ 27 (-18.18%)
Mutual labels:  baduk, weiqi
agagd
American Go Association Games Database (AGAGD)
Stars: ✭ 44 (+33.33%)
Mutual labels:  baduk, weiqi
immutable-gametree
An immutable game tree data type.
Stars: ✭ 18 (-45.45%)
Mutual labels:  baduk, weiqi
GoAIRatings
Estimate Go AI ratings by real games
Stars: ✭ 118 (+257.58%)
Mutual labels:  baduk, weiqi
lizgoban
Leela Zero & KataGo visualizer
Stars: ✭ 131 (+296.97%)
Mutual labels:  baduk, weiqi
Alphazero gomoku
An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
Stars: ✭ 2,570 (+7687.88%)
Mutual labels:  mcts, alphago
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 (+7830.3%)
Mutual labels:  mcts, alphago
quoridor-ai
Quoridor AI based on Monte Carlo tree search
Stars: ✭ 23 (-30.3%)
Mutual labels:  mcts
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 (+106.06%)
Mutual labels:  mcts
AlphaGo.jl
AlphaGo Zero implementation using Flux.jl
Stars: ✭ 73 (+121.21%)
Mutual labels:  alphago
AlphaZero Gobang
Deep Learning big homework of UCAS
Stars: ✭ 29 (-12.12%)
Mutual labels:  mcts
Deep RL with pytorch
A pytorch tutorial for DRL(Deep Reinforcement Learning)
Stars: ✭ 160 (+384.85%)
Mutual labels:  mcts
jupiter
A Monte-Carlo based AI to beat 2048
Stars: ✭ 47 (+42.42%)
Mutual labels:  mcts
MCTS-agent-python
Monte Carlo Tree Search (MCTS) is a method for finding optimal decisions in a given domain by taking random samples in the decision space and building a search tree accordingly. It has already had a profound impact on Artificial Intelligence (AI) approaches for domains that can be represented as trees of sequential decisions, particularly games …
Stars: ✭ 22 (-33.33%)
Mutual labels:  mcts
UCThello
UCThello - a board game demonstrator (Othello variant) with computer AI using Monte Carlo Tree Search (MCTS) with UCB (Upper Confidence Bounds) applied to trees (UCT in short)
Stars: ✭ 26 (-21.21%)
Mutual labels:  mcts
15 by 15 AlphaGomoku
An implementation of improved AlphaGo algorithm in the game of Gomoku.
Stars: ✭ 53 (+60.61%)
Mutual labels:  alphago

pyDLGO

The simple English tutorial is Here

自從 AlphaGo 打敗世界冠軍後,電腦圍棋儼然變成深度學習的代名詞,讓不少同學對於電腦圍棋有不小的興趣,但實做一個完整的圍棋引擎並不是只有深度學習而已,還包含許許多多枯燥乏味且需花費大量時間的部份,這令多數同學望而卻步。dlgo 實做一個最低要求的圍棋引擎,它包含圍棋的基本演算法、GTP 界面和 SGF 格式解析器,讓同學可以先跳過這些部份,專注於深度學習,體驗電腦圍棋的魅力。最終目標是希望幫助同學製造屬於自己的圍棋引擎,並參加 TCGA 電腦對局競賽。

(黑) dlgo-0.1 vs (白) Leela-0.11 (黑中盤勝)

vs_leela

快速開始

開始前請先安裝以下的 python 依賴庫(請注意本程式使用 python3)

  1. PyTorch(1.x 版本,如果要使用 GPU 請下載對應的 CUDA/cuDNN 版本)
  2. NumPy
  3. Tkinter

請輸入下列指令安裝,或自行使用下載可執行的版本

pip3 install -r requirements.txt

完成依賴庫安裝後,首先請先下載本程式碼和預先訓練好的權重,預先訓練好的權重可到 Release 裡找到(為 pt 檔,不需要解壓縮),將權重放到 pyDLGO 的資料夾裡,假設權重的名稱為 nn_2x64.pt ,請輸入以下指令打開圖形界面

$ python3 dlgo.py --weights nn_2x64.pt --gui

文件目錄

  1. 圍棋規則的簡單介紹
  2. 完整的操作教學和 TCGA 比賽
  3. 演算法實做和原理(持續施工中)
  4. GTP 界面原理
  5. SGF 格式說明
  6. board.py 內的 functions
  7. Python 圍棋引擎列表(歡迎添加)

License

MIT License

Todo

  • 修復 GUI 的 bug 並優化之
  • 支援 analyzegenmove_analyze 指令,利於分析
  • 實做 AlphaGo Zero pipe?

聯絡資訊

如果有任何問題或是建議,可以通過 [email protected] 聯繫我。

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