एल्गोरिथम तकनीक

From Vigyanwiki

गणित और कंप्यूटर विज्ञान में, एक एल्गोरिथम तकनीक[1] एक प्रक्रिया या गणना को लागू करने के लिए एक सामान्य दृष्टिकोण है।[2]

सामान्य तकनीकें

कई व्यापक रूप से मान्यता प्राप्त एल्गोरिथम तकनीकें हैं जो एल्गोरिदम को डिजाइन और निर्माण करने के लिए एक प्रमाणित विधि या प्रक्रिया प्रदान करती हैं। उद्देश्य के आधार पर विभिन्न तकनीकों का उपयोग किया जा सकता है, जिसमें सर्चिंग, सॉर्टिंग, गणितीय अनुकूलन, कॉन्सट्रेंट सैटिस्फैक्शन, वर्गीकरण, विश्लेषण और भविष्यवाणी सम्मिलित हो सकती है।[3]

ब्रूट फोर्स

ब्रूट-फोर्स एक सरल, संपूर्ण तकनीक है जो समाधान खोजने के लिए हर संभव परिणाम का मूल्यांकन करती है।[4]

विभाजन और जीत

विभाजन और जीत एल्गोरिथम तकनीक जटिल समस्याओं को पुनरावर्ती रूप से छोटी उप-समस्याओं में विघटित करती है। इसके बाद प्रत्येक उप-समस्या का समाधान किया जाता है और समग्र समाधान निर्धारित करने के लिए इन आंशिक समाधानों को पुनः संयोजित किया जाता है। इस तकनीक का प्रयोग प्रायः सर्चिंग और सॉर्टिंग के लिए किया जाता है।[5]

डायनेमिक

डायनेमिक प्रोग्रामिंग एक व्यवस्थित तकनीक है जिसमें एक जटिल समस्या को समाधान के लिए छोटे, अतिव्यापी उप-समस्याओं में पुनरावर्ती रूप से विघटित किया जाता है। डायनेमिक प्रोग्रामिंग मेमोइज़ेशन नामक एक अनुकूलन तकनीक का उपयोग करके स्थानीय रूप से अतिव्यापी उप-समस्याओं के परिणामों को संग्रहीत करता है।[6]

विकासवादी

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

ग्राफ ट्रैवर्सल

ग्राफ़ ट्रैवर्सल समस्याओं के समाधान खोजने की एक तकनीक है जिसे ग्राफ़ के रूप में दर्शाया जा सकता है। यह दृष्टिकोण व्यापक है, और इसमें डेप्थ-फर्स्ट सर्च, ब्रेड्थ-फर्स्ट सर्च, ट्री ट्रैवर्सल, और कई विशिष्ट विविधताएँ सम्मिलित हैं जिनमें स्थानीय अनुकूलन सम्मिलित हो सकते हैं और ऐसे खोज स्थानों को बाहर कर सकते हैं जो गैर-इष्टतम या संभव नहीं होने के लिए निर्धारित किए जा सकते हैं। इन तकनीकों का उपयोग विभिन्न प्रकार की समस्याओं को हल करने के लिए किया जा सकता है जिसमें लघुतम पथ और कंस्ट्रेंट सैटिस्फैक्शन प्रॉब्लम्स सम्मिलित हैं।[8]

लालची

संभावित परिणामों के समूह से एक संभावित परिणाम का मूल्यांकन करके एक लालची दृष्टिकोण शुरू होता है, और फिर उस परिणाम में सुधार के लिए स्थानीय रूप से खोज करता है। जब एक स्थानीय सुधार पाया जाता है, तो यह प्रक्रिया को दोहराएगा और इस स्थानीय इष्टतम के पास अतिरिक्त सुधारों के लिए फिर से स्थानीय रूप से खोज करेगा। एक लालची तकनीक प्रायः लागू करने के लिए सरल होती है, और जहां खोज शुरू हुई, उसके आधार पर निर्णयों की इन श्रृंखलाओं का उपयोग स्थानीय इष्टतम खोजने के लिए किया जा सकता है। हालाँकि, लालची तकनीकें संभावित परिणामों के पूरे सेट में वैश्विक इष्टतम की पहचान नहीं कर सकती हैं।[9]

ह्यूरिस्टिक

एक ह्यूरिस्टिक(अनुमानी) दृष्टिकोण एक ऐसे तत्काल समाधान तक पहुँचने के लिए एक व्यावहारिक पद्धति का उपयोग करता है जो इष्टतम होने की गारंटी नहीं देता है।[10]

सीखना

