अल्गोरिद्म

महत्तम समापवर्तक निकालने हेतु यूक्लिड के अल्गोरिद्म का फ्लो चार्ट

मानक अल्गोरिद्म  में वह गुना की संक्रिया संख्या की सबसे छोटी यूनिट यानी इकाई वाले अंक से शुरू करते हैं और फिर बाई और बढ़ते जाते हैं ऐसा इसलिए करते हैं क्योंकि हम सबसे पहले सबसे छोटी मात्रा के समूह यानी इकाई के स्थान पर अंको की मात्रा वाले समूहों को जोड़ते हैं इसके परिणाम को फिर इकाई और दहाई में बांटा जाता है इकाई को तो इकाई के स्थान पर ही रख दिया जाता है मगर दहाई को हासिल के रूप में अलग रख दिया जाता है फिर संख्या के दहाई अंक में गुणक से गुणा करने पर जो परिणाम आता है उसमें हासिल वाले अंक को जोड़ दिया जाता है पूरे अल्गोरिद्म की बुनियाद यही प्रक्रिया है।

गणित, संगणन तथा अन्य विधाओं में किसी कार्य को करने के लिये आवश्यक चरणों के समूह को कलन विधि (अल्गोरिद्म) कहते है। 

कलन विधि को किसी स्पष्ट रूप से पारिभाषित गणनात्मक समस्या का समाधान करने के उपकरण के रूप में भी समझा जा सकता है। उस समस्या का इनपुट और आउटपुट सामान्य भाषा में वर्णित किये गये रहते हैं; इसके समाधान के रूप में कलन विधि, क्रमवार ढंग से बताता है कि यह इन्पुट/आउटपुट सम्बन्ध किस प्रकार से प्राप्त किया जा सकता है।

कुछ उदाहरण : 

१) कुछ संख्यायें बिना किसी क्रम के दी हुई हैं; इन्हें आरोही क्रम में कैसे सजायेंगे? 

२) दो पूर्णांक संख्याएं दी हुई हैं ; उनका महत्तम समापवर्तक कैसे निकालेंगे ?

 कुछ प्रसिद्ध कलनविधियाँ
 युक्लिड की कलनविधि
 फर्मत की कलनविधि
 लुन (Luhn) की कलनविधि
 शॉटन की कलनविधियाँ (algorithms for sorting)
 कम्प्रेशन की कलनविधियाँ (algorithms for compression)
 ट्री-सर्च अल्गोरिद्म (min-max तथा alpha-beta)
 क्रिप्टोग्राफी के अल्गोरिद्म

 इतिहास 
प्राचीन संस्कृत गणित ग्रन्थों में बहुत से अलगोरिद्म श्लोक के रूप में दिए गए हैं। उदाहरण के लिए निम्नलिखित कलनविधि धनात्/ऋणात्मक संख्याओं के गुणन/भाजन का नियम बताता है-
 स्वयोरस्वयो स्‍वम् वध: स्वर्णघाते।
 क्षयो भागहारे अपि चैवम् निरुक्तम्॥

अन्वय - स्वयो: (+*+), अस्वयो: (-*-) वध: स्वम् (+) (भवति|) स्व-ऋण-घाते (+*-)
वध: क्षय: (-) (भवति)| भागहारे (/) अपि च एवं निरुक्तम्।

अर्थ : दो धनात्मक या दो ऋणात्मक संख्याओं का गुणनफल धनात्मक होता है। धनात्मक ऋणात्मक संख्याओं का गुणन ऋणात्मक होता है। यही बात भाजन (division) पर भी लागू होती है।

भारतीय गणित और कलनविधि 
भारतीय गणित कलनविधियों से भरा पड़ा है। कलनविधि के साथ-साथ उन कलनविधियों के पीछे स्थित सिद्धान्त तथा उनकी उपपत्तियाँ भी टीका ग्रन्थों में दी गयीं हैं।  आर्यभटीय में किसी संख्या के वर्ग, घन, वर्गमूल तथा घनमूल निकालने की कलनविधियाँ दी गयीं हैं। इसके पहले रचित कुछ ग्रन्थों में भी कुछ कलनविधियाँ विद्यमान हैं (जैसे शुल्बसूत्रों में विभिन्न प्रकार की यज्ञ-वेदियाँ बनाने की विधियाँ दी गयीं हैं। इसी प्रकार कुट्टक, वर्गप्रकृति, चक्रवाल आदि अन्य कलनविधियाँ हैं। Algorithms in Indian Mathematics  (पृष्ट १५३)

निम्नलिखित शुल्बसूत्र में दो वर्गों के क्षेत्रफल के अन्तर के बराबर क्षेत्रफल वाले वर्ग की रचना की विधि दी गयी है-
 चतुरश्राच्चतुरश्रं निर्जिहीर्षन् यावन्निर्जिहीर्षेत्तस्य करण्या वर्षीयसो वृद्ध्रमुल्लिखेत् 
 वृर्धस्य पार्श्वमानीमक्ष्णयेतरत्पार्श्वमुपसंहरेत् सा यत्र निपतेत्तदपच्छिन्द्यात् ॥ २.५  ॥
 (Wishing to deduct a square from a square one should cut off a segment by the side of the square to be removed. One of the lateral sides of the segment is drawn diagonally across to touch the other lateral side. The portion of the side beyond this point should be cut off.)

इसी प्रकार, आर्यभटीय में घनमूल निकालने की विधि स्पष्टतापूर्वक दी गयी है-
 अघनात् भजेत् द्वितीयात् त्रिगुणेन घनस्य मूलवर्गेण।  
 वर्गस् त्रिपूर्वगुणितस्शोध्यस् प्रथमात्घनस्च घनात् ॥ २.५ ॥

सन्दर्भ

 इन्हें भी देखें 
 प्रवाह तालिका
 उपपत्ति

 बाहरी कड़ियाँ 
 Algorithms in Everyday Mathematics (दैनिक जीवन में कलन विधि)
 List of algorithms, classified by purpose
 Collected Algorithms (produced by the ACM.)
 Dictionary of Algorithms and Data Structures
 Design and Analysis of Algorithms - Glossary

कलन विधि
श्रेणी:कंप्यूटर
*
श्रेणी:सैद्धांतिक कम्प्यूटर विज्ञान