Algorithm, its need in the modern world

एल्गोरिथ्म क्या है, एल्गोरिथ्म पर चलती है आधुनिक डिजिटल दुनिया (What is algorithm, the modern digital world runs on algorithms)

Algorithm निर्देशों का एक समूह है जिसके द्वारा किसी विशेष problem (समस्या) को solve किया जाता है। दूसरे शब्दों में कहें तो, “एल्गोरिथ्म एक प्रक्रिया है जिसके द्वारा प्रोग्रामिंग में आने वाली समस्या का समाधान किया जाता है.”। आज हम इस लेख के माध्यम से जानेंगे एल्गोरिदम का उपयोग गणना और डेटा प्रोसेसिंग करने के लिए विनिर्देशों के रूप में किया जाता है । इसके अलावा आज की ये डिजिटल दुनिया जिसे की गूगल एड्स, यू तुबे, फेसबुक, इंस्टाग्राम, लींकेडीन, स्नैपचैट आदि सभी अल्गोरिथम का ही भाग है और ये उसी के द्वारा मूल रूप से संचालित होते है।

आधुनिक समय में एल्गोरिथ्म

(Algorithm) कंप्यूटर में अधिक उन्नत एल्गोरिथ्म (Algorithm) सशर्त उपयोग कर सकते हैं विभिन्न मार्गों के माध्यम से कोड निष्पादन को मोड़ने के लिए ( स्वचालित निर्णय लेने के रूप में संदर्भित ) और वैध संदर्भों को कम करने के लिए ( स्वचालित तर्क के रूप में संदर्भित ) अंत में स्वचालन प्राप्त करना। १९०० से मानव विशेषताओं का उपयोग मशीनों के वर्णनकर्ता के रूप में लाक्षणिक तरीके से करना पहले से ही एलन ट्यूरिंग द्वारा “मेमोरी”, “सर्च” और “प्रोत्साहन” जैसे शब्दों के साथ अभ्यास किया गया था। इसके विपरीत, एक अनुमानी समस्या समाधान के लिए एक दृष्टिकोण है जो पूरी तरह से निर्दिष्ट नहीं हो सकता है या सही या गलत परिणामों की गारंटी नहीं दे सकता है, विशेष रूप से समस्या वाले होस्टिंग में जहां कोई अच्छी तरह से परिभाषित सही या इष्टतम परिणाम नहीं है।

(Algorithm) १९९७ में यूक्लिड के अनुसार एक प्रभावी विधि के रूप में एक एल्गोरिथ्म (Algorithm) को स्थान और समय की सीमित मात्रा में व्यक्त किया जा सकता है, और एक फ़ंक्शन की गणना के लिए एक अच्छी तरह से परिभाषित औपचारिक भाषा में व्यक्त किया जाता है। एक प्रारंभिक अवस्था और प्रारंभिक इनपुट (शायद खाली ) से आजमाते हुए, निर्देश एक संगणना का विस्तार रूपेण वर्णन करते हैं, जिसे कार्यशील होने पर, चारो तरह अच्छी तरह से परिभाषित क्रमिक राज्यों की संख्या के माध्यम से आगे बढ़ता है, अंततः “आउटपुट” का उत्पादन करता है और अंत में समाप्त हो जाता है। एक अवस्था से दूसरी अवस्था में परिवर्तन आवश्यक रूप से नियतात्मक अल्गोरिथम है। एल्गोरिथ्म का रूप:- यादृच्छिक एल्गोरिथ्म, यादृच्छिक इनपुट शामिल होता है।

कंप्यूटर एल्गोरिथ्म

तार्किक नंद एल्गोरिथ्म 7402 चिप में इलेक्ट्रॉनिक रूप से लागू किया गया।

(Algorithm) एल्गोरिथ्म बनाम फ़ंक्शन एल्गोरिथ्म द्वारा गणना योग्य : किसी दिए गए फ़ंक्शन के लिए कई रूप वाले एल्गोरिदम उपस्तिथ हो सकते हैं। यह प्रोग्रामर के लिए उपलब्ध निर्देश सेट का विस्तार किए बिना भी सत्य है। रोजर्स ने देखा कि ” एल्गोरिदम की धारणा , यानी प्रक्रिया और एल्गोरिथ्म द्वारा गणना योग्य फ़ंक्शन की धारणा , यानी प्रक्रिया द्वारा प्राप्त मैपिंग के बीच फर्क करना महत्वपूर्ण है। एक ही फ़ंक्शन में कई अलग-अलग एल्गोरिदम हो होते हैं”।

दुर्भाग्य से, अच्छाई (गति) और लालित्य (कॉम्पैक्टनेस) के बीच एक ट्रेडऑफ़ हो सकता है – एक सुरुचिपूर्ण कार्यक्रम एक कम सुरुचिपूर्ण की तुलना में गणना को पूरा करने के लिए ज्यादा अच्छा कदम उठा सकता है। यूक्लिड के एल्गोरिथ्म का उपयोग करने वाला एक उदाहरण नीचे टेबल के रूप में दिखाया गया है।

Also Read What is NEP, its effect, rules for doing PHD changed in DU

कंप्यूटर (और कंप्यूटर), संगणना के मॉडल : एक कंप्यूटर (या मानव “कंप्यूटर”) एक प्रतिपादित आधुनिक मशीन है, एक “असतत नियतात्मक यांत्रिक उपकरण” जो आँख बंद करके इसके निर्देशों का पालन करता है। मेल्ज़ाक और लैम्बेक के आदिम मॉडल ने इस धारणा को 5 तत्वों में घटाया: (i) असतत, विशिष्ट स्थान , (ii) असतत, अप्रभेद्य काउंटर (iii) एक एजेंट, और (iv) निर्देशों की एक सूची जो एजेंट की क्षमता के सापेक्ष प्रभावी हैं।

मिंस्की ने अपने ” कम्प्यूटेबिलिटी के लिए बहुत सरल आधार ” में लैम्बेक के “अबैकस” मॉडल की अधिक अनुकूल भिन्नता का वर्णन किया है। मिन्स्की की मशीन अपने 4 (या छह, इस बात पर निर्भर करती है कि कोई कैसे गिनता है) निर्देशों के माध्यम से क्रमिक रूप से आगे बढ़ती है जब तक कि या तो सशर्त IF-THEN GOTO या बिना शर्त GOTO प्रोग्राम प्रवाह को क्रम से बाहर नहीं बदलता है। एचएएलटी के अलावा, मिन्स्की की मशीन में चार असाइनमेंट (प्रतिस्थापन, प्रतिस्थापन) संचालन शामिल हैं: ज़ीरो (उदाहरण के लिए स्थान की सामग्री को 0: एल ← 0 द्वारा प्रतिस्थापित किया गया), सक्सेसर (जैसे एल ← एल+1), और डिक्रीमेंट (जैसे एल ←) एल – 1)।

विरले ही किसी प्रोग्रामर को इतने सीमित निर्देश सेट के साथ “कोड” लिखना चाहिए। केवल पांच सामान्य प्रकार के निर्देशों के साथ ट्यूरिंग पूर्ण : सशर्त गोटो, बिना शर्त गोटो, असाइनमेंट/रिप्लेसमेंट/प्रतिस्थापन, और एचएएलटी। हालांकि, ट्यूरिंग-पूर्णता के लिए कुछ अलग असाइनमेंट निर्देश (उदाहरण के लिए गिरावट, वृद्धि, और शून्य/साफ/ईएमपीटीई) भी आवश्यक हैं; उनका सटीक विनिर्देश कुछ हद तक डिज़ाइनर तक है। बिना शर्त गोटो सुविधाजनक है; इसका निर्माण एक समर्पित स्थान को शून्य से शुरू करके किया जा सकता है जैसे निर्देश “Z ← 0”; उसके बाद निर्देश IF Z = 0 तो गोटो xxx बिना शर्त है।

एल्गोरिथ्म कैसे सीखें

(Algorithm) एल्गोरिथ्म का अनुकरण: कंप्यूटर (कंप्यूटर) भाषा : नुथ पाठक को सलाह देते हैं कि “एल्गोरिदम सीखने का सबसे अच्छा तरीका यह कोशिश जारी रखना है … तुरंत लैपटॉप लें और ms word पर ड्रा करें। उदाहरण के माध्यम से ड्रा करें”। लेकिन वास्तविक चीज़ के अनुकरण या निष्पादन के बारे में जानें। प्रोग्रामर को एल्गोरिदम को ऐसी भाषा में अनुवाद करना चाहिए जिसे सिम्युलेटर/कंप्यूटर/कंप्यूटर प्रभावी ढंग से व्यक्त कर सके। स्टोन इसका एक उदाहरण देता है: द्विघात समीकरण की जड़ों की गणना करते समय कंप्यूटर को पता होना चाहिए कि वर्गमूल कैसे लेना है। यदि वे नहीं करते हैं, तो एल्गोरिथ्म, प्रभावी होने के लिए, एक वर्गमूल निकालने के लिए नियमों का एक सेट प्रदान करता है और वह प्रभावी ढंग से काम करता है।

