All Projects → shibuiwilliam → maze_solver

shibuiwilliam / maze_solver

Licence: other
This project solves self-made maze in a variety of ways: A-star, Q-learning and Deep Q-network.

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to maze solver

distributedRL
A framework for easy prototyping of distributed reinforcement learning algorithms
Stars: ✭ 93 (+287.5%)
Mutual labels:  dqn
playing-mario-with-deep-reinforcement-learning
An implementation of (Double/Dueling) Deep-Q Learning to play Super Mario Bros.
Stars: ✭ 55 (+129.17%)
Mutual labels:  dqn
ReinforcementLearningZoo.jl
juliareinforcementlearning.org/
Stars: ✭ 46 (+91.67%)
Mutual labels:  dqn
pytorch-rl
Pytorch Implementation of RL algorithms
Stars: ✭ 15 (-37.5%)
Mutual labels:  dqn
dqn-tensorflow
Deep Q Network implements by Tensorflow
Stars: ✭ 25 (+4.17%)
Mutual labels:  dqn
NavMeshDemo
Unity client navmesh export to server for pathfinding
Stars: ✭ 31 (+29.17%)
Mutual labels:  astar
Pathfinding
A pmmp virion (library) for pathfinding using A*
Stars: ✭ 36 (+50%)
Mutual labels:  astar
xingtian
xingtian is a componentized library for the development and verification of reinforcement learning algorithms
Stars: ✭ 229 (+854.17%)
Mutual labels:  dqn
ElegantRL
Scalable and Elastic Deep Reinforcement Learning Using PyTorch. Please star. 🔥
Stars: ✭ 2,074 (+8541.67%)
Mutual labels:  dqn
dqn zoo
The implement of all kinds of dqn reinforcement learning with Pytorch
Stars: ✭ 42 (+75%)
Mutual labels:  dqn
path demo
An experimental set of pathfinding algorithms for video games
Stars: ✭ 16 (-33.33%)
Mutual labels:  astar
Explorer
Explorer is a PyTorch reinforcement learning framework for exploring new ideas.
Stars: ✭ 54 (+125%)
Mutual labels:  dqn
Deep-rl-mxnet
Mxnet implementation of Deep Reinforcement Learning papers, such as DQN, PG, DDPG, PPO
Stars: ✭ 26 (+8.33%)
Mutual labels:  dqn
DQN-Atari
Deep Q-Learning (DQN) implementation for Atari pong.
Stars: ✭ 53 (+120.83%)
Mutual labels:  dqn
TF2-RL
Reinforcement learning algorithms implemented for Tensorflow 2.0+ [DQN, DDPG, AE-DDPG, SAC, PPO, Primal-Dual DDPG]
Stars: ✭ 160 (+566.67%)
Mutual labels:  dqn
tektosyne
The Tektosyne Library for Java provides algorithms for computational geometry and graph-based pathfinding, along with supporting mathematical utilities and specialized collections.
Stars: ✭ 52 (+116.67%)
Mutual labels:  astar
Paddle-RLBooks
Paddle-RLBooks is a reinforcement learning code study guide based on pure PaddlePaddle.
Stars: ✭ 113 (+370.83%)
Mutual labels:  dqn
Autonomous-Drifting
Autonomous Drifting using Reinforcement Learning
Stars: ✭ 83 (+245.83%)
Mutual labels:  dqn
dqn-pytorch
DQN to play Atari Pong
Stars: ✭ 77 (+220.83%)
Mutual labels:  dqn
astar-typescript
A* search algorithm in TypeScript
Stars: ✭ 37 (+54.17%)
Mutual labels:  astar

Maze_solver

This project solves self-made maze in a variety of ways: A-star, Q-learning and Deep Q-network.

The project consists of mainly four parts.

  1. Maze generator consists of maze class and field class. It generates a square shaped maze. The maze has route tiles, wall and block tiles, starting and goal point. The route tiles have -1 or 0 on it, which is the point you can get by stepping it. Apparently you will get 1 point subtracted if you step on -1 tile. The wall and block tiles, in #, are where you cannot interude. You have to bypass #. The starting point, namely S, is where you start the maze and goal point, which is shown as 50, is where you head to. You will earn 50 points when you made to the goal.

  2. A-star maze solver has node class, node_list class and astar-solver class. The A-star algorithm tries to find a path from start point to goal point with the process of plotting an efficiently directed path between multiple points, called nodes. It calculates Euclidean distance between where you to where you head to, and chooses the point which gives shortest distance to the goal. For precise explanation of A-star algorithm, refer to wikipedia. https://en.wikipedia.org/wiki/A*_search_algorithm

  3. Q-learning has Q-learning_solver class. This class solves the maze in reinforcement learning manner. The class samples state, action and its reward randomly, and figures out the path from start to goal to maximize the earning point. Q-learning estimates the optimal future value of reward from present state and action. Q-learning uses the following equation to update arbitrary fixed value of expected reward.

Q(s,a)←Q(s,a)+α(r+γ maxa′Q(s′,a′)−Q(s,a))

https://en.wikipedia.org/wiki/Q-learning

  1. Deep Q-network has DQN_solver class. The class uses deep q-network technique, the neural network enhanced style of q-learning. While Q-learning estimates optimal future value with the previous equation, Deep Q-network aims to approximate the optimal future value of reward with this equation and neural network. For the neural network, input variables are state and action, while target variable is calculated through the equation.

targett=rt+γmaxa′Qθk(s′t,a′)

https://deepmind.com/research/dqn/

How to use.

Just run the notebook. The neural network is modelled with Keras, so you need Keras pip installed. https://keras.io/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].