├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .travis.yml ├── LICENSE ├── README.md ├── docs ├── maven-deploy.md └── mvn-wrapper.md ├── images └── rl.jpg ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main └── java │ └── com │ └── github │ └── chen0040 │ └── rl │ ├── actionselection │ ├── AbstractActionSelectionStrategy.java │ ├── ActionSelectionStrategy.java │ ├── ActionSelectionStrategyFactory.java │ ├── EpsilonGreedyActionSelectionStrategy.java │ ├── GibbsSoftMaxActionSelectionStrategy.java │ ├── GreedyActionSelectionStrategy.java │ └── SoftMaxActionSelectionStrategy.java │ ├── learning │ ├── actorcritic │ │ ├── ActorCriticAgent.java │ │ ├── ActorCriticLambdaLearner.java │ │ └── ActorCriticLearner.java │ ├── qlearn │ │ ├── QAgent.java │ │ ├── QLambdaLearner.java │ │ └── QLearner.java │ ├── rlearn │ │ ├── RAgent.java │ │ └── RLearner.java │ └── sarsa │ │ ├── SarsaAgent.java │ │ ├── SarsaLambdaLearner.java │ │ └── SarsaLearner.java │ ├── models │ ├── EligibilityTraceUpdateMode.java │ ├── QModel.java │ └── UtilityModel.java │ ├── package-info.java │ └── utils │ ├── DoubleUtils.java │ ├── IndexValue.java │ ├── Matrix.java │ ├── MatrixUtils.java │ ├── TupleTwo.java │ ├── Vec.java │ └── VectorUtils.java └── test ├── java └── com │ └── github │ └── chen0040 │ └── rl │ └── learning │ ├── actorcritic │ ├── ActorCriticAgentUnitTest.java │ └── ActorCriticLearnerUnitTest.java │ ├── models │ └── QModelUnitTest.java │ ├── qlearn │ ├── QAgentUnitTest.java │ └── QLearnerUnitTest.java │ ├── rlearn │ └── RAgentUnitTest.java │ ├── sarsa │ └── SarsaAgentUnitTest.java │ └── utils │ ├── MatrixUnitTest.java │ └── VecUnitTest.java └── resources └── log4j.properties /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/README.md -------------------------------------------------------------------------------- /docs/maven-deploy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/docs/maven-deploy.md -------------------------------------------------------------------------------- /docs/mvn-wrapper.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/docs/mvn-wrapper.md -------------------------------------------------------------------------------- /images/rl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/images/rl.jpg -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/actionselection/AbstractActionSelectionStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/actionselection/AbstractActionSelectionStrategy.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/actionselection/ActionSelectionStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/actionselection/ActionSelectionStrategy.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/actionselection/ActionSelectionStrategyFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/actionselection/ActionSelectionStrategyFactory.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/actionselection/EpsilonGreedyActionSelectionStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/actionselection/EpsilonGreedyActionSelectionStrategy.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/actionselection/GibbsSoftMaxActionSelectionStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/actionselection/GibbsSoftMaxActionSelectionStrategy.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/actionselection/GreedyActionSelectionStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/actionselection/GreedyActionSelectionStrategy.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/actionselection/SoftMaxActionSelectionStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/actionselection/SoftMaxActionSelectionStrategy.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticAgent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticAgent.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticLambdaLearner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticLambdaLearner.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticLearner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticLearner.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/qlearn/QAgent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/qlearn/QAgent.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/qlearn/QLambdaLearner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/qlearn/QLambdaLearner.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/qlearn/QLearner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/qlearn/QLearner.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/rlearn/RAgent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/rlearn/RAgent.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/rlearn/RLearner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/rlearn/RLearner.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/sarsa/SarsaAgent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/sarsa/SarsaAgent.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/sarsa/SarsaLambdaLearner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/sarsa/SarsaLambdaLearner.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/learning/sarsa/SarsaLearner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/learning/sarsa/SarsaLearner.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/models/EligibilityTraceUpdateMode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/models/EligibilityTraceUpdateMode.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/models/QModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/models/QModel.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/models/UtilityModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/models/UtilityModel.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/package-info.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/utils/DoubleUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/utils/DoubleUtils.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/utils/IndexValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/utils/IndexValue.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/utils/Matrix.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/utils/Matrix.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/utils/MatrixUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/utils/MatrixUtils.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/utils/TupleTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/utils/TupleTwo.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/utils/Vec.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/utils/Vec.java -------------------------------------------------------------------------------- /src/main/java/com/github/chen0040/rl/utils/VectorUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/main/java/com/github/chen0040/rl/utils/VectorUtils.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticAgentUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticAgentUnitTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticLearnerUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/actorcritic/ActorCriticLearnerUnitTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/models/QModelUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/models/QModelUnitTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/qlearn/QAgentUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/qlearn/QAgentUnitTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/qlearn/QLearnerUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/qlearn/QLearnerUnitTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/rlearn/RAgentUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/rlearn/RAgentUnitTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/sarsa/SarsaAgentUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/sarsa/SarsaAgentUnitTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/utils/MatrixUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/utils/MatrixUnitTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/chen0040/rl/learning/utils/VecUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/java/com/github/chen0040/rl/learning/utils/VecUnitTest.java -------------------------------------------------------------------------------- /src/test/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen0040/java-reinforcement-learning/HEAD/src/test/resources/log4j.properties --------------------------------------------------------------------------------