Summary of the Project

The goal of this project is to create an agent that can ride a horse effectively in Minecraft. When riding a horse in a normal Minecraft game, the player needs to control a horse such that they avoid various blocks such as cacti, which injure the horse, or water, which dismounts the user. The player also needs to control their horse in such a manner that it can jump over obstacles depending on the obstacle’s height. In this case, the agent would be presented with a track which consists of various terrains and obstacles. The goal is to get as far as possible on the track within a set amount of time, while minimizing the amount of health lost. The input is provided as the current location of the agent, as well as distance from the goal destination and current rewards. The output is the actions that the agent needs to take, whether it is jumping, moving left or right, or various other movement options to navigate through the terrain. This project translates well to the real world in terms of navigation, pathfinding, and obstacle avoidance. Autonomous navigation is an area of machine learning that many organizations are researching and developing, with one example being autonomous vehicles.

AI/ML Algorithms

In this assignment, we will primarily use the reinforcement learning algorithm Q-learning to teach the agent how to ride a horse and potential computer vision algorithms of deep learning from the Minecraft image feed to detect the presence of obstacles and the depth of obstacles.

Evaluation Plan

Quantitative Evaluation: To evaluate the success and effectiveness of navigating through terrain with a horse, we will record both metrics of how far the agent can travel forwards in a set period of 1 minute and how many hearts of health the horse ends up with. These measure both the speed and accuracy of the agent’s ability to travel through the terrain. The baseline is for the user to traverse through the terrain at the same speed as walking. We expect our approach to improve the metric by at least twofold, as the agent learns to travel a faster, but not necessarily shorter path, to navigate through. We will be able to evaluate the success of this through test runs with a predetermined horse that allows us to evaluate the distance and time needed for the agent to travel through the terrain.

Qualitative Evaluation: Overall, success in this project would be an agent that can navigate terrain effectively (meaning quickly with minimal health lost). Qualitative evaluation can be done by providing the agent terrains of different levels of difficulty. We would expect the agent to do very well on relatively flat terrain with little or no obstacles. Perhaps the agent might struggle to complete a course with many obstructions such as cacti, steep hills or water. We will be able to visualize the effectiveness of the algorithm against simple terrains that have minimal obstacles and increase the complexity of the terrain to visualize the effectiveness of the algorithm. Our moonshot case would be to have the agent navigate through a complicated terrain such as one with water and rifts to determine if the agent can quickly and safely travel across the terrain to a goal destination.

Appointment with Instructor

Date: October 19, 2021

Time: 3:15pm