साधी बेरीज-वजाबाकी ते क्लिष्ट समीकरणे सोडवण्यासाठी आपण वेगवेगळ्या पद्धती शिकतो. मात्र संगणकाला त्यातील एकूण एक बारकावे स्पष्टपणे सांगणे आवश्यक असते. औपचारिक भाषेत त्या पद्धतीला, रीत म्हणजे ‘अल्गोरिदम’ म्हटले जाते. संगणकाच्या संदर्भात प्रोग्रामिंग अल्गोरिदम म्हणजे प्रश्नाची उकल करण्यासाठी प्रत्येक पायरीवर काय प्रक्रिया करायची हे सविस्तरपणे सांगणे. त्याप्रमाणे दिलेल्या निविष्टीवर (इनपुट) प्रक्रिया करून संगणक निष्पत्ती (आऊटपुट) देतो. अल्गोरिदमची मुख्य वैशिष्टय़े अशी: प्रत्येक पायरी आणि प्रक्रिया नि:संदिग्ध असते, प्रत्येक पायरी पारदर्शक व तर्कशास्त्राधारित असते, प्रत्येक पायरीवर एकमेव उत्तर मिळते, सान्त (फायनाइट) वेळा प्रक्रिया केल्यावर अल्गोरिदम थांबतो, अल्गोरिदम दिलेल्या प्रकारच्या कितीही मोठय़ा प्रमाणातील आधारसामग्रीवर वापरता येतो, आणि तो कुठल्याही एका विशिष्ट संगणकीय भाषेवर अवलंबून नसतो.

या बातमीसह सर्व प्रीमियम कंटेंट वाचण्यासाठी साइन-इन करा

प्रोग्रामिंग अल्गोरिदम्स पुढील प्रक्रिया प्रामुख्याने करतात, विल्हेवारी लावणे (सॉर्टिग), शोध घेणे (सर्चिग), संकीर्णीकरण करणे (हॅशिंग), गतिमान प्रायोजन (डायनॅमिक प्रोग्रामिंग), अक्षर वा अंकमालिका समुचितपणे खंडित करणे (स्ट्रिंग पार्सिग). विल्हेवारी लावण्यासाठी ‘बबल सॉर्टिग’ अशी खास रीतही उपलब्ध आहे. संगणकावर अल्गोरिदम कसा कार्यान्वित करावा यासाठी सोबतच्या आकृतीत दाखवल्याप्रमाणे प्रवाह किंवा प्रक्रियादर्शक तक्ता (फ्लोचार्ट) प्रथम तयार केला जातो. हा तक्ता प्रमाणित (स्टॅण्डर्ड) आकृत्या वापरतो जसे की, वर्तुळ म्हणजे प्रारंभ किंवा समाप्ती, आयत म्हणजे प्रक्रियेचे वर्णन, समभुज चौकोन (रॉम्भस) म्हणजे प्रश्न इत्यादी. त्या सर्वातील संबंध बाणांनी जोडून विशद केले जातात. नंतर या तक्त्यातील प्रत्येक प्रक्रियेला अनुरूप सूचना, निवडलेल्या संगणक भाषेच्या ओळींमध्ये (कोडिंग लाइन्स) लिहून संपूर्ण आज्ञावली (प्रोग्राम) काटेकोरपणे तयार होते.

‘अधाशी’ (ग्रीडी) अल्गोरिदम हा आणखी एक महत्त्वाचा प्रकार आहे. यात अधिक पुढचा विचार न करता लगेच जी गोष्ट इष्टतम असेल, ती केली जाते. अर्थातच सदर रीत दर वेळी यशस्वी ठरत नाही, पण सहसा वाईट निष्कर्षही देत नाही. कित्येकदा अल्गोरिदमच्या काही पायऱ्यांत सर्व शक्यता तपासणे बराच वेळ घेऊ शकते, तरी त्या सर्व न तपासता यादृच्छिक निवड (रॅण्डम सिलेक्शन) अनेक वेळा करून निर्णय घेण्याची पद्धत वापरली जाते. याला ‘माँटे कार्लो’ अल्गोरिदम असे नाव आहे. प्रत्यक्षात अनेक प्रश्नांसाठी ही रीत प्रभावी ठरते, असा अनुभव आहे.

संगणकशास्त्रात अल्गोरिदमबाबत मोठय़ा प्रमाणात संशोधन होत आहे. उदा. त्यात अल्गोरिदमची संरचना आणि तिची कार्यक्षमता अभ्यासली जाते. तसेच उद्भवणारे संभाव्य स्थूलांकन दोष (राऊंडिंग एरर) संख्यात्मक विश्लेषण (न्यूमरिकल अ‍ॅनेलेसिस) या गणिती शाखेमार्फत तपासले जातात.

– डॉ. विवेक पाटकर

मराठी विज्ञान परिषद,

वि. ना. पुरव मार्ग,  चुनाभट्टी,  मुंबई २२ 

office@mavipamumbai.org

मराठीतील सर्व नवनीत बातम्या वाचा. मराठी ताज्या बातम्या (Latest Marathi News) वाचण्यासाठी डाउनलोड करा लोकसत्ताचं Marathi News App.
Web Title: Algorithm in computer programming zws
First published on: 27-10-2021 at 01:07 IST