This project has two parts: the first focuses on implementing A* and UCS algorithms to navigate a maze with obstacles. The second uses the Alpha-Beta pruning algorithm to create a Connect 4 game with AI that plays optimally against an opponent.
This project includes seven assignments, each centered on implementing a different data structure with real-world data to improve my programming skills through practical experience.
This has been one of the most interesting projects I have undertaken. It consists of two parts. In the first part, I implemented Locality-Sensitive Hashing (LSH) to efficiently identify similar documents. In the second part, I applied the Girvan-Newman algorithm to identify communities within a graph structure.
This is also one of my favorite projects. It consists of two parts. The first part involved the application of the K-means clustering algorithm. In the second part, we developed a simple neural network with three hidden layers, each containing 20 neurons. The purpose of this project was to gain an in-depth understanding of machine learning algorithms.
I developed seven (7) distinct convolutional neural networks (CNNs) to tackle a real-world problem using clinical images from Ioannina Hospital. The results of this work have been published here, presenting a valuable diagnostic tool for the detection of Actinic Keratosis. Python was used extensively throughout the project.