SAT 2020 Outline 1 Matrix Multiplication 2 Cohn-Umans Framework 3 - - PowerPoint PPT Presentation

sat 2020 outline
SMART_READER_LITE
LIVE PREVIEW

SAT 2020 Outline 1 Matrix Multiplication 2 Cohn-Umans Framework 3 - - PowerPoint PPT Presentation

Matrix Multiplication: Verifying Strong Uniquely Solvable Puzzles Matthew Anderson Zongliang Ji Anthony Yang Xu SAT 2020 Outline 1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong


slide-1
SLIDE 1

Matrix Multiplication: Verifying Strong Uniquely Solvable Puzzles

Matthew Anderson Zongliang Ji Anthony Yang Xu

SAT 2020

slide-2
SLIDE 2

Outline

1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work

slide-3
SLIDE 3

Matrix Multiplication

Problem Input: A ∈ Fn×n, B ∈ Fn×n Output: C = A × B ∈ Fn×n. For example:

  • 1

2 2

  • ×
  • 1

3 1 1

  • =
  • 1

5

  • 2

6

  • How many operations does it take to multiply two n-by-n matrices?
  • O(n3) by naively computing n2 dot products of rows of A and

columns of B.

  • Ω(n2) because there are at n2 cells to output.

Question What is the smallest ω ≤ 3 such that n-by-n matrix multiplication can be done in time O(nω)?

slide-4
SLIDE 4

Progress on ω 3 Na¨ ıve 2.808 Strassen 1969 2.796 Pan 1978 2.78 Bini et al 1979 2.522 Sch¨

  • nhage 1981

2.496 Coppersmith & Winograd 1982 2.479 Strassen 1986 2.375477 Coppersmith & Winograd 1987 2.374 Stothers 2010 2.3728642 Williams 2011 2.3728639 Le Gall 2014

slide-5
SLIDE 5

Outline

1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work

slide-6
SLIDE 6

Cohn-Umans Framework

In 2003, Cohn and Umans proposed an approach for improving the upper bound on ω.

  • Inspired by the Θ(n log n) FFT-based algorithm for multiplying two

degree n univariate polynomial, c.f., e.g., [CLRS 2009, Chap 30]. A × B = C becomes FFT−1(FFT(A) ∗ FFT(B)) = C

slide-7
SLIDE 7

Cohn-Umans Framework

In 2003, Cohn and Umans proposed an approach for improving the upper bound on ω.

  • Inspired by the Θ(n log n) FFT-based algorithm for multiplying two

degree n univariate polynomial, c.f., e.g., [CLRS 2009, Chap 30]. A × B = C becomes FFT−1(FFT(A) ∗ FFT(B)) = C Idea determine a suitable group G to embed multiplication into the group algebra C[G] using sets X , Y , Z ⊆ G, with |X | = |Y | = |Z| = n. A =

  • i,j∈[n]

(x −1

i

yj)Ai,j, B =

  • j,k∈[n]

(y−1

j

zk)Bj,k, C =

  • i,k∈[n]

(x −1

i

zk)Ci,k where triple product property holds: ∀x, x ′ ∈ X , ∀y, y′ ∈ Y , ∀z, z ′ ∈ Z, x −1yy′−1z = x ′−1z ′ iff x = x ′, y = y′, z = z ′. ω implied by G depends on |G| and aspects of its representation.

slide-8
SLIDE 8

Puzzles

Definition (Puzzle) An (s, k)-puzzle is a subset P ⊆ Uk = {1, 2, 3}k with |P| = s. P =

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3
  • P is a (5,4)-puzzle.
slide-9
SLIDE 9

Puzzles

Definition (Puzzle) An (s, k)-puzzle is a subset P ⊆ Uk = {1, 2, 3}k with |P| = s. P =

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3
  • P is a (5,4)-puzzle.
  • P has five rows.
  • P has four columns.
slide-10
SLIDE 10

Puzzles

