Soit des points distincts asseyez-vous dans R 2 . On dit que les points i et j sont voisins si | i - j | < 3 , ce qui signifie que chaque point est voisin avec des points avec des index à moins de 2 , s'enroulant autour.
Le problème est:
Pour chaque paire de voisins, on nous donne leurs distances par paire (et nous savons quelle distance correspond à quels points), et nous voulons reconstruire les distances par paire de tous les points. Ma question est, quelle est la complexité de ce problème de localisation?
Je ne connais pas d'algorithme de temps polynomial.
Ceci est motivé par des problèmes de localisation dans les réseaux de capteurs , où les agents, placés ad hoc, peuvent communiquer sans fil avec leurs voisins lexicographiques, et nous voulons reconstruire leurs positions.
Je ne connais pas grand-chose aux problèmes de géométrie / localisation, donc cela pourrait être facile ou connu. Le problème le plus proche que je connaisse est le problème de Turnpike , récemment signalé sur ce forum par @Suresh Venkat.
la source
Réponses:
(Je n'ai pas de vraie réponse, mais c'était trop long pour un commentaire, alors postez-le ici quand même ...)
Je soupçonne que le problème est NP-difficile, par réduction du problème de somme de sous-ensemble. Une idée de preuve:
Réduction: si le ème élément dans l'instance de somme de sous-ensemble est x i , alors la distance entre les nœuds 2 i - 1 et 2 i est s , la distance entre 2 i - 1 et 2 i + 1 est x i , la distance entre 2 i et 2 i + 2 est également x i , et la distance entre 2 i et 2 i + 1 esti xi 2i−1 2i s 2i−1 2i+1 xi 2i 2i+2 xi 2i 2i+1 .s2+x2i−−−−−−√
Supposons que les arêtes entre et 2 i pour tout i soient verticales. Ensuite, le graphique entier se compose d'une chaîne de rectangles avec des diagonales. Cependant, vous pouvez "inverser" chaque rectangle de sorte que 2 i + 2 soit sur le côté gauche de 2 i ou sur le côté droit de 2 i . Et vous devez trouver le bon sous-ensemble de flips pour que la distance entre le dernier nœud n = 2 k et le nœud 2 soit "correcte" (et la distance entre2i−1 2i i 2i+2 2i 2i n=2k 2 et2k−1 est correct et la distance entre 2 k - 1 et 2 est correcte).1 2k−1 2
Jusqu'ici tout va bien, mais nos rectangles ne sont pas vraiment rigides; nous pourrions également retourner le long de la diagonale. Cependant, je pense que si nous choisissons une valeur désagréable , alors nous pourrions peut-être montrer que tout va horriblement mal si nous retournons le long d'une diagonale (par exemple, les coordonnées de 2 k ne seront pas rationnelles)? Cela peut cependant nécessiter quelques ajustements dans les valeurs x i .s 2k xi
la source
C'est en fait NP-difficile. Voir le document suivant pour les références.
Sriram V. Pemmaraju, Imran A. Pirwani: Réalisation virtuelle de bonne qualité des graphiques à billes unitaires. ESA 2007: 311-322
la source
Drineas et al. a écrit l'article Reconstruction de la matrice de distance à partir d'informations de distance incomplètes pour la localisation du réseau de capteurs . Mais ce qu'ils obtiennent n'est probablement pas exactement ce que vous demandez: ils calculent la carte de distance entière à partir d'une carte incomplète, même en présence de bruit et de défaillances de nœuds.
la source