Skip to content

DanielProjectJourney/AI_NanoDegree_Udacity

Repository files navigation

The Artificial Intelligence Nanodegree Program --- By Daniel

image

Project 01: Solve a Sudoku with AI

image

Overview

  • In this project, you will be writing code to implement two extensions of our sudoku solver. The first one will be to implement the technique called "naked twins". The second one will be to modify our existing code to solve a diagonal sudoku. To complete this project you will use the tools you learned about in the lesson, and build upon them.

  • Your goals are to implement the naked twins function, and write an AI agent that will solve the Diagonal Sudoku game.*

Project 02: Build a Game-Playing Agent

image

Code Part

  • MinimaxPlayer.minimax(): implement minimax search
  • AlphaBetaPlayer.alphabeta(): implement minimax search with alpha-beta pruning
  • AlphaBetaPlayer.get_move(): implement iterative deepening search
  • custom_score(): implement your own best position evaluation heuristic
  • custom_score_2(): implement your own alternate position evaluation heuristic
  • custom_score_3(): implement your own alternate position evaluation heuristic
  • For each of your three custom heuristic functions, evaluate the performance of the heuristic using the included tournament.py script. Then write up a brief summary of your results, describing the performance of the agent using the different heuristic functions verbally and using appropriate visualizations.

Research Review

The field of Artificial lIntelligence is continually changing and advancing. To be an AI Engineer at the cutting edge of your field, you'll need to be able to read and communicate some of these advancements with your peers. In order to help you get comfortable with this, in the second part of this project you will read a seminal paper in the field of Game-Playing and write a simple one page summary on it. Here are your instructions:

* Select a Game-Playing paper from the following list or another of your choosing:
  1. Game Tree Searching by Min / Max Approximation by Ron Rivest, MIT (Fun fact, Ron Rivest is the R is in the RSA cryptographic protocol).
  2. Deep Blue by the IBM Watson Team (Fun fact, Deep Blue beat Gary Kasparov in Chess in one of the most famous AI spectacles of the 20th century).
  3. AlphaGo by the DeepMind Team.
  4. Other paper on Game-Playing of your choosing.
* Write a simple one page summary of the paper covering the following:
  • A brief summary of the paper's goals or techniques introduced (if any).
  • A brief summary of the paper's results (if any).

Some Useful Links

  • Isolation Extras Sample

  • University of British Columbia's slides introducing the Iterative Deepening.

  • A set of videos showing visually how Iterative Deepening is different from DFS in practice.

  • Korf, 1991, Multi-player alpha-beta pruning.

    • In the above paper, you will get a chance to generalize minimax search techniques to games with more than three players. As you'll see, alpha-beta pruning doesn't work quite as effectively in this case as in the general case. Here are a few questions to keep in mind while reading through this paper:

    • Why might alphabeta pruning only work well in the two player case?

    • How does the size of the search tree change with more than two players?


Project 03: Implement a Planning Search

image

Coding and Analysis

In this project, you will define a group of problems in classical PDDL (Planning Domain Definition Language) for the air cargo domain discussed in the lectures. You will then set up the problems for search, experiment with various automatically generated heuristics, including planning graph heuristics, to solve the problems, and then provide an analysis of the results. Additionally, you will write a short research review paper on the historical development of planning techniques and their use in artificial intelligence.

Research Review

After completing the coding and analysis portion of the project, read up on important historical developments in the field of AI planning and search. Write a one-page report on three of these developments, highlighting the relationships between the developments and their impact on the field of AI as a whole.

Project 04: Buld a Sign Language Recognizer

image

image

In this project, you will build a system that can recognize words communicated using the American Sign Language (ASL). You will be provided a preprocessed dataset of tracked hand and nose positions extracted from video. Your goal would be to train a set of Hidden Markov Models (HMMs) using part of this dataset to try and identify individual words from test sequences.

As an optional challenge, you can incorporate Statistical Language Models (SLMs) that capture the conditional probability of particular sequences of words occurring. This will help you improve the recognition accuracy of your system.