Definition (Puzzle) An (s, k)-puzzle is a subset P ⊆ Uk = {1, 2, 3}k with |P| = s. P =

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3
  • P is a (5,4)-puzzle.
  • P has five rows.
  • P has four columns.
  • Since P is a set, the rows are thought to

be unordered.

slide-11
SLIDE 11

Uniquely Solvable Puzzles – Intuition

We’re interested in puzzles that are uniquely solvable: A puzzle P is uniquely solvable if there is no way to reorganize the 1-, 2-, 3-pieces of P without overlapping into a puzzle different from P.

slide-12
SLIDE 12

Uniquely Solvable Puzzles – Intuition

We’re interested in puzzles that are uniquely solvable: A puzzle P is uniquely solvable if there is no way to reorganize the 1-, 2-, 3-pieces of P without overlapping into a puzzle different from P.

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3
  • This puzzle is not uniquely solvable.
slide-13
SLIDE 13

Uniquely Solvable Puzzles – Intuition

We’re interested in puzzles that are uniquely solvable: A puzzle P is uniquely solvable if there is no way to reorganize the 1-, 2-, 3-pieces of P without overlapping into a puzzle different from P.

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3
  • This puzzle is not uniquely solvable.
slide-14
SLIDE 14

Uniquely Solvable Puzzles – Intuition

We’re interested in puzzles that are uniquely solvable: A puzzle P is uniquely solvable if there is no way to reorganize the 1-, 2-, 3-pieces of P without overlapping into a puzzle different from P.

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3
  • This puzzle is not uniquely solvable.
slide-15
SLIDE 15

Uniquely Solvable Puzzles – Intuition

We’re interested in puzzles that are uniquely solvable: A puzzle P is uniquely solvable if there is no way to reorganize the 1-, 2-, 3-pieces of P without overlapping into a puzzle different from P.

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3
  • This puzzle is not uniquely solvable.
  • Can be witnessed by two permutations: π2, π3.
slide-16
SLIDE 16

Uniquely Solvable Puzzles – Intuition

We’re interested in puzzles that are uniquely solvable: A puzzle P is uniquely solvable if there is no way to reorganize the 1-, 2-, 3-pieces of P without overlapping into a puzzle different from P.

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3
  • This puzzle is not uniquely solvable.
  • Can be witnessed by two permutations: π2, π3.
slide-17
SLIDE 17

Uniquely Solvable Puzzles – Intuition

We’re interested in puzzles that are uniquely solvable: A puzzle P is uniquely solvable if there is no way to reorganize the 1-, 2-, 3-pieces of P without overlapping into a puzzle different from P.

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3

2 2 3 3 3 2

  • 2

3 3 3 2

  • 3

3 3 3 3 3 3 3 2 2 2 2 2

  • This puzzle is not uniquely solvable.
  • Can be witnessed by two permutations: π2, π3.
  • Since the resulting puzzles is not the same as the original puzzle

(even reordering rows), the puzzle is not uniquely solvable.

slide-18
SLIDE 18

Uniquely Solvable Puzzles – Formal

Definition ( Uniquely Solvable Puzzle) A puzzle P is called a uniquely solvable puzzle ( USP) if for all permutations π2, π3 of the rows of P:

1 either the permutations are identical, π2 = π3 = id, or 2 there is a row r ∈ P and column i such that at least two of the

following hold:

1 (r)i = 1, 2 (π2(r))i = 2, 3 (π3(r))i = 3.

slide-19
SLIDE 19

Uniquely Solvable Puzzles – Formal

Definition ( Uniquely Solvable Puzzle) A puzzle P is called a uniquely solvable puzzle ( USP) if for all permutations π2, π3 of the rows of P:

1 either the permutations are identical, π2 = π3 = id, or 2 there is a row r ∈ P and column i such that at least two of the

following hold:

1 (r)i = 1, 2 (π2(r))i = 2, 3 (π3(r))i = 3.

The follow puzzle is uniquely solvable: 1 3 2 1

slide-20
SLIDE 20

Strong Uniquely Solvable Puzzles – Formal

Definition (Strong Uniquely Solvable Puzzle) A puzzle P is called a strong uniquely solvable puzzle (SUSP) if for all permutations π2, π3 of the rows of P:

