मैं एक वातावरण है कि सुविधाओंएक 36 बिट यादृच्छिक संख्या जनरेटर
- 36 बिट किसी के पूरक पूर्णांकों
- अंकगणित
+
,-
,*
,/
और शेष - तक ही सीमित में एक आवेदन पत्र लिख रहा हूँ लेखन
AND
याOR
जैसे कुछ ऑपरेशन नहीं। लेकिन किसी के पूरक के कारण,XOR
घटाव के बराबर है औरNOT
अस्वीकरण के बराबर है। - न्यूमेरिक ओवरफ्लो घातक है, इसलिए चुपचाप के लिए उपयोग नहीं किया जा सकता है
- हां, सशर्त हैं:
IF/THEN/ELSEIF/ELSE/IF
।
आदर्श रूप में, मुझे 35 या 36 बिट यादृच्छिक पूर्णांक चाहिए, लेकिन 25 बिट भी पर्याप्त होंगे।
linear congruential generator के मेरे बेवकूफ कार्यान्वयन पर्याप्त संख्याओं के आधार पर अतिप्रवाह में चलाते हैं और छोटे संख्याओं का उपयोग करते समय केवल थोड़ी सी बिट्स का उत्पादन करते हैं।
तो मैं या तो संख्या का एक सेट के लिए देख रहा हूँ एक, ग, मी कि बाधाओं में बिट्स की अधिकतम संख्या निकलेगा, या LCG की एक समझदार अनुकूलन 2 या अधिक संख्या गठबंधन करने के लिए।
एक प्रारंभिक बिंदु के रूप में, यहाँ मैं अब तक क्या उपयोग कर रहा हूँ है:
*DEFINE NextRandom . min,max resultVar
* . This is a very shitty RNG. The numbers were never checked
* . for suitability for a long-period linear congruential generator.
* . But it yields numbers that look vaguely random.
*CLEAR rq
*CLEAR rr
*SET RandZ = RandZ * 169687 + 347011 . RandZ is a global var.
*DIVIDE RandZ BY 131072 GIVING rq, RandZ . Division yields a remainder
*DIVIDE RandZ BY 4 GIVING rq
*SET r0 = +[#,[#],1,1] . r0 = argument 'min'
*SET r9 = +[#,[#],1,2] . r9 = 'max'
*SET rd = r9 - r0 + 1
*DIVIDE rq BY rd GIVING rq, rr
*SET [#,[#],2,1] TO r0 + rr . return in 'resultVar'
*ENDDEFINE
मामले में किसी को भी परवाह करता है, पटकथा भाषा एक यूनिसिस 2200 मेनफ्रेम ऑपरेटिंग सिस्टम में एसएसजी (प्रतीकात्मक धारा जनरेटर) है EXEC 8.
गंभीरता पर: यह आरएनजी परीक्षण डेटा उत्पन्न करने में काम करता है। यह राज्य रहस्यों या परमाणु मिसाइल कोड एन्क्रिप्ट नहीं कर रहा है। तो हम "मिशन महत्वपूर्ण" के बजाय "अच्छा होना" और "सर्वोत्तम प्रयास" के बारे में बात कर रहे हैं। मैं एक सुधार के बारे में खुश हूं लेकिन परम समाधान की तलाश नहीं कर रहा हूं। आप recursions के साथ 12 बिट पर 3 LCGs हो सकता था
x_i (एन) एक x_i = (n-1) + p_i (आधुनिक:
क्या आपके पास सशर्त हैं? – Pubby
बीज मूल्य उत्पन्न करने के लिए अब आपके पास जो चल रहा है, उसे चलाकर आप जो भी कर सकते हैं उसे सुधार सकते हैं। –
@ पब्बी: हां, आईएफ/फिर/ईएलएसई/अंत में है। मैं इसे प्रतिबिंबित करने के लिए अपना प्रश्न अपडेट कर रहा हूं, धन्यवाद! –