What are random seed values?什麼是隨機種子? - 台部落

文章推薦指數: 80 %
投票人數:10人

... 而大部分權威資料都來自國外,所以就組織組員翻譯來自GH官方論壇的帖子,以便學習。

下面是一篇David的帖子講解隨機數原理,由黃思穎同學翻譯。

請輸入正確的登錄賬號或密碼 註冊 忘記密碼 首頁 gha開發 正文 什麼是隨機種子 原創 huaxiamengqing 2018-09-0318:55 我們來自江河夢小組(ScondEffectGroup),工程用到gh,所以必須學習好GH插件,而大部分權威資料都來自國外,所以就組織組員翻譯來自GH官方論壇的帖子,以便學習。

下面是一篇David的帖子講解隨機數原理,由黃思穎同學翻譯。

Whatarerandomseedvalues?什麼是隨機種子? Postedby DavidRuttenonOctober20,    2012at9:52amin FAQ(FrequentQuestionsandProblems)Send MessageViewDiscussionsMostcomponentsinGrasshopperthatutilizerandomnessonsomelevelhaveaninputcalled'Seed'.Sowhatisaseedfor,whywouldyouwanttochangeitandhowdoyouknowwhattochangeitto? 多數使用隨機數的計算器都有一個輸入端叫做種子。

因此種子是用來幹什麼的?爲什麼你試圖改變它?你如何知道將它改變成什麼? First,let'stalkaboutrandomness.Randomnessisaproblemincomputingbecausedigitalcomputersare deterministic.Ifyougivethemtheexactsameinstructionstheyalwaysendupwiththeexactsameresult.Itturnsouttobemathematicallyimpossibletogenerate truerandomnumbersusingadigitalcomputer,butitisfairlyeasytogenerate pseudo-randomnumbers.Thisisactuallynotbadnewsaspseudo-randomnumbers-unlikerealrandomnumbers-canbegeneratedagainandagainandyou'llendupwith thesamerandomnumberseverytime.Beingabletogetthesamerandomnumbersondemandincreasesthereliabilityofthesenumbersequenceswhichinturnmakesthemeasiertouse. 首先說說隨機。

隨機是計算的一個問題,如果你輸入相同的命令將總是以相同的結果終止。

使用數學計算器產生真實的隨機數這在數學上被證明是不可能的,但是生成虛擬的隨機數字相當容易。

這對於僞隨機數來說不是個壞消息,不像真實的隨機數字,它們可以被多次重複生成,你每次都將得到相同的隨機數。

可以按要求生成相同的隨機數增加了這些數字序列的可靠度,反過來也讓這些數字更簡單被使用。

Pseudo-randomnumbersarenumbersthathavecertaincharacteristics.Notethatwhenwetalkaboutrandomnumberswearereallytalkingaboutnumbers.Plural.It'seasytogenerate onlyasingleone,asxkcdsoeloquentlyputit: 僞隨機數是帶有明確特徵的數字,明確一點就是當我們談論隨機數時我們確實是在談論數字。

單個複數很容易生成,用門羅漫畫的形式表現出來:(xkcd由蘭德爾.門羅所繪製的網絡漫畫) Sowhatarethesecharacteristicsthatdefinepseudo-randomness?Withoutbeingactuallycorrect,Icansumthemupasfollows: § Thesequenceofgeneratednumbersshouldneverrepeatitself* § Thenumbersinthesequenceoughttobespreadevenlyacrossthenumericdomain** 因此定義僞隨機數的這些特徵是什麼呢?可能並非十分正確,我總結了如下兩點:         生成數字的序列本身並不可複製。

        序列中的數字應該被平均分配到數字域中。

Therearealotofdifferentalgorithmsoutthere,somebetterthanothers,somefasterthanothers,somesolvingveryspecificproblemswhileothersaremoregeneric.ThegeneratorusedinGrasshopperis thestandardMicrosoft.NETRandom,basedonDonaldKnuth'ssubtractivealgorithm. 大量不同的算法有些比其他好,有些比其他快,有些可以解決特殊問題然而其他的卻只能解決一般問題。

GH中的運算法是基於DonaldKnuth的減法法則的標準微軟.NET隨機。

Solet'simaginewewant randomintegersbetween0and10.Whatwouldabadrandomsequencelooklike? 因此想象一下我們想要得到從1到10的隨機整數。

不好的序列會是怎樣的呢? § 33333333333333333333(aboutasbadasitgets) § 01234567890123456789(notrandomatall)非隨機 § 13253912425112815234(toomanylownumbers) § 28460982486422514862(toomanyevennumbers) Sowhataboutgoodsequences?Well,here'safew:好的序列是: § 69120428572919253192(sure,whynot) § 62534197802164589509(looksaboutright) § 18523457952102109764(Isuppose) § 90648315276146019756(whatever) Therearealotofvalidpseudo-randomsequences.(Seriously,loads).Soevenifwehaveagoodpseudo-randomgeneratorwemaybegivenarandomsequencethatisn'tentirelytoourliking. Theshorterthesequenceweneed,themorelikelyitisthat statisticalaberrationsinvalidatethatparticularsequenceforus.Whatweneedissomecontroloverthegeneratorsowedon'tjustget arepeatablesequence,butarepeatablesequenceweactuallylike. 這裏有許多有效的僞隨機序列。

因此即使我們有很好的僞隨機數生產器,我們仍然可能得到並非完全照我們所想的隨機序列。

我們需要的序列越短,越有可能出現統計學的越軌使特殊的序列產生。

Enterseedvalues.Therandomgeneratorrequiresaseedvaluebeforeitcangeneratearandomsequence.Theseseedvaluesarealwaysintegers,andtheycanbeanyvalid32-bitinteger.Everyuniqueseedvalue resultsinthesamesequence.Everytime. 輸入種子值。

隨機運算器在運行隨機序列之前需要一個種子值。

這些種子值總是整數,他們可以是任意32字節整數。

每次每個單一的種子值導致的是相同的序列。

Unfortunatelythereisnoclearrelationshipbetweenseedsandsequences.Changingtheseedvaluefrom5to6willresultinacompletelydifferencerandomsequence,andtwosequencesthatareverysimilar maywellhavetowildlydifferentseeds.Thereisthereforenowaytoguessagoodseedvalue,itiscompletely trial-and-error.Alsobecauseofthisextremelydiscontinuousnature,youcannotusetoolslikeGalapagostooptimizeaseedvalue.、 不幸的是種子和結果之間沒有清晰地關係。

將種子值從5變爲6將導致完全不同的隨機序列,兩個非常近似的結果也許是相當不同的種子。

因此沒有方法去猜想一個好的種子值,完全是不斷的嘗試。

同樣因爲這個完全不連續的性質,你不能使用像Galapagos這樣的工具來優化種子值。

Ifyouarelookingforapseudo-randomsequencewhichhascustomcharacteristics,youmaywellenduphavingtowriteyourowngeneratoralgorithm.AskquestionsaboutthisontheGrasshopper mainforumorthe VB/C#forum. 如果你尋求有規範特徵的僞隨機序列,最終可能必須自己編寫序列運算法則。

關於這個的問題請於GH或VB/C#論壇尋求答案。

Conclusion:Seedvaluesareintegersthatdefinethe exact sequenceofpseudo-randomnumbers,butthere'snowayofknowingaheadoftimewhatsequenceitwillbeandthere'snowayof tweaking asequencebyslightlychangingtheseed.Eventhetiniestchangeinseedvaluewillresultinaradicallydifferentrandomsequence. 結論:種子值是定義僞隨機數字精確序列的整數,但是沒有方法提前預知序列是多少,也沒有辦法調整序列僅僅靠改變種子。

甚至種子值最小的變化也將導致徹底不同的隨機序列。

-- DavidRutten [email protected] Poprad,Slovakia *Thisisnotactuallypossible.Afiniteamountofnumbersalwaysrepeatsitselfeventually. 事實上這並不可能,A限定的所有數字最終經常進行自我複製。

**Thisshouldonlybetrueforlongenoughsequences,shortsequencesareallowedtoclustertheirvaluessomewhat. 這僅僅對於足夠長的序列才正確,短的序列多少允許值的聚集。

Interestinglinksforfurtherreading: CodingHorror:ComputersareLouseRandomNumberGenerators StackOverflow:Whendorandomnumbersstartrepeating? Tags:Random, numbers, pseudo-random, seed 原文鏈接:http://www.grasshopper3d.com/forum/topics/what-are-random-seed-values 發表評論 登录 所有評論 還沒有人評論,想成為第一個評論的人麼?請在上方評論欄輸入並且點擊發布. 相關文章 AddingGHAlibraryiconstotheGrasshopperbanner huaxiamengqing 2018-09-0318:55:13 CreatingaComponentwithavariablenumberofoutputparameters(創建一個動態輸出參數的計算器) huaxiamengqing 2018-09-0318:55:13 犀牛軟件的硬件配置 huaxiamengqing 2018-09-0318:55:13 犀牛和gh的多線程問題 huaxiamengqing 2018-09-0318:55:13 GH的熱鍵,只要用gh都要拜讀一下吧 huaxiamengqing 2018-09-0318:55:13 GH排序計算器解讀 huaxiamengqing 2018-09-0318:55:13 gh列表交叉原理 huaxiamengqing 2018-09-0318:55:13 當你遇到問題時,如何去獲取幫助 huaxiamengqing 2018-09-0318:55:13 H huaxiamengqing 24小時熱門文章 TechEmpower21輪Web框架性能評測--C#的性能和Rust、C++並駕齊驅TechEmpower最新一輪的性能測試出爐,ASP.NETCore依舊錶現不俗 Java開發學習(二十)----AOP總結 (一)區塊鏈的共識算法:整體介紹及分叉的通俗講解 WCF學習研究推薦blog 最新文章 什麼是隨機種子 最新評論文章 SpringBoot統一參數校驗、統一異常、統一響應,這纔是優雅的處理方式! winforminput輸入數值(可以小數,負數) For健康,還在糾結“喫什麼”?答案在這裏!——營養膳食的基礎準則



請為這篇文章評分?