Algorithm की परिभाषा? एल्गोरिथ्म कितने प्रकार के होते हैं?

दोस्तों Algorithm की परिभाषा? एल्गोरिथ्म कितने प्रकार के होते हैं? :-अगर आप कंप्यूटर से संबंधित पढ़ाई कर रहे है तो आपने Algorithm का नाम जरूर सुना होगा। अब आपके मन में यही सवाल होंगे कि एल्गोरिथम क्या है, Algorithm की परिभाषा क्या है, Algorithm के प्रकार कितने हैं, और एल्गोरिथम के उपयोग क्या है आदि।

ऐल्गोरिथम ‘Series of Steps‘ को कहा जाता है जिससे कोई भी Developers बेहद आसानी से और बिना Error के प्रोग्राम को बना सकते है। उदाहरण के लिए आप चाय बनाने की प्रक्रिया को ले सकते है। मतलब चाय बनाने के लिए Step by Step एक पूरी प्रक्रिया होती है, और अगर आप किसी भी एक स्टेप को छोड़ देते है तो आपकी चाय नही बनेगी।

इसी तरह एल्गोरिथम भी होता है, तो चलिए अब मैं आपको बताता हूं कि Algorithm क्या है और Algorithm कैसे काम करता है आदि।

 

Algorithm की परिभाषा? एल्गोरिथ्म कितने प्रकार के होते हैं?
TEJWIKI.IN

 

Algorithm की परिभाषा क्या है? (What is the definition of Algorithm)

 

Algorithm, निर्देशों (Instructions) का एक सेट है, जो किसी समस्या (Problem) को हल करने की पूरी प्रकिया (Procedure) को परिभाषित करता है। इसका प्रमुख लक्ष्य अपेक्षित परिणाम (expected output) प्राप्त करना है। इसमें कई निरन्तर Steps होते है, जिनके समाप्त होने के बाद ही आउटपुट आता है।

इसे एक कप चाय (Tea) बनाने के उदाहरण से समझा जा सकता है:

स्टेप 1. केतली में पानी भरे
स्टेप 2. पानी को उबाल लें
स्टेप 3. केतली में चायपत्ती डालें
स्टेप 4. कूटकर अदरक डालें.
स्टेप 5. डेढ़ चम्मच चीनी डाले
स्टेप 6. चाय को पकने दे
स्टेप 7. चाय को छाने और कप में डाल दे।

जिस प्रकार एक कप चाय बनाने के लिये हमें उप्पर बताये गए Steps को बारी-बारी से निष्पादित (execute) करना होता है। ठीक उसी प्रकार Programming में किसी प्रकिया (Process) या कार्य (Task) को करने के लिये Algorithm लिखी जाती है, ताकि मनचाहा परिणाम (desired output) प्राप्त हो सके।

इसका उपयोग कई विभिन्न क्षेत्रों में होता है, जिनमे कंप्यूटर साइंस और गणित मुख्य है। उदाहरण के लिए Search Algorithm, ये एक Step By Step प्रकिया है जिसका उपयोग Data structure के भीतर स्टोर वेब-पेज को पुनःप्राप्त करने के लिये किया जाता है।

इसके अलावा Encryption Algorithm, एक गणितीय प्रकिया (Mathematical procedure) है, जिसके उपयोग से किसी डेटा या मैसेज को इनकोड किया जाता है जिससे उसे पढ़ना या समझना मुश्किल है। इस तरह की Algorithm का उपयोग करके डेटा को अनधिकृत उपयोगकर्ताओं की पहुँच से दूर रखा जाता है।

 

 

Algorithm के फाउंडर कौन है? (Who is the founder of Algorithm)

 

इसका एक लंबा इतिहास (History) है, परंतु वास्तविक शब्द “Algorithm” का परिचय पहली बार 9 वीं शताब्दी में हुआ। उस समय के फारसी गणितज्ञ, Abu Abdullah Muhammad ibn Musa Al-Khwarizmi को इसका फाउंडर माना जाता है। इन्हें बीजगणित के जनक (The Father of Algebra) के रूप में भी जाना जाता है।

