Er det en matematisk ligning som kan generere et tilfeldig tall hver gang du løser det?


Beste svaret

Nei – fordi en matematisk ligning alltid vil generere en verdi som kan være spådd fra noe (enten den forrige verdien eller de forrige verdiene), og kan derfor ikke beskrives som tilfeldige.

Det kan beskrives som Pseudo-tilfeldig – det vil si at det vil se ut til å være tilfeldig, men å være virkelig tilfeldig må følgende kriterier gjelde.

  • Alle mulige verdier i området må ha like stor sjanse for å oppstå – det vil si \ frac 1k (hvor k er antall diskrete verdier i området).
  • Alle endesekvenser med endelig lengde må ha samme sjanse for å forekomme som alle andre undersekvenser av samme lengde – for eksempel må alle undersekvenser med lengde n ha en sjanse til {\ frac 1k} ^ n.
  • M ^ {th} -elementet i sekvensen må ikke være forutsigbar fra noen av de forrige m-1-elementene.

Enhver repeterbar algoritme helt klart bryter de siste kriteriene.

Pseudo tilfeldige generasjonsfunksjoner (som brukes av mange datasystemer) gjør en veldig god jobb med å oppfylle de to første kriteriene, og gjør de siste så vanskelige som mulig (du må vite starter frø til å ha en sunn sjanse til å forutsi sekvensen), men ikke umulig.

Å ha en pseudo tilfeldig sekvens kan ved første øyekast virke begrensende, men i mange tilfeller skjønt muligheten til å lage et repeterbart sett med tilfeldig serverdi kan være verdifull:

  • Se for deg at du har en rutine som bruker tilfeldige tall for å simulere biologisk vekst, og du merker at etter 20 000 ^ {th} iterasjonen funksjonen ikke oppfører seg feil. Det ville være veldig nyttig å kunne spille nøyaktig samme sekvens inn i rutinen og stoppe på iterasjon 19.999 og prøve å feilsøke hva som mislykkes.

Lignende andre bruksområder kan bli funnet for repeterbar pseudo- tilfeldige tallsekvenser.

Svar

Svarene på en fast matematisk ligning er de samme hver gang. Imidlertid kan matematiske ligninger ha mange løsninger. Så hvis du løser den matematiske ligningen annerledes, kan du få en annen løsning hver gang.

Som et enkelt eksempel, vurder kvadratisk ligning x ^ 2 – x = 0. Å løse den med den kvadratiske formelen gir begge løsningene, men å løse den med andre metoder kan bare gi en av 0 eller 1. Hvis løsningsmetoden din i seg selv er tilfeldig, hvilken rot du får kan også være tilfeldig.

Dessverre oversettes ikke dette eksemplet til en tilfeldighetskilde, eller til og med pseudo-tilfeldighet – du får bare tilbake det du legger inn, eller mindre. Imidlertid kan den samme ideen brukes som en kilde til psuedo-tilfeldighet. En algoritme for å generere pseudo-tilfeldige tall kan (i prinsippet) konverteres til en diofantisk ligning, eller et sett med ligninger, av formen

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

Denne formelen vil ha løsninger når s er frøet til RNG og r\_1 til r\_n er de første n utgangene fra RNG. X\_i-ene er tilleggsvariabler som brukes i oversettelsen.

Å løse denne humongous formelen (i heltall) vil gi deg noen pseudo-tilfeldige tall. Å finne en annen løsning vil gi deg et annet sett med pseudo-tilfeldige tall, så lenge du fant en s som var annerledes.

Det kan være mer naturlige eksempler, for eksempel å finne nuller til Riemann Zeta-funksjonen » tilfeldig.» Men det kan være vanskeligere å vise at disse er tilstrekkelig pseudo-tilfeldige.

Akkurat som x ^ 2-x = 0-saken, vil du imidlertid bare få ut så mye ekte tilfeldighet som du la inn (eller verre.)

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *