Course:CPSC312-2017-Kingdom of Zed2

From UBC Wiki

Title

https://github.com/Mopok/cpsc312proj2 Authors: Mark Pawlowski, Jin Min Lee

What is the problem?

We will be solving the Kingdom Of Zed which was designed by Piper Jackson for a similar course at SFU. (http://www.cs.sfu.ca/CourseCentral/383/pjj/a1.html)

What is the something extra?

If time allows, we will be adding the additional functionality stated on the website, such as optimizing the algorithm, supporting some graphics to display the grid and so on.

What did we learn from doing this?

(This should be written after you have done the work.) What is the bottom-line? Is logic programming suitable for (part-of) the task? Make sure you include the evidence for your claims. Haskell is good for solving logic based puzzles because it can easily generate permutations and check them on the go using functional programming. Haskell allowed for succinct functions that work towards a solution to the puzzle. However, implementing solving strategies with Haskell proved to be difficult with our knowledge of Haskell.

For instance trying to generate board permutations without repeating columns and rows proved to be difficult. And trying to implement basic solving strategies to reduce possible board permutations also proved difficult. However, both of these speed bumps could be overcome with Haskell.