go>> go>> 返回
项目作者: rtrusso

项目描述 :
Implementation of Go compatible with Jeff Bradberry's board game framework
高级语言: Python
项目地址: git://github.com/rtrusso/go.git
创建时间: 2019-02-15T03:26:12Z
项目社区:https://github.com/rtrusso/go

开源协议:MIT License

下载


Go

This is a python implementation of the board game Go. It is compatible
with the same board game framework used by
ultimate_tictactoe.

The project attempts to correctly implement the basic rules: Area
scoring, positional superko, and termination of the game triggered by
2 consecutive passes.

The idea with this project is to enable some experimentation with
machine learning inspired by the AlphaGo and AlphaZero projects.

Known Issues

  • Performance is not great, plenty of opportunities to avoid allocations/copies.
  • Territory scoring is not supported.

Requirements

Tested with this version of python:

  • Python 3.7.2

Getting Started

To set up your local environment you should create a virtualenv and
install everything into it.

  1. $ virtualenv go

Pip install this repo, either from a local copy,

  1. $ pip install -e go

or from github,

  1. $ pip install git+https://github.com/rtrusso/go

and then install the requirements

  1. $ pip install -r requirements_server.txt
  2. $ pip install -r requirements_player.txt

Please note these currently point to the forked copy of the
repositories updated for python3, instead of the original repo created
by jbradberry. This will be corrected once the python3 PRs are picked
up in the original repos.

To run the server with Go

  1. $ board-serve.py go

Optionally, the server ip address and port number can be added

  1. $ board-serve.py go 0.0.0.0
  2. $ board-serve.py go 0.0.0.0 8000

To connect a client as a human player

  1. $ board-play.py go human
  2. $ board-play.py go human 192.168.1.1 8000 # with ip addr and port

or with the AI player, see jbradberry/mcts (link to python3 update fork)

  1. $ board-play.py go jrb.mcts.uct