रैंडम संख्या जनरेटर पिछले संख्या के आधार पर आप एक नए 'यादृच्छिक' मूल्य उत्पन्न मिलता है। बीज इसके लिए प्रारंभिक मूल्य है।
उसी मान के साथ सीडिंग (जैसे आपके उदाहरण कोड में 0) मूल रूप से यादृच्छिक संख्या जनरेटर को प्रत्येक बार एक ही नंबर से शुरू करने के लिए कहता है। हर बार उत्पन्न एक ही यादृच्छिक संख्या होने का मतलब है कि आपका कोड पुनरारंभ करने योग्य हो जाता है। उदाहरण: सिमुलेशन बदलते पैरामीटर के साथ सिमुलेशन को पुनरारंभ करने के लिए इसका उपयोग करते हैं, लेकिन उसी 'डेटा सेट' के साथ।
एक और उदाहरण:
मैं अपने आप को एक प्रेरक संदेश प्रत्येक दिन भेजना चाहते हैं। कभी-कभी संदेश खराब होते हैं। स्क्रिप्ट को फिर से शुरू करने में सक्षम होने के कारण, एक ही संदेश को एक दिन के दौरान बार-बार उत्पादन करना, इस सरल को ठीक करना बनाता है। पर्ल कोड में इसका मतलब है:
# By initialising the random generator with the day number since
# the epoch, we get the same quote during one day.
srand(time()/(24*3600));
my $i = int(rand(@messages));
आप अलग नंबरों हर बार निर्माण करने के लिए चाहते हैं, तो आप कुछ यादृच्छिक को यह बीज सेट करना होगा। विकल्प कई हैं, जैसे कि समय, पीआईडी, उपयोगकर्ता द्वारा दो कीस्ट्रोक के बीच देरी, ईथरनेट इंटरफ़ेस से व्युत्पन्न कुछ मूल्य, या time*PID
जैसे उपरोक्त संयोजन की अधिक संभावना है।
आशा है कि यह यादृच्छिक संख्या बीज मूल्य की अवधारणा के पीछे विचार को स्पष्ट करे।
बीज अपने यादृच्छिक संख्या जनरेटर – vladr
एक सुविधा है, न कि एक बग :) –
और बस एक तरफ ध्यान दें कि: 'का एक बीज 0' है सबसे पीआरएनजी में सबसे अच्छा बचा है। कुछ कार्यान्वयन इसके आसपास काम करते हैं लेकिन आपको उस पर भरोसा नहीं करना चाहिए। अनचेक के लिए – Joey