-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 營銷推廣 > 專題列表 > 正文
- 那這個種子可以有辦法測試出來嗎?好像大部分用時間種子 這個有什么特點(diǎn)?
- 偽隨機(jī)種子數(shù)與系統(tǒng)時鐘關(guān)系
- 我想問下關(guān)于偽隨機(jī)數(shù)學(xué)的問題?
- C語言中產(chǎn)生隨機(jī)數(shù)利用到時間種子,什么原理?謝謝啦。
偽隨機(jī)如何破解時間種子
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于偽隨機(jī)如何綠色時間種子的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,有小程序、在線網(wǎng)頁版、PC客戶端和批量生成器
問友Ai官網(wǎng):https://ai.de1919.com。
本文目錄:
那這個種子可以有辦法測試出來嗎?好像大部分用時間種子 這個有什么特點(diǎn)?
我認(rèn)為這個問題挺難的,或者就是無解的。我了解隨機(jī)數(shù)產(chǎn)生程序。我打這樣一個比喻,偽隨機(jī)數(shù)發(fā)生器是這樣一個機(jī)器:1, 你用的時候需要開電源,給它一個值,它就給你輸出一個值,再給它一個值,它又輸出一個值。你關(guān)上電源,再重啟它,你按上次一樣的操作,得到的兩個結(jié)果是一樣的。這說明它具有可重復(fù)性。2,還是接著上面的說,如果我前面一半是給了兩個數(shù),出了兩個數(shù),我后來關(guān)機(jī)了又重啟的,現(xiàn)在我不關(guān)機(jī),接著給它第三個值,這個值還跟第一個是一樣的,那么,我得到的值還跟第一個得到的一樣嗎?答案是否定的!它是什么值不受你的控制了。就是這么復(fù)雜。這個機(jī)器有了啟動的值,以后就按自己的規(guī)律來了。這里的機(jī)器重啟不重啟就是對應(yīng)的那個隨機(jī)數(shù)在程序里是怎么用的了。我對隨機(jī)數(shù)發(fā)生器了解,對你說的程序里怎么用的不了解。我覺得很難解決,你自己研究一下,有疑問再說。你看看它用的什么方法產(chǎn)生的隨機(jī)數(shù),怎么用的。來自:求助得到的回答偽隨機(jī)種子數(shù)與系統(tǒng)時鐘關(guān)系
偽隨機(jī)種子數(shù)可以根據(jù)系統(tǒng)時鐘自動生成。偽隨機(jī)種子數(shù)是一個給定的數(shù)字,用于初始化隨機(jī)數(shù)生成器,它可以根據(jù)系統(tǒng)時鐘自動生成。
偽隨機(jī)種子數(shù)是一種特殊的整數(shù),它可以作為隨機(jī)數(shù)發(fā)生器的初始狀態(tài),以產(chǎn)生一系列偽隨機(jī)數(shù),偽隨機(jī)種子數(shù)是隨機(jī)數(shù)發(fā)生器的種子,它決定了生成的偽隨機(jī)數(shù)序列的開始。
我想問下關(guān)于偽隨機(jī)數(shù)學(xué)的問題?
真正的隨機(jī)數(shù)是沒有辦法獲取的。所以,一般情況下都只能使用偽隨機(jī)數(shù)來模擬隨機(jī)過程。一般的編程軟件,它的偽隨機(jī)數(shù)算法都能保證產(chǎn)生的序列周期很大,通常都大于10的9次方?,F(xiàn)在隨著計算機(jī)技術(shù)的算法的研究發(fā)展,不少偽隨機(jī)數(shù)的周期已經(jīng)遠(yuǎn)遠(yuǎn)大于這個數(shù)量級,甚至到了10的15到20次方。同時,偽隨機(jī)數(shù)產(chǎn)生的起點(diǎn),也就是種子可以通過熱敏元件或者時間數(shù)據(jù)來產(chǎn)生,無法人為控制,使產(chǎn)生的數(shù)字序列更接近真隨機(jī)狀態(tài)。
因此,要掌握到算法及其規(guī)律,并進(jìn)行所謂預(yù)測,條件必須是指導(dǎo)算法和種子。否則,即使是10的9次方的周期長度,按照老虎機(jī)按照每秒一次動作的速度來計算,也需要在老虎機(jī)上操作31年多,才能夠找到完整的周期規(guī)律。這在現(xiàn)實(shí)中是不可能的!追問
我想問下。電玩城捕魚機(jī)的偽隨機(jī)數(shù)。是否可以這樣設(shè)置。如退分情況經(jīng)常退給某個位置。如果一共是四個位置。那么如果是四個位置吃掉的總分減去這個位置的吃分情況導(dǎo)致這個位置退分情況經(jīng)常出現(xiàn)。就是說??偡趾瓦@個位置的吃分分?jǐn)?shù)是否是可以一直變化呢。不是保持不變。導(dǎo)致這個位置比其他位置的退分情況多。 偽隨機(jī)數(shù)可以這樣設(shè)置嗎。謝謝。
追答偽隨機(jī)數(shù)設(shè)計的基本原則,是盡量接近真實(shí)隨機(jī)狀態(tài)。所以,它有兩個重要指標(biāo),一個是周期要足夠長,也就是在通常情況下找不到周期規(guī)律,另一個是產(chǎn)生的隨機(jī)數(shù)序列要逼近無序、隨機(jī),模擬真實(shí)隨機(jī)性。
因此,要想通過簡單的,有時間限度的統(tǒng)計來發(fā)現(xiàn)它的規(guī)律,其可能性和操作性幾乎為零。沒有必要在這樣的問題上浪費(fèi)時間和精力。
行。那你回答我。偽隨機(jī)數(shù)是通過各種算法得出的。上次看過視頻是說加減乘除。那么在過程中。先假設(shè)數(shù)字是8。減去2。那么8的話是否是可以在運(yùn)行過程中可以加上去呢。就是分?jǐn)?shù)加上去。2也可以加上去。可以這樣嗎。反正最后就是X減去X。偽隨機(jī)數(shù)可以這樣設(shè)置嗎。
行。那你回答我。我之前看過一個視頻。說偽隨機(jī)數(shù)是加減乘除。那么假設(shè)數(shù)字是8。設(shè)置為減去2。那么在運(yùn)行過程中。是否8這個數(shù)字可以加上去。2的話也可以加上去。那么最后結(jié)果是X減去X等于多少。我的意思是。是否可以在運(yùn)行過程中數(shù)字可以變化。比如加分呢。謝謝你。
不好意思。問了兩遍。 問題是一樣的。謝謝你再回答我遍。非常感謝你。
追答這樣吧,我將 一個周期為10的12次方的偽隨機(jī)數(shù)代碼(fortran語言的,比較容易閱讀)貼上來。
這是商業(yè)應(yīng)用中最簡單的偽隨機(jī)數(shù)生成程序,它的運(yùn)算不復(fù)雜。但是,它的運(yùn)算時不可逆的,無法從隨機(jī)數(shù)序列反推到它的起點(diǎn)。即使你花上幾十年時間收集它的序列,也不可能推斷出它下一個數(shù)據(jù)到底是什么。甚至,即使知道算法,也無法推斷出它的起點(diǎn)和下一個數(shù)字。
下面是隨機(jī)數(shù)種子子程序,可以通過熱敏電阻(無序的熱噪聲)來產(chǎn)生偽隨機(jī)數(shù)起點(diǎn)。
希望對你有所幫助。
看了很久。我有點(diǎn)看不懂。因?yàn)闆]學(xué)過軟件。我就想問你。假設(shè)設(shè)置好的偽隨機(jī)數(shù)。如8減去2。運(yùn)行過程中是否可以設(shè)置成分?jǐn)?shù)之間會變化。不管加減乘除。8可以加減乘除。2也可以呢。謝謝你回答我這個問題。我就采納你。謝謝。
追答舉一個最簡單的算法例子。
a=7**5,p=int8(2)**31-1,n=1作為種子,起始點(diǎn),按照下面公式進(jìn)行反復(fù)迭代,得到偽隨機(jī)數(shù)序列。
n=mod(n*a,p),mod是求余函數(shù),比如mod(35,3)=2,就是35除以3,余數(shù)為2。
這樣,前十個偽隨機(jī)數(shù)就是:16807, 282475249,1622650073, 984943658,1144108930, 470211272, 101027544,1457850878,1458777923,2007237709。
對某個特定余數(shù),如果除數(shù)一定,它的被除數(shù)并不確定,而是有無數(shù)個。比如 mod(35,3)=2,mod(38,3)=2,mod(41,3)=2,mod(44,3)=2... 這就是算法的不可逆性!
幾乎所有的偽隨機(jī)數(shù)算法用到了余數(shù)計算,而百分之百的偽隨機(jī)數(shù)算法是不可逆的。
希望能幫到你!
不可逆是什么意思呢。加我微聊huairensiguang 謝謝。
追答其實(shí)前面關(guān)于余數(shù)的計算,我已經(jīng)解釋了什么叫"不可逆"。
再舉個例子吧。有個簡單的算法,用計算器就可以做。你算一下,記錄下來,就可以理解什么是算法的“不可逆”。
起點(diǎn)是n=1,計算分三步:
第一步,將 n+97531,得到97532。
第二步,將所得數(shù)字開平方根,得到312.3011367。
第三步,取小數(shù)點(diǎn)后的六位,作為新的n,得到 n=301136。
依次類推,可以計算出前十個n:301136,400823,941923,536169, 52762,676411,739734, 21857,525686,440941。
在知道算法的情況下,你可以從任何一個開始,很容易計算出下一個數(shù)字。但是你無法通過算法公式和步驟來算出上一個數(shù)字。這就是算法的“不可逆”。
當(dāng)然,如果算法不告訴你,那就連計算出下一個數(shù)字也不可能,更不好說進(jìn)行逆運(yùn)算了。
好吧 謝謝耐心解釋。 最后問下。電玩城的捕魚機(jī)是用偽隨機(jī)數(shù)而不是混沌數(shù)學(xué)吧?謝謝。
追答我沒有研究過捕魚機(jī)。但是可以肯定的是,屬于賭博類的電玩,一定是用了偽隨機(jī)數(shù)的設(shè)計方法。而混沌數(shù)學(xué)是觀察研究的方法,不是用來設(shè)計某個東西的。
C語言中產(chǎn)生隨機(jī)數(shù)利用到時間種子,什么原理?謝謝啦。
在C語言中取隨機(jī)數(shù)所需要的函數(shù)是:int rand(void);
void srand (unsigned int n);
rand()函數(shù)和srand()函數(shù)被聲明在頭文件stdlib.h中,所以要使用這兩個函數(shù)必須包含該頭文件:
#include <stdlib.h>
rand()函數(shù)返回0到RAND_MAX之間的偽隨機(jī)數(shù)(pseudorandom)。RAND_MAX常量被定義在stdlib.h頭文件中。其值等于32767,或者更大。
srand()函數(shù)使用自變量n作為種子,用來初始化隨機(jī)數(shù)產(chǎn)生器。只要把相同的種子傳入srand(),然后調(diào)用rand()時,就會產(chǎn)生相同的隨機(jī)數(shù)序列。因此,我們可以把時間作為srand()函數(shù)的種子,就可以避免重復(fù)的發(fā)生。如果,調(diào)用rand()之前沒有先調(diào)用srand(),就和事先調(diào)用srand(1)所產(chǎn)生的結(jié)果一樣。
以上就是關(guān)于偽隨機(jī)如何綠色時間種子相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
基于ARM偽隨機(jī)數(shù)生成器論文(偽隨機(jī)數(shù)生成算法代碼)
抖音短視頻帶貨怎么做(抖音短視頻帶貨怎么做數(shù)據(jù))