Skip to content

nakurahe/CS50_Introduction_to_AI_with_Python

Repository files navigation

CS50's Introduction to Artificial Intelligence with Python

This repository contains 12 projects for CS50's Introduction to Artificial Intelligence with Python.
I am profoundly grateful for the opportunity to have taken this course. It has been an incredible journey of learning and discovery. Thank you to the entire CS50 team for creating such an inspiring and transformative educational experience.

Projects

  1. Attention

    • Analysis and implementation of attention mechanisms.
    • Features:
      • Implementation of attention layers.
      • Visualization of attention weights.
      • Application to sequence-to-sequence models.
    • mask.py
    • analysis.md
  2. Crossword

    • A crossword puzzle solver.
    • Features:
      • Constraint satisfaction problem formulation.
      • Backtracking search algorithm.
      • Heuristics for variable and value ordering.
    • crossword.py
    • generate.py
  3. Degrees

    • A project to find degrees of separation between actors using graph search algorithms.
    • Features:
      • Breadth-first search implementation.
      • Data parsing and graph construction.
      • Pathfinding and shortest path calculation.
    • degrees.py
    • util.py
  4. Heredity

    • A project to predict genetic traits.
    • Features:
      • Bayesian network representation.
      • Probability calculations for genetic inheritance.
      • Inference using joint probability distribution.
    • heredity.py
  5. Knights

    • Logic puzzles involving knights and knaves.
    • Features:
      • Propositional logic representation.
      • Model checking for logical consistency.
      • Puzzle solving using logical inference.
    • logic.py
    • puzzle.py
  6. Minesweeper

    • Implementation of the Minesweeper game with AI to solve the puzzles.
    • Features:
      • Board generation with varying difficulty levels.
      • AI agent to deduce safe moves and flag mines.
      • Visualization of the game board.
    • minesweeper
  7. Nim

    • Implementation of the Nim game with an AI to play optimally.
    • Features:
      • Game setup with customizable initial conditions.
      • AI agent using minimax algorithm to play optimally.
      • User interface for human vs AI gameplay.
    • nim
    • play
  8. PageRank

    • Implementation of the PageRank algorithm to rank web pages.
    • Features:
      • Calculation of PageRank values for a set of web pages.
      • Simulation of random surfer model.
      • Analysis and visualization of PageRank results.
    • pagerank
  9. Parser

    • Implementation of a natural language parser.
    • Features:
      • Tokenization and parsing of sentences.
      • Construction of parse trees.
      • Handling of ambiguous grammars.
    • parser
  10. Shopping

    • Implementation of a shopping prediction system using machine learning.
    • Features:
      • Data preprocessing and feature extraction.
      • Training and evaluation of machine learning models.
      • Prediction of shopping behaviors based on input data.
    • shopping
  11. TicTacToe

    • Implementation of the TicTacToe game with an AI to play optimally.
    • Features:
      • Game setup and user interface.
      • AI agent using minimax algorithm to play optimally.
      • Support for human vs AI and AI vs AI gameplay.
    • tictactoe
    • runner
  12. Traffic

    • Implementation of a traffic simulation and optimization system.
    • Features:
      • Simulation of traffic flow in a network of roads.
      • Optimization of traffic light timings to reduce congestion.
      • Visualization of traffic patterns and simulation results.
    • traffic

Each project folder contains the relevant code and resources needed to complete the assignments. Refer to the individual project directories for more details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages