An open API service indexing awesome lists of open source software.

https://github.com/plcoster/cs50ai-projects

Projects Completed for Harvard's CS50 AI: Introduction to Artificial Intelligence with Python
https://github.com/plcoster/cs50ai-projects

ai python

Last synced: 11 months ago
JSON representation

Projects Completed for Harvard's CS50 AI: Introduction to Artificial Intelligence with Python

Awesome Lists containing this project

README

          

# CS50 AI Projects

Here are descriptions and links to the projects completed for [Harvard's CS50 AI: Introduction to Artificial Intelligence with Python](https://www.edx.org/course/cs50s-introduction-to-artificial-intelligence-with-python).

## Search

### Degrees

Implementation of a Breadth-First Search Algorithm to find the degrees of separation between two selected actors, by films they have starred in.
- [Github](https://github.com/PLCoster/cs50ai-week0-degrees)
- [Demo](https://youtu.be/yk_eLo4vXqk)

### Tic-Tac-Toe

Implementation of a Tic Tac Toe AI using a Minimax Algorithm with Alpha-Beta pruning. Randomisation varies the AI's moves where several have equal utility.
- [Github](https://github.com/PLCoster/cs50ai-week0-tictactoe)
- [Demo](https://youtu.be/wEpcmVQ2US4)

## Knowledge

### Knights

Solutions to 'Knights and Knaves' style logic puzzles using Propositional Logic and Model Checking.
- [Github](https://github.com/PLCoster/cs50ai-week1-knights)
- [Demo](https://youtu.be/Exrwm2OrTko)

### Minesweeper

An AI that plays the classic Windows 'Minesweeper' game, using a knowledge base and inference to generate new knowledge about the game state.
- [Github](https://github.com/PLCoster/cs50ai-week1-minesweeper)
- [Demo](https://youtu.be/PW1k7TWhvuY)

## Uncertainty

### PageRank

An AI that ranks web pages by importance - similar to the Google PageRank AI - using both a Random Surfer Model and an Iterative Algorithm.
- [Github](https://github.com/PLCoster/cs50ai-week2-pagerank)
- [Demo](https://youtu.be/e76D3yuUNZU)

### Heredity

An AI that predicts the likelihood of members of a family having a 0, 1, or 2 copies of a gene, and a trait caused by that gene, using a Bayesian Network and Inference by Enumeration.
- [Github](https://github.com/PLCoster/cs50ai-week2-heredity)
- [Demo](https://youtu.be/Hq4lpH_DNaE)

## Optimisation

### Crossword

An AI that generates crossword puzzles, by treating the crossword generation as a constraint satisfaction problem and using a backtracking search algorithm.
- [Github](https://github.com/PLCoster/cs50ai-week3-crossword)
- [Demo](https://youtu.be/X71-WKXkxqQ)

## Learning

### Shopping

An AI that predicts whether online shopping customers will complete a purchase, using the Scikit-Learn k-Nearest Neighbour classifier on a customer dataset.
- [Github](https://github.com/PLCoster/cs50ai-week4-shopping)
- [Demo] TODO

### Nim

An AI that teaches itself to play the game 'Nim' using Reinforcement Learning. A Q-Learning algorithm with ε-Greedy Decision Making is used to estimate the value of actions for game states.
- [Github](https://github.com/PLCoster/cs50ai-week4-nim)
- [Demo] TODO

## Neural Networks

### Traffic

An AI that identifies which traffic sign appears in a photograph, using a TensorFlow convolutional neural network.
- [Github](https://github.com/PLCoster/cs50ai-week5-traffic)
- [Demo] TODO

## Language

### Parser

An AI that can parse sentences and extract noun phrases, using the context-free grammar formalism and the Python nltk library.
- [Github](https://github.com/PLCoster/cs50ai-week6-parser)
- [Demo] TODO

### Questions

An AI that answers questions, by determining the most relevant document(s) using tf-idf ranking and then extracting the most relevant sentence(s) using idf and a query term density measure.
- [Github](https://github.com/PLCoster/cs50ai-week6-questions)
- [Demo] TODO