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

Algorithm की परिभाषा?
किसी कंप्यूटर पर कोई काम करने के लिए दिया जाता है तो प्रोग्रामर के द्वारा उसकी पूरी रूपरेखा को बना करके तैयार किया जाता है तथा कंप्यूटर से बिना किसी मिस्टेक के काम करवाने के लिए किस क्रम से इंस्ट्रक्शन लिए जाएंगे, यह तय किया जाता है।
अर्थात कहने का मतलब है कि किसी काम को पूरा करने के लिए अलग-अलग चरणों से गुजरना पड़ता है। जब प्रॉब्लम के सलूशन के लिए अलग-अलग चरणों से क्रमबध्द करके प्रोग्राम लिखा जाता है, तो इसे ही अलगोरिदम कहते हैं। बता दें कि एल्गोरिथम के लिए इनपुट का होना जरूरी नहीं होता है परंतु इससे किसी एक रिजल्ट पर पहुंचने की उम्मीद की जा सकती है।
Algorithm का उदाहरण
Algorithm का उदाहरण समझाने के लिए हम आपको मोबाइल फोन के द्वारा कॉल करने Algorithm में क्या हो सकता है, इसका उदाहरण दे रहे हैं, ताकि आपको आसानी से यह समझ में आ जाए कि आखिर Algorithm का प्रमुख उदाहरण कैसा होता है।
पहली प्रक्रिया
पहली प्रक्रिया में सबसे पहले आपको अपने मोबाइल को पावर ऑन कर लेना है।
दूसरी प्रक्रिया
मोबाइल पावर ऑन हो जाने के पश्चात आपको अपने मोबाइल में लॉक को खोलना है।
तीसरी प्रक्रिया
लॉक खोलने के पश्चात आपको डायल वाले ऑप्शन पर क्लिक कर देना है।
चौथी प्रक्रिया
चौथी प्रक्रिया में आपको जिस व्यक्ति को आप फोन लगाना चाहते हैं उसके नंबर को डायल करना है या फिर कांटेक्ट का सिलेक्शन करना है।
पांचवी प्रक्रिया
पांचवी प्रक्रिया में आपको व्यक्ति को फोन लगाने के लिए कॉल वाली बटन पर क्लिक कर देना है।
इस प्रकार से किसी व्यक्ति को फोन कोल लगाने के लिए हमें ऊपर जो प्रक्रिया बताई गई है उसी के हिसाब से स्टेप बाय स्टेप आगे बढ़ना होता है।
ठीक इसी प्रकार से प्रोग्राम में किसी प्रोसेस अथवा काम को करने के लिए Algorithm को लिख करके तैयार किया जाता है, ताकि अपनी इच्छा के मुताबिक रिजल्ट को हासिल किया जा सके।
बता दें कि Algorithm का इस्तेमाल अलग-अलग फील्ड जैसे कि कंप्यूटर साइंस और मैथमेटिकल की फील्ड में होता है।
Algorithm की विशेषताएं?
एल्गोरिथम की प्रमुख विशेषताएं निम्नानुसार है।
- कम से कम एक आउटपुट देने की कैपेसिटी तो Algorithm की होनी ही चाहिए।
- हमेशा ऐसे एल्गोरिथम को बनाना चाहिए जो किसी ना किसी काम में इस्तेमाल किया जा सके। ऐसे Algorithm को बनाने का कोई भी फायदा नहीं है जो संभव ही नहीं है।
- Algorithm ऐसा होना चाहिए जो स्वतंत्र हो और वह किसी भी लैंग्वेज पर डिपेंडेंट ना हो।
- Algorithm का जो स्टेप लिखा गया है वह बिल्कुल साफ और स्पष्ट होना चाहिए और जो भी स्टेप लिखे गए हैं उनका मीनिंग अवश्य होना चाहिए, ताकि आसानी से Algorithm में क्या लिखा गया है यह समझ में आ सके।
- एल्गोरिथम के पास एक इनपुट अवश्य ही मौजा होना चाहिए, जो अच्छी तरह से परिभाषित होना चाहिए।
Algorithm का उपयोग?
आइए जानते हैं कि आखिर Algorithm का उपयोग क्या है।
कंप्यूटर साइंस
एल्गोरिथम को कंप्यूटर प्रोग्रामिंग का आधार माना जाता है और इसका उपयोग सर्चिंग से लेकर के आर्टिफिशियल इंटेलिजेंस और मशीन लर्निंग जैसे मुश्किल कामो से संबंधित प्रॉब्लम का सलूशन निकालने के लिए किया जाता है।
मैथमेटिक्स
Algorithm का इस्तेमाल गणित से संबंधित समस्याओं को सॉल्व करने के लिए किया जाता है। उदाहरण के तौर पर Algorithm का इस्तेमाल ग्राफ के सबसे छोटे रास्ते को ढूंढने के लिए किया जाता है अथवा अन्य जटिल कैलकुलेशन के लिए इसका इस्तेमाल होता है।
ऑपरेशन रिसर्च
Algorithm का इस्तेमाल ट्रांसपोर्टेशन, लॉजिस्टिक और रिसोर्स एलोकेशन जैसी फील्ड में डिसीजन लेने के लिए किया जाता है।
आर्टिफिशियल इंटेलिजेंस
एल्गोरिथम को आर्टिफिशियल इंटेलिजेंस का आधार स्तंभ माना जाता है। इसके अलावा इसे मशीन लर्निंग का भी फाउंडेशन माना जाता है। इसका इस्तेमाल ऐसे इंटेलिजेंट सिस्टम को डिवेलप करने के लिए किया जाता है जो इमेज रिकॉग्निशन के काम को पूरा कर सके या फिर नेचुरल लैंग्वेज प्रोसेसिंग कर सके अथवा डिसीजन ले सके।
डाटा साइंस
Algorithm का इस्तेमाल मार्केटिंग, फाइनेंस और हेल्थ सेक्टर जैसे क्षेत्रों में बड़ी मात्रा में डाटा का एनालिसिस करने के लिए, डाटा की प्रोसेसिंग करने के लिए और डाटा को एक्सट्रैक्ट करने के लिए किया जाता है।
ऊपर हमने आपको एल्गोरिथम के उपयोग के कुछ ही प्रकारों की जानकारी दी है। जैसे-जैसे नई टेक्नोलॉजी आ रही है वैसे वैसे इसका इस्तेमाल बड़े पैमाने पर हो रहा है।
Algorithm की आवश्यकता?
मुश्किल प्रॉब्लम को कुशलतापूर्वक और बेहतरीन ढंग से सॉल्व करने के लिए Algorithm आवश्यक माना जाता है। एल्गोरिथम प्रोसेस को ऑटोमेटिक करने के लिए और उन्हें और भी भरोसेमंद, फास्ट और परफॉर्म करने में आसान बनाने में सहायक साबित होते हैं।
एल्गोरिथम के द्वारा कंप्यूटर को ऐसे कामों को करने की कैपेसिटी प्रदान की जाती है, जो इंसानों के लिए मैन्युअल रूप से करना या तो मुश्किल होता है या फिर असंभव होता है।
एल्गोरिथम का इस्तेमाल अलग-अलग फील्ड जैसे की गणित, कंप्यूटर साइंस, इंजीनियरिंग, फाइनेंस और दूसरी प्रक्रियाओं को अनुकूल बनाने के लिए, डाटा का एनालिसिस करने के लिए, प्रेडिक्शन करने के लिए और प्रॉब्लम का सलूशन प्रदान करने के लिए होता है।
एल्गोरिथम के गुण
Algorithm के कुछ प्रमुख गुण निम्नानुसार है।
- निश्चित समय पूरा हो जाने के पश्चात एल्गोरिथम को खत्म कर देना चाहिए।
- मिनिमम एक आउटपुट तो एल्गोरिथम को प्रदान करना ही चाहिए।
- एल्गोरिथम को जीरो अथवा इससे ज्यादा इनपुट लेना चाहिए।
- Algorithm एक ही इनपुट के मैटर के लिए समान आउटपुट देने वाला होना चाहिए।
- एल्गोरिथम का सभी स्टेप प्रभावी होना चाहिए अर्थात हर स्टेप में कुछ काम होना चाहिए।
Algorithm के फायदे
आइए आगे जानते हैं कि आखिर Algorithm के फायदे अर्थात Algorithm के एडवांटेज क्या होते हैं।
- Algorithm में डीबगिंग करना बहुत ही आसान होता है।
- इसकी सहायता के द्वारा बड़ी से बड़ी प्रॉब्लम को छोटी प्रॉब्लम में डिवाइड किया जा सकता है।
- यह प्रोग्राम के ब्लूप्रिंट के तौर पर काम करता है। इसलिए काफी आसानी से प्रोग्राम को लिखा जा सकता है।
- Algorithm का सबसे बड़ा फायदा यह होता है कि इसे समझना बहुत ही सरल होता है।
- Algorithm किसी प्रॉब्लम को सॉल्व करने में सहायक साबित होता है।
- बता दें कि Algorithm को रियल प्रोग्राम में कन्वर्ट करना बहुत ही सरल होता है।
- किसी भी प्रॉब्लम को स्टेप बाय स्टेप सॉल्व करने में एल्गोरिथम में बहुत ही काम का साबित होता है।
- एल्गोरिथम किसी भी प्रोग्रामिंग लैंग्वेज पर आधारित नहीं होता है। इसलिए अधिकतर प्रोग्रामिंग लैंग्वेज के साथ इसका इस्तेमाल किया जा सकता है।
Algorithm के नुकसान
Algorithm के प्रमुख डिसएडवांटेज की जानकारी आगे आपको दी गई है।
- जो बड़े Algorithm होते हैं वह बहुत ही जटिल अर्थात कॉन्प्लेक्स होते हैं।
- एल्गोरिथम में while loop, for loop इत्यादि को दिखाना थोड़ा सा मुश्किल होता है।
- एक एल्गोरिथम का निर्माण करने में अर्थात Algorithm को लिखने में काफी अधिक समय की आवश्यकता होती है।
Algorithm की खोज किसने और कब की?
अगर Algorithm के हिस्ट्री के बारे में चर्चा की जाए तो इसकी हिस्ट्री तो काफी अधिक बडी है परंतु वास्तविक तौर पर Algorithm शब्द का परिचय 9वी शताब्दी के आसपास में हुआ। नवी शताब्दी के आसपास में फारसी के एक बहुत ही प्रसिद्ध गणितज्ञ थे, जिनका नाम अबू अब्दुल्ला मोहम्मद इब्न मूसा अल ख्वारिज्मी था।
इन्हीं के द्वारा ही अलगोरिदम जैसे शब्द को दुनिया के सामने प्रस्तुत करने का काम किया गया था। अबू अब्दुल्ला मोहम्मद इब्न मूसा अल ख्वारिज्मी को वर्तमान के समय में फादर ऑफ अलजेब्रा के तौर पर पढ़ाया जाता है अर्थात इन्हें बीज गणित के जनक के नाम से भी जाना पहचाना जाता है।
इसी प्रकार के हमारे भारत देश में भी पैदा हुए ब्रह्मगुप्त नाम के एक महान खगोल शास्त्री और गणितज्ञ के द्वारा एल्गोरिथम शब्द का प्रयोग किया गया था।
इस प्रकार से जैसे-जैसे समय गुजरता गया वैसे-वैसे 18वीं शताब्दी भी आ गई। 18वी शताब्दी में उपरोक्त शब्दों को मॉडर्न शब्द बना दिया गया। वर्तमान के समय में एल्गोरिथम का इस्तेमाल डाटा प्रोसेसिंग, कैलकुलेशन और प्रोग्रामिंग जैसे कई क्षेत्रों में किया जा रहा है। आज के समय में एल्गोरिथम का इस्तेमाल दैनिक जीवन में आने वाली विभिन्न प्रकार की प्रॉब्लम को सॉल्व करने में काफी बड़े पैमाने पर किया जा रहा है।
एल्गोरिथम कैसे लिखे?
कंप्यूटर में Algorithm लिखने के बहुत सारे तरीके हैं। नीचे हम आपको 3 अंकों का औसत निकालने के तरीके के द्वारा Algorithm लिखने का तरीका बता रहे हैं।
1: सबसे पहले आपको अपने कंप्यूटर में कैलकुलेटर को ओपन कर लेना है।
2: अब आपको तीन अंक लिखना है जैसे कि, (A + B + C)
3: अब आपको एक फार्मूले का इस्तेमाल करते हुए औसत की कैलकुलेशन करनी है, जैसे कि,
Average = (A + B + C) / 3
4: अब सबसे आखरी में आपको अवश्य प्राप्त हो जाएगा।
इस प्रकार से Algorithm की प्रक्रिया पूरी हो जाती है और आउटपुट के तौर पर रिजल्ट आपको दिखाई पड़ जाता है।
Algorithm के प्रकार (Types of Algorithm in Hindi)
आइए Algorithm के कुछ प्रमुख प्रकारों के बारे में जानकारी हासिल करते हैं।
Sorting Algorithm
सोर्टिंग की प्रक्रिया के अंतर्गत आवश्यकता के हिसाब से डाटा के एक स्पेशल ग्रुप को एक स्पेशल तरीके से व्यवस्थित किया जा सकता है। ऐसे एल्गोरिथम जो इस फंक्शन को करने में सहायक साबित होते हैं उन्हें सोर्टिंग एल्गोरिथम कहा जाता है। सामान्य तौर पर सोर्टिंग एल्गोरिथम का इस्तेमाल बढ़ते या फिर घटते तरीके से डाटा के ग्रुप को शार्ट करने के लिए किया जाता है।
Hashing Algorithm
जिस प्रकार से सर्चिंग Algorithm काम करता है उसी प्रकार से हैशिंग Algorithm काम करता है। हालांकि सर्चिंग Algorithm में एक स्पेशल बटन आईडी वाला इंडेक्स मौजूद होता है परंतु हैशिंग Algorithm में स्पेशल डाटा को एक बटन प्रदान की जाती है।
Divide and Conquer Algorithm
Divide-and-conquer Algorithm के द्वारा एक प्रॉब्लम को उप प्रॉब्लम में तोड़ा जाता है और उस प्रॉब्लम को सॉल्व करने का काम किया जाता है और आखिरी सलूशन प्राप्त करने के लिए सॉल्यूशन को एक साथ अटैच कर दिया जाता है। Divide-and-conquer Algorithm विभाजित करनाौ सॉल्व करना और मिलाना जैसे चरणों में काम करता है।
Greedy Algorithm
ग्रीडी एल्गोरिथम में सलूशन को पार्ट के द्वारा क्रिएट किया जाता है। इस Algorithm में अगले पार्ट के तात्कालिक फायदे के आधार पर अगले पार्ट का सलूशन बनाया जाता है और जो सलूशन सबसे ज्यादा फायदा देता है, उसे अगले पार्ट के समाधान के तौर पर सिलेक्ट कर लिया जाता है।
Dynamic Programming Algorithm
डायनेमिक प्रोग्रामिंग Algorithm प्रॉब्लम के एक ही हिस्से की पुनरावृति कैलकुलेशन से बचने के लिए पहले से ही सर्च किए गए सॉल्यूशन का इस्तेमाल करने के कांसेप्ट का इस्तेमाल करता है। डायनेमिक प्रोग्रामिंग Algorithm के द्वारा प्रॉब्लम को सब प्रॉब्लम मे डिवाइड किया ज्यादा है और उन्हें सॉल्व किया जाता है।
Brute Force Algorithm
ब्रूट फोर्स Algorithm किसी प्रॉब्लम के लिए सबसे आसान उपाय होता है। यह Algorithm का पहला ऐसा तरीका है जो किसी प्रॉब्लम को देखने के काम में आता है।
Backtracking Algorithm
बैक ट्रेकिंग Algorithm सामान्य तौर पर सभी पॉसिबल सलूशन के बीच सर्च करके सॉल्यूशन का निर्माण करता है। बैक ट्रैकिंग Algorithm का इस्तेमाल करते हुए हम क्राइटेरिया का पालन करते हुए सॉल्यूशन का निर्माण करना जारी रख सकते हैं।
जब भी कोई सलूशन सक्सेस नहीं होता है तो हम वापस से अनसक्सेसफुल पॉइंट पर आ सकते हैं और उसके पश्चात अगले सलूशन का निर्माण कर सकते हैं। इस प्रक्रिया को हम तब तक जारी रखते हैं जब तक कि हमें सलूशन की प्राप्ति नहीं हो जाती है।
Searching Algorithm
सर्चिंग Algorithm ऐसे अलगोरिदम होते हैं जिनका इस्तेमाल किसी स्पेशल डाटा स्ट्रक्चर से एलिमेंट अथवा एलिमेंट के ग्रुप को सर्च करने के लिए किया जाता है। डाटा अथवा डाटा एलिमेंट अपने अप्रोच के हिसाब से अलग-अलग प्रकार के हो सकते हैं।
Randomized Algorithm
उपरोक्त Algorithm मे हमारे द्वारा रेंडम नंबर का इस्तेमाल किया जाता है। इसीलिए यह तुरंत ही फायदा देता है। रेंडम नंबर एक्सपेक्टेड रिजल्ट तय करने में सहायक साबित होता है।
Algorithm के कितने प्रकार होते हैं?
इस्तेमाल के आधार पर Algorithm के बहुत सारे प्रकार होते हैं। नीचे हमने आपको Algorithm के बेसिक प्रकारों के नाम दिए हुए हैं और इनकी विस्तृत जानकारी आपको इसी आर्टिकल में ऊपर दी गई है।
- रिकरसिव एल्गोरिथम
- बैकट्रैकिंग एल्गोरिथम
- ब्रूट फोर्स Algorithm
- ग्रीडी एल्गोरिथम
- Divide-and-conquer Algorithm
- सिंपल रिकरसिव एल्गोरिथम
- रेंडमाईज Algorithm
- ब्रांच एंड बाउंड मेथड
- डायनेमिक प्रोग्रामिंग Algorithm
एल्गोरिथम के 4 प्रकार क्या हैं?
Algorithm के चार प्रकार के नाम Searching Algorithm, Randomized Algorithm, Brute Force Algorithm, Backtracking Algorithm हैं। इसमें से सर्चिंग एल्गोरिथम्स ऐसे Algorithm होते हैं जिसका इस्तेमाल किसी स्पेशल डाटा स्ट्रक्चर से एलिमेंट के ग्रुप को सर्च करने के लिए होता है।
वही Randomized Algorithm मे रेंडम नंबर का इस्तेमाल हमारे द्वारा किया जाता है, तथा ब्रूट फोर्स Algorithm किसी समस्या के लिए सबसे आसान उपाय होता है। इसके अलावा बैकट्रैकिंग एल्गोरिथम के द्वारा सभी पॉसिबल समाधान के बीच सर्चिंग कर के समाधान का निर्माण किया जाता है।
एल्गोरिथम की कोम्प्लेक्सिटी
Algorithm के कंपलेक्सिटी को दो प्रकार से मापा जाता है।
Time Complexity
किसी Algorithm को execute होने में जो टोटल समय लगता है, उसे ही टाइम कंपलेक्सिटी कहा जाता है। Algorithm के टाइम कंपलेक्सिटी को प्रस्तुत करने के लिए Big O notation का इस्तेमाल किया जाता है।
Space Complexity
जब Algorithm के द्वारा किसी समस्या का समाधान करने के दरमियान जो मेमोरी स्पेस की मात्रा को लिया जाता है तो उसे ही स्पेस कंपलेक्सिटी कहा जाता है। इसे Big O (O(n)) notation के द्वारा प्रस्तुत किया जाता है।
Algorithm और फ्लोचार्ट में अंतर?
Algorithm और फ्लोचार्ट में क्या अंतर होता है, आइए जानते हैं।
- किसी प्रॉब्लम को सॉल्व करने की जो प्रक्रिया होती है उसे Algorithm कहा जाता है, वहीं दूसरी तरफ फ्लो चार्ट एक प्रकार का डायग्राम होता है जिसके द्वारा डाटा के फ्लो को दिखाने का काम किया जाता है।
- Algorithm को समझ पाना हर किसी व्यक्ति के बस की बात नहीं होती है परंतु अगर आप थोड़ी सी बुद्धि का इस्तेमाल करते हैं तो आसानी से आप फ्लो चार्ट को समझ सकते हैं।
- Algorithm में शब्दों का इस्तेमाल किया जाता है वहीं दूसरी तरफ फ्लो चार्ट में सिंबल अर्थात निशान का इस्तेमाल किया जाता है।
- Algorithm का डिबग करना बहुत ही आसान होता है परंतु दूसरी तरफ फ्लोचार्ट को डीबग करना थोड़ा सा मुश्किल होता है।
- जहां एक तरफ Algorithm को बनाना थोड़ा सा मुश्किल प्रक्रिया होती है, वहीं दूसरी तरफ फ्लोचार्ट का निर्माण करना बहुत ही सरल होता है।
प्रोग्रामिंग एल्गोरिथम क्या है?
प्रोग्रामिंग Algorithm एक ऐसी प्रक्रिया होती है जिसके द्वारा कंप्यूटर को इस बात की जानकारी दी जाती है कि कंप्यूटर को क्या करना है और उसे किस प्रकार से करना है।
आर्टिकल की शुरुआत में ही हमने आपको यह बता दिया था कि Algorithm लैंग्वेज इंडिपेंडेंट होती है अर्थात कहने का मतलब है कि Algorithm एक ऐसा इंस्ट्रक्शन है जिसे किसी भी लैंग्वेज में आसानी से अप्लाई किया जा सकता है।
आपके द्वारा जब Algorithm को किसी लैंग्वेज में कन्वर्ट किया जाता है तो कंप्यूटर ठीक उसी प्रकार से काम करेगा जिस प्रकार से Algorithm को जिस लैंग्वेज में बदला गया है उस लैंग्वेज के द्वारा कहा जा रहा है।
हालांकि हम आपको यहां पर यह भी बताना चाहते हैं कि प्रोग्रामिंग Algorithm कोई कंप्यूटर कोड नहीं होता है बल्कि यह नॉर्मल अंग्रेजी में लिखा गया इंस्ट्रक्शन अथवा स्टेप होता है। इसलिए इसमें ऐसी चीजें शामिल होती है जो आपके काम को पूरा करने के लिए आवश्यक मानी जाती है।
Algorithm कैसे काम करता है?
Algorithm के काम करने की प्रक्रिया के बारे में बात की जाए तो जिस मशीन में Algorithm का इस्तेमाल किया जाता है उस मशीन के द्वारा सबसे पहले डाटा का इनपुट लिया जाता है और उसके बाद जो डाटा इनपुट के तौर पर लिया गया है उस पर प्रोसेसिंग की कार्यवाही को करने के लिए मशीन के द्वारा Algorithm का इस्तेमाल किया जाता है।
क्योंकि Algorithm में कुछ इंस्ट्रक्शन होते हैं जिनका पालन करते हुए Algorithm के द्वारा डाटा के प्रोसेसिंग की कार्रवाई को किया जाता है। जब डाटा प्रोसेस हो जाता है तो उसके पश्चात मशीन के द्वारा डाटा का आउटपुट दिया जाता है। इस प्रकार से डाटा प्रोसेसिंग में विभिन्न Algorithm का इस्तेमाल होता है।
Algorithm का निर्माण किसी के लिए भी कर सकते हैं। इसमें सबसे पहले इंस्ट्रक्शन को क्रिएट करने की आवश्यकता होती है, क्योंकि पूरा एल्गोरिथम जो इंस्ट्रक्शन बनाए गए हैं उसी पर काम करते हैं। यहां पर उदाहरण के तौर पर आप यूट्यूब के Algorithm को ले सकते हैं।
कई बार यूट्यूब के द्वारा हमारे इंटरेस्ट के हिसाब से विभिन्न शानदार वीडियो लाया जाता रहता है। अगर किसी व्यक्ति के द्वारा यूट्यूब पर वीडियो अपलोड किया जाता है तो यूट्यूब के द्वारा अपलोड किए गए वीडियो को लोगों के सामने प्रस्तुत करने का काम किया जाता है, वही यूट्यूब के द्वारा जो वीडियो आपत्तिजनक होते हैं उन्हें ऑटोमेटिक हटा दिया जाता है। इसके अलावा व्यक्ति के वीडियो अपने आप ही ट्रेंडिंग वीडियो पर चले जाते हैं।
ऐसी बहुत सारी चीजें हैं जो यूट्यूब के Algorithm के निर्माण के दरमियान लिखी गई होती है। इस प्रकार से आप समझ सकते हैं कि यूट्यूब के Algorithm के द्वारा ऑटोमेटिक रूप से सभी चीजों को मैनेज किया जाता है, क्योंकि यह सभी इंस्ट्रक्शन यूट्यूब प्रोग्राम में लिखे गए होते हैं। इसी प्रकार से गूगल, फेसबुक, टि्वटर के भी Algorithm काम करते हैं।
एल्गोरिथम का उपयोग कहाँ होता है?
बड़ी ही सरलता के साथ किसी भी प्रॉब्लम का सलूशन निकालने का सबसे महत्वपूर्ण समाधान Algorithm होता है। Algorithm का इस्तेमाल हर छोटी और बड़ी प्रॉब्लम को सॉल्व करने के लिए किया जाता है।
दूसरे शब्दों में कहा जाए तो Algorithm का इस्तेमाल करते हुए समस्या का समाधान स्टेप बाय स्टेप प्रक्रिया के द्वारा निकाला जा सकता है। मैथमेटिक्स साइंस, कंप्यूटर प्रोग्राम, आर्टिफिशियल इंटेलिजेंस, मेडिकल जैसे फील्ड में Algorithm का इस्तेमाल काफी ज्यादा होता है।
बता देना चाहते हैं कि कंप्यूटर प्रोग्रामिंग मे प्रोग्राम को कोड करने के लिए Algorithm का ही इस्तेमाल किया जाता है। जो लोग प्रोग्रामर होते हैं उन्हें प्रोग्राम लिखने के लिए भी Algorithm लिखना होता है जिसकी वजह से प्रोग्राम लिखने में उनके समय की भी काफी बचत होती है और प्रोग्राम लिखने में बहुत ही कम गलतियां होती है अथवा नहीं होती है।
किसी भी सॉफ्टवेयर में जो समस्याएं आती है उन्हें सॉल्व करने के लिए भी Algorithm का इस्तेमाल होता है। वर्तमान के समय में हमारे द्वारा जिन सोशल मीडिया जैसे कि फेसबुक, टि्वटर, इंस्टाग्राम इत्यादि का इस्तेमाल किया जाता है, वह भी Algorithm के द्वारा ही वर्क करते हैं।
Algorithm का उपयोग क्यों करते हैं?
Algorithm की सहायता से हम किसी भी प्रॉब्लम को सॉल्व करने का स्टेप तैयार करते हैं और फिर उसी स्टेप को फॉलो करते हुए प्रॉब्लम का समाधान निकालने में सफल होते हैं। Algorithm के अंतर्गत किसी भी प्रॉब्लम का सलूशन निकालने के लिए निश्चित चरण होते हैं।
जब तक हम सभी चरणों को स्टेप बाय स्टेप पूरा नहीं करते हैं तब तक हमें समस्या का समाधान प्राप्त नहीं हो पाता है। चरण को पूरा करने के दरमियान बीच में कभी कबार कुछ कंडीशन भी आ जाती है जिसकी वजह से स्टेप में बदलाव भी हो सकते हैं, परंतु यह सभी स्टेप पहले ही तैयार कर लिए जाते हैं।
Algorithm की शब्दावली
Algorithm की शब्दावली के तहत आने वाले कुछ प्रमुख नाम निम्नानुसार है।
इन्सर्ट
आइटम को ऐड करने के लिए इंसर्ट Algorithm का इस्तेमाल होता है।
अपडेट
अपडेट Algorithm का इस्तेमाल तब किया जाता है जब पहले से ही जो आइटम मौजूद है उन्हें अपडेट करने की आवश्यकता होती है।
सर्च
किसी आइटम को सर्च करने के लिए सर्च एल्गोरिथम का इस्तेमाल किया जाता है।
सॉर्ट
किसी आइटम को एक स्पेशल क्रम में सीरीज के हिसाब से करने के लिए शार्ट Algorithm का इस्तेमाल किया जाता है।
डिलीट
आइटम को हटाने के लिए अर्थात आइटम को डिलीट करने के लिए डिलीट Algorithm का इस्तेमाल होता है।
एल्गोरिथम के कारक
Algorithm को लिखने से पहले कुछ बातों का ध्यान रखने की आवश्यकता अवश्य होती है।
कार्यक्षमता (Functionality)
कार्य क्षमता अर्थात फंक्शनैलिटी में विभिन्न प्रकार के स्टेप शामिल होते हैं जो रियल वर्ल्ड की प्रॉब्लम को सॉल्व करते हैं।
मजबूती (Robustness)
यह Algorithm की कैपेसिटी होती है। इसके माध्यम से प्रॉब्लम को सही प्रकार से डिफाइन कर दिया जाता है।
सरलता (Simplicity)
Algorithm को तब समझना बहुत ही आसान होता है जब यह सरल होता है।
प्रतिरूपकता (Modularity)
जो प्रॉब्लम दी गई है उसे छोटे-छोटे स्टेप में डिवाइड करने को ही माड्यूलरिटी कहते हैं।
शुद्धता (Correctness)
अगर जो इनपुट दिया गया है, उससे मन मुताबिक आउटपुट हासिल होता है तो यह इस बात को दर्शाता है कि Algorithm करेक्ट है।
रख-रखाव (Maintainability)
Algorithm में रखरखाव का मतलब यह होता है कि हमें बहुत ही आसान तरीके से Algorithm को लिखना चाहिए, ताकि हमें आगे चलकर के इसमें काफी ज्यादा बदलाव करने की बिल्कुल भी आवश्यकता ना हो।
एक्स्टेंसिबिलिटी (Extensibility)
दूसरे प्रोग्रामर और डिजाइनर भी Algorithm का इस्तेमाल कर सके, इसके लिए Algorithm को एक्सटेंसिबल होना चाहिए।
Algorithm के एप्रोच?
विभिन्न प्रकार के एप्रोच Algorithm को लिखने के होते हैं, जो कि निम्नानुसार है।
ग्रीडी एप्रोच
जितने भी Algorithm है उनमें सबसे आसान और सबसे सरल ग्रीडी एल्गोरिथम होता है। ग्रीडी एल्गोरिथम अप्रोच में फ्यूचर की टेंशन लिए बिना वर्तमान में जो जानकारी उपलब्ध है, उसके आधार पर डिसीजन लिए जाते हैं।
डायनेमिक प्रोग्रामिंग
इसे बॉटम अप अप्रोच कहा जाता है। डायनेमिक प्रोग्रामिंग अप्रोच के अंतर्गत जितनी भी छोटी प्रॉब्लम होती है उन्हें सॉल्व किया जाता है और फिर उसके पश्चात बड़ी प्रॉब्लम का समाधान हासिल करने के लिए उन्हें मैच किया जाता है।
डिवाइड एंड कॉन्कर
Algorithm का divide-and-conquer एप्रोच में जो छोटी प्रॉब्लम होती है उसे सब प्रॉब्लम में डिवाइड कर दिया जाता है और इसके पश्चात उन सब प्रॉब्लम को एक-एक करके सॉल्व करने का प्रयास किया जाता है।
फ्लो चार्ट क्या है?
प्रोग्रामर के द्वारा जब किसी भी प्रोग्राम के लिए Algorithm का निर्माण कर लिया जाता है, तो उसे डायग्राम में प्रजेंट करने के लिए फ्लोचार्ट का निर्माण किया जाता है। प्रोग्राम को डायग्राम के अंदर ही लिखा जाता है ताकि आसानी से यह समझ में आ सके कि आखिर प्रोग्राम कैसे रन करेगा।
फ्लो चार्ट में रैक्टेंगल, स्क्वायर, डायमंड, एरो इत्यादि निशानों का इस्तेमाल किया जाता है। दरअसल इन निसानों से हमें इस बात की जानकारी हासिल होती है कि प्रोग्राम कैसे चल रहा है। काफी ज्यादा टाइम फ्लोचार्ट का निर्माण करने में लगता है।
इसके अलावा सॉफ्टवेयर को बनाने में यह बहुत ही स्लो स्पीड देता है तथा इसे बनाने के बाद इसे प्रोड्यूस करना और इसका मैनेजमेंट करना जटिल होता है।
Sources: (Wikipedia, TechTarget, Geeksforgeeks)
FAQ:
किसी मैथमेटिकल प्रॉब्लम अथवा डाटा को स्टेप बाय स्टेप इस प्रकार से एनालिसिस करना ताकि वह कंप्यूटर के लिए काम का साबित हो सके और कंप्यूटर अवेलेबल डाटा को प्रोग्राम में लेकर मैथमेटिकल प्रॉब्लम का उचित सॉल्यूशन दे सके, Algorithm कहलाता है।
Algorithm और Algorithm के उदाहरण आपको इसी आर्टिकल में दिए गए हैं।
Algorithm का मतलब क्या होता है और Algorithm के कौन से गुण होते हैं, इसकी पूरी जानकारी आर्टिकल में दी गई है।
कंप्यूटर प्रोग्राम को फोटो के तौर में प्रदर्शित करने के लिए फ्लो चार्ट डायग्राम है।
फादर ऑफ अलजेब्रा का नाम अबू अब्दुल्ला मोहम्मद इब्न मूसा अल ख्वारिज्मी
है।
दोस्तों इस आर्टिकल को पढ़ने के बाद अब आपको आपके सवाल Algorithm क्या है? इसका जवाब मिल चुका होगा! इस आर्टिकल को पढ़ने के बाद आप समझ गए होंगे कि Algorithm किस तरह से काम करता है! इस तरह से मैं कहूं तो अब आपको Algorithm के बारे में सारी जानकारी प्राप्त हो गई होगी।
- Artificial Intelligence (AI) क्या है? और कैसे काम करता है?
- प्रोग्रामिंग लैंग्वेज क्या है? इसके प्रकार और कैसे सीखे?
- C Language क्या है और कैसे सीखें? (C Language in Hindi)
इस आर्टिकल को पढ़ने के बाद अगर आप को ऐसा लगे कि आपको आपके सवाल का जवाब मिल गया हो तो आप इस आर्टिकल को अपने सोशल मीडिया में अपने दोस्तों के साथ जरूर शेयर कीजिए।