📘 CodingMarble Learn

एल्गोरिदम विश्लेषण: कौन-से इनपुट और कौन-से नतीजे संभव हैं?

एल्गोरिदम का विश्लेषण करने का मतलब है यह समझना कि वह क्या करता है। पहले एक इनपुट के लिए कदम-दर-कदम ट्रेस करते हैं। फिर पूछते हैं: सभी मान्य इनपुट पर कौन-से नतीजे मिल सकते हैं, और कोई नतीजा किस इनपुट से आया? पीछे चलने में कदमों को उल्टे क्रम में पलटते हैं। कुछ नतीजे नामुमकिन होते हैं, और कभी दो इनपुट का नतीजा एक ही होता है।

🎬 कदम-दर-कदम कहानी

  1. एल्गोरिदम कदमों की सूची है। हमारे में दो कदम हैं: पहले 2 से गुणा, फिर 3 जोड़ो। अभी कुछ अंदर नहीं गया।
  2. इनपुट x = 4 डालो। पहले कदम के बाद गेंद 8 बनती है, दूसरे के बाद 11। 11 नतीजा है।
  3. अब x = 5 लो। वही कदम अब 13 देते हैं। एल्गोरिदम वही, इनपुट अलग, नतीजा अलग।
  4. अब 0 से 9 तक हर इनपुट चलाओ। हरे खाने वे सारे नतीजे हैं जो एल्गोरिदम दे सकता है। ये सब विषम संख्याएँ हैं।
  5. नतीजे 11 से पीछे चलो: 3 घटाओ तो 8, फिर आधा करो तो 4। अब 10 आज़माओ: यह नामुमकिन है, क्योंकि 7 को आधा करने पर पूरी संख्या नहीं मिलती।
  6. अब तुम्हारी बारी। स्लाइडर चलाओ, नतीजा देखो और सोचो कि कौन-से खाने कभी हरे नहीं होंगे।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

इनपुट और नतीजे में क्या फ़र्क है?

इनपुट शुरू में अंदर जाता है (नीला डिब्बा)। नतीजा आख़िर में बाहर आता है (हरा खाना)।

क्या अलग इनपुट से नतीजा हमेशा बदलता है?

इस एल्गोरिदम में हाँ: x = 4 का नतीजा 11 है और x = 5 का 13। पर अगर एल्गोरिदम के अंदर विकल्प हो तो दो इनपुट एक नतीजे पर मिल सकते हैं।

सभी संभव नतीजे कैसे पता करें?

हर मान्य इनपुट ट्रेस करो और नतीजे इकट्ठे करो। हरे खाने वही दिखाते हैं। फिर पैटर्न देखो, जैसे सब विषम हैं।

कदम उल्टे क्रम में क्यों पलटते हैं?

जो काम सबसे आख़िर में हुआ, वही सबसे पहले वापस लेना होता है। जैसे पहले मोज़े, फिर जूते पहने; उतारने के लिए पहले जूते उतारो, फिर मोज़े।

अगर पीछे चलने पर भिन्न मिले तो?

तब पूर्ण संख्या इनपुट के लिए वह नतीजा नामुमकिन है। 10 का लाल खाना देखो: 7 ÷ 2 = 3.5।

एल्गोरिदम विश्लेषण क्या है?

एल्गोरिदम (algorithm) कदमों की वह सूची है जो कोई काम हल करती है। एल्गोरिदम का विश्लेषण करने का मतलब है उसे ध्यान से जाँचना: वह क्या करता है और क्या-क्या हो सकता है?

शुरुआत में जो डेटा देते हैं वह इनपुट (input) है। आख़िर में जो निकलता है वह नतीजा (result या आउटपुट) है। एल्गोरिदम क्या करता है यह देखने के लिए उसे ट्रेस (trace) करते हैं: हर कदम हाथ से करो और हर कदम के बाद का मान लिख लो।

इनपुट से नतीजा: एक मामला ट्रेस करना

यह एल्गोरिदम लो: x पढ़ो, 2 से गुणा करो, 3 जोड़ो, नतीजा दो।

  1. इनपुट x = 4
  2. पहले कदम के बाद: 4 × 2 = 8
  3. दूसरे कदम के बाद: 8 + 3 = 11
  4. नतीजा: 11

मानों को छोटी तालिका में लिखो। तालिका से जल्दी पता चलता है कि गड़बड़ कहाँ हुई। अगर एल्गोरिदम में विकल्प है (अगर x 10 से बड़ा है ...), तो लिखो कि तुमने कौन-सी शाखा ली।

सभी संभव नतीजे

अक्सर पूछा जाता है: यह एल्गोरिदम कौन-कौन से नतीजे दे सकता है? पहले देखो कि कौन-से इनपुट मान्य हैं (जैसे 0 से 9 तक की पूरी संख्याएँ)। फिर हर इनपुट ट्रेस करो और नतीजे इकट्ठे करो।

