This repository contains my personal solutions to the projects from CS50's Introduction to Artificial Intelligence with Python by Harvard University.
The course explores key concepts in artificial intelligence through hands-on projects and implementations using Python. Topics include search algorithms, knowledge representation, logical inference, probabilistic models, machine learning, natural language processing, neural networks and transformers.
Note: These solutions are shared for learning and reference only. If you're currently enrolled in the course, I strongly encourage you to complete the assignments yourself to gain the most from the experience.
Each folder in this repository corresponds to one of the course's projects:
.
├── attention
├── crossword
├── degrees
├── heredity
├── knights
├── minesweeper
├── nim
├── pagerank
├── parser
├── shopping
├── tictactoe
├── traffic
└── readme.md
| Project Name | Description |
|---|---|
| Attention | Uses pre-trained transformer models to perform question answering on text passages. |
| Crossword | Automatically generates crossword puzzles using backtracking and constraint satisfaction. |
| Degrees | Implements breadth-first search to find the shortest connection path between actors based on shared movie appearances. |
| Heredity | Models genetic inheritance using probabilistic inference and Bayes' Rule. |
| Knights | Solves logic puzzles using propositional logic and a knowledge base. |
| Minesweeper | Builds an AI to play Minesweeper using logical inference to identify mines. |
| Nim | Trains an AI to play the game of Nim using reinforcement learning (Q-learning). |
| Pagerank | Implements the PageRank algorithm. |
| Parser | Parses natural language sentences using a context-free grammar (CFG). |
| Shopping | Peforms KNN (K Nearest Neighbors) classification. |
| Tic Tac Toe | Uses the Minimax algorithm to create an unbeatable AI for Tic Tac Toe. |
| Traffic | Experiments with different CNN (Convolutional Neural Network) architecture to classify german traffic sign images. |
- Harvard CS50 Team
- David J. Malan and Brian Yu
- The CS50 AI community