जैसा कि राफेल की टिप्पणी और j_random_hacker की टिप्पणी से संकेत मिलता है , उत्तर सकारात्मक है। वास्तव में, कोई भी एमएसटी किसी भी एमएसटी एल्गोरिदम द्वारा कुछ मामूली अपवादों के साथ उपलब्ध है।
ग्राफ , सभी किनारों (वास्तविक संख्याओं) पर दो वजन कार्यों को (कमजोर रूप से) तुलना-संगत (एक दूसरे के लिए ) के रूप में परिभाषित किया जाता है, अगर हम किसी भी भार फ़ंक्शन द्वारा प्रेरित किनारों पर सख्त कमजोर आदेश को उसी सख्त तक बढ़ा सकते हैं कुल आदेश। यही है, हम प्रत्येक वजन फ़ंक्शन के साथ लगातार टाई-ब्रेकिंग नियमों को तैयार कर सकते हैं ताकि किसी भी वजन फ़ंक्शन द्वारा किसी भी दो किनारों की तुलना और उसके टाई-ब्रेकिंग नियमों का परिणाम दूसरे वजन फ़ंक्शन और उसके टाई के परिणाम के समान हो। नियमो को तोडना।G
लेम्मा 1 : चलो और डब्ल्यू 2 दो वजन कार्य हैं। निम्नलिखित पाँच कथन एक दूसरे के समतुल्य हैं।w1w2
- और डब्ल्यू 2 तुलना-संगत हैं।w1w2
- किनारों के किसी भी सेट में, और डब्ल्यू 2 द्वारा एक सामान्य हल्का किनारा होता है ।w1w2
- किनारों के किसी भी सेट में, और डब्ल्यू 2 द्वारा एक आम सबसे भारी बढ़त है ।w1w2
- एक वजन समारोह मौजूद है कि अलग किनारों को अलग वजन आवंटित ऐसी है कि डब्ल्यू 3 तुलना संगत है w 1 और करने के लिए डब्ल्यू 2 ।w3w3w1w2
- e1e2e1e2e1e2
लेम्मा 1 का प्रमाण एक आसान व्यायाम के रूप में बचा है।
w1w2e1<w1e2e1<w2e2
w2w1
G
GG
एक तुलना-संगत एमएसटी एल्गोरिथ्म सभी एमएसटी पा सकता है।
mGw1mw2e1e2w1e1e2w2w1w2mw2w2mw1w2mw2mw1
हर MST एल्गोरिथ्म तुलना-संगत है
उपरोक्त प्रस्ताव ओवरब्रिज लगता है। खैर, हर एमएसटी एल्गोरिथ्म से मेरा मतलब है कि किसी भी सामान्य तुलना-आधारित एमएसटी एल्गोरिथ्म, जो मैंने देखा है, उन जाहिरा तौर पर रोगविज्ञानी जैसे गलत या अनावश्यक कदमों को छोड़कर। चूंकि एक तुलना-संगत एमएसटी एल्गोरिदम सभी एमएसटी को पा सकता है, प्रत्येक एमएसटी एल्गोरिदम सभी एमएसटी को पा सकता है। विशेष रूप से, में से प्रत्येक के चार क्लासिक MST एल्गोरिदम , अर्थात् Borůvka की, रस्मी की, Kruskal के और रिवर्स हटाना रद्द एल्गोरिदम सभी MSTS पा सकते हैं।
यहां तीन और तुलना-संगत एमएसटी एल्गोरिदम हैं।
- डिलीट-हैवी-एज एल्गोरिथम। सभी किनारों से शुरू करें। बार-बार एक चक्र ढूंढते हैं और उसके सबसे भारी किनारे में से एक को तब तक हटाते हैं जब तक कोई चक्र नहीं रहता।
- ऐड-नॉन-हैवी-एज एल्गोरिथम। खाली सेट से शुरुआत करें। सभी किनारों के माध्यम से Iterate। प्रत्येक किनारे को जोड़ा जाता है और, यदि एक चक्र बनता है, तो इसमें से एक को सबसे भारी किनारों को हटा दें।
- TTeTtetTeTT
निम्नलिखित MST एल्गोरिथ्म तुलना-संगत नहीं है।
- S{ab,bc,cd}a,b,cab1bc,cd,db2
कृपया ध्यान दें कि ऊपर उल्लिखित सभी आठ एमएसटी एल्गोरिदम तुलना-आधारित हैं।
एक एल्गोरिथ्म दिखाने के लिए तुलना-संगत कैसे है?
G
w1w2GSw1w2
एक एल्गोरिथ्म तुलना-संगत है यदि, ढीले शब्दों में, इसे तीन प्रकार के चरणों में वर्णित किया जा सकता है।
- कुछ ऐसा करें जिसमें वजन शामिल न हो।
- किनारों के एक सेट में न्यूनतम वजन के साथ एक किनारे का चयन करें
- किनारों के एक सेट में अधिकतम वजन के साथ एक किनारे का चयन करें
यह पर्याप्त स्थिति बोरोवका, प्राइम, क्रुस्कल, रिवर्स-डिलीट, डिलीट-हैवी-एज और ऐड-नॉन-हैवी-एज एल्गोरिथम को कवर करती है। ध्यान दें कि इस पर्याप्त स्थिति में फिट होने के लिए, हमें उपलब्ध MST के सेट को प्रभावित किए बिना एल्गोरिथ्म के कुछ विवरणों को बदलना पड़ सकता है। डिग्री-पक्षपाती क्रुकल के एल्गोरिथ्म की तुलना-संगत होने के कारण, मुझे इस बात पर जोर देना चाहिए कि यह पर्याप्त स्थिति ढीले शब्दों में वर्णित है