Sono interessato a una leggera variante della piastrellatura, il "puzzle": ogni bordo di una tessera (quadrata) è etichettato con un simbolo da e due tessere possono essere posizionate adiacenti gli uni agli altri se il simbolo sul bordo di una piastrella è k e il simbolo sul bordo di una piastrella è ˉ k , per alcuni k ∈ { 1 … n } . Quindi, dato un insieme di m 2 tessere, possono essere posizionati in un m × mquadrato (ruotando ma non capovolgendo le piastrelle) con tutti i bordi che corrispondono correttamente? (C'è anche una variante di questo problema in cui sono forniti quattro bordi da 'inquadratura' e i pezzi devono adattarsi correttamente a quel telaio).
So che questo problema è NP-completo per sufficientemente grande , ma i limiti che ho visto su n sembrano essere abbastanza grandi; Sono interessato al problema per i valori piccoli di n e in particolare per n = 1 , il caso 'zero-uno' (in cui ogni bordo è etichettato come 0 o 1 e i bordi con uno 0 devono essere abbinati ai bordi con un 1). Qui ci sono (con simmetria rotazionale) solo sei tipi di tessere (la tessera di tutti gli zero, la tessera di tutti gli uni, la tessera con tre zero e una, la tessera con tre e uno zero e due tessere distinte con due zero e due, '0011' e '0101'), quindi un'istanza problematica è solo una specifica di un insieme di cinque numeri T 0000 , T 0001 , T 0011 , T 0101 , T 0111 e T 1111 (che rappresentano il conteggio di ogni tipo di piastrella) con T 0000 + T 0001 + T 0011 + T . Il problema è ovviamente in NP (conmdato in unario) poiché una soluzione può essere semplicemente esposta e poi verificata in tempo polinomiale (inm), ma è nota per essere NP-completa, oppure esiste un algoritmo di programmazione dinamica che può essere applicato qui? Che dire del caso "incorniciato" in cui la specifica del problema include anche i quattro bordi del quadrato da abbinare? (Ovviamente se il caso senza cornice è NP-completo, quasi sicuramente lo è anche il caso con cornice)