抽獎這件事真的是隨機的嗎?

2021-01-16 差評



最近支付寶錦鯉的出現,敲碎了 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 


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


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


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


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


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



圖片來源:

Giphy

dialogos.com.cy

差評君在寫文章途中來了一局文明6

The Irish Times

參考資料:

CSDN用戶@繪夜博文 《 隨機數:真隨機數和偽隨機數 》

知乎用戶@雨亦奇《 偽隨機的上位和真隨機的逆襲 》

維基百科 「 pseudorandom 」

cnblogs @紅字 《 內核隨機數產生器 》



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

相關焦點

  • 第五人格:春節活動竟是「隨機」抽獎?玩家:這也太隨便了!
    第五人格的首個「春節」活動,也就在昨天正式上線,從該活動剛發布的時候,不少玩家就吐槽,活動的複雜性以及抽獎機制,雖然活動獎勵確實很誘人,但是有玩家質疑,春節活動獎勵竟是「隨機」抽獎?能得到一張高級的時裝卡,真的對於玩家特別的重要,因為時裝解鎖卡不僅可以解鎖商城可購買的皮膚,同時也可以解鎖珍寶裡面的皮膚,所以玩家此次任務也是認真的編排,但是這樣的編排有真的用嗎?
  • 抽獎真的是隨機的嗎?科學解釋你為什麼沒能成為「中國錦鯉」
    人生反覆無常是沒錯,但是上面由計算機產生的 「 隨機 」 ,真的是反覆無常的嗎?計算機產生的隨機數,其實是偽隨機 「 pseudorandom 」 ,或者說是模擬出來的隨機數。比如你音樂播放軟體裡的 「 隨機 」 播放功能,其實只是把你的歌單打亂然後依次放一遍。這不算是隨機嗎?不算:如果是真隨機,你是有可能聽到歌曲重複播放的,概率還不小。
  • 隨機抽獎,一種讓用戶上癮的激勵方式
    這次我挑三個方面去講講抽獎、積分和優惠券。我們為什麼玩抖音會上癮,因為我們永遠不知道下一條是什麼,所以我們每一次手指的滑動都是對未知世界的一次探索。用戶每天打開app或網站就是對產品經理最大的鼓勵和認可,所以產品經理一定要對得起用戶的活躍,要真的把用戶的參與有效的運營起來,產品經理要想辦法設計這種讓用戶上癮的機制,讓用戶持續的活躍的產品。
  • 利用隨機數完成公司年會抽獎過程
    第五節 實際場景中隨機數的利用這一講,我們講這個專題的具體應用,對於隨機數,雖然屬於非常抽象的一個個的數字,在專題的開始我已經講過隨機數的概念,就是根據之前的數據是無法推測出後續的數據的,正是有著這樣的原理,我們可以用於某些實際的場景,這裡主要給大家模擬一種抽獎的場景,再次之前,我們還要講一下在工作表中我們如何利用我們已經建立的
  • 用EXCEL製作隨機抽獎小程序
    今天教大家用EXCEL製作隨機抽獎小程序。方法其實很簡單,只需要兩個函數組合成一個公式!
  • PPT教學:隨機抽獎動畫 part1
    學完本課程你將會知道:1、如何中斷循環動畫2、利用中斷動畫來製作隨機抽獎↑↑點擊左下角「閱讀原文」,跳轉至優酷可觀看到超清版~or 登陸優酷,搜索「PPT文學社」,也可找到我們的視頻教程要點:1、中斷動畫一個循環動畫,如果①設置了觸發器②動畫播放後設置了顏色那麼在動畫進行中,隨機點擊頁面
  • 微博抽獎上新功能了!「不過濾」選項是福利嗎?網友:我是絕緣體
    微博抽獎上新功能了!「不過濾」選項是福利嗎?網友:我是絕緣體!這個月真的挺火的,先是iG奪冠,讓很多喜歡電子競技的朋友開心,之後王校長的各種舉動都成為了微博熱搜。特別是校長的微博抽獎,真的是大手筆。微博都因為這次抽獎調整了規則,但是到了雙十一開獎後,名單出來了,卻遭到了網友的吐槽,為什麼呢?主要是因為抽中的這113個人中,居然只有一位男生。這下網友直接炸開了鍋,為什麼會出現這樣的情況呢?很多女性網友都表示自己可能是個假女人,還有一些網友表示,要改了微博上的性別。
  • 還在為公司抽獎、分組而煩惱嗎?用Excel的隨機函數可以輕鬆解決
    今天和大家分享的是如何利用函數產生隨機的數字,並且將這個功能應用在抽獎活動,以及課堂分組這兩個常見的情景,下面我們一起來看看怎麼操作吧。我們假設今天公司舉辦了一個摸彩活動,以上圖為例,要從這12位員工之中,抽出一名幸運得主。那麼這時,我們可以用上一個很實用的函數,叫做RANDBETWEEN。
  • 抽獎、隨機點名,用EXCEL這麼操作分分鐘就能搞定,值得收藏!
    職場上,抽獎或隨機點名等情況經常會遇到,作為組織方或負責人,你該怎麼做呢?一般來說可以用EXCEL,也可以用word/ppt結合,或者用第三方抽獎軟體、寫代碼、用小程序。今天雷哥給大家分享幾種簡單的方法,不用編程,簡單易懂。
  • 隨機性真的存在嗎?
    共收入233件珍貴藏品,按圖書文獻、植物、動物、昆蟲、古生物、礦物系統分類。這些藏品有世界知名的標本,也有一些鮮為人知的古董。這些珍寶有的正在展覽,有的收藏在庫,分別因科學重要性、美觀性以及傳奇故事被收入本書。總之,這是一本不枯燥,很有趣,不坑爹,很超值,不泛泛,很系統,不將就,很嚴謹,不粗糙,很細緻的博物學家的傳世珍寶。
  • 大公司年會都在用的Excel抽獎模板,姓名和照片都會隨機跳動...
    值此年會季,教大家做一個隨機滾動出現人名和照片的抽獎器。寫了這麼多抽獎模板的做法,這一款是絕對是為年會量身定製的剛需品。案例:製作如下圖所示的年會抽獎模板:按住 F9,姓名和照片開始隨機跳動;放開 F9,得到抽獎結果。
  • 文化部要求網遊公布抽獎概率羨煞國外玩家 但你確定能有底線的氪金?
    不久前文化部發布了針對網遊的新規定,其中包括了「隨機抽取不得直接投入法定貨幣或虛擬貨幣,應公示抽取或合成概率」,以及「企業不得... 文化部要求網遊公布抽獎概率國外玩家超羨慕 但你確定可以有底線的氪?
  • 大學教師用課堂考勤軟體點名 隨機抽學號像抽獎
    大學教師用課堂考勤軟體點名 隨機抽學號像抽獎 「以後再看不到『抽獎』了。」有學生笑稱。  何謂「抽獎」?原來,王洪新用了一款學生課堂考勤軟體,每次在課前用電腦隨機點名。據悉,王洪新為每名選修該課程的學生設定了唯一的課程序號,然後啟動專門開發的隨機點名軟體。它類似抽獎搖號,被考勤對象的序號是程序軟體隨機抽取的;接著對應編號的學生就要起立並回答與課程相關的問題。王洪新依據學生對問題的回答情況記錄平時成績,既有加分,也有減分。
  • 第16波隨機抽獎結果公布,是不是你中獎了?
    在公布第16波抽獎活動之前,先說說第三方平臺水滴微信平臺的抽獎規則:根據體彩排列三排列五開獎。
  • 年會上抽獎,有什麼好的抽獎軟體推薦?
    如果說春晚最期待的是小品,那年會最期待的莫過於抽獎活動了。抽獎活動這麼振奮人心,那抽獎方式呢?年會策劃什麼樣的抽獎活動才有意思?手動的紙條抽獎?喊號碼抽獎?試試樂乎的抽獎軟體怎麼樣?款式一:抽獎箱虛擬的抽獎箱場景模式,簡單的掃碼參與活動,負責人只需點一下抽獎鍵,中獎的幸運兒就會出現在會場的大屏幕上!如此簡單、直接的互動抽獎形式,通過大屏幕上隨機抽取用戶頭像的方式,瞬間擺脫各種內幕問題,讓抽獎變得更加好玩,讓年會策劃更加簡單。
  • 小米直播抽獎淨化器 網友指認造假 該博現已刪除
    前言:微博抽獎多數人都玩過,動輒成千上萬的獎品怎能不動心呢?而你需要做的僅僅是動動手指轉發一下。退一步講,不中也不吃虧,真的是這樣嗎?該圖片顯示在中午11點多鐘,由「@小米直播」發布抽獎結果,獎品為米家空氣淨化器Pro,獲獎人為「@小君君1010」。
  • 考勤軟體隨機抽取學號 武大教師課前點名像抽獎
    「以後再看不到『抽獎』了。」有學生笑稱。  何謂「抽獎」?原來,王洪新用了一款學生課堂考勤軟體,每次在課前用電腦隨機點名。據悉,王洪新為每名選修該課程的學生設定了唯一的課程序號,然後啟動專門開發的隨機點名軟體。它類似抽獎搖號,被考勤對象的序號是程序軟體隨機抽取的;接著對應編號的學生就要起立並回答與課程相關的問題。王洪新依據學生對問題的回答情況記錄平時成績,既有加分,也有減分。
  • 5年前,我就想為留學生做這件事
    原標題:5年前,我就想為留學生做這件事越來越多人說現在的年輕人,真的一點都不酷了啊好多人在開玩笑「我只想當一隻鹹魚啊」
  • 這件事是真的嗎?
    之後還有其他的探險隊進入了崑崙山地區,但是都消失來,這件事引起了軍方的注意,軍隊便派遣了一隊人馬,去尋找失蹤的人員,與之前探險隊員遇害時不同,螳螂人對軍隊發起了主動進攻,當軍隊行進到半山腰的時候,被突如其來的螳螂人打了個措手不及,死傷慘重,後續西藏軍區的支援部隊達到後,才化解了這次危機。
  • QQ飛車手遊A車抽獎概率一覽 A車抽獎消耗匯總
    獄火嘯天的出貨率是260個盒子到330個盒子,Q區有保底是410個!黑色閃電/黑夜傳說,800金晶內隨機出一輛(2月8號以前的抽獎已經清零,現在沒有測試,但是應該會有時間段清零了,斷斷續續的抽獎估計跟這兩部A車無緣了呀!),出一輛以後,再700金晶內出另一輛!銀河戰艦是1000紫晶內,noble這個車沒有保底,全看命!