1 either the permutations are identical, π2 = π3 = id, or 2 there is a row r ∈ P and column i such that exactly two of the

following hold:

1 (r)i = 1, 2 (π2(r))i = 2, 3 (π3(r))i = 3.

slide-21
SLIDE 21

Strong Uniquely Solvable Puzzles – Formal

Definition (Strong Uniquely Solvable Puzzle) A puzzle P is called a strong uniquely solvable puzzle (SUSP) if for all permutations π2, π3 of the rows of P:

1 either the permutations are identical, π2 = π3 = id, or 2 there is a row r ∈ P and column i such that exactly two of the

following hold:

1 (r)i = 1, 2 (π2(r))i = 2, 3 (π3(r))i = 3.

No good intuition for the“exactly two”part, but a useful implication.

slide-22
SLIDE 22

Strong Uniquely Solvable Puzzles – Formal

Definition (Strong Uniquely Solvable Puzzle) A puzzle P is called a strong uniquely solvable puzzle (SUSP) if for all permutations π2, π3 of the rows of P:

1 either the permutations are identical, π2 = π3 = id, or 2 there is a row r ∈ P and column i such that exactly two of the

following hold:

1 (r)i = 1, 2 (π2(r))i = 2, 3 (π3(r))i = 3.

No good intuition for the“exactly two”part, but a useful implication. Lemma ([CKSU 05, Corollary 3.6]) If there is a strong uniquely solvable (s, k)-puzzle, ω ≤ min

m∈{3,4,5,...}

3 log m log(m − 1) − 3 log s! sk log(m − 1).

slide-23
SLIDE 23

Useful Strong Uniquely Solvable Puzzles

Lemma ([CKSU 05, Proposition 3.8]) There is an infinite family of SUSP that achieve ω < 2.48. There are group-theoretic constructions derived from [Strassen 86] and [Coppersmith-Winograd 87] that achieve the ω’s of those works.

slide-24
SLIDE 24

Useful Strong Uniquely Solvable Puzzles

Lemma ([CKSU 05, Proposition 3.8]) There is an infinite family of SUSP that achieve ω < 2.48. There are group-theoretic constructions derived from [Strassen 86] and [Coppersmith-Winograd 87] that achieve the ω’s of those works. Lemma ([BCCGU 16]) SUSP cannot show ω < 2 + ǫ, for some ǫ > 0.

  • This was conditionally true if the Erd¨
  • -Szemeredi sunflower

conjecture held [Alon-Shpilka-Umans 2013]. Progress on cap sets and arithmetic progressions made this unconditional [Ellenberg 2016, Croot-Lev-Pach 2016].

  • More recent work has shown this type of barrier for larger classes of

approaches [Alman-Williams 2018].

slide-25
SLIDE 25

Goal & Approach

Goal Find strong uniquely solvable puzzles that imply smaller ω.

slide-26
SLIDE 26

Goal & Approach

Goal Find strong uniquely solvable puzzles that imply smaller ω. Approach

  • For small values of width k, determine the maximum s such that

there exists an (s, k)-SUSP.

slide-27
SLIDE 27

Goal & Approach

Goal Find strong uniquely solvable puzzles that imply smaller ω. Approach

  • For small values of width k, determine the maximum s such that

there exists an (s, k)-SUSP.

  • Algorithm Design
  • Checking that a puzzle is a SUSP.
  • Searching for large SUSP.
slide-28
SLIDE 28

Goal & Approach

Goal Find strong uniquely solvable puzzles that imply smaller ω. Approach

  • For small values of width k, determine the maximum s such that

there exists an (s, k)-SUSP.

  • Algorithm Design
  • Checking that a puzzle is a SUSP.
  • Searching for large SUSP.
  • Implementation
  • Software platform to explore and experiment with SUSP.
  • Focused on desktop, but have HPC implementation.
slide-29
SLIDE 29

Goal & Approach

Goal Find strong uniquely solvable puzzles that imply smaller ω. Approach

  • For small values of width k, determine the maximum s such that

