111/06/15 1 Advisor : Chih-Hung Yen Student : Chia-Ying Wu 111/06/15 1
Dec 26, 2015
112/04/19 1
Advisor : Chih-Hung YenStudent : Chia-Ying Wu
112/04/19 11
112/04/19 2
1. Fundamental Concepts
1.1 Polyominoes, Enumerations, and Tessellations
1.2 Skewing Schemes and Data Templates
1.3 Surroundings
1.4 Labelings
2. Main Results
2.1 Some Results
2.2 N2-Skewing Schemes
3. Conclusion
112/04/19 2
OutlineOutline
112/04/19 3112/04/19 333
112/04/19 4112/04/19 444
112/04/19 5
Let the Euclidean plane (or the plane) be divided into unit
squares, that is, the four corners of a square have
coordinates (x,y), (x+1,y), (x,y+1), (x+1,y+1) for some
integers x and y. And, for each unit square, we use the
coordinate of the lower left corner to name itself.
112/04/19 55
112/04/19 6
For example, we use unit square (1,1) to represent the
unit square whose four corners have coordinates (1,1),
(2,1), (1,2) and (2,2).
112/04/19 66
(1,1) (2,1)
(1, 2) (2, 2)
y
x
112/04/19 7
A polyomino is defined as a finite, nonempty, and connected set of unit
squares.
A configuration generalizes the notation of polyomino by dropping the
requirement “being connected”.
112/04/19 777
y
x
112/04/19 8
Consider a polyomino P (or a configuration C) of size N,
namely, P (or C) consists of N unit squares.
A polyomino of size N is also called an N-omino.
112/04/19 8
112/04/19 9
In 1907, the notion of “polyomino” appeared in a puzzle
involving 5 unit squares was posed in the book 「 Canterbury
Puzzles 」 .
Between the years 1937 to 1957, many results with the
polyominoes of size 1 to 6 were first published in 「 Fairy
Chess Review 」 , a puzzle journal issued in British, under the
name “dissection problems”.
In 1953, the name polyomino was invented by Golomb and
popularized by Gardner.
112/04/19 99
112/04/19 10
Polyominoes are sources of combinatorial problems.
The most basic one is to enumerate distinct
polyominoes of size N for a given positive integer N.
112/04/19 101010
112/04/19 1111112/04/19 11
Another important problem on the subject of polyomino is
the following:
『 Given a polyomino P, can P tessellate the plane? 』
1111112/04/19
112/04/19 12112/04/19 1212
x
(1,1) (2,1)
(1, 2)
(3,1)
(6,2) (7,2)
(6, 3)
(8,2)
v =(vx,vy) = (5,1)
Q
P
y
112/04/19 13
y
x
P
Q
112/04/19 14
y
x
Q
P
112/04/19 15
Consider two polyominoes P and Q in the plane. If Q satisfies
one of the following conditions, then Q is said to be
equivalent to P.
1. Q is a translation, a rotation, or a reflection of P.
2. Q is a rotation or a reflection of some translation of P.
3. Q is a reflection of some rotation of P.
4. A translation of Q is a reflection of some rotation of P.
112/04/19 15
112/04/19 16112/04/19 16
We say that a polyomino P tiles the plane, or there exists a
tiling of the plane using a polyomino P, if the plane can be
composed of polyominoes that are equivalent to P and do
not overlap except along their sides.
1616
112/04/19 17112/04/19 171717
112/04/19 18112/04/19 18
We say that a polyomino P tessellates the plane, or there
exists a tessellation of the plane using a polyomino P, if the
plane can be composed of polyominoes that are translations
of P and do not overlap except along their sides.
1818
112/04/19 19112/04/19 19112/04/19 19
x
y
O
112/04/19 19
112/04/19 20112/04/19 20
If a polyomino P tessellates the plane, then P also tiles the plane.
Conversely, if P tiles the plane, then we cannot guarantee that P
tessellates the plane.
2020
112/04/19 21112/04/19 21
It is known that every N-omino for 1 N 6 tiles the
plane and only four of all 7-ominoes cannot tile the
plane.
2121
112/04/19 22112/04/19 22
Golomb proved that the problem of determining whether an
arbitrary finite set of polyomino tiles the plane is undecidable;
that is, there is no NP-algorithm for this problem. On the other
hand, there does exist several methods for determining
whether a (single) polyomino tessellates the plane.
2222
112/04/19 23112/04/19 232323
112/04/19 24
A single instruction-stream, multiple data-stream (SIMD)
computer contains one control unit, t arithmetic processors,
and one memory unit of N (independent) memory modules. All
arithmetic processor receive the same instruction from the
control unit, but operate on different items of data stored in
different memory modules.
112/04/19 24
112/04/19 25
control unit
A1 A2 At
memory-processor connection network
M1 M2 MN
arithmetic processors
memory modules
25112/04/19
112/04/19 26112/04/19 26
0,0 0,1 0,2 0, 1
1,0 1,1 1,2 1, 1
2,0 2,1 2,2 2, 1
1,0 1,1 1,2 1, 1
N
N
N
N N N N N N N
A A A A
A A A A
A A A AA
A A A A
We consider to store an N N matrix A into the N memory
modules of an SIMD computer, where A = [Ai, j] for i = 0,1,…,N -
1 and j = 0,1,…,N - 1.
112/04/19 27
If the element Ai, j is stored in memory module j for all i and j,
then it will be possible to simultaneously fetch all the elements
of any row of A, since distinct elements of a row of A lie in
distinct memory modules.
27112/04/19
A0,0
A1,0
A2,0
.
.
.AN1,0
A0,1
A1,1
A2,1
.
.
.AN1,1
A0,2
A1,2
A2,2
.
.
.AN1,2
A0, N1
A1, N1
A2, N1
.
.
.AN1, N1
M0 M1 M2 MN1
112/04/19 28
Fetching all the elements of any column of A, however, will
result in delays, since more than one element of the
column of A (in fact all) will lie in the same memory
module.
28112/04/19
A0,0
A1,0
A2,0
.
.
.AN1,0
A0,1
A1,1
A2,1
.
.
.AN1,1
A0,2
A1,2
A2,2
.
.
.AN1,2
A0, N1
A1, N1
A2, N1
.
.
.AN1, N1
M0 M1 M2 MN1
112/04/19 2929
A0,0
A1, N1
A2, N2
.
.
.AN1,1
A0,1
A1,0
A2, N1
.
.
.AN1,2
A0,2
A1,1
A2,0
.
.
.AN1,3
A0, N1
A1, N2
A2, N3
.
.
.AN1, 0
M0 M1 M2 MN1
112/04/19
If we adopt a different storage strategy instead, where the
element Ai, j is stored in memory module i + j (mod N), then all
the elements of any row or any column of A will lie in distinct
memory modules and can be fetched simultaneously.
112/04/19 30
Problem 1.2.1 (Shapiro; 1978)
Given an M M matrix, a collection of desirable matrix
subparts such as rows, columns, or square blocks, and an
SIMD computer with N memory modules, how do we store the
matrix so that all the elements comprising any desirable matrix
subpart are stored in different memory modules?
30112/04/19
112/04/19 3131112/04/19
A0,0
A1, N1
A2, N2
.
.
.AN1,1
A0,1
A1,0
A2, N1
.
.
.AN1,2
A0,2
A1,1
A2,0
.
.
.AN1,3
A0, N1
A1, N2
A2, N3
.
.
.AN1, 0
M0 M1 M2 MN1
112/04/19 32
COLUMN0
COLUMN1
ROW 0
ROW 1
32
ROW 2
0 1 2
112/04/19
COLUMN2
COLUMN3
COLUMN
N1
3
N1
1
2
ROW 3
ROW N1
3
N1
2 3
3
…
112/04/19 33
For any two positive integers M and N, an (M, N)-skewing
scheme is defined as a 2-dimentional funtion S : ℤM × ℤM
ℤN, namely, for each (i, j ) ℤM × ℤM , there exists a k ℤN
such that S(i, j ) = k.
An N-skewing scheme is a 2-dimentional funtion S : × ℤ ℤ
ℤN, namely, for each k ℤN such that S(i, j ) = k.
33112/04/19
112/04/19 34
A data template T is a set of ordered pairs of nonnegative
integers in which no two components identical, namely, T =
{ (x1, y1), (x2, y2), ..., (xt, yt) }, where xi 0, yi 0, and (xi, yi)
(xj, yj) for any i j.
An instance of a data template T through a vector v × ℤ ℤ,
denoted by T+v, is a set of ordered pairs of integers which
formed by componentwise addition of v to T. For example, if T
= {(x1, y1), (x2, y2), ..., (xt, yt) } and v = (vx,vy), then T+v =
{ (x1+vx, y1+vy), (x2+vx, y2+vy), ..., (xt +vx, yt +vy) }.
34112/04/19
112/04/19 35
In fact, for any data template T or any instance T+v of T,
there exists uniquely a polyomino or a configuration
which is corresponding to T or T+v, and vice versa.
35112/04/19
112/04/19 36112/04/19 3636
y
x(0,0) (1,0)
(0,1)
(2,0)
For example, a data template T = { (0,0), (1,0), (2,0), (0,1) }.
P
112/04/19 37
We say that an (M, N)-skewing scheme or an N-skewing
scheme, denoted by S, is valid for a collection of data
templates, denoted by T1, T2, ..., Tr , if and only if, for any two
ordered pairs (i1, j1) and (i2, j2) satisfying S(i1, j1) = S(i2, j2), there
exists no l {1, 2, ..., r } such that an instance of Tl contains
both (i1, j1) and (i2, j2) as components.
37112/04/19
112/04/19 38112/04/19 38
Problem 1.2.2
Consider a collection of data templates, how do we determine
if there is a valid (M, N)-skewing scheme for this collection of
data templates, and if a valid (M, N)-skewing scheme exists,
how do we determine what it is?
3838
112/04/19 39112/04/19 39
Problem 1.2.3
Consider a data template T of size N satisfying that a
polyomino corresponds to T, how do we determine whether
there is a valid N-skewing scheme for T, if a valid N-skewing
scheme for T exists, how do we determine what it is?
Problem 1.2.4
Consider a data template T of size N satisfying that a
configuration corresponds to T, how do we determine whether
there is a valid N-skewing scheme for T, if a valid N-skewing
scheme for T exists, how do we determine what it is?
3939
112/04/19 40112/04/19 40
Theroem 1.2.5 (Shapiro; 1978) (Wijshoff and van Leeuwen;
1984)
Consider a data template T of size N. Then there exists a valid N-
skewing scheme for T if and only if the polyomino or the
configuration corresponding to T tessellates the plane.
4040
112/04/19 41112/04/19 414141
4242112/04/19
P0
P1
P2
P3
P4
P5
P
112/04/19 43112/04/19 43
Theorem 1.3.1 (Beauquier and Nivat; 1991)
Consider a polyomino P. Then the plane can be tessellated by
P if and only if there exists a surrounding of P.
4343
112/04/19 44112/04/19 444444
112/04/19 45
Consider a polyomino P (or a configuration C) of size N in the
plane. Then P (or C) has a 1-linear labeling if we can label the
unit squares of P (or C) by using the elements of ℤN exactly
once in such a way that the labels of unit squares in each row
is an arithmetic sequence with skip parameter a and the labels
of unit squares in each column is an arithmetic sequence with
skip parameter b, where a, b ℤN and a = b is allowed.
112/04/19 454545
00 11
22
44
33
55 66
77
112/04/19 46
Consider a polyomino P (or a configuration C) of size N in the
plane. Then P (or C) has a 2-linear labeling if we can label the
unit squares of P (or C) by using the elements of ℤf × ℤN/f
exactly once for some f 1 and f | N (i.e., f divides N) in such a
way that the labels of unit squares in each row is an arithmetic
sequence with skip parameter A=(a1,a2) and the labels of unit
squares in each column is an arithmetic sequence with skip
parameter B=(b1,b2), where A, B ℤf × ℤN/f and A = B is
allowed.
112/04/19 464646
112/04/19 47
(0,2)(0,2)
(1,1)(1,1)
(0,0)(0,0)
(1,2)(1,2) (1,3)(1,3) (1,0)(1,0)
(0,1)(0,1)
(0,3)(0,3)
112/04/19 48
If a polyomino P (or a configuration C) of size N has a 1-linear
labeling with skip parameter a and b in ℤN , then P (or C) also
has a 2-linear labeling with skip parameters A = (0,a) and B =
(b, 0) ℤ1 × ℤN . But the converse is not.
112/04/19 48
(0,2)(0,2)
(1,1)(1,1)
(0,0)(0,0)
(1,2)(1,2) (1,3)(1,3) (1,0)(1,0)
(0,1)(0,1)
(0,3)(0,3)
Theorem 1.4.1 (Chen, Hwang and Yen; 2006)
A polyomino P of size N tessellates the plane if and only if P has a
2-linear labeling.
4949112/04/19
00 11
22
44
33
55 66
77 (0,2)(0,2)
(1,1)(1,1)
(0,0)(0,0)
(1,2)(1,2) (1,3)(1,3) (1,0)(1,0)
(0,1)(0,1)
(0,3)(0,3)
112/04/19 50112/04/19 50
112/04/19 51112/04/19 515151
112/04/19 52
Lemma 2.1.1
An N-skewing scheme S is N-periodic if and only if S(i, j) = S(i + N, j) = S(i,
j + N) for any (i, j ) ℤ × ℤ.
Proof.
() It is trivial.
() We want to show that S(i, j) = S(i + N, j + N) for any (i, j ) ℤ × ℤ and
any two integers and . Without loss of generality, we suppose that
0 and 0. For any (i, j ) ℤ × ,ℤ since S(i, j) = S(i + N, j ) = S(i, j + N), we
have S(i, j) = S(i + N, j ) = S(i + 2N, j ) = … = S(i + (1)N, j ) = S(i + N, j )
= S(i + N, j + N) = S(i + N, j + 2N) = … = S(i + N, j + ( 1)N) = S(i +
N, j + N). Thus S is N-periodic.112/04/19 52
112/04/19 53
Lemma 2.1.2
A linear N-skewing scheme is also N-periodic.
Proof.
Let S be a linear N-skewing scheme. By Lemma 2.1.1, it suffices to
show that S(i, j) =S(i + N, j) = S(i, j + N) for any (i, j ) ℤ × ℤ. Since S
is linear, there exist a and b in ℤN such that S(i, j) = ia + jb (mod N) for
any (i, j ) ℤ × ℤ, where a = b is allowed. Hence, for any (i, j ) ℤ ×
ℤ, we have S(i, j) = ia + jb (mod N) = ia + Na + jb (mod N) = (i + N)a +
jb (mod N) =S(i + N, j) and S(i, j) = ia + jb (mod N) = ia + jb + Nb (mod
N) =ia + (j + N)b (mod N) = S(i, j + N). Therefore, S is an N-periodic
N-skewing scheme.112/04/19 53
112/04/19 54
Theorem 2.1.3
Problem 1.1.1, Problem 1.1.2, Problem 1.2.3, Problem 1.3.1, and
Problem 1.4.2 are pairwise equivalent.
Problem 1.1.1. For what classes of polyominoes do the existence of
tessellations of the plane?
Problem 1.1.2. For what classes of polyominoes do the existence of
periodic tessellations of the plane?
112/04/19 54
112/04/19 55
Problem 1.2.3. Consider a data template T of size N satisfying that a
polyomino corresponds to T, how do we determine whether there is a
valid N-skewing scheme for T, if a valid N-skewing scheme for T
exists, how do we determine what it is?
Problem 1.3.1. For what classes of polyominoes do the existence of
surroundings?
Problem 1.4.2. For what classes of polyominoes do the existence of
2–linear labelings?
112/04/19 55
112/04/19 56
Theorem 2.1.4
Problem 1.1.3, and Problem 1.2.4 are equivalent.
Problem 1.1.3.
Does the existence of tessellations of the plane using a polyomino P
imply the extence of periodic tessllations of the plane using P?
Problem 1.2.4. Consider a data template T of size N satisfying that a
configuration corresponds to T, how do we determine whether there is a
valid N-skewing scheme for T, if a valid N-skewing scheme for T exists,
how do we determine what it is?
112/04/19 56
112/04/19 57
One feasible method for determine the existence of such a (A, B)
is to test each ordered pairs of elements in ℤf × ℤN/f for any f 1
and f | N. However, it is inefficient. Let TN denote the total number
of tests performed and fN denote the number of factors of N. Then
112/04/19 575757
21 1 .N NT N f
N 2 3 4 5 10 100
fN 2 2 3 2 4 9
TN 1 4 18 16 243 78408
112/04/19 58
On the other hand, if N is a prime number, then fN = 2 and
TN (N 1)2; otherwise, fN N and TN (N 1)3. Therefore, a
method to find (A, B) quickly is required.
112/04/19 5858
112/04/19 59112/04/19 59
112/04/19 60112/04/19 60
112/04/19 61112/04/19 616161
112/04/19 62
An N2-skewing scheme is a mapping S: ℤ ℤ ℤf × ℤN/f for
some f 1 and f | N, namely, for each (i, j) ℤ ℤ, there
exists a (k1, k2) ℤf × ℤN/f such that S(i, j) = (k1, k2) .
An N2-skewing scheme S is valid for a collection of data
templates, denoted by T1, T2, ..., Tr , if and only if, for any two
ordered pairs (i1, j1) and (i2, j2) satisfying S(i1, j1) = S(i2, j2), there
exists no l {1, 2, ..., r} such that an instance of Tl contains both
(i1, j1) and (i2, j2) as components.
62112/04/19
112/04/19 63
An N2-skewing scheme S is N-periodic if S(i, j) = S( i + N, j +
N ) for any (i, j) ℤ ℤ and any two integers and .
An N2-skewing scheme S is periodic if there exist u = (u1, u2)
and v = (v1, v2) in ℤ ℤ such that S(i, j) = S( i + u1 + v1, j +
u2 + v2 ) for any (i, j) ℤ ℤ and any two integers and .
63112/04/19
112/04/19 64
An N2-skewing scheme S is linear if there exist A = (a1, a2) and
B = (b1, b2) in ℤf × ℤN/f such that S(i, j) = iA + jB (mod (f , N/f)) =
(ia1 + jb1 (mod f ), ia2 + jb2 (mod N/f )) for any (i, j) ℤ ℤ,
where A = B is allowed.
If an N-skewing scheme S is linear, then it is easy to obtain a
linear N2-skewing scheme S : ℤ ℤ ℤ1 × ℤN by letting S(i,
j)=(0, S(i, j)) for any (i, j) ℤ ℤ.
64112/04/19
112/04/19 65
Lemma 2.2.1
An N2-skewing scheme S is N-periodic if and only if S(i, j) = S(i + N, j) = S(i,
j + N) for any (i, j ) ℤ × ℤ.
Proof.
() It is trivial.
() We want to show that S(i, j) = S(i + N, j + N) for any (i, j ) ℤ × ℤ and
any two integers and . Without loss of generality, we suppose that
0 and 0. For any (i, j ) ℤ × ,ℤ since S(i, j) = S(i + N, j ) = S(i, j + N), we
have S(i, j) = S(i + N, j ) = S(i + 2N, j ) = … = S(i + (1)N, j ) = S(i + N, j )
= S(i + N, j + N) = S(i + N, j + 2N) = … = S(i + N, j + ( 1)N) = S(i +
N, j + N). Thus S is N-periodic.112/04/19 65
112/04/19 66
Lemma 2.2.2
A linear N2-skewing scheme is also N-periodic.
Proof.
Let S be a linear N2-skewing scheme. By Lemma 2.2.1, it suffices to
show that S(i, j) =S(i + N, j) = S(i, j + N) for any (i, j ) ℤ × ℤ. Since S
is linear, there exist A = (a1, a2) and B = (b1, b2) in ℤf × ℤN/f such that
S(i, j) = iA + jB (mod (f , N/f)) = (ia1 + jb1 (mod f ), ia2 + jb2 (mod N/f ))
for any (i, j) ℤ ℤ, where A = B is allowed.
112/04/19 66
112/04/19 67
Hence, for any (i, j ) ℤ × ℤ, we have
S(i, j) = iA + jB (mod (f , N/f))
= (ia1 + jb1 (mod f ), ia2 + jb2 (mod N/f ))
= (ia1 + f N/f a1+ jb1 (mod f ), ia2 + f N/f a2 + jb2 (mod
N/f ))
= (ia1 + Na1+ jb1 (mod f ), ia2 + Na2 + jb2 (mod N/f ))
= ((i + N)a1+ jb1 (mod f ), (i + N)a2 + jb2 (mod N/f ))
= (i + N)A+ jB (mod (f , N/f))
= S(i + N, j)
and112/04/19 67
112/04/19 68
S(i, j) = iA + jB (mod (f , N/f))
= (ia1 + jb1 (mod f ), ia2 + jb2 (mod N/f ))
= (ia1 + jb1 + f N/f b1 (mod f ), ia2 + jb2 + f N/f b2 (mod
N/f ))
= (ia1 + jb1 + Nb1 (mod f ), ia2 + jb2 + Nb2 (mod N/f ))
= (ia1+ (j + N)b1 (mod f ), ia2 + (j + N)b2 (mod N/f ))
= iA+ (j + N)B (mod (f , N/f))
= S(i, j+ N)
Therefore, S is an N-periodic N2-skewing scheme.
112/04/19 68
112/04/19 69112/04/19 69
112/04/19 70
The study of tessellations of the plane using polyominoes has a
long history in mathematics. And the motivation of our study
comes from the labelings of polyominoes. We revise some
definitions and terminologies, and give some results on the
correlations between different methods of determining whether
a polyomino tessellates the plane. However, there are still
some unsolved problems.
112/04/19 70
112/04/19 71112/04/19 71