x × 2 + 3 के नतीजे हैं 3, 5, 7, 9 ... 21। सब विषम हैं, क्योंकि x × 2 हमेशा सम होता है और 3 जोड़ने से विषम बन जाता है। इसलिए हर इनपुट आज़माए बिना कह सकते हैं कि सम नतीजा नामुमकिन है। ऐसा पैटर्न पहचानना ही विश्लेषण की असली कला है।

यह नतीजा किस इनपुट से आया? पीछे चलना

नतीजे से इनपुट खोजने के लिए कदमों को उल्टे क्रम में पलटो। आगे के कदम थे × 2, फिर + 3। तो पीछे: पहले − 3, फिर ÷ 2।

नतीजा 11: 11 − 3 = 8, 8 ÷ 2 = 4। इनपुट 4 था। जाँच के लिए फिर आगे चलो: 4 × 2 + 3 = 11। जाँच हमेशा करो।

अगर पीछे चलने पर ऐसी संख्या मिले जो मान्य नहीं है (भिन्न, ऋणात्मक संख्या या सीमा से बाहर), तो वह नतीजा नामुमकिन है। नतीजा 10: 10 − 3 = 7, 7 ÷ 2 = 3.5, पूरी संख्या नहीं, इसलिए नामुमकिन।

जब दो इनपुट का नतीजा एक हो

जिन एल्गोरिदम में विकल्प होता है, उनमें दो अलग इनपुट एक ही नतीजे पर पहुँच सकते हैं। यह लो: अगर n, 10 से बड़ा है तो नतीजा = n − 10, वरना नतीजा = n × 2। इनपुट 2 का नतीजा 4 है। इनपुट 14 का नतीजा भी 4 है। इसलिए सिर्फ़ नतीजा 4 देखकर इनपुट नहीं बता सकते। तुम्हें वे सभी इनपुट लिखने होंगे जो इसे दे सकते हैं।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. एल्गोरिदम: x लो, 2 से गुणा करो, 3 जोड़ो। x = 7 का नतीजा निकालो।

7 × 2 = 14, फिर 14 + 3 = 17। नतीजा 17 है।

2. इसी एल्गोरिदम का नतीजा 21 आया। इनपुट कौन-सा था?

पीछे चलो। 21 − 3 = 18, और 18 ÷ 2 = 9। जाँच: 9 × 2 + 3 = 21। इनपुट 9 था।

3. क्या इसी एल्गोरिदम का नतीजा किसी पूर्ण संख्या इनपुट के लिए 12 हो सकता है?

12 − 3 = 9, और 9 ÷ 2 = 4.5। यह पूरी संख्या नहीं है। इसलिए 12 नामुमकिन है। असल में हर नतीजा विषम होता है, इसलिए कोई सम संख्या संभव नहीं।

4. एल्गोरिदम: अगर n > 10 तो नतीजा = n − 10, वरना नतीजा = n × 2। n = 7 और n = 25 के नतीजे निकालो।

n = 7, 10 से बड़ा नहीं है, इसलिए नतीजा = 7 × 2 = 14। n = 25, 10 से बड़ा है, इसलिए नतीजा = 25 − 10 = 15।

5. पिछले उदाहरण के एल्गोरिदम में वे सभी इनपुट खोजो जिनका नतीजा 4 है।

शाखा 1 (n ≤ 10): n × 2 = 4, तो n = 2। यह ≤ 10 है, इसलिए मान्य। शाखा 2 (n > 10): n − 10 = 4, तो n = 14। यह > 10 है, इसलिए मान्य। इनपुट 2 और 14 हैं।

आम गलतियाँ

अभ्यास क्विज़

1. एल्गोरिदम विश्लेषण में शुरुआत में दिए गए डेटा को क्या कहते हैं?
2. एल्गोरिदम: x × 2, फिर + 3। x = 6 के लिए नतीजा है:
3. नतीजे से इनपुट खोजने के लिए तुम:
4. पूर्ण संख्या x के लिए x × 2 + 3 का कौन-सा नतीजा नामुमकिन है?
5. हर कदम हाथ से करके मान लिखने को क्या कहते हैं?

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

एल्गोरिदम विश्लेषण आसान शब्दों में क्या है?

यह एल्गोरिदम को जाँचकर समझना है कि वह क्या करता है: किसी इनपुट पर क्या नतीजा मिलता है, कौन-से नतीजे संभव हैं और दिया गया नतीजा किस इनपुट से आया।

अगर सिर्फ़ नतीजा पता हो तो इनपुट कैसे खोजें?

पीछे चलो। आख़िरी कदम पहले पलटो और हर बार उल्टी क्रिया करो। फिर जाँच के लिए एल्गोरिदम आगे चलाओ।

यह एल्गोरिदम की जटिलता (complexity) से कैसे अलग है?

यहाँ हम पूछते हैं कि एल्गोरिदम क्या निकालता है (इनपुट और नतीजे)। जटिलता पूछती है कि इनपुट बढ़ने पर कितने कदम लगते हैं। दोनों एल्गोरिदम विश्लेषण का हिस्सा हैं।

पहले यह पढ़ें

आगे पढ़ें

इससे जुड़े पाठ

सभी कंप्यूटर विज्ञान पाठ