  This research project presents the implementation of a Deep Q-Learning
Network (DQN) for a self-driving car on a 2-dimensional (2D) custom track, with
the objective of enhancing the DQN network's performance. It encompasses the
development of a custom driving environment using Pygame on a track surrounding
the University of Memphis map, as well as the design and implementation of the
DQN model. The algorithm utilizes data from 7 sensors installed in the car,
which measure the distance between the car and the track. These sensors are
positioned in front of the vehicle, spaced 20 degrees apart, enabling them to
sense a wide area ahead. We successfully implemented the DQN and also a
modified version of the DQN with a priority-based action selection mechanism,
which we refer to as modified DQN. The model was trained over 1000 episodes,
and the average reward received by the agent was found to be around 40, which
is approximately 60% higher than the original DQN and around 50% higher than
the vanilla neural network.
