कल्पना कीजिए कि आप उस पर "5SBDO0" कोड के साथ किसी को कार्ड देते हैं।
कुछ फोंट में, अक्षर "S" को संख्या पांच से दृष्टिगत रूप से अलग करना मुश्किल है, (जैसा कि संख्या शून्य और पत्र "O")।
कोड को ज़ोर से पढ़ना, "B" को "D" से अलग करना मुश्किल हो सकता है, "B as boy," "D as dog," या इसके बजाय " ध्वन्यात्मक वर्णमाला " का उपयोग करना आवश्यक है।
अक्षरों और संख्याओं का सबसे बड़ा सबसेट क्या है, जो ज्यादातर मामलों में, जब दोनों पढ़ते हैं तो स्पष्ट रूप से अस्पष्ट और ध्वनिहीन दिखाई देते हैं?
पृष्ठभूमि:
हम एक छोटी स्ट्रिंग उत्पन्न करना चाहते हैं जो संचार के लिए आसान होते हुए भी अधिक से अधिक मानों को एनकोड कर सके।
कल्पना कीजिए कि आपके पास 6-वर्ण का तार है, "123456"। बेस 10 में यह 10 ^ 6 मान को एन्कोड कर सकता है ।
हेक्स "1B23DF" में आप समान वर्णों में 16 ^ 6 मानों को एन्कोड कर सकते हैं , लेकिन जोर से पढ़ने पर यह अस्पष्ट लग सकता है। ("बी" बनाम "डी")
इसी तरह N अक्षर के किसी भी तार के लिए, आपको (वर्णमाला का आकार) ^ N मान मिलता है।
मानव कामकाजी स्मृति क्षमता के भीतर आसानी से फिट होने के कारण, स्ट्रिंग लगभग छह वर्णों की लंबाई तक सीमित है ।
इस प्रकार हम जो मानों की अधिकतम संख्या प्राप्त कर सकते हैं, उन्हें खोजने के लिए हमें अक्षरों / संख्याओं के उस सबसे बड़े स्पष्ट सेट को खोजने की आवश्यकता है। कोई कारण नहीं है कि हम अक्षरों को GZ, और कुछ सामान्य विराम चिह्न पर विचार नहीं कर सकते हैं, लेकिन मैं मैन्युअल रूप से जाना पसंद नहीं करता है "जी की तरह ध्वनि करता है?", "जी की तरह ध्वनि करता है बी?", " जी ध्वनि सी "खुद की तरह। जैसा कि हम जानते हैं कि यह ओ (n ^ 2) भाषाई कार्य करना होगा =) ...