सीखने की तकनीक तकनीक एक्सप्लिसिट प्रोग्रामिंग के बिना वर्गीकरण और विश्लेषण करने के लिए सांख्यिकीय विधियों को नियोजित करती है। इस श्रेणी में पर्यवेक्षित शिक्षण, गैर-पर्यवेक्षित शिक्षा, सुदृढीकरण शिक्षण और गहन शिक्षण तकनीकों को सम्मिलित किया गया है।[11]

गणितीय अनुकूलन

गणितीय अनुकूलन एक ऐसी तकनीक है जिसका उपयोग किसी फ़ंक्शन को न्यूनतम या अधिकतम करके गणितीय इष्टतम की गणना करने के लिए किया जा सकता है।[12]

मॉडलिंग

मॉडलिंग एक वास्तविक दुनिया की समस्या को एक रूपरेखा या एल्गोरिथम प्रतिमान में समाहित करने की एक सामान्य तकनीक है जो समाधान में सहायता करती है।[13]


रिकर्सन

रिकर्सन एक एल्गोरिथ्म को डिजाइन करने के लिए एक सामान्य तकनीक है जो परिभाषित परिणामों के साथ एक या एक से अधिक आधार स्थितियों के लिए कार्य के उत्तरोत्तर सरल भाग के साथ खुद को बुलाती है।[14][15]


विंडो स्लाइडिंग

विंडो स्लाइडिंग का उपयोग नेस्टेड लूप के उपयोग को कम करने और इसे सिंगल लूप से बदलने के लिए किया जाता है, जिससे समय की जटिलता कम हो जाती है।

यह भी देखें

टिप्पणियाँ

  1. "technique | Definition of technique in English by Oxford Dictionaries". Oxford Dictionaries | English. Archived from the original on September 28, 2016. Retrieved 2019-03-23.
  2. Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001). एल्गोरिदम का परिचय (in English). MIT Press. p. 9. ISBN 9780262032933.
  3. Skiena, Steven S. (1998). The Algorithm Design Manual: Text (in English). Springer Science & Business Media. ISBN 9780387948607.
  4. "What is brute force? Webopedia Definition". www.webopedia.com (in English). 30 March 1998. Retrieved 2019-03-23.
  5. Bentley, Jon Louis; Shamos, Michael Ian (1976). "बहुआयामी अंतरिक्ष में फूट डालो और जीतो". Proceedings of the Eighth Annual ACM Symposium on Theory of Computing. STOC '76. New York, NY, USA: ACM: 220–230. doi:10.1145/800113.803652. S2CID 6400801.
  6. Bellman, Richard (1966-07-01). "गतिशील प्रोग्रामिंग". Science (in English). 153 (3731): 34–37. Bibcode:1966Sci...153...34B. doi:10.1126/science.153.3731.34. ISSN 0036-8075. PMID 17730601. S2CID 220084443.
  7. Coello Coello, Carlos A. (1999-08-01). "विकासवादी-आधारित बहुउद्देश्यीय अनुकूलन तकनीकों का एक व्यापक सर्वेक्षण". Knowledge and Information Systems (in English). 1 (3): 269–308. doi:10.1007/BF03325101. ISSN 0219-3116. S2CID 195337963.
  8. Kumar, Nitin; Wayne, Kevin (2014-02-01). एल्गोरिदम (in English). Addison-Wesley Professional. ISBN 9780133799101.
  9. "लालची एल्गोरिदम". xlinux.nist.gov. Retrieved 2019-03-23.
  10. "अनुमानी". xlinux.nist.gov. Retrieved 2019-03-23.
  11. Witten, Ian H.; Frank, Eibe; Hall, Mark A.; Pal, Christopher J. (2016-10-01). Data Mining: Practical Machine Learning Tools and Techniques (in English). Morgan Kaufmann. ISBN 9780128043578.
  12. Marler, R.T.; Arora, J.S. (2004-04-01). "इंजीनियरिंग के लिए बहुउद्देश्यीय अनुकूलन विधियों का सर्वेक्षण". Structural and Multidisciplinary Optimization (in English). 26 (6): 369–395. doi:10.1007/s00158-003-0368-6. ISSN 1615-1488. S2CID 14841091.
  13. Skiena, Steven S. (1998). The Algorithm Design Manual: Text (in English). Springer Science & Business Media. ISBN 9780387948607.
  14. "प्रत्यावर्तन". xlinux.nist.gov. Retrieved 2019-03-23.
  15. "प्रोग्रामिंग - रिकर्सन". www.cs.utah.edu. Retrieved 2019-03-23.


बाहरी संबंध