हाइब्रिड कलन विधि
This article does not cite any sources. (May 2014) (Learn how and when to remove this template message) |
हाइब्रिड कलन विधि एक एल्गोरिदम है जो दो या दो से अधिक अन्य एल्गोरिदम को जोड़ता है जो एक ही समस्या को हल करते हैं, या तो डेटा की कुछ विशेषताओं के आधार पर किसी एक को चुनते हैं, या एल्गोरिदम के दौरान उनके बीच स्विच करते हैं। यह आम तौर पर प्रत्येक की वांछित विशेषताओं को संयोजित करने के लिए किया जाता है, ताकि समग्र एल्गोरिदम व्यक्तिगत घटकों से बेहतर हो।
हाइब्रिड एल्गोरिदम का तात्पर्य केवल एक अलग समस्या को हल करने के लिए कई एल्गोरिदम के संयोजन से नहीं है - कई एल्गोरिदम को सरल टुकड़ों के संयोजन के रूप में माना जा सकता है - बल्कि केवल उन एल्गोरिदम के संयोजन से है जो एक ही समस्या को हल करते हैं, लेकिन अन्य विशेषताओं, विशेष रूप से प्रदर्शन में भिन्न होते हैं।
उदाहरण
कंप्यूटर विज्ञान में, पुनरावर्ती एल्गोरिदम के अनुकूलित वास्तविक-विश्व कार्यान्वयन में हाइब्रिड एल्गोरिदम बहुत आम हैं, विशेष रूप से फूट डालो और जीतो एल्गोरिदम#कार्यान्वयन मुद्दे फूट डालो और जीतो एल्गोरिदम|फूट डालो और जीतो या घटाओ और जीतो एल्गोरिदम, जहां रिकर्सन में गहराई तक जाने पर डेटा का आकार घटता जाता है। इस मामले में, समग्र दृष्टिकोण (बड़े डेटा पर) के लिए एक एल्गोरिदम का उपयोग किया जाता है, लेकिन पुनरावृत्ति में गहराई से, यह एक अलग एल्गोरिदम पर स्विच हो जाता है, जो छोटे डेटा पर अधिक कुशल होता है। एक सामान्य उदाहरण छँटाई एल्गोरिथ्म में है, जहां इंसर्शन सॉर्ट, जो बड़े डेटा पर अक्षम है, लेकिन छोटे डेटा (जैसे, पांच से दस तत्वों) पर बहुत कुशल है, को मुख्य रूप से एक अन्य एल्गोरिदम लागू करने के बाद अंतिम चरण के रूप में उपयोग किया जाता है, जैसे कि मर्ज़ सॉर्ट या क्विक सॉर्ट। मर्ज सॉर्ट और जल्दी से सुलझाएं बड़े डेटा पर असम्बद्ध रूप से इष्टतम हैं, लेकिन उन्हें छोटे डेटा पर लागू करने पर ओवरहेड महत्वपूर्ण हो जाता है, इसलिए रिकर्सन के अंत में एक अलग एल्गोरिदम का उपयोग होता है। एक अत्यधिक अनुकूलित हाइब्रिड सॉर्टिंग एल्गोरिदम टिमसॉर्ट है, जो मर्जिंग लॉजिक में अतिरिक्त लॉजिक (द्विआधारी खोज सहित) के साथ मर्ज सॉर्ट, इंसर्शन सॉर्ट को जोड़ता है।
एक सरल हाइब्रिड पुनरावर्ती एल्गोरिथ्म के लिए एक सामान्य प्रक्रिया बेस केस को शॉर्ट-सर्किट करना है, जिसे आर्म-लेंथ रिकर्सन के रूप में भी जाना जाता है। इस मामले में, अनावश्यक फ़ंक्शन कॉल से बचने के लिए, फ़ंक्शन कॉल से पहले जांच की जाती है कि अगला कदम बेस केस में परिणामित होगा या नहीं। उदाहरण के लिए, एक पेड़ में, चाइल्ड नोड की पुनरावृत्ति करने और फिर यह जाँचने के बजाय कि क्या यह शून्य है, पुनरावृत्ति करने से पहले शून्य की जाँच करें। यह दक्षता के लिए उपयोगी है जब एल्गोरिदम आमतौर पर बेस केस का कई बार सामना करता है, जैसा कि कई ट्री एल्गोरिदम में होता है, लेकिन अन्यथा इसे अतिरिक्त जटिलता के कारण, विशेष रूप से अकादमिक क्षेत्र में खराब शैली माना जाता है।
प्रदर्शन कारणों से हाइब्रिड एल्गोरिदम का एक और उदाहरण परिचय और आत्मचयन है, जो तेजी से औसत प्रदर्शन के लिए एक एल्गोरिदम को जोड़ते हैं, इष्टतम सबसे खराब स्थिति के प्रदर्शन को सुनिश्चित करने के लिए (असममित रूप से) दूसरे एल्गोरिदम पर वापस आते हैं। इंट्रोसॉर्ट क्विकॉर्ट से शुरू होता है, लेकिन अगर क्विकॉर्ट अच्छी तरह से प्रगति नहीं कर रहा है तो यह ढेर सॉर्ट में बदल जाता है; समान रूप से इंट्रोसेलेक्ट तुरंत चयन से शुरू होता है, लेकिन अगर क्विकसेलेक्ट अच्छी तरह से प्रगति नहीं कर रहा है तो मध्यस्थों के मध्य में स्विच हो जाता है।
केंद्रीकृत वितरित एल्गोरिदम को अक्सर हाइब्रिड एल्गोरिदम के रूप में माना जा सकता है, जिसमें एक व्यक्तिगत एल्गोरिदम (प्रत्येक वितरित प्रोसेसर पर चलता है), और एक संयोजन एल्गोरिदम (एक केंद्रीकृत वितरक पर चलता है) शामिल होता है - ये क्रमशः पूरे एल्गोरिदम को एक प्रोसेसर पर चलाने, या चलाने के अनुरूप होते हैं वितरक पर संपूर्ण गणना, तुच्छ परिणामों (प्रत्येक प्रोसेसर से एक-तत्व डेटा सेट) का संयोजन। इन एल्गोरिदम का एक मूल उदाहरण वितरण प्रकार हैं, विशेष रूप से बाहरी सॉर्टिंग के लिए उपयोग किया जाता है, जो डेटा को अलग-अलग उपसमूहों में विभाजित करता है, उपसमूहों को क्रमबद्ध करता है, और फिर उपसमूहों को पूरी तरह से क्रमबद्ध डेटा में संयोजित करता है; उदाहरणों में बाल्टी प्रकार और फ़्लैश सॉर्ट शामिल हैं।
हालाँकि, सामान्य तौर पर वितरित एल्गोरिदम को हाइब्रिड एल्गोरिदम होने की आवश्यकता नहीं है, क्योंकि व्यक्तिगत एल्गोरिदम या संयोजन या संचार एल्गोरिदम विभिन्न समस्याओं को हल कर सकते हैं। उदाहरण के लिए, MapReduce जैसे मॉडल में, मैप और रिड्यूस चरण अलग-अलग समस्याओं को हल करते हैं, और एक अलग, तीसरी समस्या को हल करने के लिए संयुक्त होते हैं।
यह भी देखें
- हाइब्रिड एल्गोरिदम (बाधा संतुष्टि)
- हाइब्रिड आनुवंशिक एल्गोरिदम
- चरण पुनर्प्राप्ति के लिए हाइब्रिड इनपुट आउटपुट (एचआईओ) एल्गोरिदम
श्रेणी:एल्गोरिदम