1. Introduction
Discrete tomography focuses on the problem of reconstruction of discrete objects from small number of their projections. In order to reduce the number of solutions we could add some convexity conditions to these discrete objects. There are many notions of discrete convexity of polyominoes (namely HV-convex [1] , Q-convex [2] , L-convex polyominoes [3] ) and each one leads to interesting studies. One natural notion of convexity on the discrete plane is the class of HV-convex polyominoes that is polyominoes with consecutive cells in rows and columns. Following the work of Del Lungo, Nivat, Barcucci, and Pinzani [1] we are able using discrete tomography to reconstruct polyominoes that are HV-convex according to their horizontal and vertical projections.
In addition to that, for an HV-convex polyomino P every pairs of cells of P can be reached using a path included in P with only two kinds of unit steps (such a path is called monotone). A polyomino is called kL-convex if for every two cells we find a monotone path with at most k changes of direction. Obviously a kL-convex polyomino is an HV-convex polyomino. Thus, the set of kL-convex polyominoes for
forms a hierarchy of HV-convex polyominoes according to the number of changes of direction of monotone paths. This notion of L-convex polyominoes has been considered by several points of view. In [4] combinatorial aspects of L-convex polyominoes are analyzed, giving the enumeration according to the semi-perimeter and the area. In [5] it is given an algorithm that reconstructs an L-convex polyomino from the set of its maximal L-polyominoes. Similarly in [3] it is given another way to reconstruct an L-convex polyomino from the size of some special paths, called bordered L-paths.
The main contribution of this paper is the developement of an algorithm that reconstructs all subclasses of L-convex polyominoes by using their geometrical properties and the algorithm of Chrobak and Dürr [6] . In particular, I add and modify some clauses to the original construction of Chrobak and Dürr in order to control the L-convexity using 2SAT satisfaction problem.
This paper is divided into 6 sections. After basics on polyominoes, I present briefly in Section 3 the four geometrical properties between the feet of all subclasses of non-directed L-convex polyominoes. In Section 4, I also introduce the subclasses of directed L-convex polyominoes with the conditions of the L-convexity. In the last Section I give the reconstruction algorithms of all L-convex polyominoes using simple modifications of Chrobak and Dürr’s algorithm. The last section is a final comment on my contribution.
2. Definitions and Notation
A planar discrete set is a finite subset of the integer lattice
defined up to a translation. A discrete set can be represented either by a set of cells, i.e. unitary squares of the cartesian plane, or by a binary matrix , where the 1’s determine the cells of the set (see Figure 1).
A polyomino P is a finite connected set of adjacent cells, defined up to translations, in the cartesian plane. A row convex polyomino (resp. column-convex) is a self avoiding convex polyomino such that the intersection of any horizontal line (resp. vertical line) with the polyomino has at most two connected components. Finally, a polyomino is said to be convex if it is both row and column-convex (see Figure 2).
A convex polyomino containing at least one corner of its minimal bounding box is said to be a directed convex polyomino. (see Figure 3).
To each discrete set S, represented as a
binary matrix, we associate two integer vectors
and
such that, for each
,
and
are the number of cells of S (elements 1 of the matrix) which lie on row i and column j, respectively. The vectors H and V are called the horizontal and vertical projections of S, respectively (see Figure 4). By convention, the origin of the matrix (that is the cell with coordinates
) is in the upper left position.
For any two cells A and B in a polyomino, a path
, from A to B, is a sequence
of adjacent disjoint cells Î P, with
![]()
Figure 1. A finite set of
, and its representation in terms of a binary matrix and a set of cells (The origin of this figure is in [7] ).
![]()
Figure 2. A column convex (left) and a convex (right) polyomino (The origin of this figure is in [3] ).
![]()
Figure 3. A directed convex polyomino (The origin of this figure is in [8] ).
![]()
Figure 4. A polyomino P with
and
(The origin of this figure is in [8] ).
, and
. For each
, we say that the two consecutive cells
form:
・ an east step if
and
;
・ a north step if
and
;
・ a west step if
and
;
・ a south step if
and
.
Let us consider a polyomino P. A path in P has a change of direction in the cell
, for
, if
Finally, we define a path to be monotone if its entirely made of only two of the four types of steps defined above.
Proposition 1 (Gastiglione, Restivo) [5] A polyomino P is convex if and only if every pair of cells is connected by a monotone path.
3. Geometrical Properties of L-Convex Polyominoes
In this section, we present the geometrical properties of L-convex polyominoes in terms of monotone paths.
Let
be two vectors of projections and let P be a convex polyomino, that satisfies
. By a classical argument P is contained in a rectangle R of size
(called minimal bounding box). Let
(
,
,
) be the intersection of P’s boundary on the lower (right, upper, left) side of R (see [1] ). By abuse of notation, for each
and
, we call
[resp.
,
,
] the cell at the position
[resp.
,
,
] and
[resp.
,
,
] the cell at the position
[resp.
,
,
] (see Figure 5).
Definition 1. The segment
is called the S-foot. Similarly, the segments
,
and
are called E-foot, N-foot and W-foot.
![]()
Figure 5. Min and max of the four feet in the rectangle R.
Proposition 2. Let
be two vectors of projections and let P be a convex polyomino, that satisfies
. If
or
or
or
then P is an L-convex polyomino.
Proof. Let P be a convex polyomino such that
(see Figure 6), then the bar allows us to go from the first cell situated at the position
to all other cells with at most one change of direction. Thus every two cells is connected by a monotone path with at most one change of direction and hence P is an L-convex polyomino. (Similar reasoning holds for the other three cases).
Let
(resp.
) be the class of convex polyominoes (resp. L-convex polyominoes) and let P be in
(resp.
) such that P does not satisfy Proposition 2. Also suppose that P is not a directed polyomino, then one can define the following subclasses of convex polyominoes:
.
.
.
.
.
.
.
. (See Figure 7).
Let us define the following sets:
・
,
・
.
・
,
・
.
The following characterizations hold for convex polyominoes in the class
and
.
Proposition 3. Let P be an L convex polyomino in the class
(resp.
and
), then there exist an L-path from
to
with a south step followed by an east step, and an L-path from
to
with an east step followe by a south step.
Proposition 4. Let P be an L-convex polyomino in the class
, then at least one of the four following affirmations is true.
![]()
Figure 6. An L-convex polyomino with
.
![]()
Figure 7. (a) an element of the class
; (b) an element of the class
; (c) an element of the class
, and (d) an element of the class
.
1) The feet of P are connected by an L-path from
to
with an east step followed by a south step and an L-path from
to
with a south step followed by an east step.
2) The feet of P are connected by an L-path from
to
with an east step followed by a south step and an L-path from
to
with an east step followed by a north step.
3) The feet of P are connected by an L-path from
to
with a south step followed by an east step and an L-path from
to
with an east step followed by a north step.
4) The feet of P are connected by an L-path from
to
with an east step followed by a north step and an L-path from
to
with an east step followed by a north step (see Figure 8).
Now if P is an L-convex polyomino (P is not directed), then the feet of P are characterized by the geometries shown in the Figure 9.
Case (1) is the first geometry (GEO1 in the algorithm).
![]()
Figure 8. The four different L-paths between the feet in the class
.
![]()
Figure 9. The three types of L-paths between each two opposite feet.
Case (2) is the second geometry (GEO2 in the algorithm).
Case (3) is the third geometry (GEO3 in the algorithm).
Case (4) is the fourth geometry (GEO4 in the algorithm).
Proposition 5. Let P be an L-convex polyomino (P is not directed), then the feet of P are connected at least by one of the nine following geometries of the L-paths in Figure 9.
・
・
・
・
・
・
・
・
・
.
Remark 1. The geometries
,
,
, and
mentioned in Proposition 5 give directly the two L-paths mentioned in Proposition 3.
The geometries
,
, and
in Proposition 5 give directly the L-path from
to
with a south step followed by an east step.
The geometries
and
in Proposition 5 give directly the L-path from
to
with an east step followed by a south step.
Now, we define the cells on the SE and WS borders to define the sets
and
from these cells.
Let P be a convex polyomino in the class
(resp.
and
) (P is not directed) and let
be the set of cells belonging to P such that
,
, and for
, let
be the cells situated on the border of the set SE.
Similarly, let
be the set of cells belonging to P such that such that
,
, and for
, let
be the cells situated on the border of the set WS.
Now let
be the set of cells such that

