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

computing storyline visualizations with few block
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Computing Storyline Visualizations with Few Block Crossings

Thomas C. van Dijk Fabian Lipp Peter Markfelder Alexander Wolff

slide-2
SLIDE 2

Storyline Visualizations

[https://xkcd.com/657/]

slide-3
SLIDE 3

Storyline Visualizations

[https://xkcd.com/657/]

Design considerations for storyline drawings:

  • Line wiggles
  • White space gaps
  • Line crossings

[Tanahashi & Ma, TVCG12]

slide-4
SLIDE 4

Storyline Visualizations

[https://xkcd.com/657/]

Design considerations for storyline drawings:

  • Line wiggles
  • White space gaps
  • Line crossings

[Tanahashi & Ma, TVCG12]

slide-5
SLIDE 5

Related Work: Simple Crossings

Aim: Drawing with a minimum number of crossings

slide-6
SLIDE 6

Related Work: Simple Crossings

[Kostitsyna et al., GD’15]

  • FPT for #characters
  • upper and lower bounds for some cases with pairwise

meetings

  • NP-hardness

Aim: Drawing with a minimum number of crossings

slide-7
SLIDE 7

Related Work: Simple Crossings

[Kostitsyna et al., GD’15]

  • FPT for #characters
  • upper and lower bounds for some cases with pairwise

meetings

  • NP-hardness

Aim: Drawing with a minimum number of crossings [Gronemann et al., GD’16]

  • ILP solving the problem
slide-8
SLIDE 8

Related Work: Block Crossings

slide-9
SLIDE 9

Related Work: Block Crossings

  • Block crossings for metro lines

[Fink, Pupyrev, Wolff; 2015]

  • Bundled Crossings

[Fink et al., LATIN 2016] [Alam, Fink, Pupyrev, GD 2016]

slide-10
SLIDE 10

Related Work: Block Crossings

  • Block crossings for metro lines

[Fink, Pupyrev, Wolff; 2015]

  • Bundled Crossings

[Fink et al., LATIN 2016] [Alam, Fink, Pupyrev, GD 2016] Our Aim: Drawing with a minimum number of block crossings

slide-11
SLIDE 11

Related Work: Block Crossings

  • Block crossings for metro lines

[Fink, Pupyrev, Wolff; 2015]

  • Bundled Crossings

[Fink et al., LATIN 2016] [Van Dijk et al., GD 2016]

  • Storyline Block Crossing Minimization

– NP-hardness – Approximation algorithm – FPT [Alam, Fink, Pupyrev, GD 2016] Our Aim: Drawing with a minimum number of block crossings

slide-12
SLIDE 12

Related Work: Block Crossings

  • Block crossings for metro lines

[Fink, Pupyrev, Wolff; 2015]

  • Bundled Crossings

[Fink et al., LATIN 2016] [Van Dijk et al., GD 2016]

  • Storyline Block Crossing Minimization

– NP-hardness – Approximation algorithm – FPT [Alam, Fink, Pupyrev, GD 2016] Now: Solve SBCM via a SAT formulation Our Aim: Drawing with a minimum number of block crossings

slide-13
SLIDE 13

Related Work: Block Crossings

  • Block crossings for metro lines

[Fink, Pupyrev, Wolff; 2015]

  • Bundled Crossings

[Fink et al., LATIN 2016] [Van Dijk et al., GD 2016]

  • Storyline Block Crossing Minimization

– NP-hardness – Approximation algorithm – FPT [Alam, Fink, Pupyrev, GD 2016] Now: Solve SBCM via a SAT formulation Our Aim: Drawing with a minimum number of block crossings

slide-14
SLIDE 14

Related Work: Block Crossings

  • Block crossings for metro lines

[Fink, Pupyrev, Wolff; 2015]

  • Bundled Crossings

[Fink et al., LATIN 2016] [Van Dijk et al., GD 2016]

  • Storyline Block Crossing Minimization

– NP-hardness – Approximation algorithm – FPT [Alam, Fink, Pupyrev, GD 2016] Now: Solve SBCM via a SAT formulation Our Aim: Drawing with a minimum number of block crossings

slide-15
SLIDE 15

Problem Definition

Meeting: set of characters, start and end time

1 2 3 4 5 6 7

slide-16
SLIDE 16

Problem Definition

Meeting: set of characters, start and end time

1 2 3 4 5 6 7 begin of meeting end of meeting

slide-17
SLIDE 17

Problem Definition

Meeting: set of characters, start and end time

1 2 3 4 5 6 7 birth of character

Events

begin of meeting end of meeting death of character

slide-18
SLIDE 18

Problem Definition

Meeting: set of characters, start and end time

1 2 3 4 5 6 7

No births and deaths in this talk – but in the paper.

birth of character

Events

begin of meeting end of meeting death of character

slide-19
SLIDE 19

Problem Definition

Meeting: set of characters, start and end time

1 2 3 4 5 6 7

π

Permutation π supports meetings {2, 3, 4} and {5, 6} Sets {2, 3, 4} and {5, 6} each form a contiguous group in π

=

slide-20
SLIDE 20

Problem Definition

Meeting: set of characters, start and end time

1 2 3 4 5 6 7

π

Permutation π supports meetings {2, 3, 4} and {5, 6} Sets {2, 3, 4} and {5, 6} each form a contiguous group in π

=

slide-21
SLIDE 21

Problem Definition

Meeting: set of characters, start and end time

1 2 3 4 5 6 7

π

Permutation π supports meetings {2, 3, 4} and {5, 6}

Find a shortest sequence of permutations such that . . . . . . meetings are supported in the right order . . . adjacent permutations differ by at most one block crossing

Sets {2, 3, 4} and {5, 6} each form a contiguous group in π

=

slide-22
SLIDE 22

Problem Definition

Meeting: set of characters, start and end time

1 2 3 4 5 6 7

π

Permutation π supports meetings {2, 3, 4} and {5, 6}

Find a shortest sequence of permutations such that . . . . . . meetings are supported in the right order . . . adjacent permutations differ by at most one block crossing

Sets {2, 3, 4} and {5, 6} each form a contiguous group in π

=

slide-23
SLIDE 23

Approach of Gronemann et al.

Reduce to MLCM-TC (Multi-Layer Crossing Minimization Problem with Tree Constraints)

slide-24
SLIDE 24

Approach of Gronemann et al.

Reduce to MLCM-TC (Multi-Layer Crossing Minimization Problem with Tree Constraints) Each event corresponds to a layer

slide-25
SLIDE 25

Approach of Gronemann et al.

Reduce to MLCM-TC (Multi-Layer Crossing Minimization Problem with Tree Constraints) Each event corresponds to a layer Trees describe neighborship between characters

slide-26
SLIDE 26

Approach of Gronemann et al.

Reduce to MLCM-TC (Multi-Layer Crossing Minimization Problem with Tree Constraints) Each event corresponds to a layer Trees describe neighborship between characters

slide-27
SLIDE 27

Approach of Gronemann et al.

Reduce to MLCM-TC (Multi-Layer Crossing Minimization Problem with Tree Constraints) Each event corresponds to a layer Trees describe neighborship between characters Find a permutation for each layer

slide-28
SLIDE 28

Approach of Gronemann et al.

Reduce to MLCM-TC (Multi-Layer Crossing Minimization Problem with Tree Constraints) Each event corresponds to a layer Trees describe neighborship between characters Use ILP to solve MLCM-TC Find a permutation for each layer

slide-29
SLIDE 29

Describing Permutations

Variables describing the order in each permutation: xr

ij

characters layer

slide-30
SLIDE 30

Describing Permutations

1 2 3 π1 π2 3 1 2 Variables describing the order in each permutation: xr

ij

characters layer

slide-31
SLIDE 31

Describing Permutations

1 2 3 π1 π2 x1

12 = 1

3 1 2 Variables describing the order in each permutation: xr

ij

characters layer

slide-32
SLIDE 32

Describing Permutations

1 2 3 π1 π2 x1

12 = 1

x1

23 = 1

x1

13 = 1

3 1 2 Variables describing the order in each permutation: xr

ij

characters layer

slide-33
SLIDE 33

Describing Permutations

1 2 3 π1 π2 x1

12 = 1

x1

23 = 1

x1

13 = 1

x1

21 = 0

x1

32 = 0

x1

31 = 0

3 1 2 Variables describing the order in each permutation: xr

ij

characters layer

slide-34
SLIDE 34

Describing Permutations

1 2 3 π1 π2 x1

12 = 1

x1

23 = 1

x1

13 = 1

x1

21 = 0

x1

32 = 0

x1

31 = 0

3 1 2 Variables describing the order in each permutation: xr

ij

characters layer

slide-35
SLIDE 35

Describing Permutations

1 2 3 π1 π2 x1

12 = 1

x1

23 = 1

x1

13 = 1

x1

21 = 0

x1

32 = 0

x1

31 = 0

x2

12 = 1

x2

23 = 0

x2

13 = 0

x2

21 = 0

x2

32 = 1

x2

31 = 1

3 1 2 Variables describing the order in each permutation: xr

ij

characters layer

slide-36
SLIDE 36

Describing Permutations

1 2 3 π1 π2 x1

12 = 1

x1

23 = 1

x1

13 = 1

x1

21 = 0

x1

32 = 0

x1

31 = 0

x2

12 = 1

x2

23 = 0

x2

13 = 0

x2

21 = 0

x2

32 = 1

x2

31 = 1

3 1 2 Antisymmetry: xr

ij ⇔ ¬xr ji

Transitivity: xr

ij ∨ xr jk ∨ xr ki

¬xr

ij ∨ ¬xr jk ∨ ¬xr ki

Variables describing the order in each permutation: xr

ij

characters layer

slide-37
SLIDE 37

Counting Block Crossings

Easy to count pairwise crossings using xr

ij:

i and j cross after layer r: χr

ij ⇔ (xr ij = xr+1 ij

)

slide-38
SLIDE 38

Counting Block Crossings

Easy to count pairwise crossings using xr

ij:

Our approach for block crossings: Allow at most one block crossing between two permutations i and j cross after layer r: χr

ij ⇔ (xr ij = xr+1 ij

)

slide-39
SLIDE 39

Counting Block Crossings

Easy to count pairwise crossings using xr

ij:

Our approach for block crossings: Allow at most one block crossing between two permutations Add more permutations i and j cross after layer r: χr

ij ⇔ (xr ij = xr+1 ij

)

slide-40
SLIDE 40

Counting Block Crossings

Easy to count pairwise crossings using xr

ij:

Our approach for block crossings: Allow at most one block crossing between two permutations Add more permutations i and j cross after layer r: χr

ij ⇔ (xr ij = xr+1 ij

)

slide-41
SLIDE 41

Counting Block Crossings

Easy to count pairwise crossings using xr

ij:

Our approach for block crossings: Allow at most one block crossing between two permutations Add more permutations i and j cross after layer r: χr

ij ⇔ (xr ij = xr+1 ij

)

slide-42
SLIDE 42

Counting Block Crossings

Easy to count pairwise crossings using xr

ij:

Our approach for block crossings: Allow at most one block crossing between two permutations Add more permutations i and j cross after layer r: χr

ij ⇔ (xr ij = xr+1 ij

) Prescribe maximum number of permutations

slide-43
SLIDE 43

Describing Block Crossings

F G H F Blocks G and H cross

slide-44
SLIDE 44

Describing Block Crossings

F G H F Blocks G and H cross Constraints: Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-45
SLIDE 45

Describing Block Crossings

F G H F Blocks G and H cross Constraints: Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-46
SLIDE 46

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-47
SLIDE 47

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-48
SLIDE 48

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-49
SLIDE 49

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-50
SLIDE 50

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are contiguous blocks xr

ij ∧ xr jk ∧ g r i ∧ g r k ⇒ g r j

xr

ij ∧ xr jk ∧ hr i ∧ hr k ⇒ hr j

G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-51
SLIDE 51

Meeting Groups

slide-52
SLIDE 52

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

slide-53
SLIDE 53

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4 π3

slide-54
SLIDE 54

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4 qr

ℓ = 1 ⇔

meeting group ℓ is assigned to permutation πr π3

slide-55
SLIDE 55

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4 qr

ℓ = 1 ⇔

meeting group ℓ is assigned to permutation πr π3

slide-56
SLIDE 56

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4 qr

ℓ = 1 ⇔

meeting group ℓ is assigned to permutation πr π3

slide-57
SLIDE 57

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4 qr

ℓ = 1 ⇔

meeting group ℓ is assigned to permutation πr π3

slide-58
SLIDE 58

Minimize the Number of Block Crossings

Choose a number of permutations λ and construct the clauses.

slide-59
SLIDE 59

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.

slide-60
SLIDE 60

Minimize the Number of Block Crossings

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

slide-61
SLIDE 61

Minimize the Number of Block Crossings

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

slide-62
SLIDE 62

Experiments

FPT Breadth-first search a smarter state space; runtime: O(k! · k3 · n)

  • FPT are implemented in C++
  • Concurrent meetings not implemented for FPT
  • SAT clauses generated by Python and solved using MiniSat
slide-63
SLIDE 63

Experiments

FPT Breadth-first search a smarter state space; runtime: O(k! · k3 · n)

  • FPT are implemented in C++
  • Concurrent meetings not implemented for FPT
  • SAT clauses generated by Python and solved using MiniSat
  • 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 Test Data:

slide-64
SLIDE 64

SAT: Runtime vs Number of Permutations

20 40 1 2

OPT

↓ The Matrix Permutations Time [s]

slide-65
SLIDE 65

SAT: Runtime vs Number of Permutations

20 40 1 2

OPT

↓ The Matrix Permutations Time [s] 20 40 1 2

OPT

↓ Star Wars Permutations

slide-66
SLIDE 66

SAT: Runtime vs Number of Permutations

20 40 1 2

OPT

↓ The Matrix Permutations Time [s] 20 40 1 2

OPT

↓ Star Wars Permutations 20 40 1 2

OPT

↓ Inception Permutations

slide-67
SLIDE 67

Uniform Random Instances: FPT

200 400 600 800 1,000 10 20 κ = 5 κ = 6 κ = 7 Number of meetings Time on 100 instances [s]

slide-68
SLIDE 68

Uniform Random Instances: FPT

200 400 600 800 1,000 10 20 κ = 5 κ = 6 κ = 7 Number of meetings Time on 100 instances [s]

slide-69
SLIDE 69

Uniform Random Instances: SAT

20 40 20 40 60 80 100 κ = 9 Number of meetings Time on 1 instance [s]

slide-70
SLIDE 70

Small-OPT Random Instances: SAT

50 100 150 200 0.5 1 1.5 2 κ = 10, β ≤ 10 Number of meetings Time on 1 instance [s]

slide-71
SLIDE 71

Results

Our approach Gronemann et al. Instance cr bcOPT Time [s] crOPT 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

Movie Instances:

slide-72
SLIDE 72

Results

Our approach Gronemann et al. Instance cr bcOPT Time [s] crOPT 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

Movie Instances:

slide-73
SLIDE 73

Results

Our approach Gronemann et al. Instance cr bcOPT Time [s] crOPT 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

Movie Instances:

slide-74
SLIDE 74

Results

Our approach Gronemann et al. Instance cr bcOPT Time [s] crOPT 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

Movie Instances:

slide-75
SLIDE 75

Example: The Matrix

Gronemann et al. 12 crossings / 8 block crossings Our approach 21 crossings / 4 block crossings

slide-76
SLIDE 76

Example: The Matrix

Gronemann et al. 12 crossings / 8 block crossings Our approach 21 crossings / 4 block crossings

slide-77
SLIDE 77

Example: The Matrix

Gronemann et al. 12 crossings / 8 block crossings Our approach 21 crossings / 4 block crossings

slide-78
SLIDE 78

Example: The Matrix

Gronemann et al. 12 crossings / 8 block crossings Our approach 21 crossings / 4 block crossings

slide-79
SLIDE 79

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.
slide-80
SLIDE 80

Conclusion

  • Try other (parallel) SAT solvers.
  • Find more efficient way to model lifespans.
  • Consider additional quality criteria of the drawing,

e.g., minimize wiggles. [Fr¨

  • schl & N¨
  • llenburg, GD17]
  • Perform a user study on the effect of block crossings,

especially for storyline visualizations.

  • 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

slide-81
SLIDE 81

Appendix

slide-82
SLIDE 82

Describing Block Crossings

F G H F Blocks G and H cross

slide-83
SLIDE 83

Describing Block Crossings

F G H F Blocks G and H cross Constraints: Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-84
SLIDE 84

Describing Block Crossings

F G H F Blocks G and H cross Constraints: Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-85
SLIDE 85

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-86
SLIDE 86

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-87
SLIDE 87

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-88
SLIDE 88

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-89
SLIDE 89

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-90
SLIDE 90

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-91
SLIDE 91

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are contiguous blocks xr

ij ∧ xr jk ∧ g r i ∧ g r k ⇒ g r j

xr

ij ∧ xr jk ∧ hr i ∧ hr k ⇒ hr j

G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-92
SLIDE 92

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are contiguous blocks xr

ij ∧ xr jk ∧ g r i ∧ g r k ⇒ g r j

xr

ij ∧ xr jk ∧ hr i ∧ hr k ⇒ hr j

G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-93
SLIDE 93

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are contiguous blocks xr

ij ∧ xr jk ∧ g r i ∧ g r k ⇒ g r j

xr

ij ∧ xr jk ∧ hr i ∧ hr k ⇒ hr j

G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-94
SLIDE 94

Describing Block Crossings

F G H F Blocks G and H cross Constraints: G and H are contiguous blocks xr

ij ∧ xr jk ∧ g r i ∧ g r k ⇒ g r j

xr

ij ∧ xr jk ∧ hr i ∧ hr k ⇒ hr j

G and H are adjacent xr

ij ∧ xr jk ∧ g r i ∧ hr k ⇒ ¬f r j

G is above H g r

i ∧ hr j ⇒ xr ij

Exactly characters of G and H cross each other χr

ij ⇔ g r i ∧ hr j

slide-95
SLIDE 95

Meeting Groups

slide-96
SLIDE 96

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

slide-97
SLIDE 97

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4 π3

slide-98
SLIDE 98

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4

q1

1 = 1

qr

ℓ = 1 ⇔

meeting group ℓ is assigned to permutation πr π3

slide-99
SLIDE 99

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4

q1

1 = 1

q2

1 = 1

qr

ℓ = 1 ⇔

meeting group ℓ is assigned to permutation πr π3

slide-100
SLIDE 100

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4

q1

1 = 1

q2

1 = 1

q3

1 = 1

qr

ℓ = 1 ⇔

meeting group ℓ is assigned to permutation πr π3

slide-101
SLIDE 101

Meeting Groups

{{o, g}} {{p, r, b}, {o, g}} {{p, r, b}} {{o, b}} {{p, g, o}, {b, r}}

π1 π2 π4

q1

1 = 1

q2

1 = 1

q3

1 = 1

q4

4 = 1

q5

4 = 1

qr

ℓ = 1 ⇔

meeting group ℓ is assigned to permutation πr π3

slide-102
SLIDE 102

Mapping the Meeting Groups

  • Map the meeting groups in the right order:

qr

ℓ ⇒ r u=1 qu ℓ−1

  • Map every meeting group exactly once:

λ

r=1 qr ℓ and ¬(qr ℓ ∧ qp ℓ )

  • Force meeting characters to be next to each other:

If i and k are part of the same meeting in meeting group ℓ and j is not: qr

ℓ ⇒ (xr ij = xr kj)

slide-103
SLIDE 103

Mapping the Meeting Groups

  • Map the meeting groups in the right order:

qr

ℓ ⇒ r u=1 qu ℓ−1

  • Map every meeting group exactly once:

λ

r=1 qr ℓ and ¬(qr ℓ ∧ qp ℓ )

  • Force meeting characters to be next to each other:

If i and k are part of the same meeting in meeting group ℓ and j is not: qr

ℓ ⇒ (xr ij = xr kj)

slide-104
SLIDE 104

Mapping the Meeting Groups

  • Map the meeting groups in the right order:

qr

ℓ ⇒ r u=1 qu ℓ−1

  • Map every meeting group exactly once:

λ

r=1 qr ℓ and ¬(qr ℓ ∧ qp ℓ )

  • Force meeting characters to be next to each other:

If i and k are part of the same meeting in meeting group ℓ and j is not: qr

ℓ ⇒ (xr ij = xr kj)

slide-105
SLIDE 105

Mapping the Meeting Groups

  • Map the meeting groups in the right order:

qr

ℓ ⇒ r u=1 qu ℓ−1

  • Map every meeting group exactly once:

λ

r=1 qr ℓ and ¬(qr ℓ ∧ qp ℓ )

  • Force meeting characters to be next to each other:

If i and k are part of the same meeting in meeting group ℓ and j is not: qr

ℓ ⇒ (xr ij = xr kj)