रशियन पीजेंट गुणा कैलकुलेटर

आधा करने और दोगुना करने के प्राचीन एल्गोरिथ्म का उपयोग करके किन्हीं दो संख्याओं को गुणा करें। हर चरण और बाइनरी संबंध देखें।

×
त्वरित उदाहरण:

रशियन पीजेंट गुणा क्या है?

रशियन पीजेंट गुणा — जिसे मिस्र का गुणा (Egyptian multiplication), इथियोपियाई गुणा (Ethiopian multiplication), या बाइनरी गुणा (binary multiplication) भी कहा जाता है — दो पूर्णांकों को गुणा करने का एक प्राचीन एल्गोरिथ्म है जिसके लिए किसी संख्या को आधा करने, दोगुना करने और जोड़ने की क्षमता के अलावा किसी और चीज़ की आवश्यकता नहीं होती है। मानक गुणा के विपरीत जो याद किए गए पहाड़ों पर निर्भर करता है, यह विधि हर गुणा समस्या को केवल आधा करने, दोगुना करने और जोड़ने के एक सरल क्रम में बदल देती है।

इस एल्गोरिथ्म की सुंदरता इस बात में है कि यह क्या दर्शाता है: यह वास्तव में अप्रत्यक्ष रूप से एक बाइनरी गुणा की गणना कर रहा है। जिन पंक्तियों को आप रखते हैं (जहाँ A विषम है) वे A के बाइनरी प्रतिनिधित्व में 1-बिट्स की स्थितियों के बिल्कुल अनुरूप होती हैं। उन पंक्तियों को जोड़कर, यह A×B को 2 की घातों और B के गुणनफलों के योग के रूप में पुनर्गठित करता है — जो बिल्कुल वही गणना है जो एक डिजिटल कंप्यूटर हार्डवेयर स्तर पर दो पूर्णांकों को गुणा करने के लिए करता है।

चरण-दर-चरण: यह कैसे काम करता है

रशियन पीजेंट विधि का उपयोग करके A × B की गणना करने के लिए:

  1. बाएं कॉलम में A और दाएं कॉलम में B लिखें।
  2. प्रत्येक नई पंक्ति पर: A को आधा करें (शेषफल को छोड़ दें) और B को दोगुना करें।
  3. A का मान 1 होने तक यह प्रक्रिया जारी रखें।
  4. उन सभी पंक्तियों को काट दें (या छोड़ दें) जहां बाएं कॉलम A का मान सम (even) है।
  5. उन पंक्तियों के B मानों को जोड़ें जहां A का मान विषम (odd) है। यह योग ही गुणा का परिणाम A×B होगा।

उदाहरण: 7 × 13. A=7, B=13 से शुरू करें। चूंकि 7 विषम है, इसलिए 13 रखें। अगला: A=3 (7/2 का निचला पूर्णांक), B=26. चूंकि 3 विषम है, इसलिए 26 रखें। अगला: A=1, B=52. चूंकि 1 विषम है, इसलिए 52 रखें। A का मान 1 पर पहुँच गया — रुकें। योग = 13 + 26 + 52 = 91 = 7 × 13. बिल्कुल सही!

बाइनरी संबंध (The Binary Connection)

इस एल्गोरिथ्म के काम करने का गहरा कारण यह है कि किसी भी पूर्णांक A को बाइनरी में लिखा जा सकता है: A = b₀ + b₁×2 + b₂×4 + b₃×8 + ... जहाँ प्रत्येक bᵢ 0 या 1 है। इसलिए:

A × B = (b₀×B) + (b₁×2B) + (b₂×4B) + (b₃×8B) + ...

दोगुना करने वाला कॉलम B, 2B, 4B, 8B, ... उत्पन्न करता है। आधा करने वाला कॉलम A को बार-बार 2 से विभाजित करता है; जब भी शेषफल 1 (A विषम है) होता है, तो संबंधित बिट bᵢ = 1 होता है और उस पंक्ति का दोगुना मान योग में शामिल हो जाता है। जिन पंक्तियों में A सम है, उनमें bᵢ = 0 होता है और उन्हें छोड़ दिया जाता है। इसलिए, यह एल्गोरिथ्म बाइनरी गुणा का ही एक प्रत्यक्ष रूप है, जिसे बिना बाइनरी जाने हाथ से किया जा सकता है।

उदाहरण के लिए, बाइनरी में 7 = 111₂ = 4+2+1 है। तो 7×13 = 4×13 + 2×13 + 1×13 = 52 + 26 + 13 = 91. ध्यान दें कि ये बिल्कुल वही तीन पंक्तियाँ हैं जिन्हें हमने ऊपर एल्गोरिथ्म में रखा था!

इतिहास: प्राचीन मिस्र से आधुनिक कंप्यूटर तक

इस एल्गोरिथ्म का सबसे पुराना लिखित प्रमाण रिंड मैथमैटिकल पेपिरस (Rhind Mathematical Papyrus) में मिलता है, जो लगभग 1650 ईसा पूर्व का एक प्राचीन मिस्र का दस्तावेज़ है। यह दिखाता है कि मिस्र के लेखक गुणा करने के लिए दोगुना और आधा करने की विधि का उपयोग करते थे।

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

