हादसों, धमाकों का 2,147,483,647 से नाता

  • 22 दिसंबर 2015
 नंबर कम्प्यूटर बग इमेज कॉपीरइट Getty

चार जून, 1996 यूरोपियन अंतरिक्ष एजेंसी के काले दिन के तौर पर याद किया जाता है. इस दिन मानव रहित एरियन 5 रॉकेट, चार महंगे सेटेलाइट को लेकर अंतरिक्ष की ओर रवाना हुआ था.

लेकिन केवल 39 सेकेंड के बाद ही रॉकेट में धमाका हुआ और वो आग के गोले में तब्दील हो गया. इस विस्फोट के कारण करीब 37 करोड़ डॉलर का नुकसान हुआ.

ये नुकसान क्यों हुआ? न तो कोई मिकेनिकल नाकामी हुई थी, ना ही कोई साज़िश हुई थी.

यह मिशन कंप्यूटर सॉफ़्टवेयर के हिसाब ठीक से न कर पाने या ये कहें कि गणित गड़बड़ाने की वजह से हुआ.

आम लोग तो कंप्यूटर को बहुत समर्थ मानते हैं. तो क्या ऐसा संभव है कि कंप्यूटर ही नंबरों का हिसाब न कर पाए?

एरियन का धमाका अकेला उदाहरण नहीं है जब ऐसा हुआ.

1991 में खाड़ी युद्ध के दौरान अमरीकी सैनिकों की बैरक की ओर बढ़ रही इराक़ी स्कड मिसाइल को आसमान में ही ध्वस्त करने के मक़सद से पेट्रियट मिसाइल सही समय पर दागी गई.

इमेज कॉपीरइट Getty

लेकिन वो उसके 500 मीटर परे से ही निकल गई और 28 सैनिक मारे गए. कारण वही था - कंप्यूटर सॉफ़्टवेयर में गणित की गड़बड़.

इसी तरह से वीडियो गेम सिविलाइज़ेशन में एक पात्र 'गांधी' अत्यंत आक्रामक बन गया और बात-बात पर लोगों को परमाणु अस्त्र से डराने लगा. वीडियो गेम के निर्माता भी हैरान थे क्योंकि उस पात्र का बर्ताव ऐसा तो नहीं रखा गया था.

कारण फिर वही था - कंप्यूटर सॉफ़्टवेयर में गणित की गड़बड़.

और, गंगनम स्टाइल याद है आपको? जी वही, यूट्यब के इतिहास में सबसे लोकप्रिय वीडियो का रिकॉर्ड तोड़ने वाला गंगनम स्टाइल, जिसने यूट्यब का 'व्यू कांउंटर' ही तोड़ दिया. इसका कारण भी वही था - गणित की गड़बड़.

यकीनन कई पाठक अब भी Y2K (वाईटूके) बग को तो नहीं भूले होंगे जब 1 जनवरी 2000 को कई वेबसाइटों ने तारीख़ दिखाई 1 जनवरी, 19100. कारण वही था- कंप्यूटर में गणित की गड़बड़ी.

वैज्ञानिकों ने पाया कि इस पूरी गड़बड़ में अहम नंबर था 2,147,483,647. लेकिन इसमें ऐसा क्या ख़ास है?

कल्पना कीजिए यदि आपके स्पीडोमीटर को एक नंबर 1,05,350 मील दिखाना हो, जबकि उसकी मापना की अधिकतम क्षमता 99,999 हो, तो क्या होगा?

या तो स्पीडोमीटर 00,000 दिखाएगा या फिर 5,350 दिखाएगा जो उसकी सीमा से शेष है.

इमेज कॉपीरइट Getty

1996 में एरियन 5 रॉकेट के साथ यही हुआ था. तकनीकी तौर पर कहें तो इसका कारण है नंबर ओवरफ़्लो - यानी इतनी बड़ी संख्या कि वह कंप्यूटर सिस्टम में स्टोर ही नहीं कर पाता और उसका काम गड़बड़ा जाता है.

इसे इंटीजर ओवरफ़्लो भी कहते हैं.

एरियन मामले की विस्तृत जांच में ये पता चला था कि एरियन 5 के सॉफ़्टवेयर में मौजूद पुराने रॉकेट एरियन 4 के एक सिस्टम ने अचानक से एरियन 5 रॉकेट की गति को पढ़ना शुरू कर दिया. अब एरियन 5 तो एरियन 4 से कहीं ज़्यादा तेज़ था और उस सॉफ़्टवेयर सिस्टम में इस स्पीड को आंकने की क्षमता ही नहीं थी.

इसी कारण से सॉफ़्टवेयर ने 'सेल्फ़ डेस्ट्रक्ट' यानी, 'ख़ुद को ख़त्म करो' की एक कमांड को एक्टिवेट किया और कुछ ही पलों में रॉकेट इतिहास बन गया था. और यही वजह थी कि नासा ने डीप इंपैक्ट स्पेस प्रोब की जानकारियों को भी 2013 में गंवा दिया था.

अप्रैल के अंत में ही रिपोर्ट आई कि बोइंग 787 एयरक्राफ्ट भी ऐसे गणित की गड़बड़ से ग्रस्त हो सकता है. दरअसल जानकारी मिली है कि यदि इंजन को पावर सप्लाई करने वाले यूनिट को 248 दिनों तक लगातार चालू रखा जाए तो वो एक झटके में ही विमान के इंजन को बंद कर देता है.

इंजन के साथ ऐसा उड़ान के बीचोंबीच भी हो सकता है. कुछ विश्लेषकों ने बताया है अगर 248 दिनों को (सेकेंड के 100वें हिस्से) में गिना जाए तो जो संख्या सामने आती है वो वही 2,147,483, 647 है.

इमेज कॉपीरइट Getty

हालांकि इस मसले पर फ़ेडरल एविएशन एडमिनिस्ट्रेशन और बोईंग ने कोई प्रतिक्रिया नहीं दी है.

अब 2,147,483,647 वह अधिकतम संख्या है जो 32 बिट स्पेस में किसी कंप्यूटर में स्टोर हो सकती है.

ये बात ठीक है कि संख्याएं असीमित होती हैं लेकिन कंप्यूटरों में सीमित स्टोरेज क्षमता रखी जाती है, क्योंकि ज़्यादा स्टोरेज क्षमता के लिए कंप्यूटर पर होने वाला ख़र्च बढ़ता जाता है. स्टोरेज क्षमता सीमित रहने पर कंप्यूटर सॉफ़्टवेयर ज़्यादा सहजता से काम करते हैं.

मिनिसोटा यूनिवर्सिटी के गणितज्ञ डगलस अर्नोल्ड ने 1991 के उस हादसे का जिक्र किया है जिसमें खाड़ी युद्ध के दौरान अमरीकी सेना की मिसाइल अपने टारगेट स्कड मिसाइल से करीब 500 मीटर परे रहते हुए निकल गई. इसके चलते 28 सैनिकों की मौत हो गई थी और 98 लोग घायल हुए थे.

हुआ ये कि अमरीकी सेना के मिसाइल डिफ़ेस सिस्टम ने 'इंटीजर ओवरफ़्लो' गड़बड़ के कारण 1.7 किलोमीटर प्रति सेकेंड की रफ़्तार से बढ़ रही स्कड मिसाइल के ट्रैक को सही तरीके से नहीं पहचाना.

इस समस्या को वैज्ञानिक कंप्यूटर बग भी कहते हैं. चाहे हर परिस्थिति में ये ख़तरनाक नहीं होता, लेकिन उसके नतीजे अप्रत्याशित होते हैं. उदाहरण के लिए वीडियो गेम सिविलाइजेशन में ऐसे एक बग के चलते शांति की राह पर चलने वाला चरित्र 'गांधी' अचानक से शत्रुता भरा व्यवहार करना लगता है.

गंगनम स्टाइल के वीडियो ने यूट्यूब पर ऑल टाइम पापुलर रिकॉर्ड बनाया. इस वीडियो पर आने वालों की गिनती इतनी हुई कि वेबसाइट का व्यू काउंटर ही टूट गया.

इमेज कॉपीरइट THINKSTOCK

वेबसाइट के व्यू काउंटर में अधिकतम संख्या एक बार फिर 2,147,483,647 थी. यूट्यूब के लिए तो ये बेहतरीन पब्लिक रिलेश्नस बन गया. हालांकि अब ये अधिकतम संख्या 9 क्विंटिलियन (9 पर 18 शून्य) कर दी गई है.

कारनेगी मैलन यूनिवर्सिटी के सॉफ्टवेयर एक्सपर्ट बिल शेरलिस बताते हैं, "यूट्यूब सॉफ्टवेयर को जब पहली बार विकसित किया गया था तब किसी डिवेलपर और डिज़ाइनर ने शायद ही सोचा होगा कि ये संख्या ओवरफ्लो करने लगेगी."

वैसे इतिहास में सबसे ज़्यादा ओवरफ्लो बग की चर्चा तब हुई जब 1999 से 2000 में हम प्रवेश कर रहे थे और चारों और चर्चा थी मिलेनियम बग की. हालांकि यह बग उतना नुकसानदायक साबित नहीं हुआ जितनी चिंता जताई जा रही थी.

105 साल पर प्री स्कूल आमंत्रण

मिलेनियम बग आख़िर था क्या? दरअसल 1900 और 2000 के आखिरी दो अंक समान हैं. यदि अख़िरी दो अंकों से ही तिथि की पहचान हो रही हो तो कंप्यूटर सिस्टम में कंफ्यूजन की स्थिति पैदा हो जाती है.

इसके कारण दुनिया भर के प्रोग्रामरों के लिए पहली जनवरी, 2000 से सिस्टम को अपडेट करने के लिए कई तरह की सलाहों की बाढ़ आ गई. लेकिन ऐसा कुछ नहीं हुआ. हालांकि कुछ असर जरूर हुआ था.

इमेज कॉपीरइट

जापान में एक रेडिएशन डिटेक्शन इक्यूपमेंट पहली जनवरी, 2000 को मध्य रात्रि में क्रैश हो गया था. डेलावायर रेसिंग ट्रैक पर 150 स्लॉट मशीनों ने काम करना बंद दिया था. इसके अलावा कई वेबसाइटों में नया दिन एक जनवरी, 19100 पढ़ा जाने लगा.

बारह साल बाद, एक ऐसा ही मामला सामने आया. जब 105 साल की एक स्वीडिश महिला एना इरिक्सन को एक प्री स्कूल में नामांकन लेने के लिए आमंत्रण मिला. दरअसल आमंत्रण 2007 में जन्मे बच्चों को भेजा जा रहा था. एरिक्सन का जन्म 1907 में हुआ था.

इसी तरह से 2010 में नए साल के दिन लाखों जर्मन क्रेडिट और डेबिट कार्ड इस्तेमाल के लायक नहीं रहे क्योंकि उनकी पहचान ठीक से नहीं हो पा रही थी.

15 साल पहले कंप्यूटर प्रोग्रामर विलियम पोरकेट ने ऐसे ही एक महत्वपूर्ण दिन का ध्यान दिलाया था. 19 जनवरी, 2038 को ग्रीनिच मान समय के मुताबिक सुबह 3 बजकर 14 मिनट और 7 सेकेंड.

उनका अनुमान है कि एक जनवरी, 1970 के बाद से सेकेंड की संख्या कंप्यूटरों के अंदर स्टोर एक अहम अधिकतम संख्या को पार करेगी. ऊपर दिए गए उदाहरणों से स्पष्ट है कि फिर अप्रत्याशित ढंग से कई कंप्यूटर कई तरह की गड़बड़ियों के शिकार हो सकते हैं.

इमेज कॉपीरइट Getty

पोरकेट कहते हैं, "1999 में मैंने पहली बार ये लिखा था. मैंने 2038 डॉट ओआरजी डोमेन नाम पंजीकृत कराया. लेकिन तब लोगों ने इसे मजाक के तौर पर समझा और ज्यादातर लोगों ने कहा कि इसे 2037 में फिक्स करेंगें. लेकिन मैंने महसूस किया ये गंभीर समस्या हो सकती है."

क्या पहली जनवरी, 2038 को दुनिया भर के कंप्यूटर क्रैश हो जाएँगे?

हालांकि आज काम आने वाले कंप्यूटर 23 साल बाद कितने काम में रहेंगे, इसको लेकर भी संदेह है.

लेकिन पोरकेट कहते हैं, "काफ़ी ज्यादा कंप्यूटर सिस्टम काम करते रहेंगे. बड़ी संख्या में कंप्यूटर काम करना बंद भी कर देंगे."

वैसे कैंब्रिज यूनिवर्सिटी के कंप्यूटर वैज्ञानिक मार्कस कोहन कहते हैं कि समय से संबंधित बग में लोगों की दिलचस्पी इसलिए होती है कि उसके असर के बारे में कोई अनुमान नहीं लगाया जा सकता है.

कोहन के मुताबिक 2038 की समस्या मिलेनियम बग से कम नुकसान पहुंचाएगी.

लेकिन कोहन मानते हैं कि समय के साथ ऐसी चुनौतियों का सामना करने में हम बेहतर होते जाएंगे.

अंग्रेज़ी में मूल लेख यहां पढ़ें, जो बीबीसी फ़्यूचर पर उपलब्ध है.

(बीबीसी हिन्दी के एंड्रॉएड ऐप के लिए आप यहां क्लिक कर सकते हैं. आप हमें फ़ेसबुक और ट्विटर पर फ़ॉलो भी कर सकते हैं.)

बीबीसी न्यूज़ मेकर्स

चर्चा में रहे लोगों से बातचीत पर आधारित साप्ताहिक कार्यक्रम

सुनिए

संबंधित समाचार