Edit: j'ai d'abord mal formulé ma contrainte (2), elle est maintenant corrigée. J'ai également ajouté plus d'informations et d'exemples.
Avec certains collègues, étudiant une autre question algorithmique, nous avons pu réduire notre problème au problème intéressant suivant, mais nous n'avons pas pu résoudre la question de sa complexité. Le problème est le suivant.
Instance: un entier , un entier et un ensemble de paires de l'ensemble .k < n S = { { s 1 , t 1 } , … , { s n , t n } } n { 1 , … , n }
Question: Existe - t-il un ensemble de taille tel que pour chaque élément de : (1) si , l'intervalle est inclus dans un intervalle défini par une paire dans , et
(2) au moins l'un de,appartient à une paire de?(2) appartient à une paire de .k i { 1 , … , n } i < n [ i , i + 1 ] [ s i , t i ] S ′ii+1S′i S ′
Exemple
L'ensemble est une solution réalisable (en supposant que est pair): la paire assure la condition (1), tandis que toutes les autres paires assurent la condition (2).n { 1 , n }
Remarques
(I) Puisque chaque paire contient exactement deux éléments, pour remplir la condition (2), nous avons besoin d'au moins paires. BTW cela implique une approximation 2 triviale en renvoyant le entier , puisque nous supposons . S| S| ≤n
(II) Une autre façon de voir le problème est de considérer une échelle à étapes (comme celle ci-dessous ), avec un ensemble de cycles de l'échelle. Chaque pas de l'échelle correspond à un élément et chaque bord latéral est un intervalle . Un cycle comprenant les étapes correspond exactement à une paire : il couvre tous les intervalles consécutifs entre et , et il s'arrête à la fois et .
La question est alors de savoir s'il existe un ensemble de cycles dont l'union couvre tous les bords de l'échelle (y compris les bords de marche et les bords latéraux).
(III) Si l'on ne demandait que la condition (1), le problème correspondrait au problème d'ensemble dominant dans un graphe d'intervalles défini à partir des intervalles donnés par les paires de avec de petits intervalles supplémentaires pour chaque dans . Ce problème est classiquement résoluble en temps linéaire (voir par exemple ici ). De même, si l'on demandait simplement la condition (2), cela pourrait être réduit au problème de couverture de bord (les sommets sont les éléments, les bords sont les paires), qui est également résolu en temps polynomial par une approche de correspondance maximale.S [ i + ϵ , i + 1 - ϵ ] i { 1 , … , n - 1 }
Donc ma question est dans le titre:
Ce problème est-il en P? Est-il NP-complet?
Toute référence à un problème similaire est la bienvenue.
la source
Réponses:
Bien que cela ne résout pas la question que vous posez, certains des commentaires précédents considèrent les algorithmes d'approximation. FWIW, je pense qu'un PTAS (schéma d'approximation poly-temps) est possible en utilisant la programmation dynamique. Voici l'idée.
Étant donné n'importe quelle instance et , créez une solution comme suit. Marquez chaque ( 1 / ϵ ) ième sommet. Pour chaque sommet i marqué , parmi toutes les arêtes ( j , k ) qui "s'étendent" i (c'est-à-dire qui satisfont à la contrainte (1) pour i ), choisissez une arête qui minimise j et une quiϵ>0 (1/ϵ) i (j,k) i i j k 2ϵn
minimisemaximise k . Ajoutez ces 2 ϵ n bords à la solution.la source