This repository contains a collection of AI projects completed as part of the AI Course SP2024 University of Tehran (CEUT). Each project covers different aspects of artificial intelligence, from genetic algorithms to reinforcement learning. Below are the details of each project.
- CA1: Genetic Algorithm
- CA2: Hidden Markov Model (HMM)
- CA3: Clustering
- CA4: Machine Learning
- CA5: Neural Networks (NN)
- CA6: Reinforcement Learning (RL)
Description: This project involves building a genetic algorithm to solve a fractional knapsack problem with additional constraints such as minimum value and a range of items to choose from.
Features:
- Genetic algorithm implementation
- Custom constraints for knapsack problem
Results:
Description: In this project, we trained a Hidden Markov Model (HMM) to predict the voice of a person saying a certain number and to recognize the exact number said by the person.
Features:
- HMM training for voice prediction
- Number recognition using HMM
Results:
Description: This project involves using various clustering algorithms (K-means and DBSCAN) to categorize different pictures of flowers into groups. Dimensionality reduction techniques were also applied to see the impact on the clustering results.
Features:
- Clustering with K-means and DBSCAN
- Dimensionality reduction and analysis
Results:
Description: This project involves using various machine learning algorithms to predict house prices in Boston. The process includes data exploration, preprocessing, and application of multiple methods such as regression, KNN, decision trees, random forest, XGBoost, and SVM.
Features:
- Data exploration and preprocessing
- Application of multiple machine learning algorithms
- Comparative analysis of different models
Results:
Description: This project involves training a Convolutional Neural Network (CNN) model to detect suicidal tweets using Word2Vec for word embeddings and CNN for classification.
Features:
- Word2Vec embeddings
- CNN model for tweet classification
Results:
Description: In this project, we trained a snake model to compete in a 1v1 scenario using approximate Q-learning. The method involves defining a feature set and updating weights based on the game's progress.
Features:
- Approximate Q-learning implementation
- Feature set definition and weight updates
Results:
Feel free to fork this repository, open issues, or submit pull requests. Any contributions are welcome!