Projects and Problem Sets for CS50’s Introduction to Artificial Intelligence with Python
Depth-First Search. Breadth-First Search. Greedy Best-First Search. A* Search. Minimax. Alpha-Beta Pruning.
Degrees Use a BFS search with IMDb data to determine the 'degrees of separation' between two actors.
TicTacToe Using minimax to have an AI play tic-tac-toe optimally. Built using test-driven development principles.
Propositional Logic. Entailment. Inference. Model Checking. Resolution. First Order Logic.
Knights Create a knowledge base to evaluate propositional logic to solve logic puzzles.
Minesweeper AI that plays Minesweeper using logical inferences to make moves.
Probability. Conditional Probability. Random Variables. Independence. Bayes’ Rule. Joint Probability. Bayesian Networks. Sampling. Markov Models. Hidden Markov Models.
PageRank AI uses PageRank Algorithim to rank web pages by importance.
Heredity Uses a Bayseian Network to assess the likelihood that a person will have a particular genetic trait.
Local Search. Hill Climbing. Simulated Annealing. Linear Programming. Constraint Satisfaction. Backtracking Search.
Crossword Write an AI to generate crossword puzzles.
Supervised Learning. Nearest-Neighbor Classification. Perceptron Learning. Support Vector Machines. Regression. Loss Functions. Overfitting. Regularization. Reinforcement Learning. Markov Decision Processes. Q-Learning. Unsupervised Learning. k-means Clustering.
Shopping AI that predicts whether online customers will complete a purchase.
Nim Write an AI that teaches itself to play Nim through reinforcement learning.
Artificial Neural Networks. Activation Functions. Gradient Descent. Backpropagation. Overfitting. TensorFlow. Image Convolution. Convolutional Neural Networks. Recurrent Neural Networks.
Traffic Convolutional Neural Network to identify traffic signs