×

Search anything:

30 Reinforcement Learning Project Ideas [with source code]

Binary Tree book by OpenGenus

Open-Source Internship opportunity by OpenGenus for programmers. Apply now.

In this article, we will provide some ideas on reinforcement learning applications. These projects will be explained with the techniques, datasets and codebase that can be applied.

Introduction

Reinforcement Learning (RL) is a method of machine learning where the system learns to act through trial and error. An intelligent agent takes action in an environment and the actions are encouraged through gaining rewards or discouraged through losing them.

For example, a cat acting in a certain way in a new environment. If we try to teach a cat to act, we can witness the application of reinforcement learning. Cats don't understand human language, so we can give the cat some reward every time it completes or gets close to complete the task we want. Through this positive experience the cat will learn what to do. Also the cat will learn what not to do through negative experience. In this case, it is not getting the reward.

Machine learning has two other methods; supervised learning and unsupervised learning. In supervised learning, there is a direct mapping between the input and output. Unsupervised learning finds a pattern in activities to map the output. Reinforcement learning does not have a direct mapping, rather it learns from the feedback it gets from the environment.

Applications of RL

The 30 RL projects for your portfolio are:

  1. Movie Recommender System Using TensorFlow
  2. Stock Prediction System
  3. Arcane Chess
  4. Flappy Bird
  5. Super Mario AI
  6. 2048 Game
  7. Snake Game in RL
  8. Table Tennis Game
  9. Best Model for Poker Game
  10. AI Ping-Pong Game
  11. Music Recommendation System
  12. AI Ludo
  13. CartPole
  14. Mountain Car
  15. Pendulum
  16. Lunar Lander
  17. Self-driving Car
  18. Lawn Mowing
  19. Traffic Signal Control
  20. Sentiment Analysis
  21. Quiztions
  22. Car Racing Game
  23. Hover Bike Race
  24. Maze Solve
  25. Grocery Shopping Solution
  26. Supply Chain Inventory Management
  27. Fishing Derby Game
  28. Ride Bicycle
  29. Cab Driver Agent
  30. RL-Chatbot

We will dive deeper into each application.

1. Movie Recommender System Using TensorFlow

Improving the performance of RL based movie recommender system through making new embedding files, updating train and evaluation part. The system suggests movies similar to the users' taste based on the user interactions.

This dataset contains 1 million ratings from 6000 users on 4000 movies.
Dataset- https://grouplens.org/datasets/movielens/1m/

Implementation:
Code - https://github.com/backgom2357/Recommender_system_via_deep_RL

Difficulty Level: 3

2. Stock Prediction System
Implementing Q-learning to short-term stock trading. The model determines if the best action to take is to sit, sell or buy. The model is not very good at making decisions over long-term trends, but is quite good at predicting peaks and troughs.

GSPC stock trading dataset collected from Yahoo! Finance
Dataset - https://github.com/edwardhdlu/q-trader/tree/master/data

Implementation
Code - https://github.com/edwardhdlu/q-trader

Difficulty Level: 4

Results

Screenshot-2023-01-22-10.45.26-AM

Screenshot-2023-01-22-10.45.37-AM

Screenshot-2023-01-22-10.46.01-AM

3. Arcane Chess
RL project for a chess game where you can train your own reinforced agent using deep Q-network. Arcane Chess is a modal based on a Deep Reinforcement Learning approach to master the chess game.

Explanation of the setup and how to run the project
Explanation - https://github.com/rayanramoul/Arcane-Chess/blob/master/README.md

Implementation
Code - https://github.com/rayanramoul/Arcane-Chess/tree/master/app

Difficulty Level: 2

Result:
header

4. Flappy Bird
Applying RL using Q-learning through a script written in Javascript. The bird tries to avoid obstacles and gain points.

Explanation of the project
Explanation - https://github.com/nileshsah/reinforcement-learning-flappybird

Implementation
Code - https://github.com/nileshsah/reinforcement-learning-flappybird/tree/master/js

Difficulty Level: 2

Result:
This is the high score
high-score

5. Super Mario AI
Using Q-learning, super mario AI is built. Follow the instructions in the Readme file from the link

Explaining the project
Explanation - https://github.com/aleju/mario-ai#about

Implementation
Code - https://github.com/aleju/mario-ai

