न्यूनतम फैले हुए पेड़ बनाम सबसे छोटा रास्ता


44

न्यूनतम फैले हुए पेड़ एल्गोरिथ्म और सबसे छोटे पथ एल्गोरिथम के बीच अंतर क्या है?

मेरे डेटा स्ट्रक्चर्स क्लास में हमने दो न्यूनतम फैले हुए पेड़ एल्गोरिदम (प्राइम्स और क्रुस्कल के) और एक सबसे छोटे पथ एल्गोरिथम (डीजेकस्ट्रा) को कवर किया।

न्यूनतम फैले हुए पेड़ एक ग्राफ में एक पेड़ है जो सभी छोरों तक फैला है और एक पेड़ का कुल वजन न्यूनतम है। सबसे छोटा रास्ता काफी स्पष्ट है, यह एक शीर्ष से दूसरे तक का सबसे छोटा रास्ता है।

क्या मुझे समझ में नहीं आता है क्योंकि न्यूनतम फैले हुए पेड़ में न्यूनतम कुल वजन होता है, क्या पेड़ के रास्ते सबसे छोटे रास्ते नहीं होंगे? क्या कोई समझा सकता है कि मुझे क्या याद आ रहा है?

किसी भी मदद की सराहना की है।


यहाँ एक ऐसे ही प्रश्न के लिए मेरा उदाहरण है जो यह साबित करता है कि न्यूनतम फैले हुए पेड़ सबसे छोटे पथ के साथ समान नहीं हैं। cs.stackexchange.com/a/43327/34363
atayenel

इसके अलावा, यह दिलचस्प हो सकता है। अधिकतम फैले हुए पेड़ में नोड्स के बीच पथ होते हैं, जहां प्रत्येक पथ एक अड़चन पथ होता है, यानी आपके द्वारा न्यूनतम वजन को अधिकतम करने के बजाय। हो सकता है कि न्यूनतम फैले पेड़ के बीच एक समान संबंध हो।
यूजीन

जवाबों:


37

यूनिट वेट के साथ त्रिकोण ग्राफ पर विचार करें - इसमें तीन कोने , और सभी तीन किनारों का वजन । किसी भी दो कोने के बीच का सबसे छोटा रास्ता सीधा रास्ता है, लेकिन अगर आप सभी को एक साथ रखते हैं तो आपको एक पेड़ के बजाय एक त्रिकोण मिलता है। दो किनारों का प्रत्येक संग्रह इस ग्राफ में एक न्यूनतम फैले हुए पेड़ का निर्माण करता है, फिर भी यदि (उदाहरण के लिए) आप चुनते हैं, तो आपको सबसे छोटा रास्ता ।x,y,z{x,y},{x,z},{y,z}1{x,y},{y,z}{x,z}

अंत में, यदि आप सभी छोटे रास्ते एक साथ रखते हैं, तो आपको आवश्यक रूप से एक पेड़ नहीं मिलता है।


32

आप सही कह रहे हैं कि दिज्क्स्त्र के दो एल्गोरिदम (एक एकल प्रारंभ नोड से सबसे छोटे रास्ते) और प्राइम (किसी दिए गए नोड से शुरू होने वाले न्यूनतम वजन वाले पेड़) में एक समान संरचना है। वे दोनों लालची हैं (वर्तमान दृष्टिकोण से सबसे अच्छा किनारा लेते हैं) और ग्राफ में फैले एक पेड़ का निर्माण करते हैं।

हालांकि वे जो मूल्य कम करते हैं वह अलग है। दिज्क्स्ट्रा अगले किनारे के रूप में चयन करता है जो पेड़ से एक नोड तक जाता है जो अभी तक शुरुआती नोड के करीब नहीं चुना गया है। (फिर इस पसंद के साथ, दूरियों की पुन: गणना की जाती है।) प्राइम चोज सबसे छोटे किनारे के रूप में होता है, जो अब तक बनाए गए पेड़ से निकलता है। इसलिए, दोनों एल्गोरिदम ने "न्यूनतम बढ़त" चुना। मुख्य अंतर न्यूनतम होने के लिए चुना गया मूल्य है। दिज्क्स्त्र के लिए यह प्रारंभ नोड से उम्मीदवार नोड तक पूर्ण पथ की लंबाई है, प्राइम के लिए यह केवल उस एक किनारे का वजन है।

