2009-10-29 21 views
13

संभव डुप्लिकेट एक निर्देशित ग्राफ में अलग रास्तों की संख्या को खोजने के लिए:
Graph Algorithm To Find All Connections Between Two Arbitrary Verticesएल्गोरिथ्म

मैं एक निर्देशित ग्राफ है, क्या एल्गोरिथ्म मैं अलग की संख्या को खोजने के लिए उपयोग कर सकते हैं 2 विशेष शीर्षकों के बीच विश्वकोश पथ, और इन विशिष्ट पथों में अधिकतम पथ का उपयोग किसी भी पथ का उपयोग किया जाता है? यदि वे या तो विभिन्न प्रकार के शिखर पर जाते हैं या एक अलग क्रम में शिखर पर जाते हैं तो दो पथ अलग होते हैं।

+6

आईएमएचओ इसे डुप्लिकेट नहीं होने की आवश्यकता है। मूल्यों (पूर्णांक) की संख्या जानने और सभी मानों (नोड्स की सूचियों का एक सेट) जानने के बीच एक अंतर है। मेरे उद्देश्य के लिए, संख्या (ऊपरी सीमा) का उचित अनुमान भी ठीक है, इसलिए मेरे लिए यह एक डुप्लिकेट नहीं है। – danatel

+3

[ग्राफ एल्गोरिदम दो मनमानी वर्टिसेस के बीच सभी कनेक्शन ढूंढने के लिए] (http://stackoverflow.com/q/58306) बिल्कुल एक डुप्लिकेट नहीं है: गणना और गिनती अलग-अलग समस्याएं हैं, और एक निर्देशित ग्राफ एक अलग जानवर है अप्रत्यक्ष ग्राफ। सरल पथों की गिनती की जटिलता के बारे में, देखें [निर्देशित ग्राफ में दो नोड्स के बीच सरल पथों की संख्या कितनी मुश्किल है?] (Http://cs.stackexchange.com/q/423) [cs.se] पर। – Gilles

+0

मैं बड़े ग्राफ के लिए दानतेल से सहमत हूं, यह सभी संभावित पथों की गणना करने के लिए अवांछनीय है। –

उत्तर

5

यदि आप थोड़ा संशोधित डिजस्ट्रा के एल्गोरिदम का पालन करते हैं, तो आपके पास एक सब-जोड़ी समाधान हो सकता है।

स्पष्टीकरण:

  1. पथ u से v को जो w
  2. पथ जो w के माध्यम से जाना = रास्तों की संख्या में नहीं होता है: v को u से पथ निम्नलिखित का योग है u से wबारw से v
  3. से पथों की संख्या

i से j (जो 1 है) से किनारे पर छोड़कर शून्य के साथ मैट्रिक्स प्रारंभ करें। तो निम्नलिखित कलन विधि आप परिणाम (सभी-जोड़ी-पथ गिनती)

for i = 1 to n: 
    for j = 1 to n: 
     for k = 1 to n: 
      paths[i][i] += paths[i][k] * paths[k][j] 

कहने की जरूरत नहीं दे देंगे: O(n^3)

एक जोड़ी समाधान को पढ़ने के लिए उत्सुक। :)

+3

यह समाधान सही ढंग से इस आवश्यकता के साथ सौदा नहीं करता है कि पथों में कोई चक्र नहीं होना चाहिए। – hugomg

+3

यह एक संशोधित बेलमैन-फोर्ड है, संशोधित डिजस्ट्रा नहीं (इसलिए चक्र मुद्दा)। –

संबंधित मुद्दे