there exists an (s, k)-SUSP.

  • Algorithm Design
  • Checking that a puzzle is a SUSP.
  • Searching for large SUSP.
  • Implementation
  • Software platform to explore and experiment with SUSP.
  • Focused on desktop, but have HPC implementation.
  • Only need to one sufficiently large puzzle to achieve new algorithm.
slide-30
SLIDE 30

Outline

1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work

slide-31
SLIDE 31

Checking Puzzles

Problem (SUSP-Check) Input: A (s, k)-puzzle P. Output: YES if P is a SUSP, and NO otherwise. It suffices to evaluate the following formula for a puzzle P: ∀π2, π3 ∈ SymP. π2 = π3 = id ∨ ∃r ∈ P.∃i ∈ [k].(ri = 1) + ((π2(r))i = 2) + ((π3(r))i = 3) = 2

  • That a P is not a SUSP is be witnessed by permutations π1, π2, π3.
  • SUSP-Check is in coNP.
  • When we only want to verify uniquely solvability it is reducible to

graph automorphism.

  • It is not clear whether SUSP-Check is coNP-hard.
slide-32
SLIDE 32

Brute Force

∀π2, π3 ∈ SymP. π2 = π3 = id ∨ ∃r ∈ P.∃i ∈ [k].(ri = 1) + ((π2(r))i = 2) + ((π3(r))i = 3) = 2

  • Brute force model checking takes O((s!)2 · poly(s, k)) time.
  • Impractical for puzzles with size s ≥ 6 (so k ≥ 5).
  • Easy to implement reference for debugging.
  • It will be more convenient to think about checking the complement

formula. ∃π2, π3 ∈ SymP. (π2 = id ∨ π3 = id) ∧ ∀r ∈ P.∀i ∈ [k].((r)i = 1) + ((π2(r))i = 2) + ((π3(r))i = 3) = 2

slide-33
SLIDE 33

Preprocessing

∃π2,π3 ∈ SymP. (π2 = id ∨ π3 = id) ∧ ∀r ∈ P.∀i ∈ [k].(ri = 1) + ((π2(r))i = 2) + ((π3(r))i = 3) = 2

  • The innermost ∀ can be precomputed in O(s3k) time by creating a

Boolean relation TP ∈ P × P × P, where (p, q, r) ∈ TP ⇔ ∀i ∈ [k].(pi = 1) + (qi = 2) + (ri = 3) = 2.

  • This simplifies the formula we are checking to:

∃π2,π3 ∈ SymP. (π2 = id ∨ π3 = id) ∧ ∀r ∈ P.(r, π2(r), π3(r)) ∈ TP

  • This makes the dominant term of the running time independent of k

and is useful for the next step.

slide-34
SLIDE 34

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF

slide-35
SLIDE 35

Reduction to 3D Matching

This results in the formula below which is true iff P is not a SUSP. ∃π2, π3 ∈ SymP.(π2 = id ∨ π3 = id) ∧ ∀r ∈ P.(r, π2(r), π3(r)) ∈ TP. This is an instance of a natural NP problem. Problem (3D Matching) Input: A 3-hypergraph G = V , E ⊆ V × V × V . Output: True iff ∃M ⊆ E with |M | = |V | and for all distinct e1, e2 ∈ M each coordinate of e1 and e2 are vertex disjoint. We can reduce verifying P is not a SUSP to 3D matching.

  • Consider GP = P, TP.
  • P is a not a SUSP iff GP has a 3D matching that isn’t the identity

matching, i.e., M = {(r1, r1, r1), . . . , (rs, rs, rs)}.

slide-36
SLIDE 36

Dynamic Programming

Perfect3DM(V , E):

1: function Help3DM(i, X , Y ): 2:

if i = |V | then return true.

3:

result = false.

4:

for x ∈ X :

5:

for y ∈ Y :

6:

if (vi, x, y) ∈ E then

7:

result = result or Help3DM(i + 1, X − {x}, Y − {y}).

8:

return result.

9: return Help3DM(0, V , V ).

A recursive algorithm for determining perfect 3D matchings.

  • Looks at next unmatched vertex v in first coord.
  • Try matching with all x, y on 2nd & 3rd coords with edge in graph.
  • Subproblems depend on # edges in matching, vertices used so far.
slide-37
SLIDE 37

Dynamic Programming – Analysis

Perfect3DM(V , E):

1: function Help3DM(i, X , Y ): 2:

if i = |V | then return true.

3:

result = false.

4:

for x ∈ X :

5:

for y ∈ Y :

6:

if (vi, x, y) ∈ E then

7:

result = result or Help3DM(i + 1, X − {x}, Y − {y}).

8:

return result.

9: return Help3DM(0, V , V ).

slide-38
SLIDE 38

Dynamic Programming – Analysis

Perfect3DM(V , E):

1: function Help3DM(i, X , Y ): 2:

if i = |V | then return true.

3:

result = false.

4:

for x ∈ X :

5:

for y ∈ Y :

6:

if (vi, x, y) ∈ E then

7:

result = result or Help3DM(i + 1, X − {x}, Y − {y}).

8:

return result.

9: return Help3DM(0, V , V ).

  • Na¨

ıvely runs in time O((s2)s) = O(22s log s).

slide-39
SLIDE 39

Dynamic Programming – Analysis

Perfect3DM(V , E):

1: function Help3DM(i, X , Y ): 2:

if i = |V | then return true.

3:

result = false.

4:

for x ∈ X :

5:

for y ∈ Y :

6:

if (vi, x, y) ∈ E then

7:

result = result or Help3DM(i + 1, X − {x}, Y − {y}).

8:

return result.

9: return Help3DM(0, V , V ).

  • Na¨

ıvely runs in time O((s2)s) = O(22s log s).

  • Improves to O(2s · 2s · s · s2) = O(22ss3) by memoizing.
  • s = |V | options for i, and
  • 2s = 2|V | options for X and Y .
slide-40
SLIDE 40

Dynamic Programming – Analysis

Perfect3DM(V , E):

1: function Help3DM(i, X , Y ): 2:

if i = |V | then return true.

3:

result = false.

4:

for x ∈ X :

5:

for y ∈ Y :

6:

if (vi, x, y) ∈ E then

7:

result = result or Help3DM(i + 1, X − {x}, Y − {y}).

8:

return result.

9: return Help3DM(0, V , V ).

  • Na¨

ıvely runs in time O((s2)s) = O(22s log s).

  • Improves to O(2s · 2s · s · s2) = O(22ss3) by memoizing.
  • s = |V | options for i, and
  • 2s = 2|V | options for X and Y .
  • Note that more advanced techniques can achieve O(2spoly(s))

[Bj¨

  • rklund et al., 2010].
slide-41
SLIDE 41

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF

slide-42
SLIDE 42

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF DP

slide-43
SLIDE 43

Other Reductions

Reduced 3D matching to CNF satisfiability.

  • Reduced satisfiability instance had 2s2 variables and

Θ(s3) constraint size.

  • Used open-source clause-learning SAT solver

MapleCOMSPS that won general category of 2016 SAT Competition. Solver written by J.H. Liang, V. Ganesh, and C. Oh. http://www.satcompetition.org Reduced 3D matching to 0-1 integer programming.

  • Reduced IP instance had s3 variables and Θ(s3)

formula size.

  • Used a close-source optimization library Gurobi.

http://www.gurobi.com Jerry Ji Anthony Xu

slide-44
SLIDE 44

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF DP

slide-45
SLIDE 45

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF DP SAT

slide-46
SLIDE 46

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF DP SAT IP

slide-47
SLIDE 47

Implementation

Hybrid Algorithm

  • s ≤ 2: Brute force
  • 2 < s ≤ 10: Dynamic programming
  • 10 < s: SAT and IP in parallel
slide-48
SLIDE 48

Implementation

Hybrid Algorithm

  • s ≤ 2: Brute force
  • 2 < s ≤ 10: Dynamic programming
  • 10 < s: SAT and IP in parallel

Uses a number of fast, but incomplete, heuristics to terminate early.

  • Answers with YES, NO, or MAYBE.
slide-49
SLIDE 49

Implementation

Hybrid Algorithm

  • s ≤ 2: Brute force
  • 2 < s ≤ 10: Dynamic programming
  • 10 < s: SAT and IP in parallel

Uses a number of fast, but incomplete, heuristics to terminate early.

  • Answers with YES, NO, or MAYBE.
  • Trying to randomly or greedily generate 3D matchings.
  • Verifying that all pairs (or triples) of rows form a SUSP.
  • Testing whether the puzzle is uniquely solvable using the graph

isomorphism library Nauty: http://users.cecs.anu.edu.au/~bdm/nauty/

  • Simplifying the 3D matching instance using properties of the puzzle,

e.g., using that a column only contains two of {1, 2, 3}.

slide-50
SLIDE 50

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF DP SAT IP

slide-51
SLIDE 51

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF DP SAT IP Hybrid

slide-52
SLIDE 52

Experimental Running Time

5 10 15 20 25 30 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Puzzle Size Average Time (sec) Average checking time versus puzzle height for 10000 random width 8 puzzles BF DP SAT IP Hybrid 20 40 60 80 100 Percent SUSP

slide-53
SLIDE 53

Experimental Running Time

Width 5

1 10−1 10−2 10−3 10−4 10−5 10−6 10−7 Average Time (sec)

BF DP SAT IP HYB SUSP %

Width 6 Width 7

20 40 60 80 100 Percent SUSP

Width 8

10 20 30 100 10−1 10−2 10−3 10−4 10−5 10−6 10−7 Puzzle Size Average Time (sec)

Width 9

10 20 30 Puzzle Size

Width 10

10 20 30 Puzzle Size 20 40 60 80 100 Percent SUSP

slide-54
SLIDE 54

Outline

1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work

slide-55
SLIDE 55

Search

Problem (SUSP-Search) Input: k ∈ N Output: The maximum s ∈ N such that there exists a (s, k)-puzzle that is a strong uniquely solvable puzzle.

slide-56
SLIDE 56

Search

Problem (SUSP-Search) Input: k ∈ N Output: The maximum s ∈ N such that there exists a (s, k)-puzzle that is a strong uniquely solvable puzzle.

  • Considered constructive approaches to solving this problem that use

SUSP-Check as a subroutine.

  • (s, k)-puzzles have sk entries and there are 3sk such puzzles.
  • Searching the full space for k > 4 is infeasible.
  • Density of SUSPs quickly approaches 0.
  • Our approaches are ad hoc and use domain knowledge for heuristics.
  • SUSP do not form a matroid, augmentation property fails.
slide-57
SLIDE 57

Tree Search

Lemma If P is a SUSP and P′ ⊆ P, then P′ is a SUSP.

slide-58
SLIDE 58

Tree Search

Lemma If P is a SUSP and P′ ⊆ P, then P′ is a SUSP.

  • This lemma allows us to construct SUSP from the bottom up.
slide-59
SLIDE 59

Tree Search

Lemma If P is a SUSP and P′ ⊆ P, then P′ is a SUSP.

  • This lemma allows us to construct SUSP from the bottom up.
  • BFS allowed us to explore the set of all SUSP for k ≤ 5.
  • Initial implementation was parallel and used MPI and Map-Reduce to

maintain the search frontier on Union’s 900-node HPC cluster.

  • SAT / IP improvements lead it to be feasible on a single desktop.
slide-60
SLIDE 60

Tree Search

Lemma If P is a SUSP and P′ ⊆ P, then P′ is a SUSP.

  • This lemma allows us to construct SUSP from the bottom up.
  • BFS allowed us to explore the set of all SUSP for k ≤ 5.
  • Initial implementation was parallel and used MPI and Map-Reduce to

maintain the search frontier on Union’s 900-node HPC cluster.

  • SAT / IP improvements lead it to be feasible on a single desktop.
  • For k > 6 we used DFS and A∗ search with a variety of heuristics.
  • Unable to explore full search space.
  • Accurate heuristics are themselves computationally intensive.
  • Ongoing work.
