reset password
Author Message
rabbott
Posts: 1649
Posted 22:25 Nov 10, 2019 |

You may do an optional extra credit project. Those who complete a project will get a significant grade boost.

The project is to create a MiniZinc model for a challenging problem. Although we were quite pleased with the work presented by the Saturday class, by challenging we mean something even more sophisticated than the puzzles you have been working on. Here are two possibilities.

Write a MiniZinc solver that uses Manhattan Distance as a heuristic for the 15-puzzle. Earlier this semester we already did such a project in Python. You may use what you learned from that project. In addition, Hakan Kjellerstrang has coded a MiniZinc version of the 15 puzzle that doesn't use the Manhattan distance heuristic. You may start with his code. But be warned, it is not easy to understand. (It may not even be the best code for the problem, but it is a possible starting point.)

Write a MiniZinc solver for Mastermind. on Saturday, Anoveer Gill presented a nice model for a puzzle that's something like a simplified version of Mastermind.  The project is to implement a Mastermind solver based on Knuth's approach as described in WikipediaThis Python code does one version. Here's a Java version. (I haven't looked at either carefully enough to say how good they are.) (You may start with Anoveer's code.)

Write a MiniZinc solver that uses a Genetic Algorithm to solve a puzzle. MiniZinc is not a natural framework for Genetic Algorithms. But using the techniques we've developed for planning problems, along with the random functions in MiniZinc's library, it may be possible to use MiniZinc to solve a puzzle using a Genetic Algorithm. The idea is that the population at each generation corresponds to a state in our planning problems. One generates successive populations until one has a solution. It may turn out not to be an effective way to solve models, but it seems like a worthwhile experiment.

You may propose other projects. Be sure your project is approved before you spend too much time on it.

Last edited by rabbott at 08:17 Nov 11, 2019.