Persian Mathematician Muhammad ibn Musa al-Khwarizmi
वास्तव में, Brahmagupta के काम पर ही Al-Khwarizmi को बनाया गया था। ब्रह्मगुप्त एक महान भारतीय गणितज्ञ और खगोलशास्त्री थे। इन दोनों महान व्यक्ति को तब प्रख्याति मिली जब Hindi-Arabic numerals का उपयोग करके उनके अंकगणितीय नियमों के Latin अनुवादों को संदर्भित करने के लिये ‘Algorism’ शब्द का इस्तेमाल किया गया था।

इसके बाद 18 वीं शताब्दी के आसपास ‘Algorism’ शब्द आधुनिक “Algorithm” बन गया। अपने आधुनिक रूप में इसका उपयोग Calculation, Data Processing और Programming जैसे क्षेत्रों के अलावा दैनिक जीवन की समस्याओं को हल (Solve) करने के लिये भी बखूबी होता है। तो शब्द एल्गोरिथ्म, वो स्टेप बाइ स्टेप प्रोसेस है, जो किसी समस्या या कार्य को हल करने के लिये बनाई जाती है।

 

Algorithm के गुण (Properties of Algorithm)

 

किसी भी प्रकिया को हम Algorithm नही कह सकते है। बल्कि एल्गोरिथ्म उपयोगी होनी चाहिए यानी उससे समस्या का समाधान निकलना चाहिये। ऐसा होने के लिये, एक एल्गोरिथ्म के कुछ गुण (Properties) होते है। अर्थात इसने नीचे बताये गए निन्म मानदंडों को पूरा करना चाहिए:

1) इनपुट (Input): एक Algorithm में अच्छी तरह से परिभाषित इनपुट (Well-defined Input) होने चाहिए। इनपुट वो डेटा या जानकारी है, जिसे हम आउटपुट प्रदान करने के लिये दर्ज करते है।

2) आउटपुट (Output): इसने आउटपुट का उत्पादन (Produced) करना चाहिए। अर्थात समस्या का सही समाधान (Solution) प्रदान करना चाहिये।

3) स्पष्टता (Unambiguous): लिखा गया प्रत्येक निर्देश (Instruction) या Step स्पष्ट (Clear) होना चाहिये। प्रत्येक Steps के इनपुट/आउटपुट भी स्पष्ट होने चाहिये।

4) सीमाबद्धता (Finiteness): इसका मतलब है, कि एल्गोरिथ्म में लिखे गए Steps एक सीमित संख्या (Finite number) के बाद समाप्त (terminate) होने चाहिये। समाप्त का मतलब है, आपको अपेक्षित आउटपुट मिलना चाहिये ना कि प्रोसेसिंग लूप में चलती रहे।

5) प्रभावशीलता (Effectiveness): Algorithm को व्यवहारिक (Practical) होना चाहिए, ताकि उपलब्ध संसाधनों के साथ निर्देशों को निष्पादित करना सम्भव हो। अर्थात इसमें कोई अनावश्यक निर्देश (Unnecessary Instructions) नही होना चाहिए जो उसे अप्रभावी (Ineffective) बना दे।

6) भाषा स्वतंत्र (Language Independent): निर्देश केवल सरल भाषा मे लिखे होने चाहिए। जिन्हें किसी भी Programming Language में लागू किया जा सके।

 

Algorithm के उदाहरण

Algorithm को लिखने के लिये विभिन्न विधियों का उपयोग किया जाता है। आइये सबसे आसान उदाहरण से इसे समझते है।

Example 1– Calculating the average for 3 numbers.

Algorithm:

Step 1. Start
Step 2. Read 3 numbers A, B, C
Step 3. Calculate the average by the equation
         Average = (A+B+C)/3
Step 4. Display Average
Step 5. Stop

Example 2– Find the largest among three different numbers entered by user.

Algorithm:

Step 1. Start
Step 2. Declare variables a,b and c
Step 3. Read variables a,b and c.
Step 4. If a > b
           If a > c
              Display a is the largest number.
           Else
              Display c is the largest number.
        Else
           If b > c
              Display b is the largest number.
           Else
              Display c is the greatest number.
Step 5. Stop

 

