# Package edu.uky.ai.tic.ai

This package contains the tools needed to build an AI for playing Tic Tac Toe that uses adversarial game tree search techniques.

- Interface Summary
  Interface | Description
  --- | ---
  Bot | A bot is an artificially intelligent agent which, given the state of game, decides which move to make next.

- Class Summary
  Class | Description
  --- | ---
  AlphaBetaBot | This bot performs just as well as `MinMaxBot` but expands significantly fewer nodes by intelligently pruning the tree.
  Decision | Represents a decision made by a `Bot` about which `Move` to make next and how many possible moves the bot considered while making its decision.
  GameTree | A game tree is a representation of all the possible states that could occur during the play of game and how one state is reached from another.
  MinMaxBot | This bot expands the entire game tree and makes its decision based on Min Max search.
  RandomBot | A random Tic Tac Toe bot simply chooses its next move at random from all the available next moves.
  Utility | A utility function measures how desirable a given state is for some agent.