Search Engine using NLP - Developed a search engine from scratch with text processing methods such as sentence segmentation, tokenization,
stemming/lemmatization, and stopword removal. Tested using Cranfield dataset. Initially used Vector Space Model but moved on to BM-25 like model as a better alternative to TF-IDF vectorization. Latent Semantic Analysis utilized to handle synonymy and polysemy and a separate module for spell check. Achieved
mean average precision (mAP) of 0.768 and Normalized Discounted Cumulative Gain (nDCG) of 0.642.
Image classification - Developed Image Classifiers using several methods, all coded from scratch, such as Gaussian Mixture Model (74% acc),
Support Vector Machine (77% acc), K-Nearest Neighbors (70% acc), and Artificial Neural Network (78% acc). Performed dimensionality reduction using PCA and LDA techniques.
Othello AI Bot - Coded an Artificially Intelligent program that plays the game of Othello with other bots. Tested and optimized the minimax algorithm, alpha-beta pruning, and SSS* algorithm to have low decision times and
high win rates.
Image Compression using SVD and EVD - There are many methods of matrix factorization among which Eigen Value Decomposition and Singular
Value Decomposition are prominent. These methods are popular in Machine learning for data compression(here, image compression) and for denoising
data before working on it. In this mini project, EVD and SVD have been applied to a gray scale 256x256 image and rgb 256x256 image. Multiple experiments have been performed on them to analyze these techniques.
Travelling Salesman Problem - Given 5 minutes, the project aimed to find the shortest tour visiting all cities in a given list with non-Euclidean distances
provided, which is an NP-Hard problem. Researched various heuristics and methods such as Greedy heuristics, Farthest insertion, Clark and Wright Savings
heuristics, 2-Opt, and many others to implement the project.
Matrix Multiplication Accelerator - Created a functional 32-bit RISC-V architecture CPU capable of performing all instructions in RV32I set with
handshaking support. Implemented an accelerator for this CPU that performs fast matrix operations, particularly matrix multiplication, using SIMD.
Tic Tac Toe over LAN - Designed and implemented a two-player tic-tac-toe game using the traditional client-server architecture. Contains
support for playing multiple games simultaneously using threads along with exception handling.