Ajoutez une correspondance à un chemin hamiltonien pour réduire la distance maximale entre des paires de sommets données

14

Quelle est la complexité du problème suivant?

Entrée :

Requête : existe-t-il un correspondant tel que pour chaque , ? (où G = ( [ n ] , M H ) )M(v,u)RdG(v,u)k
G=([n],MH)

J'ai eu une discussion avec un ami sur ce problème. Mon ami pense que le problème est en temps polynomial. Je pense que c'est NP-complet.

pfim
la source
11
Vous pouvez encore simplifier cela, au moins en termes de présentation. On vous donne , un chemin avec n sommets et une collection R de paires de ces sommets. Vous voulez augmenter le chemin avec une correspondance afin que la distance entre n'importe quelle paire dans R soit au plus k . knRRk
Sasho Nikolov
Je pense que cette formulation peut prêter à confusion après ma dernière modification pour lever une ambiguïté.
pfim
1
Mon interprétation est correcte, n'est-ce pas?
Sasho Nikolov
J'ai fait un montage pour rendre l'énoncé du problème plus rigoureux. Je pense que cela peut être encore simplifié parce que vous pouvez simplement supposer que H est le chemin hamiltonien 1-2-3-4-5 ...- n sans perte de généralité. Vous avez donc juste besoin de . n
Kaveh

Réponses:

1

Cette réponse est incorrecte .

Votre ami a raison. Votre problème (tel qu'interprété par Sasho) ne place aucune restriction sur la cardinalité du correspondant . Par conséquent, choisir C à une mise en correspondance entre les paires de R . Alors pour tout entier positif k , la distance entre chaque paire dans R est inférieure à k .CCRkRk

Votre problème devient intéressant si vous forcez les chemins pour contenir les bords de la fois la mise en correspondance et le chemin P .CP

Mohammad Al-Turkistany
la source
Qu'entendez-vous par «correspondance entre les paires de »? R
Emil Jeřábek soutient Monica le
@ EmilJeřábek Cela signifie connecter les nœuds de chaque paire dans par un bord. Donc C est juste R avec un bord reliant chaque paire. Cela équivaut à augmenter le chemin P avec une marche parfaitement sur les paires de R . RCRPR
Mohammad Al-Turkistany
1
Cela ne me semble pas très logique. Et si n'est pas une correspondance? Disons que si R contient les paires ( 1 , 2 ) et ( 1 , 3 ) , comment choisissez-vous C ? RR(1,2)(1,3)C
Emil Jeřábek soutient Monica le
@ EmilJeřábek Oui. Votre point est valable. Je vais modifier ma réponse.
Mohammad Al-Turkistany
@pfim Le chemin le plus court peut-il être formé en utilisant uniquement les arêtes de ? C
Mohammad Al-Turkistany le
0

MISE À JOUR: la réponse ci-dessous n'est pas correcte, car j'ai supposé à tort que le chemin hamiltonien est dans un graphe arbitraire, pas dans . Je ne le supprime pas, je pourrai peut-être le réparer ou il donnera quelques indices pour une autre réponse.Kn

Je pense que c'est NP-complet. Ceci est une idée de réduction très informelle / rapide de 3SAT

Pour chaque variable ajouter un « gadget variable » avec:Xje

  • trois nœuds Xje,+Xje,-Xje
  • deux bords variables et ( X i , - X i )(Xje,+Xje)(Xje,-Xje)

Ajoutez un nœud source et connectez-le à toutes les variables X i .SXje

Pour chaque clause ajoutez un nœud C j et connectez-le aux variables correspondantes + X i ou - X i qui forment la clause.CjCj+Xje-Xje

L'image suivante représente: (+X1-X2-X3)(-X2X3X4)

entrez la description de l'image ici

L'ensemble (nœuds qui doivent être liés) contient ( S , C 1 ) , ( S , C 2 ) , . . .R(S,C1),(S,C2),...

Le chemin simple doit inclure toutes les arêtes "BLEUES" à l'exception des arêtes variables ( X i , + X i ) et ( X i , - X i ) (dans l'image ci-dessus, les arêtes bleues représentent les arêtes que nous incluons dans P ).P(Xje,+Xje)(Xje,-Xje)P

À ce stade, la formule initiale est satisfaisable si et seulement si le chemin le plus court de à chaque nœud de clause C j n'est pas supérieur à trois. En effet pour atteindre une clause de S en trois étapes il faut parcourir au moins une variable X i : S X i± X iC j . Il faut donc traverser l'une des deux arêtes: X i+ X i ou X i- X i ) et l'inclure dans CSCjSXjeSXje±XjeCjXje+XjeXje-Xje)C(car par construction ça ne fait pas partie de ). Mais les deux ne peuvent pas être inclus, car ils partagent un sommet.P

Mais nous ne sommes pas sûrs de pouvoir construire un chemin P simple qui inclut tous les bords bleus car certains nœuds ont plus d'un bord bleu incident.P

Pour résoudre ce problème, nous remplaçons chaque nœud par plusieurs bords bleus incidents, par un arbre qui ne contient que des paires de bords bleus incidents qui seront inclus dans et des bords qui les séparent et qui devraient être inclus dans C pour atteindre les nœuds de la clause:PC

entrez la description de l'image ici

Le graphique d'origine devient:

entrez la description de l'image ici

KCjS

C

P

entrez la description de l'image ici

Marzio De Biasi
la source
Essayer de construire un chemin contenant toutes les arêtes bleues m'inquiète: certains sommets ont plus de 2 arêtes bleues incidentes sur eux, il ne peut donc pas y avoir de chemin simple comprenant toutes les arêtes bleues.
Mikhail Rudoy
Ok, merci ... J'ai complètement oublié ce qu'est un chemin simple :-( ... maintenant il devrait être corrigé.
Marzio De Biasi
Ce post sur math.SE suggère que le problème peut ne pas être NP-complet. Il pourrait être intraitable mais résoluble en temps quasipolynomial math.stackexchange.com/questions/2218929/...
Mohammad Al-Turkistany
@ MohammadAl-Turkistany: voyez-vous une faille dans la version actuelle de la réponse?
Marzio De Biasi
Non, je ne vois aucun défaut évident.
Mohammad Al-Turkistany du