बहुत दिलचस्प सवाल!
मैं उत्तर टाइप करते समय यह जानने की कोशिश कर रहा हूं :) इसके साथ खेलने का पहला आसान तरीका: http://www.wolframalpha.com/input/?i=plot%28+mod%28+sin%28x*12.9898 +% 2 बी + y * 78.233% 29 + * + 43758.5453% 2C1% 29x% 3D0..2% 2C + y% 3D0..2% 29
तो फिर चलो यह सोचते हैं कि हम यहां क्या करने की कोशिश कर रहे हैं: दो इनपुट निर्देशांक x के लिए, y हम एक "यादृच्छिक संख्या" लौटाते हैं। अब यह एक यादृच्छिक संख्या नहीं है। हर बार जब हम एक ही x, y इनपुट करते हैं, तो ऐसा ही होता है। यह एक हैश समारोह है!
पहला काम जो करता है वह है 2d से 1d तक जाना। यह अपने आप में दिलचस्प नहीं है, लेकिन संख्याएं चुनी जाती हैं, इसलिए वे आम तौर पर दोहराते नहीं हैं। इसके अलावा, हम वहाँ एक अस्थायी बिंदु इसके अलावा है। Y या x से कुछ अधिक बिट्स होंगे, लेकिन संख्याओं को सही चुना जा सकता है इसलिए यह एक मिश्रण करता है।
फिर हम एक ब्लैक बॉक्स पाप () फ़ंक्शन का नमूना लेते हैं। यह कार्यान्वयन पर बहुत कुछ निर्भर करेगा!
अंत में यह पाप में त्रुटि को बढ़ाता है (अंश को गुणा करके और लागू करके)।
मुझे नहीं लगता कि यह सामान्य मामले में एक अच्छा हैश फ़ंक्शन है। पापी () GPU पर, संख्यात्मक रूप से एक ब्लैक बॉक्स है। लगभग किसी भी हैश फ़ंक्शन को लेने और इसे परिवर्तित करके बहुत बेहतर निर्माण करना संभव होना चाहिए। हार्ड भाग cpu हैशिंग में प्रयुक्त विशिष्ट पूर्णांक ऑपरेशन को फ्लोट (आधा या 32 बिट) या फिक्स्ड पॉइंट ऑपरेशंस में बदलना है, लेकिन यह संभव होना चाहिए।
फिर, हैश फ़ंक्शन के रूप में इसके साथ वास्तविक समस्या यह है कि पाप () एक ब्लैक बॉक्स है।