Welcome to the "6 Weeks, 6 AI Projects" repository! This repository is a curated collection of hands-on projects designed to take you on a journey through various AI topics using Python. Each week, you'll delve into a new area of artificial intelligence, solving three distinct tasks related to a specific area of artificial intelligence. The solutions for all three tasks are available in the form of a single jupyter notebook for each topic. This provides hands-on experience and diverse perspectives on various techniques and applications.
Explore fundamental search algorithms and solve classic problems:
- Route Planning Problem: Implement search algorithms such as BFS or DFS to find the optimal path from a start point to a destination.
- 8-Puzzle Problem: Solve the 8-puzzle problem using algorithms like A* search or iterative deepening DFS.
- Maze Solver: Develop a maze solver algorithm using search techniques like BFS or DFS to navigate through the maze from the start to the exit point.
Discover optimization techniques inspired by natural selection:
- Travelling Salesman Problem: Tackle the classic Travelling Salesman Problem using algorithms like genetic algorithms.
- 8-Queens Problem: Solve the 8-Queens Problem using genetic algorithms to place 8 queens on an 8x8 chessboard without attacking each other.
- Map Colouring Problem: Implement genetic algorithms to color a map with 4 colors such that no neighboring regions share the same color.
Dive into reasoning under uncertainty and probabilistic models:
- Flower Classification: Develop a machine learning model to classify flowers based on their features.
- Medical Diagnosis: Implement a classification model to predict diabetes progression levels from routine medical data using probabilistic inference techniques.
- Monty Hall Problem: Analyze the Monty Hall problem using probabilistic inference techniques to determine the chance of winning when switching doors.
Explore decision-making and fuzzy logic principles:
- Tipping Problem: Solve the tipping problem using fuzzy logic principles to recommend the amount of tip in a restaurant based on food quality and service.
- Project Risk Assessment: Apply fuzzy logic concepts to assess and mitigate project risks effectively.
- Fuzzy Controller for Washing Machines: Develop a fuzzy controller for washing machines to optimize washing parameters based on fuzzy rules.
Delve into text analysis and language understanding:
- Sentiment Analysis of Movie Reviews: Perform sentiment analysis on movie reviews using natural language processing techniques and machine learning algorithms.
- Text Classification of News Groups Messages: Implement text classification algorithms to classify news group messages into different categories.
- Topic Modelling using LDA: Utilize Latent Dirichlet Allocation (LDA) algorithm to perform topic modeling on text data and discover underlying themes.
Explore advanced techniques in image processing and object detection:
- Frontal Face Detection: Implement frontal face detection using OpenCV library, particularly utilizing the Haar cascade detector.
- Instant Segmentation of Images using R-CNN: Develop instant segmentation of images using Region-based Convolutional Neural Networks (R-CNN).
- Object Detection using YOLO: Build an object detection model using You Only Look Once (YOLO) algorithm for detecting objects in images.