Onko olemassa matemaattista yhtälöä, joka voi tuottaa satunnaisluvun joka kerta, kun ratkaiset sen?


Paras vastaus

Ei – koska matemaattinen yhtälö tuottaa aina arvon, joka voisi olla ennustettu jostakin (joko edellisestä arvosta tai edellisestä arvosta), eikä sitä siksi voida kuvata satunnaiseksi.

Sitä voidaan kuvata pseudosatunnaiseksi – se näyttää olevan satunnainen mutta todella satunnaisesti seuraavien kriteerien on oltava voimassa.

  • Kaikilla mahdollisilla arvoilla alueella on oltava samat mahdollisuudet esiintyä – että on \ frac 1k (missä k on alueen erillisten arvojen lukumäärä).
  • Kaikilla äärellisen pituisilla pikasekvensseillä on oltava samat mahdollisuudet esiintyä kuin kaikilla muilla saman pituisilla alisekvensseillä – esimerkiksi kaikilla pituuden n alisekvensseillä on oltava mahdollisuus {\ frac 1k} ^ n.
  • Sarjan m ^ {th} -elementti ei saa olla ennustettavissa mistään edellisistä m-1-elementeistä.

Kaikki toistettavat algoritmit selvästi rikkoo viimeisiä ehtoja.

Pseudosatunnaisgeneraatiofunktiot (kuten monet tietokonejärjestelmät käyttävät) tekevät erittäin hyvää työtä täyttääkseen kaksi ensimmäistä kriteeriä ja vaikeuttamalla viimeistä mahdollisimman vaikeaksi (sinun on tiedettävä alkusiemenillä on järkevä mahdollisuus ennustaa sekvenssi), mutta ei mahdotonta.

Näennäissatunnaisen sekvenssin saaminen voi ensi silmäyksellä tuntua rajoittavalta, mutta monissa tapauksissa vaikka kyky luoda toistettava satunnaisjoukko näköinen arvo voi olla arvokas:

  • Kuvittele, että sinulla on rutiini, joka käyttää satunnaislukuja simuloimaan biologista kasvua, ja huomaat, että 20 000 ^ {th} iteraation jälkeen toiminto toimii väärin. Olisi erittäin hyödyllistä, että pystyisimme toistamaan täsmälleen saman sekvenssin rutiiniin ja pysähtymään iteroinnilla 19 999 ja yrittämään vianetsintää, mikä epäonnistuu.

Vastaavia muita käyttötapoja löytyy toistettavilta näennäisiltä. satunnaislukuja.

Vastaus

Vastaukset kiinteään matemaattiseen yhtälöön ovat samat joka kerta. Matemaattisilla yhtälöillä voi kuitenkin olla monia ratkaisuja. Joten jos ratkaiset matemaattisen yhtälön eri tavalla, saatat saada aina toisenlaisen ratkaisun.

Harkitse yksinkertaisena esimerkkinä neliöllistä yhtälö x ^ 2 – x = 0. Sen ratkaiseminen kvadraattikaavalla antaa molemmat ratkaisut, mutta sen ratkaiseminen muilla menetelmillä saattaa antaa vain yhden 0: sta tai 1: stä. Jos ratkaisumenetelmäsi on itse satunnainen, mikä juurisi saatetaan myös olla satunnainen.

Valitettavasti tämä esimerkki ei tule satunnaisuuden tai edes näennäissatunnaisuuden lähteeksi – saat takaisin vain sen, mitä olet lisännyt tai vähemmän. Samaa ajatusta voitaisiin kuitenkin käyttää psuedosatunnaisuuden lähteenä. Algoritmi näennäissatunnaislukujen muodostamiseksi voidaan (periaatteessa) muuntaa Diophantine-yhtälöksi tai yhtälöjoukoksi, jonka muoto on

f (s, r\_1, r\_2, r\_3, \ ldots, r\_n, x\_1, x\_2, \ ldots, x\_k) = 0

Tällä kaavalla on ratkaisuja aina, kun s on RNG: n siemen ja r\_1 – r\_n ovat ensimmäiset n lähtöä RNG: stä. X\_i ovat apumuuttujia, joita käytetään käännöksessä.

Tämän humongouskaavan (kokonaislukuina) ratkaiseminen antaisi sinulle näennäissatunnaisia ​​lukuja. Eri ratkaisun löytäminen antaisi sinulle uuden joukon pseudo-satunnaislukuja, kunhan löysit erilaisen s: n.

Luonnollisia esimerkkejä saattaa olla enemmän, esimerkiksi Riemann Zeta -funktion nollien löytäminen ” sattumanvaraisesti.” Mutta voi olla vaikeampi osoittaa, että ne ovat riittävän näennäissatunnaisia.

Aivan kuten tapauksessa x ^ 2-x = 0, pääsisit kuitenkin ulos vain niin paljon todellista satunnaisuutta kuin laitat (tai pahempaa.)

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *