SAT 2020 Outline 1 Matrix Multiplication 2 Cohn-Umans Framework 3 - - PowerPoint PPT Presentation
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
Outline
1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work
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ω)?
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
Outline
1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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).
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.
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].
Goal & Approach
Goal Find strong uniquely solvable puzzles that imply smaller ω.
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.
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.
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.
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.
Outline
1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work
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.
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
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.
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
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)}.
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.
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 ).
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).
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 .
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].
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
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
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
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
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
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
Implementation
Hybrid Algorithm
- s ≤ 2: Brute force
- 2 < s ≤ 10: Dynamic programming
- 10 < s: SAT and IP in parallel
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.
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}.
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
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
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
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
Outline
1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work
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.
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.
Tree Search
Lemma If P is a SUSP and P′ ⊆ P, then P′ is a SUSP.
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.
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.
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.
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
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.
Outline
1 Matrix Multiplication 2 Cohn-Umans Framework 3 Checking Strong Uniquely Solvable Puzzles 4 Searching for Strong Uniquely Puzzles 5 Conclusions & Future Work
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.
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.
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.
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.