抽獎真的是隨機的嗎?科學解釋你為什麼沒能成為「中國錦鯉」

2020-12-04 差評

點擊右上角關注我,了解更多趣知識科普~

最近支付寶錦鯉的出現,敲碎了 300 萬人的暴富夢。。。

抽獎這種隨機發生的事情,為啥放到自己身上來說就等於 「 絕對不可能發生 」 呢。

還有平時打網遊,想要的任務材料和裝備,人家隨便暴,自己死活就是不暴。

玩兒 lol , 60% 暴擊率連打別人三下都不暴擊,別人 15% 暴擊率打你連續暴擊兩回把你反殺了。。。

人生就是如此反覆無常。

等等。。。

人生反覆無常是沒錯,但是上面由計算機產生的 「 隨機 」 ,真的是反覆無常的嗎?

計算機產生的隨機數,其實是偽隨機 「 pseudorandom 」 ,或者說是模擬出來的隨機數。

換句話說,你打怪不掉裝備,不出暴擊被人反殺,其實都是 「 被安排好了的 」 。

最直觀的例子。。比如你音樂播放軟體裡的 「 隨機 」 播放功能,其實只是把你的歌單打亂然後依次放一遍。

這不算是隨機嗎?

不算:如果是真隨機,你是有可能聽到歌曲重複播放的,概率還不小。

但事實上,幾乎所有播放軟體的隨機播放,同一首歌曲只會放一遍,而且如果你選擇 「 上一首 」 就一定能聽到上一首。

一般情況下,電腦是無法自己產生真隨機的。

你想想,計算機的一切行為都是人類寫代碼設定好的,因此在沒有輸入的情況下,你問它隨便憑空給個玩意。。。它還真就給不了!

但現在有很多場景確實需要計算機 「 隨機 」 點兒啥,比如遊戲,抽獎。。。

於是。。。就有了各種各樣的,用來讓計算機生成隨機數的偽隨機算法。

C++ 裡的偽隨機數計算公式

這種算法一般是個函數:你輸入一個東西,就會輸出一個東西。

比如你要模擬擲骰子,給這個算法輸入一個數字 [ 561981980 ] ,限制結果是 1 - 6 的整數,運行一下輸出一個數列:[ 3, 3, 4, 1, 6, 5, 1, 3, 2, 5 ] 。 ( 運行環境:差評君的大腦 )

然後。。。運行那個隨機算法以後,這些生成的隨機數就在那兒了,你每次管計算機要個骰子,它就按照數列的順序給你一個,不和你說,就以假亂真了。。。

在上面提到的場景裡,數字 [ 561981980 ] 被稱作隨機數種子。

大多數隨機數算法,都要個隨機數種子,來給函數作計算,一旦種子確定下來以後,生成的 「 隨機數 」 其實是有個確定的隨機數表的。

但並沒有啥關係,只要函數夠複雜,周期性非常長,那麼這個產生的隨機數表就幾乎無法預判。

遊戲 《 文明6 》 生成遊戲地圖就可以選擇種子

因此生成的函數對偽隨機算法很重要。

在網上有人做過測試,把隨機數可視化之後可以生成噪點圖來看。

這是 C 語言在 linux 環境下調用隨機數的排列結果

可以看到,分布很平均。

不過在 Windows 下的 PHP 隨機數算法,就能看出些規律,說明效果沒有上面那個好。

除了算法,還有在隨機數種子上做文章的。

有的算法使用外部因素來產生種子,這種外部因素被叫做噪聲源。

不少算法會調用當前系統時間當作隨機數種子。

( 順帶科普一下:現代計算機裡的時間其實是一個很大的整數,代表 1970 年 1 月 1 日以後到現在過了多少秒,再折算成年月日就有了計算機記錄的日期時刻,這個整數理論上的上限是 2 的 32 次方,看著挺大,其實到 2038 年就會用完,到時候咋辦工程師們還在討論 )

這個辦法理論上夠隨機了,畢竟啥時候需要隨機數是人來決定的,而人是感情的動物,做事兒極其沒有規律。。。

但是時間這個事情,在某種程度上是依舊可預測的。

因此還有更進一步的算法,例如 Linux 內核裡有一套方法,從使用計算機硬體的人身上獲取噪聲。

這個噪聲可以是兩次鍵盤敲擊的時間間隔,某一次滑鼠移動的距離。。。這些事情對計算機來說是不可預測的。

這個方法從理論上來說,產生的是真隨機數。

為啥是理論上來說呢?

先想想這個問題:我們理解的現實世界中的 「 真隨機 」 ,真的是完全隨機的嗎?

如果能搞清楚一顆骰子處的位置,桌子的材料,摩擦,空氣阻力,投的人用多大的力。。。不管多複雜,其實理論上通過數學和物理學工具是可以算出結果的。

人的行為也類似,人的當時的狀態心情,和他從小到大的遭遇見聞,接受的教育是已知的情況下,理論上也許能算出一個人的下一步行動。

嗯。。。發現沒,這個問題再討論下去,就馬上要跳出物理學數學心理學的範疇,進入哲學的領域了。

如果看了這篇文章導致你需要隨機數的時候,再也不相信手機 APP 生成的結果的話。。。試試這個網站:random.org

絕對不是什麼推廣,國內上這個網站賊卡

這個網站可以幫你產生各種隨機數,給定一個範圍就能生成數字,生成隨機數種子的噪音源取自大氣裡的分子運動現象,廣義上來講,也算真隨機了。

這麼說下去,既然電腦裡的隨機都是 「 安排好的 」,咱們遊戲還玩兒嗎?

照樣玩兒,因為一般情況下,偽隨機拿來模擬真隨機是夠用的,我們的世界一直就是這麼過來的。

至於現實生活有沒有隨機這個事情,也別糾結了,好好生活,把問題留給科學家和哲學家吧。

圖片來源:Giphydialogos.com.cy差評君在寫文章途中來了一局文明6The Irish Times參考資料:CSDN用戶@繪夜博文 《 隨機數:真隨機數和偽隨機數 》知乎用戶@雨亦奇《 偽隨機的上位和真隨機的逆襲 》維基百科 「 pseudorandom 」cnblogs @紅字 《 內核隨機數產生器 》

「 我知道結尾有點像廣告,但不是。。這破網站誰會做廣告啊喂?! 」