slide-61
SLIDE 61

Strong USP Found – Examples

(1,1): 1 (2,2): 1 3 2 1 (3,3): 1 1 1 3 2 1 3 3 2 (5,4): 3 1 3 2 1 2 3 2 1 1 1 3 3 2 1 3 3 3 2 3 (8,5): 3 3 3 1 1 1 1 2 2 1 2 1 3 3 2 3 2 2 2 3 2 1 2 1 3 2 2 3 1 2 3 2 3 2 1 3 1 2 1 1 (14,6): 2 3 3 1 1 1 2 1 1 2 1 1 3 3 1 2 1 1 3 2 2 2 1 1 2 3 1 1 2 1 2 2 3 1 2 1 3 3 1 3 2 1 3 2 3 3 2 1 2 1 1 3 1 2 2 3 1 3 2 2 3 1 1 1 1 3 3 3 2 3 1 3 3 3 2 1 2 3 2 2 3 2 2 3

slide-62
SLIDE 62

Strong USP Found – Trends and Comparison

[Cohen et al 2005] This work k Maximum s ω Maximum s ω 1 1 = s 3.000 1 = s 3.000 2 2 ≤ s ≤ 3 2.875 2 = s 2.875 3 3 ≤ s ≤ 6 2.849 3 = s 2.849 4 4 ≤ s ≤ 12 2.850 5 = s 2.806 5 4 ≤ s ≤ 24 8 = s 2.777 6 10 ≤ s ≤ 45 2.792 14 ≤ s 2.733 7 10 ≤ s ≤ 86 21 ≤ s 2.722 8 16 ≤ s ≤ 162 30 ≤ s 2.719 9 36 ≤ s ≤ 307 2.739 42 ≤ s 2.718 10 36 ≤ s ≤ 581 64 ≤ s 2.706 11 36 ≤ s ≤ 1098 112 ≤ s 2.678 12 136 ≤ s ≤ 2075 2.696 196 ≤ s 2.653

  • [CKSU05]’s construction asymptotically implies ω < 2.48.
  • Suggests that there is substantial room for improvement.
slide-63
SLIDE 63

Outline

1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work

slide-64
SLIDE 64

Future Work

Check

  • Look for reductions with o(s3) size – no more 3D matching.
  • Verify P is a SUSP by trying to multiply random matrices using P.
  • Apply machine learning.
slide-65
SLIDE 65

Future Work

Check

  • Look for reductions with o(s3) size – no more 3D matching.
  • Verify P is a SUSP by trying to multiply random matrices using P.
  • Apply machine learning.

Search

  • Symmetry reduction.
  • Iterated local search.
  • Repair from concatenated puzzles.
  • Derive better upper bounds.
  • Develop theory of dimensionality for puzzles.
slide-66
SLIDE 66

Future Work

Check

  • Look for reductions with o(s3) size – no more 3D matching.
  • Verify P is a SUSP by trying to multiply random matrices using P.
  • Apply machine learning.

Search

  • Symmetry reduction.
  • Iterated local search.
  • Repair from concatenated puzzles.
  • Derive better upper bounds.
  • Develop theory of dimensionality for puzzles.

Conjecture There is a construction that takes SUSPs of size (s1, k1) and (s2, k2) and produces a (s1 + s2, max(k1, k2) + 1)-puzzle that is a SUSP.

slide-67
SLIDE 67

Future Work

Check

  • Look for reductions with o(s3) size – no more 3D matching.
  • Verify P is a SUSP by trying to multiply random matrices using P.
  • Apply machine learning.

Search

  • Symmetry reduction.
  • Iterated local search.
  • Repair from concatenated puzzles.
  • Derive better upper bounds.
  • Develop theory of dimensionality for puzzles.

Conjecture There is a construction that takes SUSPs of size (s1, k1) and (s2, k2) and produces a (s1 + s2, max(k1, k2) + 1)-puzzle that is a SUSP.

Thanks for listening!