Git Product home page Git Product logo

tic-tac-toe's Introduction

Minimax Tic Tac Toe Game

Minimax Tic Tac Toe Game with an AI bot to play against.

This project was created as my final assignment for CS152 course: Harnessing Artificial Intelligence Algorithms in my third year at university.

Technologies and Lessons

I used the following technologies

  1. Python
  2. Libraries: random and copy

In this project I practiced and learned the following concepts:

  1. Minimax algorithm for adversarial games (search algorithms)
  2. OOP programming
  3. Optimizing algorithms by adding alpha beta pruning to the minimax algorithm
  4. Creating a bot player for a real scenario game
  5. Using a decorator function for memoization
  6. Documenting code with comments and docstrings

How to view and use the project?

All of the code can be found in the Jupyter notebook. The explanations are in chronological order with 5 different stages of the project: from a simple human vs human game all the way to a playing against a smart bot that uses minimax algorithm with evaluation function, alpha beta pruning, and memoization to make decisions. I advise going through the cells in the notebook in order.

tic-tac-toe's People

Contributors

vickipetrova avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.