Skip to content

qiaofengmarco/JavaOthello

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Othello

image

image

image

image

Dependencies:

  • Google Guava version 23.0
  • JCuda 0.8.0 (Mainly JCublas...)

Important Notes:

  • I didn't deploy my QLearningAI in the game, because I had encounted problems with NeuralNetwork.
  • To be honest, I don't know what is going wrong in my NeuralNetwork.java, NetworkLayer.java and VectorDNN.java.
  • However, my UCTAI and AlphaBeta-pruning AI are proved correct and the whole game frame is runnable.
  • Please contact me if you find something wrong, especially in the files that I mention above, thanks!

2017.9.14 Update:

  1. Added TrainFrame class.
  2. Added alpha-beta pruning Min-max AI, referring to:

2017.9.19 Update:

  1. Added NeuralNetwork class, referring to:
  1. Added IOHandler class.

2017.9.21 Update:

  1. Corrected the mistakes in NeuralNetwork.java, rewrote the backward function.
  2. Finished QLearningAI.java and its debugging.
  1. Added many static functions in Board.java as helper function.

2017.9.22 Update:

  1. Recorrected the mistakes in NeuralNetwork.java, also attaching some comments.
  2. Rewrote backward function, corrected the previous misunderstanding of minibatch-sgd, referring to:
  1. Finished debugging QLearningAI and rewrote some special cases.
  2. Corrected the wrong method for updating minibatches.
  3. Fixed some small bugs.
  4. Changed name: TrainFrame.java -> Playground.java

2017.9.23 Update:

  1. Fixed numerous misunderstandable bugs in AlphaBetaAI... (Java function passes the reference of an object input?)
  2. Fixed bugs of state-determining logics in GUI.java and Playground.java.
  3. Adjusted some default parameters.

2017.9.24 Update:

  1. Finished UCT AI, referring to:
  1. Adjusted some parameters in AlphaBetaAI.java.
  2. Fixed bugs in Board.java and added new static functions as helper functions.

image

2017.9.30 Update:

  1. Converted previous version README.md to English version. (Please forgive me for my non-native expressions...)

2017.10.8 Update:

  1. Wrote vector-based DNN VectorDNN.java. (Haven't finished yet...)

    image

  2. Used JCublas API for matrix-related or vector-related computations. (VectorMatrix.java)

  1. Wrapped up Activator Functions. (Activator.java)

2017.10.9 Update:

  1. Improved GUI.

    image

  2. Normalized the format of codes.

  3. Fixed bug in VectorMatrix.java.

2017.10.10 Update:

  1. Improved GUI.

    image

    image

2017.10.11 Update:

  1. Organized the files.
  2. To do next:fix VectorDNN...QAQ
  3. Important references:

Modified on 2017.10.11.

Releases

No releases published

Packages

No packages published

Languages