मैं जानना चाहूंगा कि क्या n-बिट संख्या से n-बिट संख्या तक कोई फ़ंक्शन है जिसमें निम्नलिखित विशेषताएं हैं:
- को विशेषण होना चाहिए
- और दोनों की गणना बहुत तेजी से की जानी चाहिए
- को एक ऐसे नंबर को वापस करना चाहिए जिसका उसके इनपुट से कोई महत्वपूर्ण संबंध नहीं है।
तर्क यह है:
मैं एक प्रोग्राम लिखना चाहता हूं जो डेटा पर काम करता है। डेटा की कुछ जानकारी एक बाइनरी सर्च ट्री में संग्रहित होती है जहाँ खोज कुंजी एक वर्णमाला का प्रतीक है। समय के साथ, मैं वर्णमाला में और प्रतीकों को जोड़ता हूं। नए प्रतीकों को बस अगला मुफ्त नंबर उपलब्ध है। इसलिए, पेड़ के पास हमेशा छोटी चाबियों के लिए एक छोटा सा पूर्वाग्रह होगा जो मेरे विचार से अधिक असंतुलन का कारण बनता है।
मेरा विचार प्रतीक संख्याओं को f के साथ जोड़ना है, ताकि वे पूरी तरह से [0,2 ^ {64} -1] की पूरी रेंज में फैले हों । चूंकि केवल इनपुट और आउटपुट के दौरान प्रतीक संख्याएं मायने रखती हैं जो केवल एक बार होता है, ऐसे फ़ंक्शन को लागू करना बहुत महंगा नहीं होना चाहिए।
मैंने Xorshift के यादृच्छिक संख्या जनरेटर के एक पुनरावृत्ति के बारे में सोचा, लेकिन मैं वास्तव में इसे पूर्ववत करने का तरीका नहीं जानता, हालांकि यह सैद्धांतिक रूप से संभव होना चाहिए।
क्या कोई इस तरह के समारोह को जानता है?
यह एक अच्छा विचार है?