GitXplorerGitXplorer
t

pentagod

public
8 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
7a4436d3b1ca58bcd049cd1e65b5e3fe9936f566

Indentation fix

ttewalds committed 11 years ago
Unverified
428830e6e01489398b3064df7eefc619dc34bc17

Let params be set for the three agents

ttewalds committed 11 years ago
Unverified
f5a79b74c58855227de8ec8d49a6c64d0e6e052b

Add a configurable amount of randomness to the scoring function so alpha-beta is less deterministic

ttewalds committed 11 years ago
Unverified
6377f139bff49939542418807912b15975ccf099

Limit the depth of full symmetry handling

ttewalds committed 11 years ago
Unverified
e2ccd2fe51b42fcc23759a09e42dc89255c65183

Slightly faster move rotation

ttewalds committed 11 years ago
Unverified
19b730fdd2774a0a7acc657ae2062e16b459803e

Improve the webserver

ttewalds committed 11 years ago

README

The README file for this repository.

Pentagod

A pentago AI that implements several algorithms including MCTS (Monte-Carlo Tree Search), PNS (Proof Number Search) and AB (Alpha-Beta). Its primary interface is GTP (Go Text Protocol), but a python webserver that interfaces pentagoo with the gtp protocol is included.

Features

  • Simple GTP framework
  • Very fast bitboard implementation
  • Easy to create new players
  • Players Includes:
    • MCTS
    • PNS
    • AB
  • Very strong player, likely the strongest in the world
  • Web server integrates very well with the Pentagoo front end (a modified version is included in this project)

Requirements

  • Linux (probably works on any unix)
  • C++ tool chain
  • Python for the webserver

Usage

  • Check out the code from github
  • Run "make" to compile the code
  • To use the GTP interface:
    • run ./pentagod
  • To use the webserver:

TODO

  • Better scoring function
    • Based on patterns
    • Meaningful range such as win percentage
  • Win condition pruning (certain patterns make certain win conditions impossible)
  • Negamax
    • Randomization when two moves are very similar
    • Better time cutoffs
    • Use the previous iterations for move ordering, might need better scoring function first
    • Improved transposition table
  • MCTS
    • Better rollouts: patterns, forced moves
    • rotate and move as separate moves
    • Prove wins/losses to a greater depth
  • PNS
    • Use scoring function
    • Use a small depth of AB?
  • Opening book
  • Web/Pentagoo
    • Choose opponent AI and time cutoff
    • Better move format
    • Undo when playing against computers