MINION

Google Summer of Code 2010 ideas page

  • Search tree visualiser

    A search tree visualiser can be used to look at the search tree Minion creates during search and identify possible sources of contention and insufficient propagation.

    The most basic form of such a visualiser would take Minion output and generate the search tree from it. It should also have a facility to hide irrelevant parts of the tree to make it feasible to look at large search trees.

    Improvements over a basic implementations might include: interactive exploration of the search tree, ability to save the visualisation to e.g. PDF, more sophisticated visualisations which make it easier to grasp all the information the search tree represents.

    There are several visualisers for other constraint solvers (Choco, Gecode, Eclipse) which could be used as a starting point. The visualiser can be implemented as a standalone program which reads Minion output or as a component of Minion that allows to control the search interactively.

    The visualiser should be cross-platform.

    Successful applicants should have strong programming skills in C++ or a language of their choice and experience in software engineering and testing. Experience in Computer Graphics and/or Artificial Intelligence is a plus, but not required.

    Mentors: Chris Jefferson, Karen Petrie, Lars Kotthoff

  • Domain-specific search visualiser

    A domain-specific search visualiser shows the state of the search depending on the problem. For example for Sudoku, it would show a 9x9 grid with numbers in each cell.

    There exists a basic visualiser like that which shows the domains of variables in a grid (similar to Sudoku) written in Haskell. It could be used as a starting point. There are also domain-specific visualisers for other constraint solvers (Choco) which can be used as a guide.

    The final program should take a description of the type of visualisation and Minion output as inputs and produce a visualisation of the search process. Alternatively, it could be implemented as a part of Minion. It should have a set of predefined types of visualisation and allow to (easily) create new ones. It could also be made interactive and provide a facility for saving visualisations.

    The visualiser should be cross-platform.

    Successful applicants should have strong programming skills in Haskell/C++ or a language of their choice and experience in software engineering and testing. Experience in Computer Graphics and/or Artificial Intelligence is a plus, but not required.

    Mentors: Chris Jefferson, Karen Petrie, Lars Kotthoff

Our projects give you an exciting opportunity to work with researchers and explore and go beyond the boundaries of computer science. You will be able to bring your own ideas into the project and realise them. You will also be expected to work independently and deliver high-quality results.

All applicants should submit an outline of what they are planning to do specifically, possibly mentioning decisions such the programming language which to use and other implementation details. The application should convey an understanding of the problem and provide evidence that the applicant is capable of solving it.

If you have an idea for a project that is not listed here, but fits in with what we are doing, by all means let us know!

Prospective applicants are encouraged to discuss their application with Lars Kotthoff at larsko@cs.st-andrews.ac.uk.

For all projects, we require students to assign the copyright to us.

[ Home | Download | Benchmarks | Bugs | Manual | Case studies | References | People | Guestbook ]


Minion is hosted by sourceforge.net
SourceForge.net Logo