This repository contains the code developed during the Artificial Intelligence course @cse.uoi.gr.
The first exercise is about the implementation of the minimax algorithm and it’s usage for deciding computer player moves during a custom game with a human player as an oponent.
The second exercise is about implementing the A* (A star) and UCS (Uniform Cost Search) algorithms and using them to find the shortest path between an initial and two goal states. Note that the state space is randomly created every time.
In the second exercise, DOT graph description language was used to visualize the generated state space and the available transitions between states. Although game tree graphing was also implemented for the first exercise, it was later removed due to the large size of the graph (for a branch factor of 6 and a tree depth of 4, 1296 nodes need to be plotted).
George Z. Zachos
GNU GENERAL PUBLIC LICENSE Version 2, June 1991