Existuje matematická rovnice, která může vygenerovat náhodné číslo pokaždé, když to vyřešíte?


Nejlepší odpověď

Ne – protože matematická rovnice vždy vygeneruje hodnotu, která by mohla být předpovězeno z něčeho (buď předchozí hodnota nebo předchozí hodnoty), a proto jej nelze popsat jako náhodné.

Mohlo by se to popsat jako Pseudo-random – to znamená, že to bude vypadat jako náhodné, ale jako skutečné náhodně musí platit následující kritéria.

  • Všechny možné hodnoty v rozsahu musí mít stejnou šanci na výskyt – to je \ frac 1k (kde k je počet diskrétních hodnot v rozsahu).
  • Všechny subsekvence konečné délky o délce musí mít stejnou šanci na výskyt jako všechny ostatní subsekvence stejné délky – například všechny subsekvence délky n musí mít šanci {\ frac 1k} ^ n.
  • Element m ^ {th} v sekvenci nesmí být předvídatelný z žádného z předchozích prvků m-1.

Libovolný opakovatelný algoritmus jasně porušuje poslední kritéria.

Funkce pseudonáhodného generování (jak je používá mnoho počítačových systémů) dělají velmi dobrou práci při splnění prvních dvou kritérií a poslední ztěžují co nejvíce (musíte znát počáteční semeno, které má jakoukoli rozumnou šanci předpovědět sekvenci), ale není nemožné.

Mít pseudonáhodnou sekvenci se na první pohled může zdát omezující, ale v mnoha případech i když schopnost vytvořit opakovatelnou sadu náhodných vypadající hodnota může být cenná:

  • Představte si, že máte rutinu, která používá náhodná čísla k simulaci biologického růstu, a po 20 000 ^ {th} iteraci si všimnete, že se funkce chová špatně. Bylo by velmi užitečné mít možnost přehrát přesně stejnou sekvenci do rutiny a zastavit iteraci 19 999 a pokusit se ladit, co selže.

Podobná další použití lze najít u opakovatelných pseudo sekvence náhodných čísel.

Odpověď

Odpovědi na pevnou matematickou rovnici jsou pokaždé stejné. Matematické rovnice však mohou mít mnoho řešení. Pokud tedy vyřešíte matematickou rovnici jinak, můžete pokaždé získat jiné řešení.

Jako jednoduchý příklad zvažte kvadratickou rovnice x ^ 2 – x = 0. Řešení kvadratickým vzorcem dává obě řešení, ale řešení jinými metodami může dát pouze jednu z 0 nebo 1. Pokud je vaše metoda řešení náhodná, jaký kořen získáte, může být také náhodně.

Tento příklad se bohužel neprojevuje jako zdroj náhodnosti nebo dokonce pseudonáhodnosti – dostanete zpět pouze to, co jste vložili, nebo méně. Stejná myšlenka by však mohla být použita jako zdroj psuedo-náhodnosti. Algoritmus pro generování pseudonáhodných čísel lze (v zásadě) převést na diofantickou rovnici nebo sadu rovnic ve tvaru

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

Tento vzorec bude mít řešení, kdykoli s je semenem RNG a r\_1 až r\_n jsou prvních n výstupů z RNG. Čísla x\_i jsou pomocné proměnné použité při překladu.

Řešení tohoto humongního vzorce (v celých číslech) vám dá několik pseudonáhodných čísel. Nalezení jiného řešení by vám dalo další sadu pseudonáhodných čísel, pokud byste našli jiné, které bylo jiné.

Mohou existovat přirozenější příklady, například nalezení nul funkce Riemann Zeta “ nahodile.“ Může však být těžší ukázat, že jsou dostatečně pseudonáhodné.

Stejně jako v případě x ^ 2-x = 0 byste však dostali jen tolik skutečné náhody, kolik jste vložili (nebo horší.)

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *