我突然有個想法 如果我們能使計算機產生真正意義上的隨機數,那麼不就意味著我們能夠做出人工智慧

2021-03-22 08:14:01 字數 5677 閱讀 1444

1樓:匿名使用者

你能想到的,國外科學家早就想在你前面了。不然人家怎麼會成功。

2樓:dawn1999巨蟹

問題是理論上來說用程式所產生的數都不是真正意義上的隨機數

3樓:中二病患嚴重

要產生隨機數也得需要固定程式,人工智慧只是人想要模仿上帝的可笑贗品而已

為什麼說計算機(電腦)無法產生真正意義上的隨機數

計算機能不能產生真正意義上的產生隨機數?

4樓:曉風殘月清楊柳

問:怎樣產生隨機數?

答: 在計算機中並沒有一個真正的隨機數發生器,但是可以做到使產生的數字重複率很低,這樣看起來好象是真正的隨機數,實現這一功能的程式叫偽隨機數發生器。

有關如何產生隨機數的理論有許多,如果要詳細地討論,需要厚厚的一本書的篇幅。不管用什麼方法實現隨機數發生器,都必須給它提供一個名為「種子」的初始值。而且這個值最好是隨機的,或者至少這個值是偽隨機的。

「種子」的值通常是用快速計數暫存器或移位暫存器來生成的。

下面講一講在c語言裡所提供的隨機數發生器的用法。現在的c編譯器都提供了一個基於ansi標準的偽隨機數發生器函式,用來生成隨機數。它們就是rand()和srand()函式。

這二個函式的工作過程如下:

1) 首先給srand()提供一個種子,它是一個unsigned int型別,其取值範圍從0~65535;

2) 然後呼叫rand(),它會根據提供給srand()的種子值返回一個隨機數(在0到32767之間)

3) 根據需要多次呼叫rand(),從而不間斷地得到新的隨機數;

4) 無論什麼時候,都可以給srand()提供一個新的種子,從而進一步「隨機化」rand()的輸出結果。

這個過程看起來很簡單,問題是如果你每次呼叫srand()時都提供相同的種子值,那麼,你將會得到相同的隨機數序列,這時看到的現象是沒有隨機數,而每一次的數都是一樣的了。例如,在以17為種子值呼叫srand()之後,在首次呼叫rand()時,得到隨機數94。在第二次和第三次呼叫rand()時將分別得到26602和30017,這些數看上去是很隨機的(儘管這只是一個很小的資料點集合),但是,在你再次以17為種子值呼叫srand()後,在對於rand()的前三次呼叫中,所得的返回值仍然是在對94,26602,30017,並且此後得到的返回值仍然是在對rand()的第一批呼叫中所得到的其餘的返回值。

因此只有再次給srand()提供一個隨機的種子值,才能再次得到一個隨機數。

下面的例子用一種簡單而有效的方法來產生一個相當隨機的「種子」值----當天的時間值

5樓:匿名使用者

產生的隨機數字與你當時的時間有關 因為你當時的時間永遠都是不一樣的 所以得到的隨機數字也不一樣

我很好奇,計算機真的能產生隨機數嗎 30

電腦如何產生隨機數?

6樓:南瓜蘋果

電腦產生的隨機數稱為偽隨機數,是通過演算法模擬的,看上去和隨機數一樣,實際上能算出來的數就是可以預見的數(對使用者來說不可預見,對電腦則是可預見),不是真正的隨機數。

從一個大數「種子」開始重複某種迭代計算,通常是加減乘除加求餘,種子可以取系統時間,因為使用者不可能精確到微秒控制程式執行,就基本保證了每次生成數值的順序不同

一般來說如果用數位電路產生的都是偽隨機數,但由於迴圈時間太長可視為隨機數。而現在有用類比電路產生的隨機數,主要原理是將熱噪聲放大,然後編碼。

擴充套件資料

隨機數的作用

隨機數的使用歷史已經有數千年。無論是拋硬幣還是搖色子,目的是讓隨機概率決定結果。電腦中的隨機數生成器的目的也是如此——生成隨機不可**的結果。

加密法要求數字不能被攻擊者猜到,不能多次使用同樣的數字。所以需要一種機制產生攻擊者無法**的數字,這些隨機數對加密法至關重要,無論你是加密檔案還是訪問https協議**,都需要用到隨機數。

根據隨機數的生成原理,我們把電腦隨機數分為兩類:「真」隨機數和偽隨機數。

要生成一個「真」隨機數,電腦會檢測電腦外部發生的某種物理現象。比如說,電腦可以測量某個原子的放射性衰變。根據量子理論,原子衰變是隨機而不可測的,所以這就是宇宙中的「純粹」隨機性。

攻擊者永遠無法**原子衰變的發生時間,也就不可能猜出隨機值。

7樓:匿名使用者

是的,pc都是偽隨機的。

電腦是數字裝置,而且從設計上就被定義為精確,甚至用ecc來校正等等。而理論上的隨機數是不能有任何「偏見」的,這電腦做不到,它需要一個隨機數種子來起始運算,而這種子是要被指定的。但不要期望如此就可以輕易的猜測到中獎號碼:

p此外,話題掰大些,宿命論。其實天底下沒什麼是隨機的。你說感情吧,他是被電子控制著的,而電子有它的特性,由於相互的作用而產生看似複雜的結果,假如還有更細小的剖析,那麼這個理論就繼續延伸到那一層,永無止境。

事物都是按照規律走的,所以聚集起來產生所有結果都是定下的。比如我接受了螢幕上電子的轟擊,刺激了好奇的腦細胞,寫了些文字,按下了確定,這都是註定了的,嘻嘻。

幸福就是肚子不痛。

8樓:匿名使用者

可以用程式:

private sub ***mand1_click()dim flag as boolean

dim r(1000)

dim d as string

randomize '初始化隨

機種子for i = 0 to 10 '出11個100以內的不重複數dor(i) = int(rnd() * (100))flag = true

for j = 0 to (i - 1)

if r(j) = r(i) then

flag = false '如果用過了就退出。

exit for

end if

next j

loop until flag = trued = d + ";" + str(r(i))next i

label1.caption = d 』在label1中顯示出來end sub

9樓:幸巴達

電腦產生的都是二進位制數,沒聽說過偽隨機數,

電腦當然能產生隨機數,在程式中有特殊用途。

能用通俗易懂的話告訴我,為什麼計算機產生的隨機數都是偽隨機數? 請大家指教,謝謝!

10樓:匿名使用者

真正意義上的隨機數(或者隨機事件)在某次產生

過程中是按照實驗過程中表現的分佈概率隨機產生的,其結果是不可**的,是不可見的。而計算機中的隨機函式是按照一定演算法模擬產生的,其結果是確定的,是可見的。我們可以這樣認為這個可預見的結果其出現的概率是100%。

所以用計算機隨機函式所產生的「隨機數」並不隨機,是偽隨機數。

11樓:匿名使用者

clc;clear

for i=1:5

a(:,i)=rand(3,1);

enda

a =0.3529 0.1389 0.6038 0.0153 0.9318

0.8132 0.2028 0.2722 0.7468 0.4660

0.0099 0.1987 0.1988 0.4451 0.4186

我試了一下,

不一樣啊

電子計算機不能產生真正意義的隨機數,那量子計算機能嗎?

12樓:匿名使用者

電子計算機不能產生真隨機數的原因是由於其由各種隨機種子決定而隨機種子的界定是必然 故屬於偽隨機

理論上 量子計算機可以產生真隨機數

因為本質上量子現象就具備了不確定性

當然這種不確定只是在當下 但在未來誰也不知道能否完美**量子現象所以量子計算機產生真隨機數只在當下成立

另外 量子計算機產生真隨機數使用的發生器並不是很容易完成的

電腦取隨機數是什麼原理,是真正的隨機數嗎

13樓:go蔡依林我愛你

是真正的隨機數。實現這

一功能的程式叫偽隨機數發生器。

不管用什麼方法實現隨機數發生器,都必須給它提供一個名為「種子」的初始值。而且這個值最好是隨機的,或者至少這個值是偽隨機的。「種子」的值通常是用快速計數暫存器或移位暫存器來生成的。

14樓:匿名使用者

當然不是,只能作一般隨機數用

計算機語言中,隨機函式原理是什麼?

15樓:答題狂魔想升級

在計算機中並沒有一個真正的隨機數發生器,但是可以做到使產生的數字重複率很低,這樣看起來好象是真正的隨機數,實現這一功能的程式叫偽隨機數發生器。

不管用什麼方法實現隨機數發生器,都必須給它提供一個名為「種子」的初始值。而且這個值最好是隨機的,或者至少這個值是偽隨機的。「種子」的值通常是用快速計數暫存器或移位暫存器來生成的。

下面是c語言裡所提供的隨機數發生器的用法。現在的c編譯器都提供了一個基於ansi標準的偽隨機數發生器函式,用來生成隨機數。它們就是rand()和srand()函式。

這二個函式的工作過程如下:

【1】首先給srand()提供一個種子,它是一個unsigned int型別,其取值範圍從0~65535;

【2】然後呼叫rand(),它會根據提供給srand()的種子值返回一個隨機數(在0到32767之間);

【3】根據需要多次呼叫rand(),從而不間斷地得到新的隨機數;

【4】無論什麼時候,都可以給srand()提供一個新的種子,從而進一步「隨機化」rand()的輸出結果。

16樓:匿名使用者

計算機不會產生絕對隨機的隨機數,計算機只能產生「偽隨機數」。其實絕對隨機的隨機數只是一種理想的隨機數,即使計算機怎樣發展,它也不會產生一串絕對隨機的隨機數。計算機只能生成相對的隨機數,即偽隨機數。

偽隨機數並不是假隨機數,這裡的「偽」是有規律的意思,就是計算機產生的偽隨機數既是隨機的又是有規律的。怎樣理解呢?產生的偽隨機數有時遵守一定的規律,有時不遵守任何規律;偽隨機數有一部分遵守一定的規律;另一部分不遵守任何規律。

比如「世上沒有兩片形狀完全相同的樹葉」,這正是點到了事物的特性,即隨機性,但是每種樹的葉子都有近似的形狀,這正是事物的共性,即規律性。從這個角度講,你大概就會接受這樣的事實了:計算機只能產生偽隨機數而不能產生絕對隨機的隨機數。

隨機函式有如下兩種:

rand()函式返回0到rand_max之間的偽隨機數(pseudorandom)。rand_max常量被定義在stdlib.h標頭檔案中。其值等於32767,或者更大。

srand()函式使用自變數n作為種子,用來初始化隨機數產生器。只要把相同的種子傳入srand(),然後呼叫rand()時,就會產生相同的隨機數序列。因此,我們可以把時間作為srand()函式的種子,就可以避免重複的發生。

如果,呼叫rand()之前沒有先呼叫srand(),就和事先呼叫srand(1)所產生的結果一樣。

17樓:匿名使用者

很少有裝置擁有隨機電路,除非安全性要求很高,大部分隨機發生函式採用線性同餘產生0到p-1之間的均勻分佈,通常用

隨機種子s=(a*s+b) mod p進行迭代,函式輸出為s^c mod p,其中a, b, c互質,p為質數,s由系統時間等方式初始化;由輸出猜測隨機種子是一個離散對數方程,很難解,因此安全性較好。

我有想法300作文,我有一個想法300作文?

在日常生活中,我常常看見有些人在公共場所抽菸,儘管這些場所都貼有 禁止吸菸 的標誌,可是他們依舊旁若無人地吞雲吐霧。記得上週六,我和爸爸媽媽一起去逛商場,我看見在一個拐角處的垃圾桶旁邊站著一位叔叔。他倚著牆,右手捏著煙,不停在嘴邊送進送出。而在他的頭頂上,就貼著一張 禁止吸菸 的警示牌。這個牌子是那...

我有個想法作文怎麼寫,我有一個想法的作文怎麼寫?

在公共場所裡經常看到有人在吸菸,我認為這種行為是不文明的也是錯誤的。有一次我在公園裡散步,看到一個人在公園的路上吸菸,煙就像霧一樣從那個人的嘴裡飄散出來,旁邊的人都不會靠近他,躲的遠遠的。還有一次在小朋友的遊樂園裡我也看見一個人在吸菸,周圍的小朋友們都被他的煙嗆得直咳嗽。吸菸會傷害自己不利於身體健康...

我有想法。字怎麼寫,我有一個想法。80個字怎麼寫?

參考馬丁路德金的 我有一個夢想 擷取部分文段 我夢想有一天,版這個國家將會奮起,權實現其立國信條的真諦 我們認為這些真理不言而喻 人人生而平等 我夢想有一天,在佐治亞州的紅色山崗上,昔日奴隸的兒子能夠同昔日奴隸主的兒子同席而坐,親如手足。我夢想有一天,甚至連密西西比州 一個非正義和壓迫的熱浪逼人的荒...