Je suis intéressé par une légère variante du carrelage, le puzzle: chaque bord d'une tuile (carrée) est étiqueté avec un symbole de , et deux tuiles peuvent être placées l'une à côté de l'autre si le symbole sur le bord opposé d'une tuile est et le symbole sur le bord opposé de l'autre tuile est , pour certains . Puis, étant donné un ensemble de tuiles, peuvent-elles être placées dans un carré de (rotation mais pas retournement des tuiles) avec tous les bords correspondant correctement? (Il existe également une variante de ce problème dans laquelle quatre bords de cadrage de sont fournis et les pièces doivent s'insérer correctement dans ce cadre).k ˉ k k ∈ { 1 … n } m 2 m × m 1 × m
Je sais que ce problème est NP-complet pour suffisamment grand , mais les limites que j'ai vues sur semblent être assez grandes; Je m'intéresse au problème pour les petites valeurs de et en particulier pour , le cas «zéro-un» (où chaque bord est étiqueté soit ou et les bords avec un doivent être mis en correspondance avec les bords avec un ). Ici, il n'y a (avec une symétrie de rotation) que six types de tuiles (la tuile tout-zéros, la tuile tout-un, la tuile avec trois zéros et un, la tuile avec trois uns et un zéro, et deux tuiles distinctes avec deux zéros et deux, '0011' et '0101'), donc une instance de problème n'est qu'une spécification den n n = 1 0 1 0 1 met un ensemble de cinq nombres , , , , et (représentant le nombre de chaque type de tuile) avec . Le problème est évidemment en NP (avec donné en unaire) puisqu'une solution peut simplement être présentée puis vérifiée en polynôme (en m), mais est-il connu pour être NP-complet, ou existe-t-il un algorithme de programmation dynamique qui peut être appliqué ici? Qu'en est-il du cas «encadré» où la spécification du problème comprend également les quatre bords du carré qui doivent être appariés? (Évidemment, si le boîtier sans cadre est NP-complet, le boîtier encadré l'est presque certainement aussi)