polyomino_parity
polyomino_parity,
an Octave code which
uses parity considerations to determine whether a given set of
polyominoes can tile a specified region.
Licensing:
The computer code and data files made available on this web page
are distributed under
the MIT license
Languages:
polyomino_parity is available in
a MATLAB version and
an Octave versionand
a Python version.
Related Data and Programs:
boundary_word,
an Octave code which
works with a polyomino that is described by a sequence of symbols
that indicate how to trace out its boundary.
diophantine_nd,
an Octave code which
is given a Diophantine equation in N variables,
and returns all strictly positive solutions,
or all nonnegative solutions.
pariomino,
an Octave code which
considers pariominoes, which are polyominoes with a checkerboard parity.
polyomino_parity_test
polyominoes,
an Octave code which
defines, solves, and plots a variety of polyomino tiling problems,
which are solved by a direct algebraic approach involving the
reduced row echelon form (RREF) of a specific matrix, instead of the
more typical brute-force or backtracking methods.
Reference:
-
Marcus Garvie, John Burkardt,
A new mathematical model for tiling finite regions of the plane
with polyominoes,
Contributions to Discrete Mathematics,
Volume 15, Number 2, July 2020.
-
Solomon Golomb,
Polyominoes: Puzzles, Patterns, Problems, and Packings,
Princeton University Press, 1996,
ISBN: 9780691024448
Source Code:
-
addmultisteps.m,
seeks combinations of N1 elements of (-Q1,+Q1), N2 elements
of (-Q2,Q2), ..., and NK elements of (-QK,+QK),
that match a given sum.
-
diophantine_nd_nonnegative.m,
returns all nonnegative solutions of a Diophantine equation
in N variables.
-
diophantine_nd_positive.m,
returns all strictly positive solutions of a Diophantine equation
in N variables.
-
pv_search.m,
finds trivial and serious parity violations in proposed
tilings of a region by a set of polyominoes.
-
pv_search_post.m,
prints the results from a call to pv_search().
-
sumallsteps.m,
finds all possible sums of A plus N signed copies of Q.
-
timestamp.m,
prints the YMDHMS date as a timestamp.
Last modified on 21 July 2020.