Difficulty Level: 5

Result:
Screenshot-2023-01-22-11.29.04-AM

6. 2048 Game
Reinforcement learning applied to train the agent to play 2048 by itself.

Explanaining how the project works
Explanation - https://github.com/FlyingBird95/2048-in-python

Implementation
Code - https://github.com/FlyingBird95/2048-in-python/tree/master/rl_2048

Difficulty Level: 2

7. Snake Game in RL
Popular snake game developing using Q-learning.An AI-Bot learns to play the game from the scratch. The snake tries to avoid getting hit with any boundaries or itself.

How to run the project
Explanation - https://github.com/maurock/snake-ga-tf

Implementation
Code - https://github.com/maurock/snake-ga-tf/blob/master/snakeClass.py

Difficulty Level: 2

Result:
Screenshot-2023-01-22-12.00.54-PM

8. Table Tennis Game
Using Q-learning, we can develop a tennis game between two agents. The agents are supposed to hit the tennis ball and gain scores. Missing the ball means losing a point.

Explanation of how the project works
Explanation - https://github.com/trentondelahaye/deep-rl-tennis

Implementation
Code - https://github.com/trentondelahaye/deep-rl-tennis/blob/master/main.py

Difficulty Level: 2

Result:
Screenshot-2023-01-22-12.05.25-PM

9. Best Model for Poker Game
Applying different RL models to find the best one to play poker with. The algorithms used are, Q-learning, SARSA, Expected SARSA, and some based on neural networks.

Explanation of the porject
Explanation - https://github.com/claudia-maria-dudau/RL-Poker#rl-poker

Qtable for expected SARSA, SARSA and Q-learning
Dataset - https://github.com/claudia-maria-dudau/RL-Poker/tree/main/data

Implementation
Code - https://github.com/claudia-maria-dudau/RL-Poker

Difficulty Level: 3

Result:
Screenshot-2023-01-22-12.21.34-PM

10. AI Ping-Pong Game
A ping-pong game played by agents developed using reinforcement learning. The goal of the game is to score as much as possible by deflecting the ball away and into the opponent's goal. This project uses Double Dueling Deep Q Learning (DQN) with Prioritized Experience Replay.

How to run the project
Explanation - https://github.com/NickKaparinos/OpenAI-Gym-Projects#pong-v5

Implementation
Code - https://github.com/NickKaparinos/OpenAI-Gym-Projects/tree/master/Atari/Pong

Difficulty Level: 3

Result:
Screenshot-2023-01-22-12.24.53-PM

11. Music Recommendation System
Reinforcement learning captures the user-song interaction and maintains the recommendation accuracy and diversity. It formulates the problem of interactive recommendation as a contextual multi-armed bandit, learning user preferences recommending new songs and receiving their ratings. The system suggests musics similar to the users' taste.

Songs list
Dataset - https://github.com/shirishjain/Music-Recommender-Engine/tree/master/data

Explanation of the project
Explanation - https://github.com/shirishjain/Music-Recommender-Engine/blob/master/Project Report - Pro.pdf

Implementation
Code - https://github.com/shirishjain/Music-Recommender-Engine/tree/master/src

Difficulty Level: 4

12. AI Ludo
An application of reinforcement learning to the Ludo board game. Implementing Q-learning with a neural network to allow an agent to learn a game strategy.

Explanation of the project
Explanation - https://github.com/andresc889/AILudoPlayer#readme

Implementation
Code - https://github.com/andresc889/AILudoPlayer/tree/master/src

Difficulty Level: 4

Result:
ludo_board

13. CartPole
A pole is attached to a cart and the goal is to prevent the pole from falling over. Implementing reinforcement learning using Proximal Policy Optimization(PPO).

How the project works
Explanation - https://github.com/NickKaparinos/OpenAI-Gym-Projects#cartpole-v1

Implementation
Code - https://github.com/NickKaparinos/OpenAI-Gym-Projects/tree/master/Classic Control/CartPole

Difficulty Level: 2

Result:
Screenshot-2023-01-22-12.43.06-PM

14. Mountain Car
A car stuck between two mountains tries to climb the top of the mountain. Reinforcement learning is implemented using Double Dueling Deep Q Learning (DQN).

How the project works
Explanation - https://github.com/NickKaparinos/OpenAI-Gym-Projects#mountaincar-v0