कंप्यूटर युग में, यह एल्गोरिथ्म हार्डवेयर मल्टीप्लायरों के वैचारिक आधार के रूप में वापस आया। प्रत्येक आधुनिक सीपीयू शिफ्ट-एंड-एड (shift-and-add) सर्किट का उपयोग करता है जो ठीक इसी एल्गोरिथ्म को लागू करता है: बाएं शिफ्ट करने से संख्या दोगुनी होती है, दाएं शिफ्ट करने से आधी होती है, और विषम होने पर संचय होता है।

मानक गुणा के साथ तुलना

पहलू (Aspect)रशियन पीजेंट विधिमानक (लंबा) गुणा
आवश्यकताएँकेवल आधा करना, दोगुना करना और जोड़ना0 से 9 तक के पहाड़े याद होना
n-अंकों के लिए चरणO(log₂ A) आधा करने की क्रियाएं + जोड़O(n²) अंकीय गुणा
गलती की संभावनाप्रत्येक चरण को सत्यापित करना आसान हैपहाड़े याद रखने में त्रुटि संभव है
शैक्षणिक मूल्यसंख्याओं की बाइनरी संरचना को दर्शाता हैस्थानीय मान की समझ का निर्माण करता है
कंप्यूटर सादृश्यसीधे शिफ्ट-एंड-एड से मेल खाता हैडिजिट लुकअप टेबल की आवश्यकता होती है

कंप्यूटर विज्ञान में अनुप्रयोग

रशियन पीजेंट एल्गोरिथ्म ने कंप्यूटर विज्ञान के कई महत्वपूर्ण क्षेत्रों को सीधे प्रभावित किया। सीपीयू में हार्डवेयर मल्टीप्लायर शिफ्ट-एंड-एड गुणा (shift-and-add multiplication) का उपयोग करते हैं, जहां एक लेफ्ट शिफ्ट संख्या को दोगुना करता है (दोगुना करने वाले कॉलम के समान) और सबसे कम महत्वपूर्ण बिट (LSB) का परीक्षण विषम संख्याओं की पहचान करता है (आधा करने वाले कॉलम के समान)।

फास्ट एक्सपोनेंटिएशन (Fast exponentiation) इसी विचार को घातों पर लागू करता है। यह आरएसए (RSA) क्रिप्टोग्राफी के लिए मौलिक है, जहां 2048-बिट एक्सपोनेंट के साथ मॉड्यूलर एक्सपोनेंटिएशन की गणना कुशलतापूर्वक की जानी चाहिए। इस प्रकार, हजारों साल पुराना यह रशियन पीजेंट गुणा एल्गोरिथ्म आज आपके द्वारा किए जाने वाले प्रत्येक सुरक्षित HTTPS कनेक्शन के मूल में है।

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

एक प्राचीन एल्गोरिथ्म जो बार-बार एक संख्या को आधा करके और दूसरी को दोगुना करके दो संख्याओं को गुणा करता है, फिर उन दोगुनी संख्याओं को जोड़ता है जो विषम आधा मानों के संगत होती हैं। पहाड़ों की कोई आवश्यकता नहीं है।
बाएं कॉलम A और दाएं कॉलम B में संख्याएं लिखें। A को आधा करें (शेषफल छोड़ दें) और B को दोगुना करें जब तक A = 1 न हो जाए। A के सम मानों वाली पंक्तियों को काट दें। बचे हुए B मानों को जोड़ें, परिणाम A×B होगा।
क्योंकि यह विधि रिंड मैथमैटिकल पेपिरस (लगभग 1650 ईसा पूर्व) में दर्ज है, जो दिखाता है कि मिस्र के लेखक बार-बार दोगुना करके गुणा करते थे। यही विधि रूस और इथियोपिया में भी स्वतंत्र रूप से उपयोग की गई।
आधा करने की श्रृंखला A के बाइनरी बिट्स (LSB से MSB) उत्पन्न करती है। विषम संख्या वाली पंक्तियाँ 1-बिट्स और सम संख्या वाली पंक्तियाँ 0-बिट्स दर्शाती हैं। यह सीधे बाइनरी गुणा को हाथ से करने का तरीका है।
मनुष्यों के लिए, यह पहाड़े याद रखने से बचाता है। कंप्यूटर के लिए, यह सीधे शिफ्ट-एंड-एड हार्डवेयर सर्किटरी में लागू होता है जो गुणा को बहुत तेज़ और कुशल बनाता है।
हाँ, ऐतिहासिक साक्ष्य दिखाते हैं कि रूस और पूर्वी यूरोप में 20वीं सदी तक उन लोगों द्वारा इसका उपयोग किया जाता था जिन्हें औपचारिक शिक्षा नहीं मिली थी, क्योंकि इसके लिए पहाड़े याद होने की जरूरत नहीं है।
सीपीयू मल्टीप्लायरों में उपयोग की जाने वाली शिफ्ट-एंड-एड विधि रशियन पीजेंट गुणा के समरूप है: लेफ्ट-शिफ्ट दोगुना करता है, राइट-शिफ्ट आधा करता है, और LSB के 1 होने पर संचय होता है।

संबंधित कैलकुलेटर