Spread the love

प्रोब्लम सोल्विंग, डाटा इन्टरप्रेटेशन, डाटा एफिशिएन्सी, सूचना प्रोद्यौगिकी के क्षेत्र में मुख्य विकास।

प्रोब्लम सोल्विंग (Problem Solving)

प्रोब्लम सोल्विंग का प्रयोग किसी निर्धारित समस्या के समाधान हेतु एक निश्चित क्रम में जेनेरिक तथा एड-हॉक विधियों के द्वारा किया जाता है। यह एक क्रमिक प्रक्रिया है जिसके अन्तर्गत दी गई । समस्या के समाधान हेतु सूचनाओं का विश्लेषण कर आवश्यक विकल्प ढूंढे जाते हैं।

किसी भी समस्या के समाधान हेतु निम्नलिखित 6 चरणों को प्रयोग में लिया जाता है

1. समस्या को समझना।

2. एक मॉडल का विकास करना।

3. एक एल्गोरिथ्म का विकास करना।

 4. प्रोग्राम लिखना।

5. प्रोग्राम का निरीक्षण करना।

6. समाधान का निष्पादन करना।

इस विधि को समझने हेतु हम एक साधारण उदाहरण का प्रयोग करते हैं

उदाहरण एक कक्षा के सभी विद्यार्थियों की औसत ग्रेड की गणना करना।

1. इनपुट – सभी ग्रेड्स को एकत्रित करें।

2. प्रोसेस – सभी का जोड़ प्राप्त कर, औसत ग्रेड्स की गणना करें।

3. आउटपुट – प्राप्त परिणाम को मॉनीटर, प्रिंटर अथवा किसी संग्रहण माध्यम में पहुंचाएं।

इस प्रकार हमने देखा कि किसी समस्या को उक्त तीन चरणों के माध्यम से आसानी से सुलझाया जा सकता हैं

पूर्व में बताये गये 6 चरणों का विश्लेषण अग्र प्रकार है

1. समस्या को समझना – इसके अन्तर्गत जिस समस्या का समाधान ढूंढा जा रहा है उस समस्या को समझना आवश्यक है। अर्थात् हमें पूर्णतया पता होना चाहिए कि हमारी समस्या क्या है इसके लिये हमें निम्न बातें का पता लगाना होगा

  • समस्या से संबंधित कौनसे आंकड़े/सूचनाएं उपलब्ध हैं?
  • ये किसका निरूपण करते हैं?
  • इनका प्रारूप क्या है?
  • क्या उपलब्ध सूचना में अभी भी कुछ तथ्य छूट रहे हैं?
  • क्या समस्या के समाधान हेतु हमें पूर्ण जानकारी प्राप्त हो चुकी है?
  • हम क्या परिणाम निकालने का प्रयास कर रहे हैं?
  • हमारा परिणाम किस प्रकार का होगा। अर्थात् लिखित स्वरूप, चित्र अथवा ग्राफ इत्यादि ?
  •  हमें क्या-क्या गणनाएं सम्पन्न करनी हैं?

पूर्व में लिये गए उदाहरण में हमें मालूम है कि हमारे पास सूचना के रूप में कई सारे ग्रेड्स का एकत्रिकरण है। किन्तु हमें इसका प्रारूप मालूम करना होगा कि यह ग्रेड्स संख्यात्मक प्रारूप (0 से 100) में होगी अथवा वर्णमाला के अक्षर (A, B, C…) होंगे। इसी प्रकार यदि ये संख्याएं होंगी तो क्या पूर्ण संख्या होगी अथवा वास्तविक संख्याएं होंगी। हमें यह भी पता लगाना होगा कि क्या कुछ ग्रेड्स गणना के समय छूट तो नहीं रही है। इसी प्रकार यह भी देखना होगा कि क्या सभी ग्रेड्स को गणना में सम्मिलित करना आवश्यक है अथवा कुछ ग्रेड्स को गणना से पृथक किया जा सकता है। जैसे जिन विद्यार्थियों की ग्रेड शून्य है, उन्हें गणना में सम्मिलित करने को आवश्यकता नहीं होगी।

इसके पश्चात् हमें देखना होगा कि हमारा परिणाम किस प्रारूप में प्रदर्शित किया जाए। अर्थात् पूर्ण संख्या, वास्तविक संख्या अथवा वर्णाक्षरों में इसके पश्चात् अब हमें देखना होगा कि उपलब्ध आंकड़ों से परिणाम प्राप्त करने के लिए किस प्रकार की प्रक्रिया का प्रयोग किया जाये। यह अगले चरण के अन्तर्गत बताया गया है।

