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