tiling a polygon with parallelograms Richard Kenyon Présentation par Yassine Hamoudi 7 janvier 2016 introduction Pavage d’une région polygonale par des parallélogrammes : 2 introduction Pavage d’une région polygonale par des parallélogrammes : 2 introduction Pavage d’une région polygonale par des parallélogrammes : 2 introduction Indécidabilité : • pavage d’un plan infini ([Ber66, Rob71]) • pavage périodique d’un plan infini 3 introduction Indécidabilité : • pavage d’un plan infini ([Ber66, Rob71]) • pavage périodique d’un plan infini NP-complet : • pavage d’un plan fini, par des tuiles prédéfinies ([GJ79]) • pavage d’un plan fini troué, par des trapézoïdes ([AAI86]) ou des rectangles ([J.M91]) quelconques 3 introduction Indécidabilité : • pavage d’un plan infini ([Ber66, Rob71]) • pavage périodique d’un plan infini NP-complet : • pavage d’un plan fini, par des tuiles prédéfinies ([GJ79]) • pavage d’un plan fini troué, par des trapézoïdes ([AAI86]) ou des rectangles ([J.M91]) quelconques Algorithmes polynomiaux : • pavage d’un plan fini par des triangles quelconques ([Cha91])... • ...des trapézoïdes ([AAI86]) • ...des rectangles ([KK92]) 3 plan Algorithme de pavage Ensemble des pavages possibles NP-complétude Commentaires et perspectives 4 algorithme de pavage 6 appariements et chaînes de parallélogrammes 7 appariements et chaînes de parallélogrammes 7 appariements et chaînes de parallélogrammes 7 appariements et chaînes de parallélogrammes 7 appariements et chaînes de parallélogrammes 7 appariements et chaînes de parallélogrammes 7 appariements et chaînes de parallélogrammes 7 correspondance 8 croisement 9 croisement 9 correspondance valide Une correspondance est valide lorsque : • si (e1 , e′1 ) et (e2 , e′2 ) se croisent alors e1 et e2 ne peuvent pas avoir même longueur et même direction 10 correspondance valide Une correspondance est valide lorsque : • si (e1 , e′1 ) et (e2 , e′2 ) se croisent alors e1 et e2 ne peuvent pas avoir même longueur et même direction 10 correspondance valide Une correspondance est valide lorsque : • si (e1 , e′1 ) et (e2 , e′2 ) se croisent alors e1 et e2 ne peuvent pas avoir même longueur et même direction • toute paire (e, e′ ) peut être reliée par un chemin croissant 10 correspondance valide Une correspondance est valide lorsque : • si (e1 , e′1 ) et (e2 , e′2 ) se croisent alors e1 et e2 ne peuvent pas avoir même longueur et même direction • toute paire (e, e′ ) peut être reliée par un chemin croissant 10 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance valide Théorème Tout polygone P admet au plus une correspondance valide. 11 correspondance à périphérie monotone Une correspondance est à périphérie monotone si tout croisement définit un parallélogramme (croisement convexe). 12 correspondance à périphérie monotone Une correspondance est à périphérie monotone si tout croisement définit un parallélogramme (croisement convexe). 12 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 correspondance à périphérie monotone Théorème P admet une correspondance à périphérie monotone ⇔ P admet un pavage. 13 algorithme de pavage Résumé : • correspondance à périphérie monotone ⇒ pavage • toute correspondance à périphérie monotone est valide • au plus une correspondance valide 14 algorithme de pavage Résumé : • correspondance à périphérie monotone ⇒ pavage • toute correspondance à périphérie monotone est valide • au plus une correspondance valide Algorithme : • rechercher une correspondance valide • essayer de reconstruire le pavage en partant des paires périphériques → algorithme quadratique 14 ensemble des pavages possibles Théorème Le nombre et le type de parallélogrammes nécessaires au pavage sont prédéterminées par la correspondance à périphérie monotone. 16 Théorème Le nombre et le type de parallélogrammes nécessaires au pavage sont prédéterminées par la correspondance à périphérie monotone. → chaque croisement définit un parallélogramme 16 ensemble des pavages possibles 17 ensemble des pavages possibles 17 ensemble des pavages possibles 17 ensemble des pavages possibles 17 ensemble des pavages possibles 17 np-complétude np-complétude Pavage à partir d’un nombre fini de types de tuiles : Région simplement connexe Région trouée Polygones NP-complet ([GJ79]) NP-complet Triangles NP-complet ([Ken93]) NP-complet 1 × m et l × 1 P ([KK92]) NP-complet (m ≥ 2, l ≥ 3) ([J.M91]) k × l et l × k P ([KK92]) NP-complet (k ≥ 2, l ≥ 3) ([BJL+ 90]) Trapézoïdes NP-complet ([Ken93]) NP-complet Parallélogrammes P ([Ken93]) NP-complet ([Ken93]) 19 commentaires et perspectives Commentaires : • algorithme quadratique de pavage d’un polygone (non troué) par des parallélogrammes • résultats de NP-complétude • algorithme similaire pour la notion “relachée” de pavage ([KS92]) 21 Commentaires : • algorithme quadratique de pavage d’un polygone (non troué) par des parallélogrammes • résultats de NP-complétude • algorithme similaire pour la notion “relachée” de pavage ([KS92]) Questions ouvertes : • combien de pavages possibles ? • pavage en 3 dimensions ? • quels sont les autres types de tuiles pour lesquels le problème de pavage n’est pas NP complet ? 21 bibliographie I Takao Asano, Tetsuo Asano, and Hiroshi Imai. Partitioning a polygonal region into trapezoids. J. ACM, 33(2) :290–312, April 1986. Robert Berger. The Undecidability of the Domino Problem. American Mathematical Society, 1966. Fran Berman, David Johnson, Tom Leighton, Peter W Shor, and Larry Snyder. Generalized planar matching. Journal of Algorithms, 11(2) :153 – 184, 1990. Bernard Chazelle. Triangulating a simple polygon in linear time. Discrete Comput. Geom., 6(5) :485–524, August 1991. 22 bibliographie II Michael R. Garey and David S. Johnson. Computers and Intractability : A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1979. J.M.Robson. Sur le pavage de figures du plan par des barres. Actes des journées polyominos et pavages, pages 95–103, 1991. Richard Kenyon. Tiling a polygon with parallelograms. Algorithmica, 9(4) :382–397, 1993. Claire Kenyon and Richard Kenyon. Tiling a polygon with rectangles. In Proc. 33rd Symp. Foundations of Computer Science, pages 610–619, 1992. 23 bibliographie III Sampath Kannan and Danny Soroker. Tiling polygons with parallelograms. Discrete & Computational Geometry, 7(2) :175–188, 1992. RaphaelM. Robinson. Undecidability and nonperiodicity for tilings of the plane. Inventiones mathematicae, 12(3) :177–209, 1971. 24 np-complétude Théorème Le pavage d’un polygone troué par des parallélogrammes est NPcomplet. 25 np-complétude Théorème Le pavage d’un polygone troué par des parallélogrammes est NPcomplet. ∑ SUBSET-SUM : A = {ai }, K −→ ∃A′ ⊆ A, ai = K ? ai ∈A′ 25 np-complétude Théorème Le pavage d’un polygone troué par des parallélogrammes est NPcomplet. ∑ SUBSET-SUM : A = {ai }, K −→ ∃A′ ⊆ A, ai = K ? ai ∈A′ 25 np-complétude Théorème Le pavage d’un polygone troué par des parallélogrammes est NPcomplet. ∑ SUBSET-SUM : A = {ai }, K −→ ∃A′ ⊆ A, ai = K ? ai ∈A′ Arêtes de longueur 1 25 np-complétude Théorème Le pavage d’un polygone troué par des parallélogrammes est NPcomplet. ∑ SUBSET-SUM : A = {ai }, K −→ ∃A′ ⊆ A, ai = K ? ai ∈A′ 25