CP Visualizations for Teaching and Outreach

33 views
Skip to first unread message

Alexander Schiendorfer

unread,
Apr 12, 2021, 8:54:56 AM4/12/21
to Constraints
Dear CP-Community,

Gene's recent threads really got me thinking: What could help "spread the message" about CP (in the applied sense)?

And I think one thing that ML did really well was hammering the concepts of "supervised learning", "unsupervised learning" and "reinforcement learning" into people's heads. And by that I mean literally anyone ...

Practictioners can look at a problem and match it to their own business needs: "Oh this system can tell cats apart from dogs; I need to tell parts with scratches apart from good parts <- that's my system!

On the other hand, in CP (perhaps algorithms in general), our problems are very hard to grasp for people outside of computer science / math
* Set partitioning
* Latin squares
* SAT 

While we would have much more tangible and powerful "problem classes"
* Scheduling-like problems
* Packing-like problems

And I think that this could provoke a similar effect. 

To help with that (getting newcomers more interested), I've started a repository with a focus on solution visualizations based on Python and MiniZinc:


and uploaded a bunch of YT videos


I know that we already have CSPlib but I think this is geared more towards benchmarks (solution counting, propagation strength, runtimes etc.) for CP researchers. I'd be happy to port some of the more applied problems including a visualization to the repo.

I hope that you find these resources useful (maybe for outreach and teaching), I welcome all kinds of contributions and happy to hear your feedback.

@Gene: Would you mind adding my links to https://www.pearltrees.com/constraints ?

Cheers
Alexander

Özgür Akgün

unread,
Apr 12, 2021, 10:31:40 AM4/12/21
to Alexander Schiendorfer, Constraints
Alexander,

These look great, thanks for working on them!

If you want to integrate visualisations into CSPLIb I'd be happy to work together with you towards that. We could embed them as part of the problem specification and add links to your repository & videos.

Best,
Oz


--
Dr Özgür Akgün
Lecturer
School of Computer Science
University of St Andrews

--
You received this message because you are subscribed to the Google Groups "Constraints" group.
To unsubscribe from this group and stop receiving emails from it, send an email to constraints...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/constraints/eaa4b776-3b2e-458e-856b-75ceb7abe0d4n%40googlegroups.com.


--
Özgür Akgün

uli.junker

unread,
Apr 12, 2021, 3:14:35 PM4/12/21
to Özgür Akgün, Alexander Schiendorfer, Constraints, Ulrich Junker
Dear Alexander,

these are certainly great visualizations that illustrate the kind of problems that CP is able to solve. Everybody should be able to understand what CP is good for by looking at those diagrams.

However, I don’t think that they are yet on the same level as “telling cats apart from dogs”. The reason is that not every person has to solve scheduling and packing problems.

So are there problems that every person is able to handle and that require constraint solving?

Several AI researchers in the 70ties and 80ties believed so. We had the famous paper by David Waltz about using constraint propagation for generating 3D descriptions from line drawings of scenes. And we had the paper by James Allen about using constraint propagation to maintain knowledge about temporal intervals. Natural language is full of temporal relations and somehow our brain is able to process them and to infer relations that have not been explicitly stated, but that are needed in order to understand a story. This is as automatic for us as “telling cats apart from dogs”.

And no, I don’t think that GPT-3 is able to this. It may have learned some temporal inferences from existing texts, but without built-in temporal constraint propagation, it will not be able to provide the same guarantees that we expect from a reliable built-in mechanism.

Best wishes,

    Ulrich 





Eugene Freuder

unread,
Apr 15, 2021, 11:58:53 PM4/15/21
to Alexander Schiendorfer, Constraints

Alexander,

Thanks for these! I’ve posted them at the Resources site:



The Skoda example is great, just the sort of thing we need — “optimisation results in three cubic metres more space per unit, saving the company 151 container shipments and 80 tonnes of CO2 emissions in the first six months of the year“ — BUT it doesn’t credit constraint programming, or even use the word “constraint”. :-) It’s a Catch-22, companies want to use the popular buzzwords — AI, ML — but how can something be a popular buzzword if the companies don’t use it? :-) So we need to do our own “marketing”. Intel has “Intel Inside”; we need to have “CP Inside”. :-) 

If any members of this group have real-world applications you can publicize, please take the time to contribute them to the ACP Success Stories or Helmut’s Application Blog. It will be good for you and good for the field. 

We could also use one page PDF fliers and short 2 to 5 minute videos on scheduling, on configuration, etc. Very high level, citing, if at all possible, real success stories. To post at our websites or distribute to local companies. Can anyone in this Group contribute one of those? :-)

— Gene

Reply all
Reply to author
Forward
0 new messages