These are assignments that were done as a part of the course CSCI-561, Foundations of Artificial Intelligence at the University of Southern California.
This assignment deals with General Search. There are 3 algorithms implemented with a slight variation as described in the assignemnt description:
-
Breadth First Search
-
Uniform Cost Search
-
A* Search
Technolgies used - Python
In this project, we will play the game of Halma, an adversarial game with some similarities to checkers. The game uses a 16x16 checkered gameboard. Each player starts with 19 game pieces clustered in diagonally opposite corners of the board. To win the game, a player needs totransfer all of their pieces from their starting corner to the opposite corner, into the positions that were initially occupied by the opponent. Note that this original rule of the game is subject to spoiling, as a player may choose to not move some pieces at all, thereby preventing the opponent from occupying those locations. Note that the spoiling player cannot win either (because some pieces remain in their original corner and thus cannot be used to occupy all positions in the opposite corner). Here, to prevent spoiling, we modify the goal of the game to be to occupy all of the opponent’s starting positions which the opponent is not still occupying.
Technolgies Used - Java