Supposons qu'il existe plusieurs paires de destinations source dans un graphe non orienté. Je veux générer des chemins disjoints pour plusieurs paires. Quelle serait la complexité d'un tel problème? Existe-t-il une heuristique polynomiale pour trouver des chemins disjoints entre ces paires? (C.-chemin entre s1 et d1 ne doit pas présenter d'arêtes communes avec le chemin entre s2 et d2)All algorithmes de chemins disjoints au maximum
Répondre
Cela ressemble à une variante du problème d'écoulement multi-produit: http://en.wikipedia.org/wiki/Multi-commodity_flow_problem
traiter chaque paire source/puits en tant que une nouvelle marchandise, et donnez à vos arêtes des poids unitaires pour appliquer des chemins disjoints. Recherchez maintenant dans la littérature les approximations de cette classe de MCFP avec les capacités unitaires.
Est-ce que ce devrait être un problème d'écoulement de multi-produits de coût minimum ou un maximum? –
Je crois que vous êtes intéressé par la faisabilité de satisfaire la demande avec des chemins disjoints. dans ce cas, les coûts (fonction objectif) ne sont pas si pertinents. Cela étant dit, j'utiliserais le coût minimum parce que cette variante a tendance à avoir de fortes exigences sur les puits –
Votre problème est NP-difficile, même dans le cas de deux sources et deux puits. Il devient polynomial résoluble si vous arrêtez de soigner quelle source correspond à quel évier.
- 1. jQuery disjoints
- 2. traduire de Mathematica au maximum
- 3. Connexions Memcached au maximum
- 4. Canvas.drawLines affichant des segments disjoints
- 5. Algorithmes de graphe incrémental
- 6. bases de données de modèles disjoints
- 7. WP7 Autosize TextBlock au maximum
- 8. JS à jQuery au maximum
- 9. Chemins Javascript relatifs au fichier
- 10. Zeromq Broadcast All to All
- 11. Diviser les données en ensembles disjoints
- 12. Groupe Par valeur de plafond variable avec un maximum catch-all en utilisant LINQ To NHibernate
- 13. C#: Ajout de chemins au canevas
- 14. Sélectionnez morceaux disjoints de code dans vim pour l'accroche alors
- 15. Istream consomme au maximum N caractères espaces
- 16. Comment réduire la taille UIImage au maximum
- 17. Comment régler la caméra zoom au maximum?
- 18. set_time_limit long du scrutin() au maximum possible
- 19. Fonction qui renvoie une fermeture au maximum
- 20. sélectionner les enregistrements consécutifs au maximum
- 21. RuntimeWarning: valeur non valide rencontrée au maximum
- 22. Tracer des points de données au-delà de l'axe maximum comme maximum
- 23. Algorithmes de récupération d'erreur?
- 24. Algorithmes de recherche SQLAlchemy
- 25. restreindre les étiquettes d'entrée au maximum 5
- 26. Rendre l'élément flottant "au maximum large"
- 27. Requête SQL lente au maximum CPU
- 28. Diviser et conquérir des algorithmes pour trouver l'élément maximum d'un tableau
- 29. All, coordonnées de flot
- 30. Utilisation de l'opérateur All
Il existe un algorithme glouton de premier chemin le plus court proposé par Kolliopoulos et Stein. Je me demandais simplement s'il existait un meilleur algorithme d'approximation. –