Implementation
Code - https://github.com/NickKaparinos/OpenAI-Gym-Projects/tree/master/Classic Control/MountainCar

Difficulty Level: 2

Result:
Screenshot-2023-01-22-12.48.12-PM

15. Pendulum
A pendulum starts in a random position and the goal is to swing it up so that it stays upright. Deep Deterministic Policy Gradient (DDPG) is used for this problem.

How the project works
Explanation - https://github.com/NickKaparinos/OpenAI-Gym-Projects#pendulum-v0

Implementation
Code - https://github.com/NickKaparinos/OpenAI-Gym-Projects/tree/master/Classic Control/Pendulum

Difficulty Level: 3

Result:
Screenshot-2023-01-22-12.49.50-PM

16. Lunar Lander
Navigate a lander to its landing pad. Four discrete actions available: do nothing, fire left orientation engine, fire main engine, fire right orientation engine. This problem is solved using Double Dueling Deep Q Learning (DQN).

How the project works
Explanation - https://github.com/NickKaparinos/OpenAI-Gym-Projects#lunarlander-v2

Implementation
Code - https://github.com/NickKaparinos/OpenAI-Gym-Projects/tree/master/Box2D/LunarLander

Difficulty Level: 3

Result:
Screenshot-2023-01-22-12.52.02-PM

17. Self-driving Car
Reinforcement learning applied for self-driving cars in Carla. Carla is a open-source simulator for autonomous driving research. This is only Reinforcement Learning codebase for self-driving car in Carla

How to work with the project
Explanation - https://github.com/Sentdex/Carla-RL#carla-rl

Implementation
Code - https://github.com/Sentdex/Carla-RL

Difficulty Level: 5

18. Lawn Mowing
Given any lawn shape and size, discovering in the least time possible the most efficient mowing pattern using deep reinforcement learning.

How the project works
Explanation - https://github.com/JacobZuliani/Efficient-Lawn-Mowing-with-Deep-Reinforcement-Learning#efficient-lawn-mowing-with-deep-reinforcement-learning

Implementation
Code - https://github.com/JacobZuliani/Efficient-Lawn-Mowing-with-Deep-Reinforcement-Learning

Difficulty Level: 4

Result:
Here is an example environment state after the agent made some progress:
68747470733a2f2f692e6962622e636f2f634368726b4d772f656e7669726f6e6d656e742d73746174652d776974682d70726f67726573732d6578616d706c652e706e67

19. Traffic Signal Control
Deep Q-learning applied to control traffic signal to maximize traffic efficiency.

Explanation of the project
Explanation - https://github.com/AndreaVidali/Deep-QLearning-Agent-for-Traffic-Signal-Control#deep-q-learning-agent-for-traffic-signal-control

Implementation
Code - https://github.com/AndreaVidali/Deep-QLearning-Agent-for-Traffic-Signal-Control/tree/master/TLCS

Difficulty Level: 4

20. Sentiment Analysis
Applying generic Hierarchical deep reinforcement learning for sentiment analysis. Asynchronous Advantage Actor Critic(a3c), a policy gradient algorithm in reinforcement learning is used for this project.

The dataset contains train and test sets for sentiments
Dataset - https://github.com/Francesco-Sovrano/Generic-Hierarchical-Deep-Reinforcement-Learning-for-Sentiment-Analysis/tree/master/database

How the project works
Explanation - https://github.com/Francesco-Sovrano/Generic-Hierarchical-Deep-Reinforcement-Learning-for-Sentiment-Analysis#generic-hierarchical-deep-reinforcement-learning-for-sentiment-analysis

Implementation
Code - https://github.com/Francesco-Sovrano/Generic-Hierarchical-Deep-Reinforcement-Learning-for-Sentiment-Analysis

Difficulty Level: 4

21. Quiztions
An Educational Vuejs & firebase app that uses reinforcement learning by allowing instructors to add quizzes and courses that consist of questions.

How to run the project
Explanation - https://github.com/eslam-fakhry/quiztions#quiztions

Implementation
Code - https://github.com/eslam-fakhry/quiztions

Difficulty Level: 5

22. Car Racing Game
Applying major reinforcement learning algorithms to this project from GymAI environment. These algorithms are, Deep Q-learning(DQN), Proximal Policy Optimization(PPO), and Advantage Actor Critic(A2c).

