Algorithm Kya Hai : अगर आप कंप्यूटर से संबंधित पढ़ाई कर रहे है तो आपने Algorithm का नाम जरूर सुना होगा। अब आपके मन में यही सवाल होंगे कि एल्गोरिथम क्या है, Algorithm की परिभाषा क्या है, Algorithm के प्रकार कितने हैं, और एल्गोरिथम के उपयोग क्या है आदि।
ऐल्गोरिथम ‘Series of Steps‘ को कहा जाता है जिससे कोई भी Developers बेहद आसानी से और बिना Error के प्रोग्राम को बना सकते है। उदाहरण के लिए आप चाय बनाने की प्रक्रिया को ले सकते है। मतलब चाय बनाने के लिए Step by Step एक पूरी प्रक्रिया होती है, और अगर आप किसी भी एक स्टेप को छोड़ देते है तो आपकी चाय नही बनेगी।
इसी तरह एल्गोरिथम भी होता है, तो चलिए अब मैं आपको बताता हूं कि Algorithm क्या है और Algorithm कैसे काम करता है आदि।
एल्गोरिथम क्या है – What is of Algorithm in Hindi
हर सुबह जब हम निंद से उठते हैं तो उठने के बाद दैनिक दिनचर्या वाली एक निश्चित प्रक्रिया को फोलो करते है, जैसे उठना, मूंह धोना, कॉलगेट करना, वॉक करना, स्नान करना, चाय पीना, नास्ता करना, और ऑफिस जाना। इसके बाद ऑफिस से घर आना Lunch और Dinner करना और अंत में वापिस सो जाना।
इसी तरह अगर दिनचर्या एक सीरिज में चलती है तो हमें कोई समस्या नही होती है और हमारा स्वास्थ्य भी सही रहता है, लेकिन अगर दिनचर्चा में थोड़ा बहुत बदलाव हो जाए तो इसका असर हमारे ऊपर पड़ता है। और इसी तरह डिजिटल का हर काम एक ऍल्गोरिथम के आधार पर होता है, और अगर ऍल्गोरिथम को फॉलो न किया जाए तो उस काम में कोई न कोई समस्या जरूर आ जाएगी।
यह भी जानिए : डेटा स्ट्रक्चर क्या है ?
Algorithm की परिभाषा (Definition) क्या है?
किसी भी समस्या का समाधान करने के लिए आपको उस समस्या के अलग – अलग steps के रूप में define करना होता है, जो कि एक निश्चित क्रम होते है। और इसे फ़ॉलो किए जाने वाले steps के समूह को ही algorithm कहा जाता है।
Algorithm को प्रोग्रामिंग भाषा मे प्रोग्राम लिखने से पहले बनाया जाता है, जिससे एक बेहतर प्रोग्राम बन सके। इसका प्रयोग किसी भी समस्या के निवारण के लिए किया जाता है। Algorithm किसी भी समस्या का step by step सॉल्व करता है।
एल्गोरिथम क्रमवार स्टेप्स का समूह होता है, जिसकी मदद से कंप्यूटर प्रोग्राम को बनाया जाता है। जब किसी कंप्यूटर प्रोग्राम को बनाया जाता है तो उसमें बहुत सारे स्टेप्स लिखे जाते है। और जब आप उस प्रोग्राम को चलाते है तो आपको उन्हे स्टेप्स को फॉलो करना जूररी होता है, तब आप अपना काम पूरा कर पाएंगे।
मान लिजिए की आपको कंप्यूटर में कोई फोटो देखना है तो आप एक निश्चित प्रक्रिया को फॉलो करेंगे, जैसे CPU और मॉनिटर को चालू करना, कंप्यूटर रिफ्रेश करना, फाइल मैनेजर को ऑपन करना, अपने फॉल्डर को खोलना और फिर फोटो को ऑपन करना। इन Steps को फॉलो किए बिना आप फोटो नही देख सकते है।
यह सारा प्रोग्राम Algorithm पर ही चलता है। और एल्गोरिथम की मदद से ही कंप्यूटर प्रोग्राम को बनाना आसान हो गया है, और प्रोग्राम को इस्तेमाल करना भी आसान हो गया है।
What is algorithm in computer– उदाहरण (Example)
Algorithm (Al-go-rith-um) एक Step by Step प्रक्रिया है, या फिर आप इसे एक फॉर्मुला कह सकते है जो किसी न किसी समस्या को हल करता है। ऍल्गोरिथम एक Procedure होता है जिसमें सीमित नियम
होते है जिन्हे Instruction भी कहा जाता है। इसमें नियमों को एक के बाद एक शृंखला में लिखा जाता है और हर एक नियम किसी न किसी चीज के लिए जरूरी होता है। इन नियमों को फॉलो करने पर समस्या का हल निकलता है।
चलिए इस बात को हम एक एल्गोरिथ्म उदाहरण से समझते है-
मान लिजिए कि आपको एक फोन करना है, और फोन करना एक समस्या है जिसे आप एक निश्चित क्रम अनुसार प्रक्रिया को फॉलो करके हल कर सकते है। जैसे-
- सबसे पहले आपको अपने फोन का लॉक खोलना होगा।
- अब आपको अपनी contacts की लिस्ट में जाना होगा, या फिर सामने वाले व्यक्ति के नंबर को टाइप करना होगा।
- Contact सेलेक्ट करने या नंबर टाइप करने के बाद आपको call dial करना होगा।
- अगर आपके फोन में दो सिम है तो आपको किसी एक सिम को सेलेक्ट करना होगा।
- अब डायल की रिंग जाएगी, और रिंग तब तक चलेगी जब तक कोई रिसीवर के फोन उठा न ले।
- अब आप अपने Contact Person से बातचीत कर सकते है।
इस प्रकार आप सभी steps को follow करके एक फोन कॉल कर पाएंगे, लेकिन यदि आप इनमे से किसी भी एक step को फ़ॉलो नही करते है, तो आप जिस व्यक्ति से बात करना चाहते हो, आप उससे बात नही कर पाओगे। यानि समस्या का समाधान नही मिलेगा।
Algorithm की खोज़ कैसे हुई
Algorithm का इतिहास बहुत बड़ा है, हालांकि इस शब्द का वास्तविक परिचय पहली बार 9 वीं शताब्दी में हुआ था। उस समय में फारसी के एक गणितज्ञ थे, जिनका नाम “अबू अब्दुल्ला मुहम्मद इब्न मूसा अल-ख्वारिज्म” था। इन्होने ने ही Algorithm शब्द को दुनिया के सामने लाया था।
आज इन्हे (The Father of Algebra) बीज गणित के जनक के नाम से भी जाना जाता है। इसी तरह ब्रह्मगुप्त भी एक महान भारतीय गणितज्ञ और खगोलशास्त्री थे। इन दोनो महान व्यक्तियों ने अंकगणितीय नियमों के लैटिन अनुवाद के लिए “Algorithm” शब्द का प्रयोग किया था, और इसीलिए दोनो ने ही पूरी दुनिया में प्रख्याति को हासिल किया।
इसके बाद लगभग 18 वीं शताब्दी में ऍल्गोरिथम शब्द को आधुनिक शब्द बना दिया। आज के आधुनिक समय में एल्गोरिथम का उपयोग Calculation, Data Processing और Programming जैसे अनेक क्षैत्रों में किया जाता है। यह आधुनिक एल्गोरिथम दैनिक जीवन की समस्याओं को हल करने में काफी मददगार है।
एल्गोरिथ्म के गुण क्या हैं (Properties of Algorithm)
किसी भी प्रक्रिया को मैं और आप ऍल्गोरिथम नही कह सकते है। क्योंकि ऍल्गोरिथम समस्या का समाधान करता है। और समस्या का समाधान करने के लिए ऍल्गोरिथम के कुछ गुण होने जरूरी है, जैसे-
#1. सीमाबद्धता (Finiteness)
इस गुण का मतलब है कि ऍल्गोरिथम में लिखे गए स्टेप्स सीमित संख्या में होने होने चाहिए, और फिर इसके बाद प्रक्रिया समाप्त हो जानी चाहिए। एक एल्गोरिथम जितने कम steps में अपना काम कर देती है, वह उतनी ही अच्छी होती है, उसमे गिनती के steps होते हैं। प्रक्रिया के समाप्त होने पर आपके इनपुट का जवाब आउटपुट में मिल जाता है।
#2. सटीक रूप से परिभाषित (Precisely defined)
Algorithm का हर एक step स्पष्ट रूप से निर्दिष्ट होता है, जिसे आसानी से पढ़ा जा सकता है। और इसी गुण की वजह से कोई भी डेवलपर बड़ी आसानी से प्रोग्राम को बना सकता है। और साथ ही यूजर भी उस प्रोग्राम को आसानी से इस्तेमाल कर सकता है।
#3. इनपुट (Input)
ऍल्गोरिथम की प्रक्रिया को शुरू करने के लिए एक अच्छी तरह से परिभाषित इनपुट (Well-defined Input) होना चाहिए। इनपुट एक तरह का डेटा होता है जो एल्गोरिथम की प्रक्रियो को शुरू करने का निर्देश देता है।
#4. आउट पुट (Output)
Algorithm एक अच्छे input के साथ शुरू होने के बाद अंत में समस्या का समाधान करते हुए आपको output देता है। मतलब आपकी समस्या का हल देता है। जैसे किसी को फोन लगाने के लिए जो नंबर डाले जाते है, वह इनपुट होता है, लेकिन जब हम किसी से बात करते है, यह आउटपुट होता है।
#5. प्रभावशाली (Effectiveness)
Algorithm को हमेशा प्रोब्लम को हल करने वाला होना चाहिए। मतलब एल्गोरिथम में कोई भी अनावस्यक निर्देश नह होने चाहिए जो उसे अप्रभावी बना दे।
#6. स्पष्टता (Unambiguous)
Algorithm सही और स्पष्ट होना बहुत जरूरी है, जिससे उसकी हर लाइन का कुछ न कुछ अर्थ जरूर निकले। मतलब इसमें प्रत्येक इनपुट या आउटपुट स्पष्ट होना चाहिए।
#7.भाषा स्वतंत्र (Language Independent)
जब किसी कंप्यूटर प्रोग्राम को बनाया जाता है तो उसे बनाने के लिए केवल सरल भाषा का प्रयोग होना चाहिए, जिन्हे किसी भी Programming Language में लागू किया जा सके।
Algorithm के क्या क्या उपयोग हैं (Importance)
Algorithm का उपयोग आजकल हर जगह किया जाता है व किसी भी समस्या का समाधान step by step निकाला जाता है। इसका उपयोग ज्यादातर companies, industries और programming में किया जाता है।
इसके कुछ उपयोग निम्नलिखित हैं
Algorithm का उपयोग ज्यादातर mathematical problems solve करने के लिए किया जाता है जैसे –
1. Google व Facebook का Search Engine Algorithm के अनुसार ही सारा काम किया जाता है।
2. फेसबुक में like, Google map Shortest Path, Rating, Searching आदि सब कुछ Algorithm पर ही होता है।
3. Computer scientist और computer engineers भी इसका use करते है, उन्हे काम करने में समय की बचत होती है और कम मेहनत में पूरा काम हो जाता है।
4. गलतियां न हो इसलिए flow chart बनाने से पहले एक सही Algorithm का उपयोग किया जाता है। कई सारी फील्ड जैसे कि Robotic Space Research, Artificial Intelligence में इसका उपयोग मुख्य रूप से किया जाता है।
5. Program लिखने से पहले प्रोग्रामिंग में Algorithm का उपयोग किया जाता है, अगर आप कोई भी प्रोग्राम बनाते है तो आपको उसमे कई गलतियां देखने को मिलती है, जो Algorithm द्वारा सुधार दी जाती है।
6. इसका उपयोग Mathematical Problem को हल करने के लिए भी किया जाता है, जैसे A, B और C अंको का औसत निकालना है तो ऍल्गोरिथम ऑटोमेटिक इन निश्चित प्रक्रिया को फॉलो करके एक सुत्र की मदद से औसत निकालेगा, मतलब (A + B + C) / 3 के फॉर्मुले से औसत निकलेगा।
7. आज के इस आधुनिक युग मे जहां हर चीज डिजिटल हो चुकी है जहां हर चीज जरूरत से ज्यादा तेज हो चुकी है, और हर जगह मशीनरी का प्रयोग किया जा रहा है।यह गति हमारे जीवन का महत्वपूर्ण अंग बन चुकी है, हमारे हर कार्य को जल्दी से करने के लिए मशीनरी का प्रयोग किया जाता है।
8. मशीनरी भी कुछ सिद्धांतो पर कार्य करती है, जिसमे गलती होने स्वाभाविक है।इन गलतियों को ही ठीक करने के लिए Algorithm का उपयोग किया जाता है। गूगल मैप के सर्च इंजन से लेकर फैक्ट्री की मशीनों तक Algorithm कार्य किया जाता है।
एल्गोरिथम को कैसे लिखे इन कंप्यूटर
ऍल्गोरिथम को कंप्यूटर में लिखने के अनेक तरीके है, तो आइए मैं आपको एक उदाहरण से बताता हूं।
उदाहरण : – 3 अंकों का औसत निकालना
इसके लिए निम्न प्रकार का ऍल्गोरिथम होगा-
- Step 1. कैलकुलेटर को खोले।
- Step 2. तीनों अंक (A + B + C) को लिखा जाता है।
- Step 3. एक फॉर्मुले के द्वारा औसत की गणना करना, जैसे Average = (A + B + C) / 3
- Step 4. अब औसत दिखाया जाएगा।
- Step 5. अंत में एल्गोरिथम की प्रक्रिया समाप्त हो जाएगी और रिजल्ट आउटपुट के रूप में दिखाई देगा।
एल्गोरिथ्म के कितने प्रकार होते हैं (Types of Algorithm)
ऍल्गोरिथ्म के उपयोग के आधार पर कई सारे प्रकार हैं। इसलिए मैने यहां सबसे बुनियादी प्रकारों के बारे में नीचे बताया गया है। जैसे-
- Recursive Algorithm
- Backtracking Algorithm
- Brute Force Algorithms
- Greedy Algorithms
- Divide and Conquer Algorithm
- Simple Recursive Algorithms
- Randomized Algorithms
- Branch and bound Method
- Dynamic Programming Algorithm
Advantages of Algorithm in Hindi
वाकई मे अगर आप प्रोग्रामिंग सिख रहे हैं तो एल्गोरिथम आपके लिए बहुत ही आवश्यक हैं क्योंकि इसके कई सारे फायदे हैं जो की निम्नलिखित है –
- एल्गोरिथम को समझना और इस्तेमाल करना आसान है।
- यह किसी समस्या को हल करने में मदद करता है।
- किसी भी एल्गोरिथम को वास्तविक प्रोग्राम में बदलना आसान है।
- एल्गोरीथम किसी भी समस्या को क्रमवार हल करता है।
- यह किसी भी प्रकार की प्रोग्रामिंग भाषा पर निर्भर नही करता है।
- इसमें डेवलपर के लिए Debugging करना आसान होता है।
- एल्गोरिथम की मदद से हम किसी भी बड़ी प्रोब्लम को छोटी प्रोब्लम में विभाजित किया जा सकता है।
- इसमें प्रोग्राम को लिखना आसान है, क्योंकि यह एक ब्लूप्रिंट की तरह कार्य करता है।
Disadvantages of algorithm in Hindi
एल्गोरिथम के जिस तरह फायदे हैं उसी तरह इसके कुछ नुकसान भी हैं लेकिन फ़ायदे के मुकाबले नुकसान बहुत ही कम हैं –
- किसी भी एल्गोरिथ्म को लिखने में काफी समय लगता है।
- बड़े बड़े Algorithm काफी ज्यादा जटिल होते हैं।
- एल्गोरिथम में loop स्टेटमेंट जैसे कि – while loop, for loop आदि को दिखाना मुश्किल होता है।
FAQs (अक्सर पूछे जाने वाले सवाल)
इस आर्टिकल में, मैने आपको Algorithm के बारे बाताय है, तो चलिए अब मैं आपको Algorithm से जुड़े कुछ आवश्यक FAQs के बारे में बताया हूं।
इस शब्द का प्रयोग सर्वप्रथम 9 वीं शताब्दी में “अबू अब्दुल्ला मुहम्मद इब्न मूसा अल-ख्वारिज्म” ने किया था। इसके अलावा भारतीय महान गणितज्ञ और खगोलशास्त्री “ब्रह्मगुप्त” ने भी इस शब्द का प्रयोग अपनी बजगणित में किया।
ये दोनों ही अलग-अलग होते हैं, मतलब एल्गोरिथम किसी भी समस्या को हल करने की एक प्रक्रिया होती है। किसी भी एल्गोरिथम को समझना कठिन होता है, जिसमें टेक्स्ट का इस्तेमाल होता है। इसें Debug करा आसान होता है, हालांकि इसे बनाना मुश्किल होता है।
दूसरी तरफ अगर फ्लोचार्ट की बात करूं तो यह एक डायग्राम होता है जो डाटा का Flow दर्शाता है। किसी भी फ्लोचार्ट को समझना और बनाना आसान होता है, हालांकि इसमें Debug करना मुश्किल होता है। इसके अलावा इसमें Text के साथ Symbols का भी इस्तेमाल होता है।
गणितीय रूप के एल्गोरिथम को हल करने के लिए सूत्र का प्रयोग किया जाता है। और यह सुत्र बहुत सारे होते है, जिन्हे बीज गणितीय सूत्र कहा जाता है। अगर आपने 8, 9 और 10 कक्षाएं पढ़ी है तो आपने बीज गणितीय सूत्रों के बारे अवश्य पढ़ा होगा। जैसे –
(a-b)² = a²-2ab+b²
(a+b)² = a²+2ab+b²
(a-b)² = (a+b)²-4ab
(a+b)² + (a-b)² = 2(a²+b²) इत्यादि।
निष्कर्ष
इस आर्टिकल में, मैने आपको एल्गोरिथम के बारे बहुत सारी आवश्यक जानकारियां दी है जो आपके लिए काफी ज्यादा फायदेमंद रहेगी। यहां पर मैने आपको एल्गोरिथम क्या है, Algorithm की परिभाषा क्या है, Algorithm के प्रकार कितने हैं, और एल्गोरिथम के उपयोग क्या है, इत्यादि के बारे में बताया हैं।
इस लेख के माध्यम से दी गई जानकारी को पढ़कर आप सभी लोगों को कैसा लगा हमें Comment मे लिखकर जरूर बताएं और इस लेख को Twitter, Facebook जैसे Social Platform पर भी अवश्य शेयर कीजिए।
Your way of teaching is awesome
Thanks
My new knowledge.
Very Glad to read such a meaningful and understanding knowledge whatever I need to explore myself. Thanks a lot
Suresh Kumar.