ttitcombe / alphadraughts Goto Github PK
View Code? Open in Web Editor NEWA PyTorch implementation of AlphaGo Zero applied to Draughts
License: MIT License
A PyTorch implementation of AlphaGo Zero applied to Draughts
License: MIT License
The game does not calculate if a stalemate has occurred. This can lead to infinite play.
To replicate:
Play a random bot against a random bot, using the following script
from alphadraughts import Game, RandomBot
game = Game(white=RandomBot(), black=RandomBot())
game.play()
There may be a breakthrough, but most of the time the game will continue indefinitely (stalemates occur frequently because of #23 - pieces block the middle which leaves the remaining pieces and kings to wander about aimlessly)
Create a basic algorithm which takes the board as input and predicts a move.
See how well this model can learn playing against itself, using sparse rewards (win or lose) and frequent rewards (take or lose a piece)
Allow one of the players to be an algorithm.
The exact format of the algorithm should be irrelevant, but there must be a common way of getting the move from the algorithm into the game object
Add information to README on how to set-up pre-commmit. Add the pre-commit hooks (black) to the project
Takes don't appear in valid moves list. This can lead to a stalemate with the RandomBot
as it randomly selects a move from the list of valid moves.
To replicate this issue:
scripts/play_bot.py
help
. The take will not appear in the moves listUpdate Game
so that a new game can be started and moves can be made alternative between white and black
A game should be playable via the command line (i.e. no python).
Optional args should be:
After each move, the updated board should be printed out
A game should be able to be played by two algorithms.
Self-play mode requires no human input.
A basic alpha-beta algorithm should be created against which a user can play. This tests the game and how well it works with algorithms
The game loop must recognise when a player has won and end the game
Fill in information about the pieces and promotion.
Format the board layout
An IndexError
is raised when taking a piece on the board.
To replicate:
Run python -m scripts.play_game
to play a game on the command line for both white and black.
Enter the following sequence of moves:
25-22
5-9
22-18
9-14
18-9
to take the black piece, an IndexError
is raisedCreate a suite of tests in which games are played in full. The tests should check that all moves are made as expected, pieces are taken when expected, and the result is correct.
These tests should be run after the unit tests as they will take a longer time to fail and are less fundamental
Currently, pieces which get to the end of the board are stuck.
When this happens, the pieces should be promoted to Kings and allowed to move in both directions
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.