Covering a rectangle with dominoes

Revision en16, by bigintegers, 2019-12-04 03:15:33

As a part of a project, I am troubled with the following problem:

Given an l x w rectangle, where 1 <= l, w <= n as well as n polygon-shaped dominoes d1, d2, d3, ..., dn (each domino does not necessarily have just a length and width -- it is a polygon), I want to cover as much of the l x w rectangle as possible using the given dominoes.

The dominoes that are placed into the rectangle don't necessarily need to be small enough to fit inside of the rectangle, so we need to be able to recognize this and not use those dominoes in invalid places.

Now suppose I hypothetically have an O(n^k) algorithm that solves the following problem:

"Given the list of dominoes, the rectangle dimensions (l and w) and some value x, this algorithm returns true if there exists some way to cover at least x squares with the dominoes and the algorithm returns false otherwise."

Now using this algorithm, is it possible to find a tiling of the l x w rectangle that covers as many squares as possible (i.e. a maximal orientation) in polynomial time? I want to figure out if it is possible and how fast it would be.

You can find the maximal value of x in polynomial time. But then finding which dominoes to use and their orientation is difficult.

Some ideas (but I might be completely wrong):

  • Represent the squares as nodes in a graph?

  • Maybe something clever with DP?

Tags #dynamic programing, tiling blocks, #geometry, #beginner, #graph theory

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en16 English bigintegers 2019-12-04 03:15:33 160
en15 English bigintegers 2019-12-03 06:04:27 86
en14 English bigintegers 2019-12-03 05:55:20 68
en13 English bigintegers 2019-12-03 05:11:33 18
en12 English bigintegers 2019-12-03 05:08:47 130
en11 English bigintegers 2019-12-03 05:03:33 155
en10 English bigintegers 2019-12-03 05:02:17 0 (published)
en9 English bigintegers 2019-12-03 05:02:06 64 (saved to drafts)
en8 English bigintegers 2019-12-03 05:00:54 52
en7 English bigintegers 2019-12-03 05:00:02 9 Tiny change: 'ell as n distinct dominoes ' -> 'ell as n dominoes '
en6 English bigintegers 2019-12-03 04:59:34 118
en5 English bigintegers 2019-12-03 04:58:40 0 (published)
en4 English bigintegers 2019-12-03 04:58:16 55 (saved to drafts)
en3 English bigintegers 2019-12-03 04:56:39 37 (published)
en2 English bigintegers 2019-12-03 04:55:55 49 (saved to drafts)
en1 English bigintegers 2019-12-03 04:55:39 1222 Initial revision (published)