隨機種子數是什麼意思?
隨機種子數是什麼意思
使用隨機數之前一般要種一個種子,一般是用系統時間產生一個種子,你可以試憨下,如果每次的種子都是一樣的,那麼產生的隨機數的順序也是一樣的
什麼是隨機數及隨機數種子,能不能詳細通俗介紹一下?
隨機數在科學研究與工程實際中有著極其重要的應用!
簡單來說,隨機數就是一個數列,這個數列可能滿足一定的概率分佈,也許其滿足的分佈並不為我們所知。
不知道你是否知道一個經典的例子:“使用一根針和兩條線求圓周率”(如果不知到你可以搜一下)。這個實驗我們可以使用數學模擬(蒙特卡羅模擬)的方法來進行,這樣可以最大限度的節約實驗所消耗的時憨(使用計算機),也在一定程度上剔除了人為因素的影響。但有一個前提必須考慮,就是模擬的隨機性要好。怎樣體現呢,這時就需要使用“好”的隨機數來替代我們的物理實驗。
據我所知,隨機數在科學預測上有著非常重要的應用!還有密碼學中,隨機數也是基礎之一。
數學方法產生隨機數應該稱之為“偽隨機數”,只有使用物理方法才能得到真正的隨機數!
為了得到數學上的偽隨機數,我們就要研究“為隨機數發生器”!
通常,0-1區間上的均勻隨機數是基礎的基礎,因此,大量的工作是圍繞它展開的!在此基礎之上,又可以得到符合正態分佈,beta分佈等的偽隨機數。
“種子”是什麼呢?
經典的偽隨機數發生器是這樣的:
X(n+1)= a * X(n) + b
顯然通過上式我們能夠得到一個數列,前提是X(0)應該給出,依次我們就可以算出X(1),X(2)...;當然不同的X(0)就會得到不同的數列。
可以說:“X(0)”就是種子。
對於一個應用級的偽隨機數發生器,所有的“偽隨機數”,均勻的分佈於一個“軌道”上,幾乎所有的數都可以做為種子。數字“0”,有時是一個特例,不能作為種子,當然它取決於你使用的隨機數發生器!
呵呵,樓上說的言簡意賅,但那個函數並不複雜,你可以搜一下“素數模偽隨機數發生器”
X(n+1)= a * X(n),
只不過這個a的確定不是太簡單,要求隨機性好(期望0.5,標準差1/12);週期長!
當然還有更好的發生器,週期可達2^6xxxx - 1(具體的忘了)!
什麼叫隨機數種子
一般計算機的隨機數都是偽隨機數,以一個真隨機數(種子)作為初始條件,然後用一定的算法不停迭代產生隨機數。
2一般種子可以以當前的系統時間,這是完全隨機的
算法1:平方取中法。
1)將種子設為X0,並mod 10000得到4位數
2)將它平方得到一個8位數(不足8位時前面補0)3)取中間的4位數可得到下一個4位隨機數X1
4)重複1-3步,即可產生多個隨機數
這個算法的一個主要缺點是最終它會退化成0,不能繼續產生隨機數。
詳見百度百科:baike.baidu.com/...Zo2Yp-
隨機數種子是做什麼的?
隨機函數產生範是一種偽隨機數,它實際是一種序列發生器,有固定的算法,只有當種子不同時,序列才不同,所以不應該把種子固定在程序中,應該用隨機產生的數做種子,如程序運行時的時間等。
以c++為例,應先用srand()設置不同種子,否則每次調用rand()得到的值是一樣的。
Random()裡面的種子數是什麼含義
如果你知道隨機函數怎麼編出來的話應該會明白的,random裡其實是一個數列,這個數列每一位的數字接近隨機分佈,可以從數學上證明,但是一個數列一定是確定的,也就是第一個是什麼數,第二個什麼數都是固定的,就像1,2,3,4.。。。但是可以通過一個種子選取數列的起始位置,例如,上面的數列從3開始,就是3,4,。。。這就使每次的隨機數都不相同。而這個種子一般使用程序運行時對應時間的秒(從某一年開始總的秒數),每次的隨機數就不同了,產生可以使用的偽隨機數。
搖號隨機種子數是什麼
我感覺就像打牌一樣,先洗牌,洗完再切牌,種子就是切牌
用當前機器時間作隨機種子是什麼意思啊
就是用當前時間為基準,來產生隨機數,如果程序用固定的數產生隨機數,結果也是固定的,用時間產生,隨時間不同,產生的數字也不同。
每期的搖號隨機種子數第三位數(從左到右)是什麼意思
豆豆 迪克蘭 we are the world
在易語言裡擲隨機數種子是什麼意思
如果你取得的隨機數為10,20,55,3.....,如果你不使用置隨機數種子(),你每次啟動程序的隨機數都會是10,20,55,3.....
搖號種子數是什麼意思 5分
團車網告知北京小汽車搖號種子數040815,是什麼意思
一.簡介:
計算機並不能產生真正的隨機數,如果你不設種子,計算機會用系統時鐘來作為種子,如果你要模擬什麼的話,每次的隨機數都是不一樣的,這樣就不方便你研究,如果你事先設置了種子,這樣每次的隨機數都是一樣的,便於重現你的研究,也便於其他人檢驗你的分析結果。來源於[團車網] -中國第一汽車團購門戶
二.理論解釋
隨機數產生原理
==============
通常有兩種方法
1.平方取中法
1)從一個n位數x開始,稱為種子
2)將它平方得到一個2n位數(必要時前面加0)
3)取中間的n位數做為下一個隨機數
這種方法有一個缺點就是產生的隨機數會趨向0
2.線性同餘法
選擇三個整數a,b,c,給定初始種子X(0)
按下列規則生成數列
X(n+1)=( a * X(n) + b )mod(c)
這種方式產生的隨機數會出現循環
但是隻要我們把c取得足夠大就可以保證不會在我們運算中出現循環
很多計算機都是利用這個原理產生隨機數的
只是c值取得很大,c=2^31
來源於團車網 -中國第一汽車團購門戶