Authors: Lironne, Mahbod, Eylül
What is the problem?
Explore the effectiveness of using Prolog to write an implementation of the logic-based puzzle Sudoku. Our project will allow the user to view with the puzzle and choose to use the machine to solve it for them.
What is the something extra?
We will attempt to introduce non-standard and unique Sudoku formats with more than just the simple 3x3x3 layout, to compare the difference in added complexity for implementation in Prolog. Our goal is to build a UI to visualize a game as well.
What did we learn from doing this?
We managed to write a complex Sudoku solver that solves several types of Suduko, Each type of a Suduko board has different additional constraints on top of the regular one.
Functional programming proved to be very suitable for the task of solving the Suduko board, since the game is based off logical constraints introducing new ones on top of previous constraints was an easy task, as we only had to create a new predicate and enforce it.