हैमिंग डिस्टेंस क्या है?
समान लंबाई वाली दो स्ट्रिंग्स के बीच हैमिंग डिस्टेंस उन स्थानों की संख्या होती है जहाँ संबंधित चिह्न आपस में भिन्न होते हैं। इसका नाम रिचर्ड हैमिंग के नाम पर रखा गया है, और यह सूचना सिद्धांत (इन्फॉर्मेशन थ्योरी), कोडिंग थ्योरी तथा कंप्यूटर विज्ञान की एक बुनियादी अवधारणा है। यह बताता है कि एक स्ट्रिंग को दूसरी में बदलने के लिए कम से कम कितने प्रतिस्थापन (substitutions) करने पड़ेंगे, और इसका व्यापक उपयोग त्रुटि का पता लगाने तथा त्रुटि सुधारने वाले कोड (error-detecting और error-correcting codes) में होता है।
इस कैलकुलेटर का उपयोग कैसे करें
अपनी दो स्ट्रिंग्स दर्ज करें — ये बाइनरी सीक्वेंस (जैसे 1011101), DNA बेस, या कोई भी टेक्स्ट हो सकती हैं। कैलकुलेटर इनकी अक्षर-दर-अक्षर तुलना करता है और गिनता है कि कितने स्थानों पर अंतर है। यदि दोनों स्ट्रिंग्स की लंबाई अलग हो, तो लंबी स्ट्रिंग का हर अतिरिक्त अक्षर एक अंतर के रूप में गिना जाता है।
फॉर्मूला समझें
दो स्ट्रिंग्स a और b के लिए हैमिंग डिस्टेंस सभी स्थानों i पर उस सूचक (indicator) का योग है जिसका मान 1 होता है जब \(a_i \neq b_i\) और अन्यथा 0:
$$d(a, b) = \sum_{i=1}^{\min(|a|,|b|)} \left[\, \text{A}_i \neq \text{B}_i \,\right] + \Big|\; |\text{A}| - |\text{B}| \;\Big|$$परिणाम हमेशा एक गैर-ऋणात्मक पूर्णांक होता है, जो 0 (पूर्णतः समान) से लेकर स्ट्रिंग की लंबाई (हर स्थान पर अंतर) तक होता है।
हल किया गया उदाहरण
आइए 1011101 और 1001001 की तुलना करें। इन्हें एक के नीचे एक रखने पर:
10111011001001
स्थान 3 (1 बनाम 0) और स्थान 5 (1 बनाम 0) पर अंतर है। इसलिए हैमिंग डिस्टेंस 2 होगी।
अक्सर पूछे जाने वाले सवाल
क्या दोनों स्ट्रिंग्स की लंबाई समान होनी ज़रूरी है? पारंपरिक हैमिंग डिस्टेंस के लिए दोनों की लंबाई समान होनी चाहिए। फिर भी, यह टूल असमान लंबाई वाली स्ट्रिंग्स के लिए हर अतिरिक्त अक्षर को एक बेमेल (mismatch) मानकर एक उपयोगी उत्तर दे देता है।
क्या यह गैर-बाइनरी टेक्स्ट पर भी काम करता है? हाँ। किसी भी प्रकार के अक्षरों की तुलना की जा सकती है — चाहे वे वर्ण हों, अंक हों या चिह्न।
लेवेनश्टाइन डिस्टेंस से इसका क्या अंतर है? हैमिंग केवल निश्चित स्थानों पर प्रतिस्थापन (substitutions) गिनता है, जबकि लेवेनश्टाइन में जोड़ (insertions) और हटाव (deletions) की भी अनुमति होती है।