इसका मतलब है कि प्रोग्रामर को एक “भाषा” जाननी चाहिए जो लक्षित कंप्यूटिंग एजेंट (कंप्यूटर/कंप्यूटर) के असापेक्ष प्रभावी न हो।

लेकिन सिमुलेशन के लिए किस मॉडल का इस्तेमाल किया जाना चाहिए ये कंप्यूटर (Algorithm) एल्गोरिथ्म को पता होता है? वैन एम्डे बोआस का मानना ​​है कि “भले ही हम जटिलता सिद्धांत को ठोस मशीनों के बजाय सार पर आधारित करते हैं, एक मॉडल की पसंद की सिस्टम बनी रहती है। यह इस बिंदु पर है कि अनुकरण की दिशा प्रवेश करती है”। जब गति मापी जाती है, तो निर्देश सेट मायने रखता है। उदाहरण के लिए, यूक्लिड के एल्गोरिथ्म में शेष की गणना करने के लिए सबप्रोग्राम बहुत तेजी से निष्पादित होगा यदि प्रोग्रामर के पास केवल न्यूनतम (या बदतर: सिर्फ मिन्स्की की “कमी”) के बजाय ” मॉड्यूलस ” निर्देश उपलब्ध था।

यूक्लिड द्वारा परिभाषित:- संरचित प्रोग्रामिंग, विहित संरचनाएं तथा चर्च-ट्यूरिंग थीसिस के अनुसार , किसी भी एल्गोरिथ्म की गणना एक आधुनिक मॉडल द्वारा की जा सकती है जिसे ट्यूरिंग कम्पलीट कहा जाता है, और मिन्स्की के प्रदर्शनों के अनुसार, ट्यूरिंग पूर्णता के लिए केवल 5 निर्देश प्रकारों की आवश्यकता होती है- सशर्त GOTO, बिना शर्त GOTO, असाइनमेंट, HALT। केमेनी और कर्ट्ज़ ने देखा कि, बिना शर्त GOTO और सशर्त IF-THEN GOTO के “अनुशासनहीन” उपयोग के परिणामस्वरूप ” स्पेगेटी कोड ” हो सकता है, एक प्रोग्रामर केवल इन निर्देशों का उपयोग करके संरचित प्रोग्राम टाइप कर सकता है; दूसरी ओर “यह भी संभव है, और यह सरल है, एक संरचित भाषा में अच्छी तरह से संरचित कार्यक्रम न लिखना”।

सीक्वेंस, इफ-थेन-एल्से और व्हाइल-डीओ, दो और के साथ: डू-व्हाइल और केस।दो संरचित कार्यक्रम का एक अतिरिक्त हानि यह है कि यह गणितीय प्रेरण का उपयोग करके खुद को शुद्धता के प्रमाण के लिए उधार देता नहीं देगा।

कैनोनिकल फ़्लोचार्ट प्रतीक: फ़्लोचार्ट नामक ग्राफ़िकल सहयोगी एक एल्गोरिथम (Algorithm) (और इसके अनुरूप एक कंप्यूटर प्रोग्राम) का वर्णन और दस्तावेज करने का एक जरिया प्रदान करता है। मिन्स्की मशीन के प्रोग्राम फ्लो की तरह, एक फ्लोचार्ट हमेशा पृष्ठ के स्तम्भ पर शुरू होता है और ऊपर जाता है। इसके प्राथमिक प्रतीक केवल 5 हैं: निर्देशित तीर प्रोग्राम प्रवाह दिखा रहा है, आयत (अनुक्रम, गोटो), हीरा (IF-THEN-ELSE), और डॉट (OR-टाई)। बोह्म-जैकोपिनी विहित संरचनाएं इन आदिम आकृतियों से बनी हैं। उप-संरचनाएं आयतों में “घोंसले” कर सकती हैं, लेकिन केवल तभी जब अधिरचना से एकल निकास होता है।

विहित संरचनाओं के निर्माण के लिए प्रतीकों और उनके उपयोग को आरेख में दर्शाया गया है।

 

 

 

 

Read More Algorithm

Leave a Comment