Există o ecuație matematică care poate genera un număr aleatoriu de fiecare dată când îl rezolvați?


Cel mai bun răspuns

Nu – deoarece o ecuație matematică va genera întotdeauna o valoare care ar putea fi prezis de la ceva (fie valoarea anterioară, fie valorile anterioare) și, prin urmare, nu poate fi descris ca aleatoriu.

Ar putea fi descris ca pseudoaleator – adică va arăta a fi aleator, dar a fi cu adevărat aleatoriu trebuie să se aplice următoarele criterii.

  • Toate valorile posibile din interval trebuie să aibă șanse egale să apară – aceea fiind \ frac 1k (unde k este numărul de valori discrete din interval).
  • Toate sub-secvențele de lungime finită de lungime trebuie să aibă aceeași șansă de apariție ca toate celelalte sub-secvențe de aceeași lungime – de exemplu, toate sub-secvențele de lungime n trebuie să aibă șansa de {\ frac 1k} ^ n.
  • Elementul m ^ {th} din secvență nu trebuie să fie previzibil din niciunul dintre elementele m-1 anterioare.

Orice algoritm repetabil clar încalcă ultimele criterii.

Funcțiile de pseudo-generare aleatorie (așa cum sunt folosite de multe sisteme de calculatoare) fac o treabă foarte bună de a îndeplini primele două criterii și fac ultimul cât mai dificil posibil (trebuie să știți începând să aibă o șansă sănătoasă de a prezice secvența), dar nu imposibil.

A avea o secvență pseudo-aleatorie poate părea la prima vedere limitativă, dar în multe cazuri, deși capacitatea de a crea un set repetabil de valoarea de căutare poate fi valoroasă:

  • Imaginați-vă că aveți o rutină care folosește numere aleatorii pentru a simula creșterea biologică și observați, după 20.000 ^ {th} iterație, funcția se comportă greșit. Ar fi foarte util să puteți reda exact aceeași secvență în rutină și să opriți iterația 19.999 și să încercați să depanați ce nu reușește.

Alte utilizări similare pot fi găsite pentru pseudo- repetabile secvențe de numere aleatorii.

Răspuns

Răspunsurile la o ecuație matematică fixă ​​sunt aceleași de fiecare dată. Cu toate acestea, ecuațiile matematice pot avea multe soluții. Deci, dacă rezolvați ecuația matematică în mod diferit, puteți obține de fiecare dată o soluție diferită.

Ca un exemplu simplu, luați în considerare quadraticul ecuația x ^ 2 – x = 0. Rezolvarea ei cu formula pătratică oferă ambele soluții, dar rezolvarea acesteia cu alte metode ar putea da doar una dintre 0 sau 1. Dacă metoda dvs. de soluție este ea însăși aleatorie, ce rădăcină obțineți ar putea fi, de asemenea, aleatoriu.

Din păcate, acest exemplu nu se traduce într-o sursă de întâmplare, sau chiar pseudo-aleatoriu – primești înapoi doar ceea ce ai introdus sau mai puțin. Cu toate acestea, aceeași idee ar putea fi utilizată ca sursă de psuedo-aleatoriu. Un algoritm pentru generarea de numere pseudo-aleatorii poate fi (în principiu) convertit într-o ecuație diofantină, sau set de ecuații, de forma

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

Această formulă va avea soluții ori de câte ori s este sămânța RNG și r\_1 până la r\_n sunt primele n ieșiri din RNG. X\_i-urile sunt variabile auxiliare utilizate în traducere.

Rezolvarea acestei formule imense (în numere întregi) vă va oferi câteva numere pseudo-aleatorii. Găsirea unei soluții diferite vă va oferi un alt set de numere pseudo-aleatorii, atâta timp cât ați găsit un s diferit.

S-ar putea să existe exemple mai naturale, de exemplu găsirea zerourilor funcției Riemann Zeta „ la intamplare.” Dar s-ar putea să fie mai greu să arăți că acestea sunt suficient de pseudo-aleatorii.

La fel ca în cazul x ^ 2-x = 0, totuși, veți obține doar la fel de multă aleatorie adevărată pe care ați pus-o în (sau mai rău.)

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *