Beste svaret
Jeg kan ikke gi et bedre svar enn Abhilash Gangadharan har gitt. «srand ()» – funksjonen til standarden C-biblioteket initialiserer flere verdier som den pseudo-tilfeldige algoritmen trenger for å generere semi-unik produksjon.
I noen eldre generatorer ble verdien brukt direkte til å starte systemet, da de gjorde ting som modulo-prime matematikk med noen tilbakemeldinger fra det siste genererte tallet for å legge til «entropi» i beregningen og få resultatet til å virke tilfeldig. Mer moderne algoritmer (som den litt berømte «Mersenne Twister») har et lignende tilbakemeldingssystem, men dette brukes annerledes for å sørge for en større mengde entropi, som får sekvensen av tall som genereres til å passere et større antall statistiske tester for tilfeldighet.
Såing av PRNG med en gitt verdi bør alltid resultere i nøyaktig samme utgang – derav hvis jeg kaller «srand (12345)» i en eller annen kode og den genererer «231,4492,2131» på 14D EC2015, jeg kan få nøyaktig samme resultat 14.DEC2016. (Dette brukes faktisk i noen deler av kryptografi for å gi mer sikkerhet til noen algoritmer, hvis jeg husker forskningen min riktig)
Svar
Dette kalles «seed» generatoren for tilfeldige tall . Dette lar deg generere den samme sekvensen av tilfeldige tall hvis du bruker et fast frø, eller hvis du bruker noen systemparametere som tid, så kan du starte med et annet frø hver gang og ha forskjellige sekvenser av tilfeldige tall. Dette hjelper deg med å sjekke om resultatet av din stokastiske simulering ikke er påvirket av noen forutsigbarhet i tilfeldige tallsekvensen.