मैं सिद्धांत में काम नहीं करता हूं, लेकिन मेरे काम को हर बार एक समय में सिद्धांत पत्रों को पढ़ने (और समझने) की आवश्यकता होती है। एक बार जब मैं परिणामों का (सेट) समझ लेता हूं, तो मैं उन लोगों के साथ इन परिणामों पर चर्चा करता हूं जिनके साथ मैं काम करता हूं, जिनमें से अधिकांश सिद्धांत रूप में भी काम नहीं करते हैं। इस तरह की एक चर्चा के दौरान, निम्नलिखित प्रश्न सामने आया:
जब कोई कहता है कि दो दिए गए एल्गोरिदम "समान" हैं?
मुझे "समान" से क्या मतलब है? हम कहते हैं कि दो एल्गोरिदम समान हैं यदि आप किसी भी समीक्षक को भ्रमित / परेशान किए बिना निम्नलिखित दावों में से किसी एक में सुधार कर सकते हैं (बेहतर परिभाषाएं स्वागत की गई हैं):
दावा 1. "एल्गोरिथ्म , जो एल्गोरिदम बी के समान है , समस्या एक्स को भी हल करता है "
दावा 2. "हमारा एल्गोरिथ्म एल्गोरिथम सी के समान "
मुझे इसे थोड़ा और विशिष्ट बनाने दें। मान लीजिए हम ग्राफ एल्गोरिदम के साथ काम कर रहे हैं। दो एल्गोरिदम के समान होने के लिए पहले कुछ आवश्यक शर्तें:
- वे एक ही समस्या को हल कर रहे होंगे।
- उनके पास समान उच्च स्तरीय सहज विचार होना चाहिए।
उदाहरण के लिए, ग्राफ ट्रैवर्सल, चौड़ाई-प्रथम और डेप्थ-प्रथम ट्रैवर्सल के बारे में बात करना उपरोक्त दो स्थितियों को संतुष्ट करता है; लघु-पथ संगणना के लिए, चौड़ाई-प्रथम और दिज्क्स्ट्रा के एल्गोरिथ्म उपरोक्त दोनों स्थितियों (बिना वज़न वाले ग्राफ़ पर, निश्चित रूप से) को संतुष्ट करते हैं; आदि।
क्या ये भी पर्याप्त परिस्थितियां हैं? अधिक विशेष रूप से, मान लें कि दो एल्गोरिदम समान होने के लिए आवश्यक शर्तों को पूरा करते हैं। क्या आप वास्तव में उन्हें समान कहेंगे, यदि
- उनके पास अलग-अलग स्पर्शोन्मुख प्रदर्शन है?
- रेखांकन की एक विशेष वर्ग के लिए, एक एल्गोरिथ्म की आवश्यकता है , जबकि अन्य की आवश्यकता है समय हे ( एन 1 / 3 ) समय?
- उनकी अलग-अलग समाप्ति की स्थिति है? (याद रखें, वे एक ही समस्या को हल कर रहे हैं)
- दो एल्गोरिदम में पूर्व-प्रसंस्करण कदम अलग है?
- मेमोरी एल्गोरिदम दो एल्गोरिदम में अलग है?
संपादित करें: प्रश्न स्पष्ट रूप से बहुत संदर्भ पर निर्भर है और व्यक्तिपरक है। मैं उम्मीद कर रहा था कि उपरोक्त पांच स्थितियां, हालांकि, कुछ सुझाव प्राप्त करने की अनुमति देंगी। मुझे इस प्रश्न को और संशोधित करने और अधिक विवरण देने में खुशी हो रही है, यदि उत्तर प्राप्त करने की आवश्यकता है। धन्यवाद!