Il s'agit d'un problème difficile connu, qui détermine quels rectangles peuvent être carrelés avec certaines pièces.
Cependant, si vous construisez des puzzles et pouvez contrôler les pièces, c'est le problème opposé, constructif et plus facile ...
Construisez une solution de manière constructive. Prenez quelques pièces que vous aimez et remplissez le puzzle comme vous le souhaitez. Ajoutez ensuite suffisamment de carrés pour le remplir et vous avez la garantie qu'il y a au moins une solution. Ou plutôt, incluez quelques petits morceaux dans votre ensemble autorisé de morceaux.
En ce qui concerne la résolution / la disposition des pièces, une approche typique de la force brute consiste à la remplir de gauche à droite, puis de haut en bas. Trouvez la première cellule ouverte (numérotée LR, TB) et essayez de mettre vos pièces autorisées dans leurs orientations autorisées (8 orientations pour une pièce asymétrique si vous autorisez le retournement). Peut-être vérifiez d'abord les grandes pièces autorisées et recourez à de plus petites si nécessaire. Lorsque vous atteignez un état que vous n'aimez pas (cul-de-sac, trop de petits morceaux, etc.), revenez en arrière. Si un ensemble de grilles / pièces donné ne répond pas à vos critères, c'est-à-dire qu'il a fait marche arrière sans fin, essayez un autre ensemble de rectangles et de pièces.
Une façon de rendre un puzzle "plus facile" pourrait être d'échanger des pièces plus grandes contre des pièces plus petites comme les monominos et les dominos, car cela laissera plus de façons de combler les derniers trous. Ou, de manière équivalente, créez une solution qui favorise ces petites pièces.
Certains polyominologues notables comprennent:
==> http://ee.usc.edu/faculty_staff/faculty_directory/golomb.htm Golomb a inventé à l'origine le terme "Polyomino"
==> http://www.eklhad.net/polyomino/ Dahlke a résolu pas mal de rectangles remplis de pièces identiques (une forme de carrelage particulièrement rare)