• Home
  • About
    • Rohit Nair photo

      Rohit Nair

      Programmer and Problem Solver.

    • Learn More
    • Email
    • LinkedIn
    • Github
  • Activities
  • Projects
  Projects

Intelligent Agents - Chess, Checkers, Tic Tac Toe

Git Repo

August 2015 - December 2015

Reading time ~ 1 minute

PythonArtificial IntelligenceAgentMini-MaxGreedy Share Tweet +1

Tic-Tac-Toe:

We built an agent with near perfect performance for a tic-tac-toe with limited dimensions.


Checkers:

Chinese checkers is a difficult game to wrap one’s head around. We tried to develop an intelligent agent to try and play the game through different approaches.

  1. Random play: randomly choose one of the legal moves
  2. Greedy play: Apply a greedy approach to find the best move that will lead to an immediate benefit
  3. Minimax play: This is the heart of the agent. It tries to foresee the opponents move assuming that he’she will make the best move possible and try to choose the best move based on that.


Chess:

Just when we felt Checkers was bad, we started working on an agent for chess

  • Problem: The minimax search tree for chess is huge, we cannot explore all possibilities before making a move.
  • Solution: Prun the search tree where possible, restrict the depth of the search tree and make a tradeoff for performance over perfection at times.
  • Compete: This was an individual class project and we had a class tournament too.