Búðu til handahófskennda heiltölu
Notaðu þessa síðu til að búa til handahófskenndar heiltölur fyrir forrit í kóðun, prófun og fleira.
Opnaðu leyndardóma gervitilviljunarheilna: forrit, reiknirit og takmarkanir
Myndun gervitilviljanaheilna er ómissandi hluti af mörgum reikniforritum, þar á meðal uppgerðum, dulritunarkerfum, leikjum og prófunaralgrímum. Hugtakið „gervitilviljun“ er notað vegna þess að á meðan þessar tölur virðast tilviljunarkenndar eru þær búnar til með ákvörðunarferlum. Að gefnu sama upphafsástandi eða „fræi“ mun gervitilviljunarkennari (PRNG) framleiða sömu talnaröðina í hvert skipti. Þessi eiginleiki er gagnlegur í mörgum samhengi, svo sem villuleit eða keyrslu stýrðra uppgerða, þar sem endurtekningar er þörf.
PRNGs vinna með því að nota reiknirit sem framleiðir talnaröð á milli tiltekins bils sem nálgast eiginleika handahófskenndra talna. Fyrir heiltölur væri þetta bil venjulega á milli lágmarks- og hámarksgilda sem heiltala getur haldið. Það eru fjölmargir gervi-slembitölumyndunaralgrímar í boði, allt frá einföldum eins og Linear Congruential Generator (LCG) til flóknari eins og Mersenne Twister. Val á reiknirit fer venjulega eftir sérstökum þörfum forritsins, þar á meðal hversu tilviljunarkennd er sem krafist er, afköst og minnisnotkun.
Þegar það kemur að því að búa til gervitilviljanakennda heiltölu tekur reikniritið upphafsfrægildi og framkvæmir síðan röð stærðfræðilegra aðgerða á því til að búa til nýtt gildi. Þetta nýja gildi verður síðan fræ fyrir næstu endurtekningu, sem skapar röð af gervi-slembitölum. Fræið er venjulega búið til úr einhverju ófyrirsjáanlegu gildi, eins og núverandi tími, til að tryggja að röð gervihandahófstalna sé mismunandi í hvert skipti sem forritið keyrir.
Hins vegar er mikilvægt að hafa í huga að gervi-slembitöluframleiðendur henta ekki öllum forritum. Þrátt fyrir að þau geti birst af handahófi í flestum tilgangi eru þau samt ákveðin og hægt er að spá fyrir um mynstur þeirra með því að fá nægar upplýsingar um reikniritið og fræið. Í dulritunarskyni, þar sem öryggi er áhyggjuefni, er krafist dulritunaröryggis gervihandahófsnúmeragjafa (CSPRNG). Þetta eru hönnuð þannig að jafnvel þótt árásarmaður þekki reikniritið og alla nema síðustu bitana af fræinu, getur hann ekki sagt fyrir um næstu tölu í röðinni.
Að lokum er myndun gervitilviljunarheilna heiltala heillandi efni sem fléttar saman stærðfræði, tölvunarfræði og hagnýt forrit. Þrátt fyrir ákveðið eðli þeirra eru gervi-slembitölur ómissandi verkfæri á ýmsum sviðum. Með því að skilja hvernig þau eru mynduð og eiginleikana sem þau sýna, getum við valið og beitt viðeigandi PRNG til að mæta sérstökum þörfum forrita okkar, um leið og við höfum í huga takmarkanir þeirra og hugsanlega þörf fyrir sterkari valkosti í viðkvæmari aðstæðum.