Commit Graph

21 Commits

Author SHA1 Message Date
790b5666a8 Functional MLP for XOR toy problem. 2012-11-24 22:20:41 -05:00
874847f41b Starting my own ANN implementation. 2012-11-23 14:08:14 -05:00
b723e2666e Implementing temporal difference learning based heavily on Encog framework.
Not functional yet - incremental update.
2012-11-21 10:03:56 -05:00
49d3b2c242 Added spectator GUI when HUMAN_GUI is not one of the two players.
Logging to System.out is now significantly less verbose.
2012-11-19 10:56:46 -05:00
270072006c Root_par beats GoFree! 2012-11-18 18:44:09 -05:00
aca8320600 First working implementation of ANN which is trained using GameResults.
The PassFilter simply outputs BlackWins and WhiteWins (Range 0 - 1 but not presently clamped).
In principle, this type of feedforward ANN can be used to decide whether a PASS will result in blackwins or whitewins at any stage.
The goal is for the network to learn that passing while losing when valid moves exist is bad, but passing while winning is relatively harmless later in the game.
2012-11-17 18:40:31 -05:00
d9d6ecda80 Fixed unit tests. Updated classpath. 2012-11-16 04:21:19 -05:00
ca37280ed8 Beginning to implement neural net training. Fixed bugs in SGF/LaTeX export. 2012-11-15 15:00:40 -05:00
4d38c2bc20 Able to export SGF files from successful games. 2012-11-14 11:14:38 -05:00
b60c176d39 Code cleanup; Initial implementation of root parallelization. 2012-11-09 18:40:51 -05:00
db1bed43b4 Consolidated StateEvaluator class into GameState.getResult(). Fixed some issues with komi and normalized score calculation. 2012-10-15 18:13:18 -04:00
f8f8214300 In process of moving GameConfig into GameState (and making it an immutable singleton for the lifetime of the game).
Still does not understand when or how to resign, or how to play the oppoent's PASS.
2012-09-26 07:50:20 -04:00
d6068c841a fixes to buggy MCTS code. Implemented rudimentary export of game state as SGF and LaTeX. 2012-09-25 17:13:15 -04:00
8d466d90fe Fixed invalid move by Monte Carlo UCT. Still does not handle player's PASS. 2012-09-24 11:08:03 -04:00
cs6601
d4acc5beda Fixed use of Zobrist hash for positional superko detection. 2012-09-04 16:02:49 -04:00
cs6601
0bbcb1054d MonteCarloUCT now plays most of a 9x9 game.
Sometimes attempts invalid move (suicide).
See screenshots under bugreports.
2012-09-01 18:14:12 -04:00
cs6601
d3c03f2c51 Updated RandomMoveGenerator to support MonteCarloUCT.
Now possible to prohibit a Collection of Actions from being included in the List of returned actions (or as a single returned value).
All unit tests now pass with the exception of MonteCarloUCT.

TODO: playerToMove and previousPlayerPassed should be made part of the GameState.
This would remove the superfluous Player parameter from many methods and make it possible
to check for the "I'm ahead and my opponent is offering to end the game" killer move.
2012-08-31 09:17:43 -04:00
cs6601
4a1c64843d Fixed Minimax search to use the new GameTreeNode, MinimaxProperty classes.
The previous implementation was overly complicated and may have been buggy except when searching only 2 plies ahead.
2012-08-30 10:51:04 -04:00
cs6601
2e40440838 Refactoring in progress.
Player and Action classes are now singletons (factory pattern) rather than String values.
Implementing more general treesearch code for minimax, alpha-beta, monte carlo using simplified backup logic.
2012-08-30 08:41:03 -04:00
cs6601
bb5990a04f Substantial refactoring to implement correct Naive, UCT Monte Carlo tree search methods.
Removed unnecessary distinction between policy and tree search (tree search is a special kind of policy).
Calculation of all valid moves / arbitrary sets of moves is now a seperate class, as it serves a different purpose than a policy.
Introduced regression error in AlphaBeta test.
2012-08-28 10:40:37 -04:00
cs6601
36291171e5 Initial commit. 2012-08-26 11:48:21 -04:00