and
be the set of cells such that
.
Similarly, let
be the set of cells such that

and
be the set of cells such that

(see Figure 10).
Theorem 1. Let P be a convex polyomino such that P satisfies at least one of the following geometries・
・
・
・
・
・

・ ![]()
・ ![]()
・
.
Then P is an L-convex polyomino if and only if for
,
the cells situated at the positions
![]()
and
![]()
do not belong to P.
Proof. Suppose that P is a convex polyomino. The intersections control the geometries and the L-path between feet.
Þ If P is an L-convex then obviously the cells situated at the positions
![]()
and
![]()
do not belong to P. Indeed, these cells could be attained only by using a 2L-path from the SE or WS borders.
Ü The cells situated at the positions
![]()
and
![]()
control maximal rectangles from SE and WS. Thus they control the L-convexity of the polyomino (see Figure 11).
Simplification of the Nine Geometries of L-Convex Polyominoes
In this subsection, we show that the four geometries mentionned in Proposition 4 are sufficient to reconstruct non-directed L-convex polyominoes in the subclasses
and
and so the nine geometries can be simplified to obtain only four geometries.
If
then the geometry could be defined by a point on the larger foot between W-foot and S-foot. If the length of E-foot is larger than the length of W-foot, then we use an L-path between
and
thus we use the second geometry (
). If the length of E-foot is smaler than the length of W-foot then we use a L-path between
and
thus we use the first geometry (
).
If
the same arguments give that we use the third geometry (
) or the fourth geometry (
) depending on the relative length of N-foot and S-foot.
So to reconstruct a non-directed L-convex polyomino we use the combinations of the four L-paths (Figure 12).
![]()
Figure 11. An L-convex polyomino satisfying Theorem 1.
![]()
Figure 12. The four L-paths between the feet.
4. Directed L-Convex Polyominoes
Let P be a convex polyomino such that P does not satisfy Proposition 2. From the definition of directed convex polyominoes, let us define the following classes.
・
.
・
.
・
.
・
.
・
(see Figure 13).
・
.
・
(see Figure 13).
・
.
Let us define the horizontal transformation (symmetry)
![]()
which transforms the polyomino P from
to
,
to
,
to
, and
to
. Indeed the transformation acts on the feet of the polyomino as it is shown in the following table (see Figure 14). Thus we only investigate the properties of the classes
and
.
Proposition 6. Let P be an L-convex polyomino in the class
, then there exist two L-paths from
to
with a south step followed by an east step, and from
to
with an east step followed by a south step.
Theorem 2. Let P be a convex polyomino in the class
such that here exist two L-paths from
to
with a south followed by an east step, and from
to
with an east followed by a south step. Then P is an L-convex polyomino if and only if the cell at the position
does not belong to P (see Figure 15).
![]()
Figure 13. An element of the class
on the left and one of the class
on the right.
![]()
Figure 14. The horizontal transformation SH on the feet of P.
![]()
Figure 15. An L-convex polyomino in the class
.
Proposition 7. Let P be an L-convex polyomino in the class
, then there exist two L-paths from
to
with a west step followed by a north step, annd from
to
with a north followed by a west step.
Theorem 3. Let P be a convex polyomino in the class
such that there exist two L-paths from
to
with a west step followed by a north step, annd from
to
with a north step followed by a west step. Then P is an L-convex polyomino if and only if the cell at the position
does not belong to P (see Figure 16).
5. Reconstruction Algorithms
One main problem in discrete tomography consists on the reconstruction of discrete objects according to their vectors of projections. In order to restrain the number of solutions, we could add convexity constraints to these discrete objects. The present section uses the theoretical material presented in the above sections in order to reconstruct all subclasses of L-convex polyominoes. Some modifications are made in the reconstruction algorithm of Chrobak and Dürr for HV-convex
![]()
Figure 16. An L-convex polyomino in the class
.
polyominoes in order to impose our geometries. All the clauses that have been added and the modifications of the original algorithm are well explained in the proofs of each subclass.
5.1. Chrobak and Dürr’s Algorithm
Assume that H, V denote strictly positive row and column sum vectors. We also assume that
, since otherwise
do not have a realization.
The idea of Chrobak and Dürr [6] for the control of the HV-convexity is in fact to impose convexity on the four corner regions outside of the polyomino.
An object A is called an upper-left corner region if
or
implies
. In an analogous fashion they can define other corner regions. Let
be the complement of P. The definition of HV-convex polyominoes directly implies the following lemma.
Lemma 1. P is an HV-convex polyomino if and only if
, where
are disjoint corner regions (upper-left, upper-right, lower-left and lower-right, respectively) such that 1)
implies
not in D, and 2)
implies
.
Given an HV-convex polyomino P and two row indices
. P is anchored at
if
. The idea of Chrobak and Dürr is, given
, to reconstruct a 2SAT expression (a boolean expression in conjunctive normal form with at most two literals in each clause)
with the property that
is satisfiable iff there is an HV-convex polyomino realization P of
that is anchored at
.
consists of several sets of clauses, each set expressing a certain property: “Corners” (Cor), “Disjointness” (Dis), “Connectivity” (Con), “Anchors” (Anc), “Lower bound on column sums” (LBC) and “Upper bound on row sums” (UBR).
![]()
The set of clauses Cor means that the corners are convex, that is for the corner A if the cell
belongs to A then cells
and
belong also to A. Similarly for corners B, C, and D.
![]()
The set of clauses Dis means that all four corners are pairwise disjoint, that is
for
.
![]()
The set of clauses Con means that if the cell
belongs to A then the cell
does not belong to D, and similarly if the cell
belongs to B then the cell
does not belong to C.
![]()
The set of clauses Anc means that we fix two cells on the west and east feet of the polyomino P, for
the first one at the position
and the second one at the position
.
![]()
The set of clauses LBC implies that for each column j, we have that
.
![]()
The set of clauses UBR implies that for each row i, we have that
.
Define
. All literals with indices outside the set
are assumed to have value 1.
Algorithm 1.
Input: ![]()
W.l.o.g assume:
,
,
and
.
For
do begin
If
is satisfiable,
then output
and halt.
end
output “failure”.
The following theorem allows to link the existence of HV-convex solution and the evaluation of
. The crucial part of this algorithm comes from the constraints on the two sets of clauses LBC and UBR.
Theorem 4 (Chrobak, Durr)
is satisfiable if and only if
have a realization P that is an HV-convex polyomino anchored at
.
Theorem 5 (Chrobak, Durr) Algorithm 1 solves the reconstruction problem for HV-convex polyominoes in time
.
5.2. Reconstruction of L-Convex Polyominoes
In this subsection, we add the clauses Anc1, COND1, COND2, GEO1, GEO2, GEO3, GEO4, For1 and we modify the clause Anc of the original Chrobak and Dürr’s algorithm in order to reconstruct if it is possible all polyominoes in the subclass
and
.
![]()
![]()
![]()
![]()
![]()
Anc1 is added in order to consider non-directed convex polyominoes by positioning exterior cells of the polyomino in the four corners of the minimal bounding box.
![]()
![]()
![]()
COND1 controls the L-path between E-foot and N-foot (see proposition 3).
![]()
COND2 controls the L-path between W-foot and S-foot (see proposition 3).
![]()
GEO1 controls the first geometry (
).
![]()
GEO2 controls the second geometry (
).
![]()
GEO3 controls the third geometry (
).
![]()
GEO4 controls the fourth geometry (
).
![]()
For1 controls the cells in the SE and WS borders of P and imposes that the cells of Theorem 1 are outside the polyomino P. In order to reconstruct and to obtain all L-convex polyominoes, we use the set of clauses:
.
.
.
.
Algorithm 2.
Input: ![]()
W.l.o.g assume:
.
For
and
do begin
If
or
or
or
is satisfiable,
then output
and halt.
end
output “failure”.
Proof. The feet of all L-convex polyominoes that are not directed are characterized by at least one of the four geometries described in Theorem 1 and by the property that the cells situated at the positions
![]()
do not belong to these polyominoes. Thus we combine all geometries and conditions using suitable set of clauses in order to reconstruct L-convex polyominoes. We make the following modifications of the original algorithm of Chrobak and Dürr [6] in order to add the geometrical constraints.
The set COND1 (resp. COND2) implies that we put a cell in the interior of the polyomino at the position
(resp.
) and then by convexity an L-path between
and
(resp.
and
).
The set GEO1 implies that we put a cell in the interior of the polyomino at the position
(resp.
) and then by convexity an L-path between
and
with an east step followed by a south step (resp.
and
with a south step followed by an east step).
The set GEO2 implies that we put a cell in the interior of the polyomino at the position
(resp.
) and then by convexity an L-path between
and
with a south step followed by then an east step (resp.
and
with an east step followed by a south step).
The set GEO3 implies that we put a cell in the interior of the polyomino at the position
(resp.
) and then by convexity an L-path between
and and
with an east followed by a south step (resp.
and
with a south step followed by an east step).
The set GEO4 implies that we put a cell in the interior of the polyomino at the position
(resp.
) and then by convexity an L-path between
and
with an east step followed by a south step (resp.
and
with an east step followed by a south step).
The set For1 implies that the cell
is situated on the border of SE with the two cells
and
. In fact,
,
and
imply that
is on the border and
implies that for each
situated on the border the cell at the position
does not belong to P.
Using the conjunction of the whole set of clauses, if one of the
or
or
or
is satisfiable, then we are able to reconstruct a L-convex polyomino which is not directed.
5.3. Clauses for the Subclass ![]()
In this subsection, we add the clauses Pos, GEO, For2 and we modify the clause Anc of the original Chrobak and Dürr’s algorithm in order to reconstruct if it is possible all polyominoes in the class
.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
In order to reconstruct all L-convex polyominoes in the class
, we use the set of clauses:
![]()
Algorithm 3.
Input: ![]()
W.l.o.g assume:
.
For
and
do begin
If
is satisfiable,
then output
and halt.
end
output “failure”.
Proof. We make the following modifications of the original algorithm of Chrobak and Dürr in order to add the constraints and the properties of the class
. The set Pos imposes the constraints of the relative positions of the feet in
. The set GEO implies that the cells at the position
and
belong to P and thus, by convexity there exist L-paths from
to
and from
to
. The set For2 implies that the cell at the position
does not belong to P (see Figure 17).
5.4. Clauses for the Class ![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Figure 17. Position, anchored and GEO of the feet in the class
.
![]()
![]()
In order to reconstruct all L-convex polyominoes in the class
, we use the set of clauses
![]()
Algorithm 4
Input: ![]()
W.l.o.g assume:
.
For
and
do begin
If
is satisfiable,
then output
and halt.
end output “failure”.
6. Final Comment
The contribution of this paper will be used to investigate the geometrical and tomographical aspects of kL-convex polyominoes for
.