This repository contains the material for the Artificial Intelligence course at the University of Tehran, School of Electrical and Computer Engineering.
This project is a simple introduction to the Python, jupyter noteboooks, and pandas
, numpy
, and matplotlib
libraries. It contains a simple exploratory data analysis and a simple classification model.
In this project, a problem is defined and solved using different search algorithms including BFS
, DFS
, IDS
, A*
, and Weighted A*
. The problem is to deliver food orders to customers in a city with certain constraints.
In this project, a genetic algorithm is implemented to solve a Portfolio Optimization problem. The goal is to maximize the return of a portfolio of stocks while keeping the risk at a minimum level. The genetic algorithm is used to find the best combination of stocks to invest in.
In this project, the Othello game is implemented and the Minimax algorithm is used to find the best move for the AI player. The AI player is implemented using the Minimax algorithm with alpha-beta pruning. The AI player is tested against a random player and a greedy player. The AI player is also tested against itself to see how it performs. We also implement a simple GUI for the game. The results are analyzed for different search depths.
This project is about implementing a Naive Bayes classifier to classify handwritten persian digits. The dataset is provided and the classifier is implemented from scratch. The classifier is tested on the dataset and the results are analyzed.
In this project, a house price dataset is provided and different machine learning models are implemented to predict the house prices. The models include Linear Regression
implementation from scratch, Decision Tree
, Random Forest
, XGBoost
, K-Nearest Neighbors
, and Logistic Regression
. The models are trained and tested on the dataset and the results are analyzed.
In this project, first a simple neural network is implemented from scratch to classify the moons dataset. Then, we use PyTorch
to implement a neural network to classify the IMDB comments dataset. The neural network is trained and tested on the dataset and the results are analyzed.
In this project, a Convolutional Neural Network is implemented using TensorFlow
to classify the CIFAR-10 dataset. Regularization and data augmentation techniques are used to improve the performance of the model. The model is trained and tested on the dataset and the results are analyzed.