conjure-cp / VIP

1 stars 0 forks source link

Visualising Puzzles #9

Open ChrisJefferson opened 5 months ago

ChrisJefferson commented 5 months ago

There are quite a lot of 'grid based puzzle' (sudoku and it's 400 variants, star battle, I can go find a list).

It would be nice (I would like!) a visualiser for all these different types of puzzles, and also Essence models for them (Essence models already exist for some of them, but they aren't organised and aren't in CSP lib).

There already exists work from St Andrews related to this at https://github.com/stacs-cp/Demystify-Visualiser . However, this is a full web app, I personally would like something it was easy to use stand-alone, which could make SVGs? I'm happy to talk further about this.

N-J-Martin commented 5 months ago

Are you looking for something like a feature of the visualisation library like Issue #3, or a separate piece of software?

ChrisJefferson commented 5 months ago

Ideally, I would like a stand-alone library which I could use when visualising puzzles (which is a thing I want to do a bunch), but I'm happy for it to be part of a library in any language I can reasonably call in a jupyter notebook to show a puzzle (I don't mind language, and jupyter can integrate with about anything). That way I can call it from demystify easily (unlike the existing visualiser, which is a full application and not easy to pull into pieces and just draw a puzzle).

Long term I'd like a visualiser which integrates with my other work on visualising how to solve puzzles -- long term the VIP could work on extending + integrating that work, but don't want to try to do everything at once!

ozgurakgun commented 5 months ago

I think you'll need to explain what demystify is to any interested sutdents.

ChrisJefferson commented 5 months ago

I'm happy to explain demystify at length :)

The basic idea is it takes an Essence specification (with some extra markup) and explains how to solve it (rather than just give the answer). It's particularly useful for puzzles, because in my experience those have an understandable explanation -- for lots of Essence problems it's not clear there is a "reasonable human explanation".

As part of demystify, we've modelled lots of puzzles ( you can see the here: https://github.com/stacs-cp/demystify/tree/master/eprime ).

There are various projects that could be connected to demystify, from gathering and modelling puzzles, to visualising puzzles, to studying how to solve puzzles, to visualising the output of demystify. I could at some point give a brief demo of demystify to any interested students, to show what's currently going on.