Explaining the project
Explanation - https://github.com/AGiannoutsos/car_racer_gym#carracing-v0

Implementation
Code - https://github.com/AGiannoutsos/car_racer_gym/blob/main/car_racing.py

Difficulty Level: 2

Result:
Screenshot-2023-01-22-1.22.34-PM

Screenshot-2023-01-22-1.22.21-PM

Screenshot-2023-01-22-1.22.09-PM

23. Hover Bike Race
A reinforcement learning project created with Unity Machine Learning Agents. The programming language C# is used for this project.

Explanation of the project
Explanation - https://github.com/mbaske/ml-hover-bike-race#hover-bike-race---video

Implementation
Code - https://github.com/mbaske/ml-hover-bike-race

Difficulty Level: 4

Result:
banner

24. Maze Solve
An agent finding the most efficient path in a maze using Q-learning.

How the project works
Explanation - https://github.com/MuaazBin/KE_AE#ke_ae

Implementation
Code - https://github.com/MuaazBin/KE_AE

Difficulty Level: 3

Result:
eef8dcfc-46f0-11e7-8174-72666874cb18

25. Grocery Shopping Solution
Developing the best strategy to minimise the cost and time needed for purchasing monthly grocery using RL.

Explanation of the problem and the solution
Explanation - https://github.com/manasimalik/RL-For-Grocery-Shopping-Solutions/blob/master/RL Grocery Shopping Solutions.pdf

Implementation
Code - https://github.com/manasimalik/RL-For-Grocery-Shopping-Solutions

Difficulty Level: 2

26. Supply Chain Inventory Management
A deep reinfrocement learning approach to supply chain inventory management. The project is a comparison between different reinforcement learning algorithms.

Explanation of the paper
Explanation - https://github.com/frenkowski/SCIMAI-Gym#scimai-gym

Implementation
Code - https://github.com/frenkowski/SCIMAI-Gym/blob/main/SCIMAI-Gym_V1.ipynb

Difficulty Level: 4

Result:
Screenshot-2023-01-22-1.36.53-PM

27. Fishing Derby Game
Developing Fishing Derby using minimax algorithm, hidden markov models and reinforcement learning.

Explanation of the project
Explanation - https://github.com/Joao-Tiago-Almeida/AI-topics-applied-to-the-Fishing-Derby-game#ai-topics-applied-to-the-fishing-derby-game

Implementation
Code - https://github.com/Joao-Tiago-Almeida/AI-topics-applied-to-the-Fishing-Derby-game/tree/main/Reinforcement Learning

Difficulty Level: 3

28. Ride Bicycle
Teaching an agent to ride bicycle using reinforcement learning.

Creating the environment and project
Code - https://github.com/chrisdembia/agent-bicycle/tree/master/randlov1998

Difficulty Level: 4

29. Cab Driver Agent
Train a Cab driver agent to interact with the environment and get ride requests, eventually decide to accept or reject certian rides using reinforcement learning.

Implementation
Code - https://github.com/deeplearn-optimizer/ReinforcementLearningCabDriverAgent

Difficulty Level: 4

30. RL-Chatbot
Implementing sequence to Sequence(seq2seq) learning and Policy Gradient from reinforcement learning to develop this chatbot.

The dataset consisting words the chatbot will use
Dataset - https://github.com/pochih/RL-Chatbot/tree/master/data

Explaining how the project works
Explanation - https://github.com/pochih/RL-Chatbot#intro

Implementation
Code - https://github.com/pochih/RL-Chatbot/tree/master/python

Difficulty Level: 4

Results:

Screenshot-2023-01-22-1.24.54-AM
Screenshot-2023-01-22-1.25.31-AM
Screenshot-2023-01-22-1.25.49-AM

Conclusion

Reinforcement learning is developing everyday. Using an intelligent agent to almost every aspect is becoming more and more helpful. These are only a few of the applications that are developed and there are possibilities for so much more.

References

  1. https://en.wikipedia.org/wiki/Reinforcement_learning
  2. https://www.guru99.com/reinforcement-learning-tutorial.html
  3. https://www.techtarget.com/searchenterpriseai/definition/reinforcement-learning
30 Reinforcement Learning Project Ideas [with source code]
Share this