A Fast Algorithm for Reconstructing hv-convex 8

13th International Conference on Discrete Geometry for Computer Imagery
Szeged, Hungary 25-27 October 2006
The Number of Line-Convex
Directed Polyominoes Having the
Same Orthogonal Projections
Péter Balázs
University of Szeged, Institute of Informatics
Szeged, HUNGARY
Discrete Sets
• discrete set: a finite subset of the 2D integer lattice
j
i
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
F̂
0
0
F
0
0
0
0
0
0
0

0

0
1
0

1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0

1
1
0
0 
Horizontal and Vertical Projections
~
Horizontal projection of F:
H : F  N 0m , H ( F )  H  (h1 ,, hm )
n
h 
fˆ
i  1,, m
i

j 1
ij
Vertical projection of F:
V : F  N 0n , V ( F )  V  (v1 , , vn )
m
v 
fˆ
j  1, , n
j

i 1
ij
F - the class of discrete sets
The Reconstruction Problem
RECONSTRUCTION: Given the vectors H, and V construct a
discrete set F such that H(F)=H, and V(F)=V.
One problem: in some cases too many solutions
Idea: use a priori information to reduce ambiguity
–connectedness
–directedness
–discrete versions of convexity
Connectedness & Directedness
• 4-path: a sequence of distinct points of the discrete set such
that the consecutive points are 4-neighbours
• NE-path: a 4-path consisting of only north and east steps
• polyomino: there is a 4-path between any two points of the
discrete set
• directed polyomino: there is a NE-path from (m,1) to any
points of the polyomino
polyomino
not polyomino
directed
polyomino
Convexity
• A lattice direction is determined by a, b Z2 \ 0,0where
gcd(a,b) = 1.
• We will assume that a ≥ 0, and a = 0 → b = 1.
• A discrete set F is (a,b)-convex if for every point (i, j)F
and every kZ+ if (i+k∙a, j+k∙b)F then for each integer
0 < t < k (i+t∙a, j+t∙b)F
–
–
–
–
–
(0,1)  horizontally convex
(1,0)  vertically convex
(1,1)  diagonally convex
(1,-1)  antidiagonally convex
(2,-1)
Convexity
• A lattice direction is determined by a, b Z2 \ 0,0where
gcd(a,b) = 1.
• We will assume that a ≥ 0, and a = 0 → b = 1.
• A discrete set F is (a,b)-convex if for every point (i, j)F
and every kZ+ if (i+k∙a, j+k∙b)F then for each integer
0 < t < k (i+t∙a, j+t∙b)F
–
–
–
–
–
(0,1)  horizontally convex
(1,0)  vertically convex
(1,1)  diagonally convex
(1,-1)  antidiagonally convex
(2,-1)
yes
Convexity
• A lattice direction is determined by a, b Z2 \ 0,0where
gcd(a,b) = 1.
• We will assume that a ≥ 0, and a = 0 → b = 1.
• A discrete set F is (a,b)-convex if for every point (i, j)F
and every kZ+ if (i+k∙a, j+k∙b)F then for each integer
0 < t < k (i+t∙a, j+t∙b)F
–
–
–
–
–
(0,1)  horizontally convex
(1,0)  vertically convex
(1,1)  diagonally convex
(1,-1)  antidiagonally convex
(2,-1)
yes
yes
Convexity
• A lattice direction is determined by a, b Z2 \ 0,0where
gcd(a,b) = 1.
• We will assume that a ≥ 0, and a = 0 → b = 1.
• A discrete set F is (a,b)-convex if for every point (i, j)F
and every kZ+ if (i+k∙a, j+k∙b)F then for each integer
0 < t < k (i+t∙a, j+t∙b)F
–
–
–
–
–
(0,1)  horizontally convex
(1,0)  vertically convex
(1,1)  diagonally convex
(1,-1)  antidiagonally convex
(2,-1)
yes
yes
yes
Convexity
• A lattice direction is determined by a, b Z2 \ 0,0where
gcd(a,b) = 1.
• We will assume that a ≥ 0, and a = 0 → b = 1.
• A discrete set F is (a,b)-convex if for every point (i, j)F
and every kZ+ if (i+k∙a, j+k∙b)F then for each integer
0 < t < k (i+t∙a, j+t∙b)F
–
–
–
–
–
(0,1)  horizontally convex
(1,0)  vertically convex
(1,1)  diagonally convex
(1,-1)  antidiagonally convex
(2,-1)
yes
yes
yes
no
Convexity
• A lattice direction is determined by a, b Z2 \ 0,0where
gcd(a,b) = 1.
• We will assume that a ≥ 0, and a = 0 → b = 1.
• A discrete set F is (a,b)-convex if for every point (i, j)F
and every kZ+ if (i+k∙a, j+k∙b)F then for each integer
0 < t < k (i+t∙a, j+t∙b)F
–
–
–
–
–
(0,1)  horizontally convex
(1,0)  vertically convex
(1,1)  diagonally convex
(1,-1)  antidiagonally convex
(2,-1)
yes
yes
yes
no
no
Directed Convex Polyominoes
• [A. Del Lungo ’94, A. Kuba, E. Balogh ’02]: Every
horizontally or vertically convex directed
polyomino can be reconstructed from its
horizontal and vertical projections uniquely in
O(mn) time.
• Does this theorem still hold if we change the
direction of convexity?
Diagonally Convex Directed
Polyominoes – DCD4
(i1 , j1 )
(i, j )
(i , j )
(i, j )
(i2 , j2 )
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 1: Find a subset F
satisfying the conditions
of Lemma 2 by using
Lemma 1.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Unique Reconstruction in DCD4
• Theorem: In the class DCD4 there is at most one
polyomino with the given horizontal and vertical
projections H and V, respectively, and it can be
reconstructed in O(mn) time.
5
Step 2: For each
position bottom-up leftto-right apply Lemma 2
each time increasing F
when necessary.
3
5
1
2
3
3
3
1
2
Antidiagonally Convex Directed
Polyominoes – ACD4
• Theorem 2: In the class ACD4 there can be
exponentially large number of polyominoes
with the same horizontal and vertical
projections.
Proof of Theorem 2
1
1
• Let Bˆ  1 1 0, Fˆ  1
1
1

1
1
1
0
1
0
1
1
1
0 , and Fˆ   1
1
1

1
1

0
1
1
1
1
1
1
0 .
0
1 
• For a given k ≥ 1 and for any S  1,, k let
 Fˆ1 
 
 Bˆ 
 Fˆ if i  S
 Fˆ2 

Xˆ S   Bˆ  where Fˆi  
 

Fˆ  if i  S


 ˆ
B
 Fˆ 
 k
 Bˆ 
ˆ
ˆ
F , F ,  ˆ ,
F
 Bˆ 
 ˆ ,
 F 
 Fˆ 
 ˆ ,
 B
 Fˆ  
2k number of antidiagonally
 ˆ   ACD 4  convex directed polyominoes
B
level 2
level 1
The Case k = 2
X
{}
X
{1}
X
{2}
X
{1, 2}
Generalization
Conclusions
• Horizontally, vertically, or diagonally
convex directed polyominoes can be
reconstructed uniquely in O(mn) time
• Ambiguity remains very high if any other
line-convexity is assumed (even for a finite
number of several directions)
Thank you for your attention!