क्या यह एक एल्गोरिथ्म होने के मानदंड (Criteria) को पूरा करता है:

  • एल्गोरिथ्म में इनपुट और आउटपुट को अच्छे से परिभाषित किया गया है।
  • प्रत्येक Step को स्प्ष्ट (clear) और सटीक अर्थ में दर्शाया गया है।
  • Steps की एक सीमित (finite) संख्या है। अर्थात Algorithm एक समय के बाद समाप्त (terminate) होती है।
  • Algorithm एक अपेक्षित आउटपुट का उत्पादन करती है। हमे अंत मे सही परिणाम (correct result) प्राप्त होता है।

 

Algorithm कितने प्रकार के होते है? (How many types of Algorithm are there)

 

हालांकि इसके कई सारे प्रकार है, परन्तु जो सबसे बुनियादी प्रकार है उन्हें नीचे बताया गया है।

  • Simple Recursive Algorithms
  • Backtracking
  • Divide and Conquer
  • Dynamic Programming Algorithm
  • Greedy Algorithms
  • Branch and bound Method
  • Brute Force Algorithms
  • Randomized Algorithms

 

Algorithm का उपयोग कैसे किया जाता है? (How are algorithms used)

 

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. आज के इस आधुनिक युग मे जहां हर चीज डिजिटल हो चुकी है जहां हर चीज जरूरत से ज्यादा तेज हो चुकी है, और हर जगह मशीनरी का प्रयोग किया जा रहा है।यह गति हमारे जीवन का महत्वपूर्ण अंग बन चुकी है, Algorithm की परिभाषा हमारे हर कार्य को जल्दी से करने के लिए मशीनरी का प्रयोग किया जाता है।

8. मशीनरी भी कुछ सिद्धांतो पर कार्य करती है, जिसमे गलती होने स्वाभाविक है।इन गलतियों को ही ठीक करने के लिए Algorithm का उपयोग किया जाता है। गूगल मैप के सर्च इंजन से लेकर फैक्ट्री की मशीनों तक Algorithm कार्य किया जाता है।

 

 

Approaches of Algorithm in Hindi – एल्गोरिथम की एप्रोच

 

एक algorithm को लिखने की बहुत सारीं approaches होती हैं जो कि निम्नलिखित हैं:-

 

Divide and Conquer 

 

इस एप्रोच में, एक problem को छोटे छोटे sub-problems में विभाजित कर लिया जाता है. फिर उसके बाद इन sub-problems को एक एक करके solve किया जाता है.

 

Greedy approach 

 

सभी algorithm approaches में से सबसे सरल और सीधी एप्रोच greedy algorithm है. इस approach में, भविष्य की चिंता किये बिना वर्तमान में उपलब्ध जानकारी के आधार पर निर्णय लिया जाता है.

 

Dynamic programming 

 

dynamic programming एक bottom up approach है,  इसमें हम सभी संभावित छोटी problems को solve करते हैं और फिर बड़ी problems के solution को प्राप्त करने के लिए उन्हें combine करते हैं।

 

FAQs:- Algorithm के बारे में अक्सर पूछे जाने वाले सवाल जवाब :-

 

एल्गोरिदम किसने बनाया?

इस शब्द का प्रयोग सर्वप्रथम 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²) इत्यादि।

 

इन्हे भी जरूर पढ़े 

 

Conclusion

 

तो दोस्तों मुझे उम्मीद है की आपको मेरी यह लेख Algorithm की परिभाषा? एल्गोरिथ्म कितने प्रकार के होते हैं? जरुर पसंद आई होगी. मेरी हमेशा से यही कोशिश रहती है की readers को पूरी जानकारी प्रदान की जाये जिससे उन्हें किसी दुसरे sites या internet में उस article के सन्दर्भ में खोजने की जरुरत ही नहीं है. इससे उनकी समय की बचत भी होगी और एक ही जगह में उन्हें सभी information भी मिल जायेंगे.
यदि आपके मन में इस article को लेकर कोई भी doubts हैं या आप चाहते हैं की इसमें कुछ सुधार होनी चाहिए, तब इसके लिए आप नीचे comments लिख सकते हैं.यदि आपको यह लेख पसंद आया या कुछ सीखने को मिला तब कृपया इस पोस्ट को Social Networks जैसे कि Facebook, Twitter इत्यादि पर share कीजिये.

Leave a Comment