SLIDE 1 Monomino-Domino Tatami Coverings
Alejandro Erickson
Joint work with Frank Ruskey at The University of Victoria, Canada
December 4, 2013 Durham University, ACiD Seminar.
SLIDE 2
Japanese Tatami mats
Traditional Japanese floor mats made of soft woven straw. A 17th Century layout rule: No four mats may meet.
SLIDE 3
No four dominoes (mats) may meet
Tatami coverings of rectangles were considered by Mitsuyoshi Yoshida, and Don Knuth (about 370 years later).
SLIDE 4
No four dominoes (mats) may meet
Tatami coverings of rectangles were considered by Mitsuyoshi Yoshida, and Don Knuth (about 370 years later).
SLIDE 5
No four dominoes (mats) may meet
Tatami coverings of rectangles were considered by Mitsuyoshi Yoshida, and Don Knuth (about 370 years later).
SLIDE 6
No four dominoes (mats) may meet
Tatami coverings of rectangles were considered by Mitsuyoshi Yoshida, and Don Knuth (about 370 years later).
SLIDE 7
No four dominoes (mats) may meet
Tatami coverings of rectangles were considered by Mitsuyoshi Yoshida, and Don Knuth (about 370 years later).
SLIDE 8
No four dominoes (mats) may meet
Tatami coverings of rectangles were considered by Mitsuyoshi Yoshida, and Don Knuth (about 370 years later).
SLIDE 9
No four dominoes (mats) may meet
Tatami coverings of rectangles were considered by Mitsuyoshi Yoshida, and Don Knuth (about 370 years later).
SLIDE 10
Coverings of the chessboard
There are exactly two
Generalized by Ruskey, Woodcock, 2009, using Hickerson’s decomposition.
SLIDE 11
Domino Tatami Covering
SLIDE 12
Domino Tatami Covering
SLIDE 13
Domino Tatami Covering
SLIDE 14
Domino Tatami Covering
SLIDE 15
Domino Tatami Covering
SLIDE 16
Domino Tatami Covering
SLIDE 17
Domino Tatami Covering
SLIDE 18
Domino Tatami Covering
SLIDE 19
Domino Tatami Covering
SLIDE 20
Domino Tatami Covering
SLIDE 21
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 22
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes? Is this NP-hard?
SLIDE 23
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 24
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 25
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 26
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 27
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 28
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 29
Domino Tatami Covering
(Ruskey, 2009)
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 30
Domino Tatami Covering is polynomial
A domino covering is a perfect matching in the underlying graph.
SLIDE 31
Domino Tatami Covering is polynomial
A domino covering is a perfect matching in the underlying graph. INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
SLIDE 32
Domino Tatami Covering is polynomial
A domino covering is a perfect matching in the underlying graph. INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes? This can be answered in O(n2), since the underlying graph is bipartite.
SLIDE 33
Tatami coverings as matchings
The tatami restriction is the additional constraint, that every 4-cycle contains a matched edge.
SLIDE 34
DTC is NP-hard
Domino Tatami Covering
INPUT: A region, R, with n grid squares. QUESTION: Can R be tatami covered with dominoes?
Theorem (E., Ruskey, 2013)
Domino Tatami Covering is NP-hard.
SLIDE 35 Planar 3SAT
Let φ be a 3CNF formula, with variables U, and clauses C. Let G = (U ∪ C, E), where {u, c} ∈ E iff one of the literals u or ¯ u is in the clause c. The formula is planar if there exists a planar embedding
Planar 3SAT is NP-complete (Licht- enstein, 1982).
SLIDE 36
Reduction to Planar 3SAT
Working backwards from the answer...
b a d b ∨ ¯ d a ∨ ¯ b ∨ c c ¬ ∧ ∧ ∧ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬
SLIDE 37
Reduction to Planar 3SAT
Working backwards from the answer...
b a d b ∨ ¯ d a ∨ ¯ b ∨ c c
SLIDE 38
Verify the NOT gate
T F NOT gate covering can be completed with all “good” signals, but no “bad” signal. “good” “bad” F− →T T− →T T− →F F− →F
SLIDE 39 Verify the NOT gate
F− →T T− →F
1
F− →F
1 2 3 5 4 6 7 8 9
T− →T NOT gate covering can be completed with all “good” signals, but no “bad” signal. “good” “bad” F− →T T− →T T− →F F− →F
SLIDE 40
Search for a NOT gate
T F Search for sub-region, R, of the pink area. If R and the chessboards can be covered with all “good” signals, but no “bad” signal, we are done! “good” “bad” F− →T T− →T T− →F F− →F
SLIDE 41 SAT-solvers
◮ A SAT-solver is software that finds a satisfying
assignment to a Boolean formula, or outputs
- UNSATISFIABLE. We used MiniSAT.
SLIDE 42 SAT-solvers
◮ A SAT-solver is software that finds a satisfying
assignment to a Boolean formula, or outputs
- UNSATISFIABLE. We used MiniSAT.
◮ Given an instance of DTC, the corresponding
SAT instance has the edges of the underlying graph G, as variables. A satisfying assignment sets matched edges to TRUE and unmatched edges to FALSE.
SLIDE 43 SAT-solvers
◮ A SAT-solver is software that finds a satisfying
assignment to a Boolean formula, or outputs
- UNSATISFIABLE. We used MiniSAT.
◮ Given an instance of DTC, the corresponding
SAT instance has the edges of the underlying graph G, as variables. A satisfying assignment sets matched edges to TRUE and unmatched edges to FALSE.
◮ Three conditions must be enforced:
SLIDE 44 SAT-solvers
◮ A SAT-solver is software that finds a satisfying
assignment to a Boolean formula, or outputs
- UNSATISFIABLE. We used MiniSAT.
◮ Given an instance of DTC, the corresponding
SAT instance has the edges of the underlying graph G, as variables. A satisfying assignment sets matched edges to TRUE and unmatched edges to FALSE.
◮ Three conditions must be enforced:
- 1. TRUE edges are not incident.
SLIDE 45 SAT-solvers
◮ A SAT-solver is software that finds a satisfying
assignment to a Boolean formula, or outputs
- UNSATISFIABLE. We used MiniSAT.
◮ Given an instance of DTC, the corresponding
SAT instance has the edges of the underlying graph G, as variables. A satisfying assignment sets matched edges to TRUE and unmatched edges to FALSE.
◮ Three conditions must be enforced:
- 1. TRUE edges are not incident.
- 2. An edge at each vertex is TRUE.
SLIDE 46 SAT-solvers
◮ A SAT-solver is software that finds a satisfying
assignment to a Boolean formula, or outputs
- UNSATISFIABLE. We used MiniSAT.
◮ Given an instance of DTC, the corresponding
SAT instance has the edges of the underlying graph G, as variables. A satisfying assignment sets matched edges to TRUE and unmatched edges to FALSE.
◮ Three conditions must be enforced:
- 1. TRUE edges are not incident.
- 2. An edge at each vertex is TRUE.
- 3. An edge of each 4-cycle is TRUE.
SLIDE 47 SAT-solvers
We can generate, test cover, and forbid regions with SAT-solvers.
4 12 CC#......#CC CC#......#CC CC#......#CC CC#......#CC 2 .A........<> .V........A. .A........V. .V........<> <>........A. .A........V. .V........A. <>........V. 2 <>........<> .A........A. .V........V. <>........<> .A........A. .V........V. .A........A. .V........V.
Combine python scripts with the SAT-solver Min- iSAT (fast, lightweight, pre-compiled for my system.)
SLIDE 48 Gadget Search
◮ request candidate
region, R, from MiniSAT, satisfying “good” signals.
◮ MiniSAT to test
each “bad” signal in R.
◮ if every test
UNSATISFIABLE R is the answer!
◮ Else, “forbid” R in
next iteration.
SLIDE 49 Huge search space
CC#....#CC CC#....#CC CC#....#CC CC#..#.#CC XXX.#..XXX XXX..#.XXX CC#.#..XXX CC#....XXX CC#....XXX CC#....XXX Require and forbid some grid squares (#, X) to be in R to reduce number
Search a smaller area.
SLIDE 50 It worked!
T T T Inputs Output
SLIDE 51
Recall the context
b a d b ∨ ¯ d a ∨ ¯ b ∨ c c ¬ ∧ ∧ ∧ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬
SLIDE 52
Recall the context
b a d b ∨ ¯ d a ∨ ¯ b ∨ c c
SLIDE 53 Verifiable by hand
T T T In Out T F F In Out F T F In Out F F F In Out TT− →T TF− →F FT− →F FF− →F
SLIDE 54 Verifiable by hand
* F T In Out
F * T In Out T T F In Out *F− →T F*− →T TT− →F Impossible AND gate coverings, where * denotes F
SLIDE 55
Testing a clause
T F
SLIDE 56
Simply Connected DTC
Is DTC NP-hard even if the region is simply connected?
SLIDE 57
The Structure of Tatami Coverings
SLIDE 58
What are the consequences of this arrangement?
SLIDE 59
This placement is forced.
SLIDE 60
And this placement is also forced.
SLIDE 61
As is this.
SLIDE 62
And this.
SLIDE 63
Ditto.
SLIDE 64
Etc.
SLIDE 65
Until we reach the boundary.
SLIDE 66
This a ray. They can go NE, NW, SE, SW.
SLIDE 67
?
How do rays start? (The question mark.) Not a vertical domino.
SLIDE 68
Monomino-Domino Tatami Coverings
SLIDE 69
Monomino-Domino Tatami Coverings
bidimer loner vortex vee
SLIDE 70
We can enumerate and generate them!
For example, the number of coverings of the n × n square with n monominoes is n2n−1.
SLIDE 71
We can enumerate and generate them!
For example, the number of coverings of the n × n square with n monominoes is n2n−1.
Generating functions
Let Xk be a set of ak combinatorial objects for each k ≥ 0. The generating function for {Xk}k≥0 is f (z) = a0z0 + a1z1 + a2z2 + a3z3 + a4z4 + . . . . If ak = 0 for some k ≥ K, then f (z) is a polynomial.
SLIDE 72 Email from Knuth to Ruskey:
... I looked also at generating functions for the case m = n, with respect to horizontal versus vertical
- dominoes. ... for example when n = 11, the
generating function for tatami tilings with exactly 11 monominoes and 55 dominoes turns out to be 2(1 + z)5(1 + z2)2(1 − z + z2)(1 + z4)(1 − z + z2 − z3 + z4)p(z), when subdivided by the number of say horizontal dominoes, where p(z) is a fairly random-looking irreducible polynomial of degree 36. One naturally wonders if there’s a good reason for so many cyclotomic polynomials in this
SLIDE 73 Count n × n coverings with n monominoes, h horizontal dominoes
A diagonal flip is an operation on coverings which preserves the tatami restriction, and changes the
- rientation of some dominoes.
SLIDE 74
Count n × n coverings with n monominoes, h horizontal dominoes
Good: Every covering is obtainable via a sequence of diagonal flips. Bad: Conflicting flips complicate enumeration. Solution: Equivalence classes with independent flips.
SLIDE 75 Classes of coverings with independent diagonal flips
Longest “flipped” diagonal in green.
◮ Flippable diagonals
are independent of
SLIDE 76 Classes of coverings with independent diagonal flips
Longest “flipped” diagonal in green.
◮ Flippable diagonals
are independent of
◮ Can change
s to s in a predictable way.
SLIDE 77 Classes of coverings with independent diagonal flips
Longest “flipped” diagonal in green.
◮ Flippable diagonals
are independent of
◮ Can change
s to s in a predictable way.
◮ Consider k-sum
subsets of multiset {1, 2, . . . , 9, 1, 2, . . . , 5}
SLIDE 78 Generating polynomial (E.,Ruskey)
Sn(z) = n
k=1(1 + zk) “generates” k-sum subsets
- f {1, 2, ..., n}. (algebra omitted...) Let
V Hn(z) = Pn(z)
S⌊ n−2
2j ⌋(z)
where Pn(z) is a polynomial. For odd n, the kth coefficient of V Hn(z) is the number of n × n coverings with n monominoes and h horizontal dominoes.
SLIDE 79 Generating polynomial (E.,Ruskey)
Sn(z) = n
k=1(1 + zk) “generates” k-sum subsets
- f {1, 2, ..., n}. (algebra omitted...) Let
V Hn(z) = Pn(z)
S⌊ n−2
2j ⌋(z)
where Pn(z) is a polynomial. For odd n, the kth coefficient of V Hn(z) is the number of n × n coverings with n monominoes and h horizontal dominoes. Cyclotomic polynomial factors: Sn(z) =
n
φ
⌊ n+j
2j ⌋
2j
(z)
SLIDE 80
“... where p(z) is a fairly random-looking irreducible polynomial...”
Not as random as it looks. e.g. complex zeros of Pn(z). n is odd. Large n plotted with darker, smaller dots.
SLIDE 81 “... where p(z) is a fairly random-looking irreducible polynomial...”
Not as random as it looks.
◮ deg(Pn(z)) = n−2
k=1 Od(k), where Od(k) is
the largest odd divisor of k.
SLIDE 82 “... where p(z) is a fairly random-looking irreducible polynomial...”
Not as random as it looks.
◮ deg(Pn(z)) = n−2
k=1 Od(k), where Od(k) is
the largest odd divisor of k.
◮ Pn(1) = n2ν(n−2)−1, where ν(k) is the binary
weight of k.
SLIDE 83 “... where p(z) is a fairly random-looking irreducible polynomial...”
Not as random as it looks.
◮ deg(Pn(z)) = n−2
k=1 Od(k), where Od(k) is
the largest odd divisor of k.
◮ Pn(1) = n2ν(n−2)−1, where ν(k) is the binary
weight of k.
◮ ... etc. But, is Pn(z) irreducible?
SLIDE 84 “... where p(z) is a fairly random-looking irreducible polynomial...”
Not as random as it looks.
◮ deg(Pn(z)) = n−2
k=1 Od(k), where Od(k) is
the largest odd divisor of k.
◮ Pn(1) = n2ν(n−2)−1, where ν(k) is the binary
weight of k.
◮ ... etc. But, is Pn(z) irreducible? ◮ Can it be computed without dividing
V Hn(z) = Pn(z)
S⌊ n−2
2j ⌋(z).
SLIDE 85 Open problems
◮ Efficient combinatorial generation
All tatami coverings of the 3 × 4 grid.
SLIDE 86 Open problems
◮ Efficient combinatorial generation ◮ Generalizations to other tiles
All tatami coverings of the 3 × 4 grid.
SLIDE 87
Lozenge 5-Tatami Covering
SLIDE 88
Lozenge 5-Tatami Covering
Is Lozenge 5-Tatami Covering NP-hard?
SLIDE 89
Tomoku!
INSTANCE: A r × c grid and tiles completely contained in each row and column. QUESTION: Is there a tatami covering of this grid with these row and column projections?
SLIDE 90
Tomoku!
INSTANCE: A r × c grid and tiles completely contained in each row and column. QUESTION: Is there a tatami covering of this grid with these row and column projections?
SLIDE 91
Water Strider Problem
SLIDE 92
Water Strider Problem
SLIDE 93
Water Strider Problem
INSTANCE: A rectilinear region, R, with n segments, and vertices in R2. QUESTION: Is there a configuration of at most k water striders, such that no two water striders intersect, and no more water striders can be added?
SLIDE 94 Thank you
Thanks also to Bruce Kapron and Don Knuth. Part
- f this research was conducted at the 9th
McGill-INRIA Workshop on Computational Geometry. Slides at alejandroerickson.com