Artificial Intelligence (CS6601)

MS Robotics, Georgia Tech

Duration: August22 - December22

Professor: Prof. Thomas Ploetz

This course is a Broad level introduction to the field of Artificial Intelligence. There are a variety of topics covered in this course, each of which has a set of modules (videos) that cover the basics and theoretic aspects and an assignment which is usually a short-scale project of one of the modules. Most of the assignments have an optional extra grading part involving either a competitive aspect or an extension aspect. The assignment covers adversarial search (i.e., game playing), Graph search, constraint satisfaction, logic, optimization, Bayes networks, Decision Trees and Random forests, Gaussian Mixture models, Hidden Markov models, and planning. The course Readings are based on the AI textbook Artificial Intelligence, co-authored by Stuart Russell and Peter Norvig. When I took the course, it consisted of the following assignments (a brief overview is given below):

Graph-Based Search Algorithms:

This course's most challenging assignment was at the conceptual and programming levels. Since i had a lackluster programming background, it took me roughly 40 hours to complete the assignment, and even then, I could not complete the tri-directional A* search aspect of this project. Although the assignment took a long time, I am sufficiently thorough in my understanding of breadth-first search, depth-first search, A* search, Dijkstra's algorithm, and the bidirectional and, to a smaller extent, the tridirectional ones. Some of the results of my assignment have been given below:

Isolation Game Playing agent:

In this assignment, we were asked to program a Game playing agent for a version of the Isolation game. The agent needed to beat the minimax version and alpha-beta version of the computer first. Then, we were asked to make a more innovative version of the agent using iterative deepening and our custom game strategies, such as killer move detection and partition. On an overall scale, it was much easier than the previous assignment. 

A Game of Isolation 

Bayesian Networks:

In this assignment, we were asked to create a Bayes network of a Bond movie plotline using the pgmpy library. After that, we had to make a metropolis-hastings and Gibbs sampling algorithm comparison of a frisbee game scenario. This assignment was by far the easiest one of all. I also learned a lot about different sampling methods and how to model a Bayes network using the pgmpy library.

Decision Trees and Random Forests:

For this assignment, the task was to build a classifier for deducing what kind of insect we would be looking at. So we were to build, train, and test decision tree models to perform multi-class classification tasks. In this way, we would learn more about how decision trees and random forests work and how the accuracy varies for different training parameters.

A Deccision Tree Example

Gaussian Mixture Models:

For this assignment, the task was to perform image compression and point cloud segmentation using gaussian mixture models. To do this assignment, i first performed k-means clustering to segment a color image. Then, I built a gaussian mixture model for training it with expectation maximization. Finally, I Implemented and tested a new metric called the Bayesian information criterion, which guarantees a more robust image segmentation.

Hidden Markov Models: 

This assignment aims to build a word recognizer for American Sign Language Video Sequences using Hidden Markov Models. I used the X and Y coordinates of the hands as states to create an HMM and calculated the corresponding transition probabilities and emission gaussian distribution. Then I used the Viterbi trellis algorithm to predict the most likely path and deduce the word associated with the sign.

Buy Car in ASL

Buy House in ASL

Position of hands (R- Blue, L- Red) and the position of nose (green)