2. मॉडल का विकास करना – अब हमें समस्या के क्रियान्वयन पक्ष को समझना होगा। एक बड़ी समस्या को छोटी-छोटी समस्याओं में बांट कर प्रोसेस करना अपेक्षाकृत अधिक सरल होता है। इसके द्वारा सरल गणनाओं के माध्यम से समस्या का समाधान निकाला जा सकता है। हमारे उदाहरण में हम ग्रेड्स का औसत प्राप्त करने जा रहे हैं। इस हेतु हमें ग्रेड्स का औसत प्राप्त करने का सूत्र पता होना आवश्यक है। यदि ऐसा कोई सूत्र उपलब्ध नहीं है तो हमें इसका निर्माण करना होगा। इसके लिये हमें समस्या एवं उपलब्ण सूचना को समझना होगा। हम यह मानकर चलते हैं कि हमारी समस्त ग्रेड्स पूर्ण संख्या के रूप में उपलब्ध है। अब इनका औसत निकालने के लिये हम निम्र सूत्र का प्रयोग कर सकते हैं

Averagel = (x1 + x2 + x3 + … + xn) / n
इससे प्राप्त परिणाम 0 से 100 के मध्य एक संख्या होगी।

3. एक एल्गोरिथ्म का विकास करना – अब हम समस्या को समझ चुके हैं तथा इसके समाधान हेतु हमारे पास सूत्र हैं। अब हमें यह देखना होगा कि कम्प्यूटर द्वारा इसका निष्पादन किस प्रकार करवाना है।

इस हेतु प्रथमतया एक एल्गोरिथ्म का निर्माण किया जायेगा। एल्गोरिथ्म किसी समस्या के समाधान हेतु निर्धारित क्रम में प्रयोग की गई सूचनाओं का समूह है।

हमारे उदाहरण के अन्तर्गत ग्रेड्स का औसत प्राप्त करने हेतु जिस एल्गोरिथम का निर्माण किया जायेगा, वह अग्र प्रारूप में हो सकता है

Algorithm: DisplayGrades

1. set the sum of the grade values to 0.
2. load all grades x1 … xn from file.
3. repeat n times
{
4. get grade xi
5. add xi to the sum
}
6. compute the average to be sum / n.
7. print the average.

4. प्रोग्राम लिखना – अब हमारे पास समस्य समाधान हेतु साधारण भाषा में समझे जा सकने वाला चरणबद्ध एल्गोरिथ्म है। अब हमें इस एल्गोरिथ्म से प्राप्त विधि को कम्प्यूटर द्वारा समझी जा सकने वाली प्रोग्रामिंग भाषा में लिखना होगा। प्रोग्राम को लिखना साधारणतया कोड लिखना अथवा एल्गोरिथ्म का निष्पादन कहलात है। उपरोक्त एल्गोरिथ्म हेतु लिखा जाने वाला कम्प्यूटर प्रोग्राम निम्न प्रकार हो सकता है

Processing code (i.e., program)
int sum = 0;
byte [] x load Bytes(“numbers”);
for (int i=0; i<x.length; i++)
sum = sum + x[i];
int avg = sum / x.length;
print(avg);

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

5. प्रोग्राम का निरीक्षण करना – एक बार जब लिखा गया प्रोग्राम कम्पाइल हो जाता है, तो हमें यह देखना होता है कि समस्या के जिस समाधान हेतु यह प्रोग्राम लिखा गया है क्या हमें वह समाधान सही रूप में प्राप्त हो रहा है। इस हेतु प्रोग्राम को कम्पाईल करने के पश्चात् इसे रन किया जाता है।

रनिंग वह प्रक्रिया है इसके अन्तर्गत कम्पाईल की गई सभी सूचनाओं के निष्पादन हेतु कम्प्यूटर को निर्देशित किया जाता है।

जब हम प्रोग्राम को रन करते हैं, तो यह हमें परिणाम प्रदर्शित करता है। संभव है कि परिणाम का कुछ भाग सही हो तथा कुछ गलत। इसका कारण प्रोग्राम लिखते समय एल्गोरिथ्म के चरणों का कम्प्यूटर प्रोग्रामिंग भाषा में सही प्रकार से लिपिबद्ध नहीं किया जाना हो सकता है। अतः हमें एल्गोरिथ्म के चरणों को देखते हुए प्रोग्राम में हुई त्रुटियों को दूर करना होगा तथा इसके लिये जब तक कि हमें सही परिणाम प्राप्त नहीं हो जाता जब तक कम्पाईल तथा रन प्रक्रिया को बार-बार दोहराना होगा।

6. समाधान का निष्पादन करना – जब हम यह प्रतीत हो कि उपरोक्त चरणों के निष्पादन से प्राप्त परिणाम सही है, तो हमें एक बार पुनः वास्तविक समस्या की ओर ध्यान देना होगा तथा यह देखना होगा कि हमारा परिणाम सही प्रारूप में प्रदर्शित हो। जब हम समाधान के निष्पादन से संतुष्ट हो जाते हैं तो हमें वास्तविक परिणाम प्राप्त हो जाता है।

ये भी पढ़े