【討論】何謂亂數


Recommended Posts

如果你看到這個問題,只是理所當然的說「亂數,就是......很亂的數。」(^^|||)

別想太多,這只代表其實你和大部份人一樣,很少會去對這個「理所當然」的問題進一步的思想(或是胡思亂想)

何謂亂數?以下幾組

a. 3.1.4.1.5.9.2.6.5.3.5.8.9.7

b. 1.4.2.8.5.7.1.4.2.8.5.7.1.4

c. 0.7.6.9.2.3.0.7.6.9.2.3.0.7

d. 1.4.7.0.3.6.9.2.5.8.1.4.7.0

e. 1.1.2.3.5.8.3.1.4.5.9.4.3.7

f. 1.1.1.1.1.1.1.1.1.1.1.1.1.1

g. 0.1.2.3.4.5.6.7.8.9.1.0.1.1

h. 6.4.5.7.8.0.2.9.4.6.7.5.3.1

註:

pi=3.1415926535897932384626433832795

1/7=0.142857循環

1/13=0.076923076923循環

你覺得哪些是亂數呢?如果你的定義是「沒有一定的規律」那可以說全部只有h沒有規律

a是圓周率的前14位數

b和c是1/7與1/13的小數位

d是一直加3

e是費布那契數列 mod 10

f 就一直1下去

g很明顯

只有h是我亂打的數列

鏈接文章
分享到其他網站

只是,如果上面的改成9.3.2.3.8.4.6.2.6.4.3.3.8.3呢?

你可以對照上面從小算盤copy出來的pi值發現它也是「有規律」的,但是如果有人從沒聽過pi呢,或是不像我因為記過口訣知道pi到第24位的人可能就會認為它是亂數而就此深信不疑了(BTW,口訣是:山巔一寺一壺酒爾樂苦煞吾把酒吃酒殺爾殺不死樂亦樂)

再說 f 吧,如果我告訴你第15項是4,接下來是 h數列面再接 pi 100位 再接歐拉常數......???

姑且不論,如果今天決定樂透得主的號碼是從我亂打的 6.4.5.7.8.0.2.9.4.6.7.5.3.1......中取第61 57 80 29 46 75 31項,這個樂透有人會買嗎?

如果以後用亂數表抽樣要服兵役的役男,但是這個亂數表裡面(碰巧或是人為的)找不到2260號,這個亂數表真的亂嗎?

亂數一定要『公正』嗎?

我們(甚至連數學家們)很直覺的認為如果pi的位數取的足夠多,0~9的數字出現的次數應該要一樣多,但是用電腦跑出來的結果似乎趨勢不是如此。

(艾西莫夫的『科學神話』是有外星智慧生命(神?)設計了我們的世界然後把神秘訊息藏到各種常數裡,例如pi在天文數字位後會出現一連串的零然後出現規律)

(這個真的是小說家隨便說說,不要相信呵)

亂數的『亂度』可以定義嗎?熱力學?還是可以分成亂度0~1之類的,從完全不亂到瘋狂地亂。

有人知道電腦的亂數『有多亂』嗎?我記得是有很多內建的亂數表,你可以指定編號,或者由系統根據當時主機的時鐘取一個表出來用(天知道這些表是怎麼做出來的,每台電腦的相不相同呢?)

鏈接文章
分享到其他網站

我認為...通通都能算

假設存在一亂數表

內含無限組亂數

那這些應該都會被包含在其中

但是如果你很明顯的說

a的第n項為pi的小數後n-1位,那他應該就不算亂數了(其他幾個也是)

因為他就不在我剛剛假設的亂數表中

然後..程式語言也是根據一個有限的亂數表再挑選亂數輸出(偽隨機數)

http://zh.wikipedia.org/wiki/%E4%BA%82%E6%95%B8

鏈接文章
分享到其他網站
只是,如果上面的改成9.3.2.3.8.4.6.2.6.4.3.3.8.3呢?

你可以對照上面從小算盤copy出來的pi值發現它也是「有規律」的,但是如果有人從沒聽過pi呢,或是不像我因為記過口訣知道pi到第24位的人可能就會認為它是亂數而就此深信不疑了(BTW,口訣是:山巔一寺一壺酒爾樂苦煞吾把酒吃酒殺爾殺不死樂亦樂)

再說 f 吧,如果我告訴你第15項是4,接下來是 h數列面再接 pi 100位 再接歐拉常數......???

姑且不論,如果今天決定樂透得主的號碼是從我亂打的 6.4.5.7.8.0.2.9.4.6.7.5.3.1......中取第61 57 80 29 46 75 31項,這個樂透有人會買嗎?

如果以後用亂數表抽樣要服兵役的役男,但是這個亂數表裡面(碰巧或是人為的)找不到2260號,這個亂數表真的亂嗎?

亂數一定要『公正』嗎?

我們(甚至連數學家們)很直覺的認為如果pi的位數取的足夠多,0~9的數字出現的次數應該要一樣多,但是用電腦跑出來的結果似乎趨勢不是如此。

(艾西莫夫的『科學神話』是有外星智慧生命(神?)設計了我們的世界然後把神秘訊息藏到各種常數裡,例如pi在天文數字位後會出現一連串的零然後出現規律)

(這個真的是小說家隨便說說,不要相信呵)

亂數的『亂度』可以定義嗎?熱力學?還是可以分成亂度0~1之類的,從完全不亂到瘋狂地亂。

有人知道電腦的亂數『有多亂』嗎?我記得是有很多內建的亂數表,你可以指定編號,或者由系統根據當時主機的時鐘取一個表出來用(天知道這些表是怎麼做出來的,每台電腦的相不相同呢?)

我沒記錯的話

根據MSDN的解釋

http://msdn2.microsoft.com/zh-tw/library/8zedbtdt(VS.80).aspx

由於 Random 陳述式和 Rnd 函式會以種子值開始,並產生落在有限範圍內的數值,因此瞭解用於產生該值演算法的人員,就可預測出結果。因此,Random 陳述式和 Rnd 函式不應該用來產生用於密碼編譯的亂數。如需詳細資訊,請參閱 RandomNumberGenerator。

電腦出來的都是偽亂數

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
srand(3);
printf("%d",rand());
system("PAUSE");
return EXIT_SUCCESS;
}

這支程式出來的亂數是48,應該是根據編譯器吧(我用DEV C 4.9.9.2)

不過..如果pi後面的數夠亂,我相信出現1串0的可能..(雖然我還不大清楚pi怎麼算)

http://www16.big.or.jp/~bunnywk/superpi.html <---這東西是嗎?

鏈接文章
分享到其他網站

為了減少各位瀏覽論壇時外部連結的困擾,我把上面那個Wiki百科的內容做摘錄。

(致版主,如果不能這樣PO上來煩請修正)

WIKIPEDIA(中文)"隨機數"

隨機數最重要的特性是它後一個數與前一個數毫無關係。

真正的隨機數是使用物理現象產生的:比如擲錢幣、骰子、轉輪、使用電子元件的噪音、核裂變等等。這樣的隨機數發生器叫做物理性隨機數發生器,它們的缺點是技術要求比較高。

在實際應用中往往使用偽隨機數就足夠了。這些數列是「似乎」隨機的數,實際上它們是通過一個固定的、可以重複的計算方法產生的。它們不真正地隨機,因為它們實際上是可以計算出來的,但是它們具有類似於隨機數的統計特徵。這樣的發生器叫做偽隨機數發生器。

在真正關鍵性的應用中,比如在密碼術中,人們一般使用真正的隨機數。

鏈接文章
分享到其他網站

可以推算的意思是說...

排列組合、機率所言的"隨機取出數字"...

也不能當作真正的"亂數"?

即使是利用語言隨機抽取0~9的數字排出需要的量的數列...即使是無限個...

他還是不能稱為亂數?

只能叫做偽隨機數???

是這樣嗎??

"要用量子物理的不確定性才可以取真正的亂數。"

這聽起來好深奧XD

鏈接文章
分享到其他網站
為了減少各位瀏覽論壇時外部連結的困擾,我把上面那個Wiki百科的內容做摘錄。

(致版主,如果不能這樣PO上來煩請修正)

WIKIPEDIA(中文)"隨機數"

隨機數最重要的特性是它後一個數與前一個數毫無關係。

真正的隨機數是使用物理現象產生的:比如擲錢幣、骰子、轉輪、使用電子元件的噪音、核裂變等等。這樣的隨機數發生器叫做物理性隨機數發生器,它們的缺點是技術要求比較高。

在實際應用中往往使用偽隨機數就足夠了。這些數列是「似乎」隨機的數,實際上它們是通過一個固定的、可以重複的計算方法產生的。它們不真正地隨機,因為它們實際上是可以計算出來的,但是它們具有類似於隨機數的統計特徵。這樣的發生器叫做偽隨機數發生器。

在真正關鍵性的應用中,比如在密碼術中,人們一般使用真正的隨機數。

硬幣骰子還是可以推算吧?如果資訊夠多的話。

要用量子物理的不確定性才可以取真正的亂數。

我一直以為亂數的意義是

a.我們無法對它給出一個比它自己更短的正確描述的數列

結果聽你們這樣講,似乎變成應該是這樣

b.即使掌握了所有的資訊,在它產生之前也無法推測出它的樣子的數列

事實上我會認為前一種東西在密碼戰中會比較有用,因為即使我們使用「量子物理的不確定性」做出一串數列,也有一定的機率會得到「1111111...」或者「31415926...」之類的數列。

(而這一點似乎也順便告訴了我們,WIKIPEDIA(中文)告訴我們的亂數的資訊是矛盾的。因為它一方面宣稱亂數中的任兩個排在一起的數彼此之間是沒有關係的,一方面又宣稱亂數是被隨機數發生器做出來的數,問題是根據前面的例子,隨機數發生器是有一定的機率會產生有規則可尋的數列的。)

鏈接文章
分享到其他網站
如果你把隨機取得的數字中可以找出規律的去除掉,那就不是隨機了。

你是說

即使我們先用隨機的物理方法(假設有這種方法:p)做出100串數列,然後把其中我們找得到規則的數列拿掉,留下我們找不到規則的數列當作隨機數列,我們依然不是在做隨機數列,因為我們刻意地用了一些規則拿掉了一些數列,保留了一些數列

這樣嗎?

鏈接文章
分享到其他網站
你是說

即使我們先用隨機的物理方法(假設有這種方法:p)做出100串數列,然後把其中我們找得到規則的數列拿掉,留下我們找不到規則的數列當作隨機數列,我們依然不是在做隨機數列,因為我們刻意地用了一些規則拿掉了一些數列,保留了一些數列

這樣嗎?

對。

鏈接文章
分享到其他網站

我覺得數列所具有的規律性或不規律性,就好像光的粒子性跟波動性

會因為用不同的方式去探討而表現出不相同的特性

要把數列硬分成規律或不規律,就好像要光一定是粒子或波動一樣吧

鏈接文章
分享到其他網站
  • 3 weeks later...

就我的認知..對於一般的電腦而言是無法產生真正的亂數

畢竟電腦是被設計成可完全的被預測結果。

所謂的丟骰子程式、訊息編碼都是一種"假隨意"的數字

看似沒有固定的模式,但是產生的步驟是可以重複的。

而所謂量子電腦產生的亂數。

就像一列30量子位元會有2*30疊加在一起的二進位數字,

當去測量這個波函數,會從相同的機率中,

隨機崩解成其中一種可能性,如果多次的重複測量,

就能夠產生一段無法重新產生的亂數

我沒記錯的話,之前有一家在日內瓦的公司,

有在賣一種亂數產生器...就是用類似這種量子力學的概念

生出後可以透過USB直接輸入個人電腦中 xd

鏈接文章
分享到其他網站
  • 2 weeks later...
我一直以為亂數的意義是

a.我們無法對它給出一個比它自己更短的正確描述的數列

結果聽你們這樣講,似乎變成應該是這樣

b.即使掌握了所有的資訊,在它產生之前也無法推測出它的樣子的數列

a的解釋很有邏輯性呢,已經很能說服我了。

b的話,似乎很似是而非,就如你所說。

=====================================

樓上說的那個亂數器真是太酷了,我想找找看訂購的方法。

還有呢,你能想像對別人炫燿:「你看,真正的亂數喔~」時候對方的眼光嗎。

這個說明了大部分人對於嚴謹的邏輯不大關心啊。大部分的人還是喜歡似是而非。SO SAD

鏈接文章
分享到其他網站

喔,除了友版版主chuo大大之外其他人似乎都說,真正的亂數來自「量子力學中的不確定性」,但其實chuo的回文裡有個關鍵詞

---測量---

對於這個波函數的崩潰與---測量---與隨機之間的關係應該麼去想它?

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入