अंतर देखने के लिए आपको कुछ उदाहरणों का निर्माण करने की कोशिश करनी चाहिए कि क्या होता है, यह वास्तव में शिक्षाप्रद है। अलग-अलग व्यवहार को दिखाने वाला सबसे सरल उदाहरण एक त्रिकोण जिसमें किनारों और की लंबाई 2 है, जबकि की लंबाई 1. है। Dijkstra और (लंबाई के दो मार्ग देगा) का चयन करेगा, जबकि प्राइम _ और चुनता है (फैले हुए वृक्ष का वजन 3)।x,y,z{x,y}{x,z}{y,z}x{x,y}{x,z}{x,y}{y,z}

पेड़: द्विजस्त्र बनाम कृकल

के रूप में Kruskal , कि थोड़ी अलग है। यह कम से कम फैले हुए पेड़ को हल करता है, लेकिन निष्पादन के दौरान यह किनारे का चयन करता है जो पेड़ नहीं बन सकता है, वे सिर्फ चक्र से बचते हैं। तो आंशिक समाधान काट दिया जा सकता है। अंत में आपको एक पेड़ मिलता है।


12

यद्यपि न्यूनतम स्पैनिंग ट्री और लघु पथ एल्गोरिदम की गणना समान दिखती है क्योंकि वे 2 विभिन्न आवश्यकताओं पर ध्यान केंद्रित करते हैं।

एमएसटी में, एक बार प्रत्येक शीर्ष तक पहुंचने के लिए आवश्यकता होती है (ग्राफ ट्री बनाएं) और प्रत्येक शीर्ष तक पहुंचने के लिए कुल (सामूहिक) लागत सभी संभावित संयोजनों के बीच न्यूनतम होना आवश्यक है।

सबसे कम पथ में, आवश्यकता न्यूनतम लागत (सबसे कम वजन) के साथ स्रोत शीर्ष से गंतव्य स्थान तक पहुंचने की है। इसलिए यहां हम प्रत्येक शीर्ष पर पहुंचने के बारे में चिंता नहीं करते हैं, केवल स्रोत और गंतव्य के कोने-कोने पर ध्यान केंद्रित करते हैं और जहां अंतर होता है।

यहां यह स्पष्ट करने का उदाहरण है कि एमएसटी आवश्यक रूप से 2 छोरों के बीच सबसे छोटा रास्ता क्यों नहीं देता है।

(A)----5---(B)----5---(C)
 |                     |
 |----------7----------| 

एमएसटी मामले में, किनारों को ए.बी. 10 के कुल वजन के साथ बीसी एमएसटी पर होगा। इसलिए एमएसटी में ए से सी तक पहुंचने की लागत 10 है।

लेकिन सबसे छोटे रास्ते के मामले में, A से C के बीच सबसे छोटा रास्ता AC है जो 7. AC था जो MST पर कभी नहीं था।


4

अंतर इस एल्गोरिदम का अंतिम लक्ष्य क्या है, में निहित है-

दिज्क्स्त्र का - यहाँ लक्ष्य शुरू से अंत तक पहुँचना है। आप केवल इस 2 बिंदुओं के बारे में चिंतित हैं, और तदनुसार अपना रास्ता अनुकूलित करें।

क्रूसलस - यहां आप किसी भी बिंदु से शुरू कर सकते हैं और ग्राफ में अन्य सभी बिंदुओं पर जा सकते हैं। इसलिए, आप हमेशा किसी भी दो बिंदुओं के लिए सबसे छोटा रास्ता नहीं चुन सकते हैं। इसके बजाय ध्यान उस मार्ग को चुनना है जो आपको अन्य सभी बिंदुओं के लिए एक छोटे पथ पर ले जाएगा।


1

मुझे लगता है कि एक उदाहरण यह स्पष्ट कर देगा ..

यहाँ छवि विवरण दर्ज करें

