Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apostolos-k/ntua-ai-notebooks
Jupyter notebooks for the Artificial Intelligence course's lab at Ece Ntua 2022-23.
https://github.com/apostolos-k/ntua-ai-notebooks
artificial-intelligence jupyter-notebook maze-generator ntua-ece prolog python recommender-system
Last synced: 5 days ago
JSON representation
Jupyter notebooks for the Artificial Intelligence course's lab at Ece Ntua 2022-23.
- Host: GitHub
- URL: https://github.com/apostolos-k/ntua-ai-notebooks
- Owner: apostolos-k
- License: mit
- Created: 2023-06-16T17:47:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-08T11:21:51.000Z (3 months ago)
- Last Synced: 2024-08-08T13:31:12.182Z (3 months ago)
- Topics: artificial-intelligence, jupyter-notebook, maze-generator, ntua-ece, prolog, python, recommender-system
- Language: Jupyter Notebook
- Homepage:
- Size: 10.9 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Artificial Intelligence - ECE NTUA 2022-23
This repository contains Jupyter notebooks from the Artificial Intelligence course labs at ECE NTUA for the academic year 2022-23. The labs explore various AI techniques and algorithms, with practical implementations and simulations.
## Contributors
- [Karam Konstantinos](https://github.com/KostasKram)
- [Kolios Apostolos](https://github.com/apostolos-k)## Labs Overview
### Lab 1 - Maze Generator & Pathfinding
In this lab, we implemented an N x N maze generator using the Randomized Depth-First Search algorithm (Iterative Implementation). The generated mazes are then used to test various pathfinding algorithms:
- **Dijkstra's Algorithm**
- **Best-First Search**
- **A\* Algorithm**For the A\* Algorithm, we utilized different heuristic functions such as Manhattan and Euclidean distances to find the shortest path efficiently.
Additionally, we created a simulation of a chase inside the maze between a player and a ghost, implementing the Alpha-Beta pruning algorithm for the ghost's decision-making process.
### Lab 2 - Movie Recommender System in Prolog
In this lab, we developed a movie recommender system using Prolog, integrated within a Jupyter notebook via the `pyswip` library. The system offers two types of recommendations:
- **Content-Based Recommendations:** Suggests movies based on characteristics such as genre, year, actors, etc.
- **Collaborative Filtering:** Recommends movies based on user ratings of other movies, providing a similarity score to indicate how likely a movie is to be enjoyed by the user.The recommendation system includes a scale to measure the likelihood of a user liking a particular movie, offering a more personalized suggestion.
## Reports
All lab reports and explanations are provided in Greek.