web-dev-qa-db-fra.com

Le Spanning Tree Minimum a-t-il peur des poids négatifs?

C'est une question de suivi de Pourquoi la plupart des algorithmes de graphe ne s'adaptent pas si facilement aux nombres négatifs? .

Je pense que Shortest Path (SP) a un problème avec les poids négatifs, car il additionne tous les poids le long des chemins et essaie de trouver le minimum.

Mais je ne pense pas que le minimum Spanning Tree (MST) a des problèmes avec les poids négatifs, car il suffit d'un seul poids minimum Edge sans se soucier du poids total total.

Ai-je raison?

39
Jackson Tale

Oui, tu as raison. Le concept de MST autorise les poids d'un signe arbitraire. Les deux algorithmes les plus populaires pour trouver MST (Kruskal et Prim) fonctionnent bien avec des bords négatifs.

En fait, vous pouvez simplement ajouter une grande constante positive à tous les bords de votre graphique, ce qui rend tous les bords positifs. Le MST (en tant que sous-ensemble d'arêtes) restera le même.

58
Skiminok

Oui, vous avez raison, car si vous voyez l'algorithme pour le chemin le plus court comme dijkstera, il vérifiera si la distance actuelle du sommet v est supérieure à la somme de la valeur actuelle + poids du bord, puis il changera la valeur de la distance du sommet v de s par la valeur de la somme et si le poids du bord est négatif, cela posera des problèmes.

Mais dans le problème MST, il existe des algorithmes comme les prims, kruskal qui ne prennent que le poids minimum Edge de sorte que le bord négatif se qualifie pour MST.

2
Rahul Dhawan