नीचे फैले पेड़ की तरह दिखता है। ऐसा इसलिए है क्योंकि अगर हम इस कॉन्फ़िगरेशन में किनारों को जोड़ते हैं, तो हमें कम से कम कुल लागत संभव है : 2 + 5 + 14 + 4 = 25।

(1)   (4)
  \   /
   (2)
  /   \
(3)   (5)

फैले हुए पेड़ को नेत्रहीन करके आप झूठा सोच सकते हैं कि यह आपको सबसे छोटा रास्ता देता है, लेकिन व्यवहार में ऐसा नहीं है। एक उदाहरण अगर हम नोड से जाना चाहते थे के रूप में (1)करने के लिए (4)यह लागत आएगी हमें हालांकि अगर हम मूल ग्राफ पर डिज्कस्ट्रा एल्गोरिथ्म इस्तेमाल किया 7., हम है कि हम नोड से सीधे जा सकते हैं मिलेगा (1)करने (4)की लागत के साथ 5


-1

अंतर दिखाने के लिए व्यावहारिक उदाहरण>

मान लीजिए कि आप किसी कस्बे में ट्रेन से पहुँचते हैं और अपने होटल जाना चाहते हैं।

विकल्प 1: एक टैक्सी प्राप्त करें: टैक्सी आपके लिए सबसे छोटा रास्ता लेगी जो होटल स्टेशन बनाती है। अगर ड्राइवर को स्टेशन पर केंद्रित सबसे छोटे रास्ते के पेड़ के साथ एक मार्ग का पालन करना चाहिए।

विकल्प 2: एक बस लें। बस कंपनी केवल आप ही नहीं, लोगों के लिए भी काम करना चाहती है। आदर्श पथ शहर के सभी प्रमुख बिंदुओं पर ले जाएगा। तो यह (*) न्यूनतम फैले हुए वृक्ष के साथ एक पथ का अनुसरण करेगा। इसलिए बस धीमी है, लेकिन जैसा कि लागत साझा की जाती है, यह सस्ता है।

(*) वास्तव में लोग शिकायत करेंगे कि अगर न्यूनतम फैले हुए पेड़ का इस्तेमाल किया गया (बस यात्रा बहुत लंबी होगी)। तो व्यवहार में यह एक मिश्रित समाधान होगा और अल्फा-ट्री (न्यूनतम फैले हुए पेड़ और सबसे छोटे रास्ते के पेड़ के बीच आधा रास्ता) का उपयोग करेगा।


1
साइट पर आपका स्वागत है। मुझे नहीं लगता कि आपका सादृश्य एक अच्छा है, क्योंकि एक बस द्वारा लिया गया मार्ग पेड़ों को फैले हुए करने के लिए बहुत कुछ नहीं करता है। विशेष रूप से, यह फैले नहीं है (यह शहर के हर बिंदु पर नहीं जाता है) और यह एक पेड़ नहीं है। बल्कि, यह किसी प्रकार का मार्ग (या चक्र) है जो उचित स्थानों के करीब से कई महत्वपूर्ण बिंदुओं पर जाता है या गुजरता है, ताकि मार्ग यथोचित रूप से बड़ी संख्या में लोगों के लिए उपयोगी हो।
डेविड रिचेर्बी

-1

वे दो अलग-अलग गुणों पर आधारित हैं। न्यूनतम फैले हुए पेड़ कट संपत्ति पर आधारित होते हैं जबकि सबसे छोटा रास्ता किनारे की आराम संपत्ति पर आधारित होता है।

एक कट एक ग्राफ को दो घटकों में विभाजित करता है। इसमें कई किनारों को शामिल किया जा सकता है। एमएसटी में, हम सबसे कम वजन वाले किनारे का चयन करते हैं।

एज रिलैक्सिंग यह कहती है कि मुझे A और B के बीच की दूरी पता है: a (और, b) dist (a, c), फिर मैं एज (एसी) को आराम दे सकता हूं। सभी किनारों को आराम करने के बाद, हमें सबसे छोटा रास्ता मिलता है।

मैं अत्यधिक प्रोफेसर रॉबर्ट सेडगविक के ग्राफ एल्गोरिदम पर वीडियो देखने की सलाह देता हूं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.