相關焦點

  • 抽獎這件事真的是隨機的嗎?
    人生反覆無常是沒錯,但是上面由計算機產生的 「 隨機 」 ,真的是反覆無常的嗎?比如你音樂播放軟體裡的 「 隨機 」 播放功能,其實只是把你的歌單打亂然後依次放一遍。這不算是隨機嗎?但事實上,幾乎所有播放軟體的隨機播放,同一首歌曲只會放一遍,而且如果你選擇 「 上一首 」 就一定能聽到上一首。
  • 這幾天錦鯉火遍了全中國,那你知道錦鯉如何用英文表達嗎?
    「十一黃金周」已經過去啦,但是對於十一期間發生的「錦鯉事件」卻仍在上溫。該事件源於支付寶在十一期間推出的「支付寶中國錦鯉」活動,其具體是在十一期間用支付寶進行消費的人中進行抽獎,獲得一系列的免單。中獎者「信小呆」在幾天之內吸引了百萬粉絲的關注。
  • 隨機抽獎,一種讓用戶上癮的激勵方式
    這次我挑三個方面去講講抽獎、積分和優惠券。我們為什麼玩抖音會上癮,因為我們永遠不知道下一條是什麼,所以我們每一次手指的滑動都是對未知世界的一次探索。用戶每天打開app或網站就是對產品經理最大的鼓勵和認可,所以產品經理一定要對得起用戶的活躍,要真的把用戶的參與有效的運營起來,產品經理要想辦法設計這種讓用戶上癮的機制,讓用戶持續的活躍的產品。
  • 天天都在拜錦鯉,你知道錦鯉的英文是什麼嗎?
    不知從何時起,「錦鯉」一詞的含義從一種高檔的觀賞魚變成了一切跟好運氣相關的事物。以前每逢大事,人們拜祖先拜信仰,現在隨手轉發錦鯉就是信仰。2018年,支付寶發起的微博抽獎全民參與,轉發量達300多萬次,中獎者「信小呆」被稱為「錦鯉轉世」。還有楊超越更是被網友們封為「人形錦鯉」。
  • 第五人格:春節活動竟是「隨機」抽獎?玩家:這也太隨便了!
    第五人格的首個「春節」活動,也就在昨天正式上線,從該活動剛發布的時候,不少玩家就吐槽,活動的複雜性以及抽獎機制,雖然活動獎勵確實很誘人,但是有玩家質疑,春節活動獎勵竟是「隨機」抽獎?能得到一張高級的時裝卡,真的對於玩家特別的重要,因為時裝解鎖卡不僅可以解鎖商城可購買的皮膚,同時也可以解鎖珍寶裡面的皮膚,所以玩家此次任務也是認真的編排,但是這樣的編排有真的用嗎?
  • 中國人為什麼相信「錦鯉」會帶來好運?
    為了迎接七天長假,支付寶在9月29日發起了一個抽獎活動,要抽取一位幸運兒,送上超級大禮包。這個「超級禮包」由來自全球超過 160 個品牌提供的各種優惠和免單福利組成,總體福利量驚人。從最新款手機,到全球免費旅行,私人飛行教學,豪華遊輪之旅。。。衣食住行玩,只有你想不到,沒有它不包含的。
  • 用EXCEL製作隨機抽獎小程序
    今天教大家用EXCEL製作隨機抽獎小程序。方法其實很簡單,只需要兩個函數組合成一個公式!
  • 利用隨機數完成公司年會抽獎過程
    ① 我們要首先選中10個(即產生隨機數的個數)橫向的單元格:② 在編輯欄錄入公式:= MyRandomA(B2,B3,B4),然後同時按下數組的控制鍵CTRL+SHIFT+ENTER,就產生了10個我們要求的隨機數。為什麼要同時按下上面所說的三鍵呢?有興趣的朋友可以參考我的《VBA數組與字典解決方案》這套教程。
  • 還記得中了1億的錦鯉女孩嗎?兩年過去了,她活成別人想要的樣子
    每個人的運氣是不同的,有人的運氣就是非常好,比如去參加一些抽獎活動就能中獎等。這種運氣也是很隨機的,沒辦法求來的,有人可以通過運氣來獲得一個很好的人生,有人卻沒有那麼走運。本篇文章要講的就是一個走運的姑娘,這個女孩堪稱是一個非常幸運的人了,之前因為中獎了支付寶的抽獎而出席安在人們眼裡。她也被人們稱為「錦鯉女孩」,為什麼這樣稱呼呢?其實是因為她中了支付寶的一億元,這樣的運氣真的是讓人吃驚。如今距離女孩中獎也已經過了兩年的時間了,兩年之後的女孩活成了別人想要的樣子。那麼,她又有什麼故事呢,後來的她生活發生了哪些變化?
  • 160 萬人被騙:「天貓抽獎」小程序被封,刷屏背後是巨大的焦慮
    在大家忙著剁手的最近,微信平臺上悄悄出現一個「天貓雙 11.11 抽獎」活動。但讓人哭笑不得的是,它竟然是通過小程序來抽獎的。或許是 iPhone XS 的魅力太大,超過 160 萬人沒察覺出貓膩,熱情飽滿地參與了抽獎。朋友圈一時間迎來刷屏。
  • 第16波隨機抽獎結果公布,是不是你中獎了?
    查看16波抽獎圖文可以點擊:#遇見女神#第16波抽獎送兩個37度手環。首個中獎號 = Mod(A,B)A:中國體彩排列三和排列五組成的數字B:活動參與總編號簡單來說:A除以B得到的餘數即為首中獎號。3) 中國體彩排列三排列五開獎時間為每晚8:30~9:30,活動結束後以結束當天的體彩數字為準。排列順序為排列三+排列五,形成計算公式中的數字A(如某天的排列三為:2,3,5.
  • 大家都在找錦鯉,看看你星盤裡蘊藏的「錦鯉」
    如果你買彩票買了好幾百張,卻最大超不過100元獎金,而隔壁的Jerry買了一張就中了頭獎。沒辦法,世界看起來就是那麼的不公平。能夠超級錦鯉的幸運並不是靠公平競爭,或者多努力就可以獲得的。
  • 全國都在轉錦鯉!這隻刷爆朋友圈的卻要小心…
    導讀今天你轉錦鯉了嗎?但是「錦鯉」千萬別無腦轉!最近很多杭州網友轉了一條「錦鯉」,事後卻發現疑點重重……你的朋友圈、微博、QQ空間……是不是還被「錦鯉」霸屏?「錦鯉」成為很多人追捧的對象。#全國各地都在搞錦鯉#微博話題長期佔據微博熱搜!
  • 你真的了解錦鯉這種魚類嗎?養錦鯉又需要注意什麼呢?
    近兩年來,錦鯉作為好運來的代表,活躍在公眾的視野中。其實,錦鯉本身是鯉魚類,也是緋錦鯉原始的品種,又叫做紅色鯉魚。紅鯉作為觀賞的魚類,在中國明朝時代就已非常流行了。傳說錦鯉起源在我國廣西省的龍州,江西省的興國,以及浙江省的杭州,早期便由我國傳到日本,後來經過日本人民的長期人工選擇培育之後,現有超過了100個品種。錦鯉其實起源於中國,而後興於日本,最後又回到中國,可謂是經歷了出口到內銷的過程。現如今,錦鯉以其獨一無二的陽剛感覺的美被更多的人所喜愛,還被冠名觀賞魚之王。
  • 為什麼民間科學家難以成為大師,科學真的被壟斷了嗎?
    那你可能要問了,那這之前科學家又叫啥? 其實在這之前,科學家一般叫做自然哲學家的。我們想一想,牛頓的著作其實就叫做《自然哲學的數學原理》,而不是《科學的數學原理》,這其實就是因為牛頓時代還沒有「科學」的說法。
  • PPT教學:隨機抽獎動畫 part1
    學完本課程你將會知道:1、
  • 隨機性真的存在嗎?
    作者:Pradeep Mutalik翻譯:Nothing審校:Nuor客觀,完美的隨機性真的存在嗎?抑或它只是我們想像的產物?眾所周知,未來是不可預測的,生活中隨機事件隨處可見,你可以說宇宙本身就是隨機的。然而,大量的隨機事件表現出的集體行為卻可以被科學精確預測。熱擴散和布朗運動就是其中兩個例子。
  • 你相信鬼魂真的存在嗎?科學家對鬼魂有沒有科學的解釋?
    看來不僅我們對此事產生疑問,國外也對此事產生疑問,而且他們還付出了行動,英國有一檔和中國《走近科學》類似的節目,針對鬼魂事件他們特別製作了一期,鬼魂事件到底是心理的扭曲還是另有真相,讓我們一探究竟。有了這個方向英國版《走近科學》的科學家使用粒子加速器來驗證此事,這個粒子加速器其實是一種人為的提供各種高能粒子束或輻射線的現代化的裝備。科學家帶著這個設備找到聲稱遇到鬼的群眾家中或者鬼魂事件傳播最廣的地區,來尋找鬼魂的能量體,但最終還是沒能找到相關的能量體或者說鬼魂的身影。所以科學家堅信鬼魂是不存在的,當然他也沒能解釋出為什麼還會有人遇到鬼的事件。
  • 微博抽獎上新功能了!「不過濾」選項是福利嗎?網友:我是絕緣體
    微博抽獎上新功能了!「不過濾」選項是福利嗎?網友:我是絕緣體!這個月真的挺火的,先是iG奪冠,讓很多喜歡電子競技的朋友開心,之後王校長的各種舉動都成為了微博熱搜。特別是校長的微博抽獎,真的是大手筆。微博都因為這次抽獎調整了規則,但是到了雙十一開獎後,名單出來了,卻遭到了網友的吐槽,為什麼呢?主要是因為抽中的這113個人中,居然只有一位男生。這下網友直接炸開了鍋,為什麼會出現這樣的情況呢?很多女性網友都表示自己可能是個假女人,還有一些網友表示,要改了微博上的性別。
  • 【CFM】幸運槍王大回饋,黃金錦鯉抽遊騎兵套裝!
    活動期間,大家可以通過完成指定任務來獲取抽獎機會,獎池裡面的道具抽一個少一個,最終必得所有獎勵。和以前不一樣的是,本期活動還設置了「抽錦鯉」獎項,抽中黃金錦鯉的CFer可以獲得永久遊騎兵大套裝!  拋去期限道具不看,還有墮天使挑戰卡、500萬化券、價值1080鑽石的永久AK47-黑鋒、168-2020鑽石、王者之骰禮盒、抽永久黑騎士資格以及抽錦鯉資格。這些道具的價值大家都清楚,光是500萬化券和永久黑鋒就已經很好了,更何況還有保底的168鑽石獎勵,真的太大方了!