computing storyline visualizations with few block
play

Computing Storyline Visualizations with Few Block Crossings Thomas - PowerPoint PPT Presentation

Computing Storyline Visualizations with Few Block Crossings Thomas C. van Dijk Fabian Lipp Peter Markfelder Alexander Wolff Storyline Visualizations [https://xkcd.com/657/] Storyline Visualizations [https://xkcd.com/657/] Design


  1. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j

  2. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j

  3. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  4. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  5. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  6. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  7. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G and H are contiguous blocks x r ij ∧ x r jk ∧ g r i ∧ g r k ⇒ g r G is above H j g r i ∧ h r j ⇒ x r x r ij ∧ x r jk ∧ h r i ∧ h r k ⇒ h r ij j

  8. Meeting Groups

  9. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }}

  10. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} π 1 π 2 π 3 π 4

  11. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} q r ℓ = 1 ⇔ meeting group ℓ is assigned to permutation π r π 1 π 2 π 3 π 4

  12. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} q r ℓ = 1 ⇔ meeting group ℓ is assigned to permutation π r π 1 π 2 π 3 π 4

  13. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} q r ℓ = 1 ⇔ meeting group ℓ is assigned to permutation π r π 1 π 2 π 3 π 4

  14. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} q r ℓ = 1 ⇔ meeting group ℓ is assigned to permutation π r π 1 π 2 π 3 π 4

  15. Minimize the Number of Block Crossings Choose a number of permutations λ and construct the clauses.

  16. Minimize the Number of Block Crossings Choose a number of permutations λ and construct the clauses. There is a satisfying assignment ⇔ ∃ solution for the SBCM instance using λ permutations.

  17. Minimize the Number of Block Crossings Choose a number of permutations λ and construct the clauses. There is a satisfying assignment ⇔ ∃ solution for the SBCM instance using λ permutations. O ( λ ( κ 2 + µ )) variables, O ( λµ ( λ + κ 3 )) clauses λ : number of permutations κ : number of characters µ : number of meeting groups

  18. Minimize the Number of Block Crossings Choose a number of permutations λ and construct the clauses. There is a satisfying assignment ⇔ ∃ solution for the SBCM instance using λ permutations. O ( λ ( κ 2 + µ )) variables, O ( λµ ( λ + κ 3 )) clauses λ : number of permutations κ : number of characters µ : number of meeting groups Finding the optimum: Repeatedly run the SAT solver with different values for λ (exponential search)

  19. Experiments FPT Breadth-first search a smarter state space; runtime: O ( k ! · k 3 · n ) • FPT are implemented in C++ • Concurrent meetings not implemented for FPT • SAT clauses generated by Python and solved using MiniSat

  20. Experiments FPT Breadth-first search a smarter state space; runtime: O ( k ! · k 3 · n ) • FPT are implemented in C++ • Concurrent meetings not implemented for FPT • SAT clauses generated by Python and solved using MiniSat Test Data: • Real-World instances (movies used by Gronemann et al.): The Matrix, Inception, Star Wars • Random instances • Random instances having a solution with few block crossings

  21. SAT: Runtime vs Number of Permutations 2 The Matrix Time [s] OPT 1 ↓ 0 0 20 40 Permutations

  22. SAT: Runtime vs Number of Permutations 2 2 Star Wars The Matrix Time [s] OPT OPT 1 1 ↓ ↓ 0 0 0 0 20 20 40 40 Permutations Permutations

  23. SAT: Runtime vs Number of Permutations Inception 2 2 2 Star Wars The Matrix Time [s] OPT OPT 1 1 1 OPT ↓ ↓ ↓ 0 0 0 0 0 0 20 20 20 40 40 40 Permutations Permutations Permutations

  24. Uniform Random Instances: FPT Time on 100 instances [s] 20 κ = 7 κ = 6 10 κ = 5 0 0 200 400 600 800 1 , 000 Number of meetings

  25. Uniform Random Instances: FPT Time on 100 instances [s] 20 κ = 7 κ = 6 10 κ = 5 0 0 200 400 600 800 1 , 000 Number of meetings

  26. Uniform Random Instances: SAT 100 Time on 1 instance [s] κ = 9 80 60 40 20 0 0 20 40 Number of meetings

  27. Small-OPT Random Instances: SAT 2 Time on 1 instance [s] κ = 10 , β ≤ 10 1 . 5 1 0 . 5 0 0 50 100 150 200 Number of meetings

  28. Results Movie Instances: Our approach Gronemann et al. Instance cr bc OPT Time [s] cr OPT bc Time [s] Star Wars 54 10 3.77 39 18 0.99 The Matrix 21 4 2.86 12 8 0.77 Inception 51 12 1.54 35 20 2.02

  29. Results Movie Instances: Our approach Gronemann et al. Instance cr bc OPT Time [s] cr OPT bc Time [s] Star Wars 54 10 3.77 39 18 0.99 The Matrix 21 4 2.86 12 8 0.77 Inception 51 12 1.54 35 20 2.02

  30. Results Movie Instances: Our approach Gronemann et al. Instance cr bc OPT Time [s] cr OPT bc Time [s] Star Wars 54 10 3.77 39 18 0.99 The Matrix 21 4 2.86 12 8 0.77 Inception 51 12 1.54 35 20 2.02

  31. Results Movie Instances: Our approach Gronemann et al. Instance cr bc OPT Time [s] cr OPT bc Time [s] Star Wars 54 10 3.77 39 18 0.99 The Matrix 21 4 2.86 12 8 0.77 Inception 51 12 1.54 35 20 2.02

  32. Example: The Matrix Gronemann et al. 12 crossings / 8 block crossings Our approach 21 crossings / 4 block crossings

  33. Example: The Matrix Gronemann et al. 12 crossings / 8 block crossings Our approach 21 crossings / 4 block crossings

  34. Example: The Matrix Gronemann et al. 12 crossings / 8 block crossings Our approach 21 crossings / 4 block crossings

  35. Example: The Matrix Gronemann et al. 12 crossings / 8 block crossings Our approach 21 crossings / 4 block crossings

  36. Conclusion • Our SAT approach is usable for real-world instances. • Use SAT instead of ILP – turned out to be much faster! • Source code is available online.

  37. Conclusion • Our SAT approach is usable for real-world instances. • Use SAT instead of ILP – turned out to be much faster! • Source code is available online. Future work • Try other (parallel) SAT solvers. • Find more efficient way to model lifespans. • Consider additional quality criteria of the drawing, e.g., minimize wiggles. [Fr¨ oschl & N¨ ollenburg, GD17] • Perform a user study on the effect of block crossings, especially for storyline visualizations.

  38. Appendix

  39. Describing Block Crossings F G Blocks G and H cross H F

  40. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j

  41. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j

  42. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  43. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  44. Describing Block Crossings F G Blocks G and H cross H F Constraints: Exactly characters of G and H cross each other χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  45. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  46. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  47. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G is above H g r i ∧ h r j ⇒ x r ij

  48. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G and H are contiguous blocks x r ij ∧ x r jk ∧ g r i ∧ g r k ⇒ g r G is above H j g r i ∧ h r j ⇒ x r x r ij ∧ x r jk ∧ h r i ∧ h r k ⇒ h r ij j

  49. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G and H are contiguous blocks x r ij ∧ x r jk ∧ g r i ∧ g r k ⇒ g r G is above H j g r i ∧ h r j ⇒ x r x r ij ∧ x r jk ∧ h r i ∧ h r k ⇒ h r ij j

  50. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G and H are contiguous blocks x r ij ∧ x r jk ∧ g r i ∧ g r k ⇒ g r G is above H j g r i ∧ h r j ⇒ x r x r ij ∧ x r jk ∧ h r i ∧ h r k ⇒ h r ij j

  51. Describing Block Crossings F G Blocks G and H cross H F Constraints: G and H are adjacent Exactly characters of G x r ij ∧ x r jk ∧ g r i ∧ h r k ⇒ ¬ f r and H cross each other j χ r ij ⇔ g r i ∧ h r j G and H are contiguous blocks x r ij ∧ x r jk ∧ g r i ∧ g r k ⇒ g r G is above H j g r i ∧ h r j ⇒ x r x r ij ∧ x r jk ∧ h r i ∧ h r k ⇒ h r ij j

  52. Meeting Groups

  53. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }}

  54. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} π 1 π 2 π 3 π 4

  55. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} q 1 1 = 1 q r ℓ = 1 ⇔ meeting group ℓ is assigned to permutation π r π 1 π 2 π 3 π 4

  56. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} q 2 1 = 1 q 1 1 = 1 q r ℓ = 1 ⇔ meeting group ℓ is assigned to permutation π r π 1 π 2 π 3 π 4

  57. Meeting Groups {{ o , g }} {{ p , r , b }} {{ o , b }} {{ p , r , b } , { o , g }} {{ p , g , o } , { b , r }} q 2 1 = 1 q 1 q 3 1 = 1 1 = 1 q r ℓ = 1 ⇔ meeting group ℓ is assigned to permutation π r π 1 π 2 π 3 π 4

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