visualising and profiling cp models is the holy grail in
play

Visualising and profiling CP models: is the Holy Grail in sight? - PowerPoint PPT Presentation

Visualising and profiling CP models: is the Holy Grail in sight? Maria Garcia de la Banda - PTGH 2017 Evolution in profiling/visualistion for constraint programming We are here? 2 A bit of history (definitely NOT exhaustive)


  1. Visualising and profiling CP models: is the Holy Grail in sight? Maria Garcia de la Banda - PTGH 2017

  2. Evolution in profiling/visualistion for constraint programming We are … here? 2

  3. A bit of history (definitely NOT exhaustive) Early days…

  4. Grace: 1995 for ECLiPSe – interactive and variable focused Execu<on/display control Control menu Compares execu<ons 2D variable matrix Variables being explored Selected terms/expressions Var domain 4

  5. Explorer: 1997 for Oz – practical, interactive and search tree focused User-defined Double-click to display procedures explore node Scale the tree Textual or Collapsed trees user-defined visualisa<on for node info Basic stats 5

  6. DiSCiPl project: 1996-1999 Debugging Systems for Constraint Programming (an explosion of tools)

  7. For CHIP – interactive, variable and constraint focused Phase line display Variable update view Constraint incidence matrix Domain state view Tree view (Oz inspired) 7

  8. For CHIP – dedicated support for global constraints Cumula<ve constraint Different views of a diffn constraint Cycle constraint 8

  9. APT for CLP – interactive, decoupled & execution focused Parallel execu<on trees focusing on And-Or <me or events execu<on tree Source code Variable update view 9

  10. VIFID/TRIFID for CLP – domain and constraint focused Detailed Constraint domain graph evolu<on Domain comparison Domain for a given size constraint evolu<on 10

  11. OADymPPaC project: 2000-2004 Tools for dynamic analysis and debugging of CP (the value of generic protocols)

  12. GenTra4CP: a generic tracer format for finite domain solvers 12

  13. CLP(FD) visualiser via on-the-fly analysis of low-level trace events Programmable views including tree (dot) , 3D variable (C+VRML) and search (ILOG Esieve) 13

  14. CLPGUI: generic for CLP FD via annotation predicates 3D domain Incremental tree Solu<on view 3D tree Dual tree 14

  15. OPL Studio: 2001 for ILOG – interactive tree, domain & propagation focused Propaga<on spy Xmas tree Tree view (can collapse) Choice stack Code 15 Results

  16. Similar tools being developed for SAT and Local Search (different purpose/insights)

  17. SATGraf for SAT: visualisation of the incidence-graph structure and evolution Two different <me points Two different problems 17

  18. DPVis for SAT – visualising the constraint graph, its evolution & search tree Search trees for several problems Stats comparison Constraint graph 18

  19. For CBLS: constraint violations, conflicts and evolution focused Constraint & variable viola<ons Evolu<on of the objec<ve Variable evolu<on Evolu<on of knapsack 19

  20. Towards lightweight, practical, generic tools

  21. CP-VIZ: 2010 for ECliPSe & SICStus: generic, lightweight and versatile Different search tree views Customised Invariant checking globals 21

  22. What had we learned?

  23. Lessons learned: it is good to be …. § Generic : not tightly coupled to any solver § Lightweight : only require small changes to any solver § Versatile : provide interface to other visualisation tools § Intuitive: clearly visualise what you mean to § Built-in : not everything must be user-defined § Efficient § Open source CP-VIZ is most of these, so why is not shipped with every solver? 23

  24. The following is not just my work! It is mostly the work of… 24

  25. What are we missing? Programming in the large § Since: § Need: – Most tools work well for – Visualisations that can be small problems (many meaningful with scale developed for education) – Focus the user’s attention – Visual insight is hard for to on the interesting parts Ks of variables, constraints, – Automatically find these and Ms of search nodes interesting parts (statistical markers) 25

  26. Example: pixel-trees – they scale on time and easily show solution density Solu<ons (light green) found aYer lots of search Other <me-related info can be shown together Visual paZerns might indicate some property 26

  27. Example: shape analysis to automatically focus attention Loca<on of shapes within search tree Histogram of “similar shape analysis” by size 27

  28. Example: statistical markers to automatically focus attention Effec<ve versus ineffec<ve backjumping 28

  29. What are we missing? Comparing the execution after model changes § Since: § Need: – Most tools focus on a – Visualisations that can single execution meaningfully compare several executions – This does not help the iterative development – Focus the user’s attention process to on the modified parts 29

  30. Example: comparing two executions of the same model via tree merging Merged trees and stats on divergence 30

  31. Example: replaying a model’s search with a different solver Learning solver: ~2K failures Non-learning solver: ~18K failures 31

  32. Comparing needs linking “same” vars and constraints across executions Same paths for variables named differently by the compiler 32

  33. What are we missing? Supporting different searches and paradigms § Since: § Need: – Most tools focus on one – Visualisations that can kind of search (mostly support all these searches depth-first) and paradigms – Nowadays we have parallel – And they can help search, restarts, learning compare them solvers, local search, LNS, – Focus the user’s attention SAT, MIP to on the modified parts 33

  34. Example: parallel searches, restarts and learning solvers Parallel search Restart search 34

  35. What are we missing? User testing § Since: § Need: – Most tools are designed by – Understand what solver developers application users need – Application users might – Develop possible solutions require different kinds of – Test the solutions to see if information they work for the users 35

  36. Example: user-centred design process for visual profiling tools in CP 36

  37. Example: Many visualisation alternatives, many findings, but more needed 37

  38. What are we missing? Connecting back to the model § Since: § Need: – The ultimate goal is to – Connect the findings made figure out how to modify during the execution to the the model to improve it mode l variables and constraints – In CP the execution is quite far from the original – Again: connect variables model: and constraints across executions § Different variables, constraints, expressions.. 38

  39. Evolution in profiling/visualistion for constraint programming We are … here? 39

  40. Thanks for listening!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend