/CS580-Intro-to-Artificial-Intelligence

Contains notebook implementations for the AI based assignments using graph based algorithms that are commonly used in solving AI based problems. Algorithms include BFS, DFS, Hill Climbing, Differential Evolution, Genetic, Back Tracking..

Primary LanguageJupyter Notebook

All the assignmnemts contains Ipython Notebook

  • which is runnable either using Anaconda's Jupyter Notebook or using Google Colabs

Assignmnet1 - > A1

  • The 24-puzzle problem
  1. Breadth-first search (BFS)
  2. Depth-first search (DFS)
  3. Informed search algorithms using
    • h1(x) = number of misplaced tiles
    • h2(x) = sum of the distances of every tile to its goal position.

Assignmnet2 - > A2

  • Find the global minimum of the Eggholder’s Function
  1. Using Hill Climbing Search.
  2. Using Differential Evolution.
  • Find a solution of the N-queens problem
  1. Using Hill Climbing Search.
  2. Using Genetic Algorithm.

Assignmnet3 - > A3

  • Your task is to write an AI program to solve the Sudoku puzzle as a constraint satisfaction problem.
  1. Naïve Backtracking Algorithm
  2. Smart Backtracking Algorithm

Assignmnet4 - > A4

  • Your task is to write an AI program to play Othello with a human player. Your tasks include
  1. Implement an Othello playing interface that one can play the game.
  2. Design a heuristic function for the intermediate states.

Assignmnet5 - > A5

  • Design a pattern recognition neural network to recognize handwriting digits (0-9).
  1. Encode the data into input and target files for neural network training.
  2. Train the neural network (pattern net) based on your input/output files.

Project : Traveling Santa Prime Paths

  1. Problem Definition. Simply describe the “Traveling Santa Problem – Prime Paths” problem.

  2. Methods Provide detailed description on your methods, implementation details (pseudo code, flow chart, etc.),

  3. Results Analyze the results you get, for example, how do methods/strategies lead to a better solution? What do you learn from this project? Use figures, charts, and tables to assist your analysis. You can also compare your results with the Kaggle winners.

  4. Conclusions Provide your conclusions. Do you achieve your goal? Why or why not? If there a way to do it better?