ml-q-learning
Library implementing the q-learning algorithm and several exploration algorithms.
Install
npm install ml-q-learning
QLearningAgent
Memory
Pick action strategy
randomPickAction
greedyPickAction
epsilonGreedyPickAction
decayingEpsilonGreedyPickAction
softmaxPickAction
epsilonSoftmaxGreedyPickAction
decayingEpsilonSoftmaxGreedyPickAction
Example use
Maze escape
P - Player
# - Wall
. - Nothing
X - Trap = -200
R - Treasure = 200
F - Finish = 1000
Start maze[ [ 'P', '.', '.', '#', '.', '.', '.', '#', 'R' ], [ '.', '#', '.', '#', '.', '.', '.', '#', '.' ], [ '.', '#', '.', '#', '.', '#', '.', '#', '.' ], [ '.', '#', 'X', '#', '.', '#', '.', '.', '.' ], [ '.', '#', '#', '#', 'F', '#', '.', '.', '.' ], [ '.', '#', '.', '#', '#', '#', '.', '#', 'X' ], [ '.', '.', 'X', '.', '.', '.', '.', '#', '.' ], [ '.', '.', '.', '.', '#', '.', '.', '#', 'R' ] ] ...many plays... ------------------------------- numberOfPlay: 35702, score: 1168 episode: 3322672 memorySize: 968------------------------------- [ [ '.', '.', '.', '#', '.', '.', '.', '#', '.' ], [ '.', '#', '.', '#', '.', '.', '.', '#', '.' ], [ '.', '#', '.', '#', '.', '#', '.', '#', '.' ], [ '.', '#', 'X', '#', '.', '#', '.', '.', '.' ], [ '.', '#', '#', '#', 'P', '#', '.', '.', '.' ], [ '.', '#', '.', '#', '#', '#', '.', '#', 'X' ], [ '.', '.', 'X', '.', '.', '.', '.', '#', '.' ], [ '.', '.', '.', '.', '#', '.', '.', '#', 'R' ] ]