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

Recommend


More recommend