Hiroimono est un puzzle populaire complet. Je m'intéresse à la complexité informatique d'un puzzle connexe.
Le problème est:
Entrée : étant donné un ensemble de points sur une grille carrée x et un entiern k
Question : Existe-t-il un polygone rectiligne (ses côtés parallèles à l' axe ou ) tel que le nombre de points sur les coins du polygone est d'au moins ?y k
Chaque coin du polygone doit se trouver à l'un des points d'entrée (les plis ne sont donc autorisés qu'à un point d'entrée).
Quelle est la complexité de ce problème? Quelle est la complexité si la solution se limite aux polygones rectilignes convexes?
EDIT 13 avril: Formulation alternative: Trouvez un polygone rectiligne avec le maximum de coins sur les points donnés.
cc.complexity-theory
np-hardness
puzzles
integer-lattice
Mohammad Al-Turkistany
la source
la source
Réponses:
J'ai pensé à cette réduction bizarre (les chances que ce soit faux sont élevées :-). Idée: réduction du chemin hamiltonien sur les graphes de grille de degré ; chaque nœud du graphe planaire peut être déplacé de telle manière que chaque "ligne" ( valeur ) et chaque "colonne" ( valeur ) contiennent au plus un nœud. Le graphique peut être mis à l'échelle et chaque nœud peut être remplacé par un gadget carré avec de nombreux points; les liens horizontaux entre les gadgets (les bords du graphique d'origine) sont créés en utilisant des paires de points sur des lignes distinctes, des liens verticaux en utilisant une paire de points sur des colonnes distinctes. Les traversées de nœuds sont forcées à l'aide des "nombreux points" des gadgets carrés.≤3 y x
Le gadget de noeud est représenté dans la figure suivante:
Il a 3 "points d'interface" (sur des colonnes / lignes distinctes), et une bordure intérieure de points. Une polyligne qui traverse le gadget d'un point d'interface à un autre peut avoir un nombre de coins proportionnel à (trois traversées du gadget sont représentées sur la figure), en particulier le nombre de points d'angle est compris entre et (le nombre total de points du gadget est ). Le gadget peut être tourné pour obtenir d'autres combinaisons de points d'interface ( , , ).[W,N,E] C×C C 2C 2C+2 C×C−4+6 [N,E,S] [E,S,W] [S,W,N]
Maintenant, nous pouvons déplacer le graphique de la grille planaire de telle manière que pour chaque paire de nœuds , et . Voir la figure suivante d'une simple grille . Ensuite, nous pouvons redimensionner le graphique et remplacer chaque nœud par le gadget ci-dessus. A ce stade, chaque gadget est "isolé": une polyligne ne peut pas passer d'un gadget à un autre.x 1 ≠ x 2 y 1 ≠ y 2 4 × 3(x1,y1),(x2,y2) x1≠x2 y1≠y2 4×3
Maintenant, nous pouvons simuler les bords du graphique d'origine en utilisant des paires de points en bas ou à droite, chaque paire sur une ligne séparée ou sur une colonne séparée; voir la figure suivante pour deux nœuds adjacents liés horizontalement (dans une nouvelle rangée du bas deux points sont ajoutés l'un sur la même colonne du point d'interface du premier gadget, l'autre sur la même colonne du point d'interface du deuxième gadget).WE W
Sur chaque gadget, il peut y avoir max points d'angle (1 généré par le point d'interface d'entrée, 1 généré par le point d'interface de sortie, 2 généré par le virage supplémentaire sur les traversées droites et 2C sur le zig-zag intérieur), les points utilisé pour les bords peut générer max points d'angle.2 e4+2C 2e
Supposons que le graphe d'origine ait nœuds et arêtes, si nous choisissons , et comme le nombre de points d'angle qui doivent être utilisés, alors nous le polygone "caché" du puzzle à parcourir tous les gadgets; mais chaque gadget peut être entré / quitté exactement une fois (via une paire de cellules d'interface); le problème a donc une solution si et seulement si le graphique de grille d'origine a un chemin hamiltonien.e C > ( 4 n + 2 e ) k = 2 C nn e C>(4n+2e) k=2Cn
la source
Pas une réponse, juste quelques références. Tout d'abord, j'ai écrit un article (il y a longtemps!) Sur le cas où chaque point dans l'ensemble donné doit être un coin de polygone. Dans ce cas, il n'est pas surprenant qu'il y ait (au plus) un polygone, et il est facile de trouver: "Unicité de Connect-the-Dots Orthogonal", dans Computational Morphology , Ed. GT Toussaint, Elsevier, Hollande du Nord, 1988, 97-104.V
Deuxièmement, il y a une belle mise à jour de ce travail par Maarten Löffler et Elena Mumford, dans un article, " Connected Rectilinear Graphs on Point Sets ", Journal of Computational Geometry , 2 (1), 1-15, 2011. De leur résumé:
la source