Czy istnieje równanie matematyczne, które może wygenerować liczbę losową za każdym razem, gdy je rozwiążesz?


Najlepsza odpowiedź

Nie – ponieważ równanie matematyczne zawsze generuje wartość, która może być przewidywane z czegoś (albo z poprzedniej wartości, ani z poprzednich wartości) i dlatego nie może być opisane jako przypadkowe.

Można to opisać jako pseudolosowe – to znaczy będzie wyglądać na losowe, ale tak naprawdę losowe muszą mieć zastosowanie następujące kryteria.

  • Wszystkie możliwe wartości w zakresie muszą mieć równe szanse wystąpienia – to jest \ frac 1k (gdzie k jest liczbą dyskretnych wartości w zakresie).
  • Wszystkie podsekwencje o skończonej długości muszą mieć taką samą szansę wystąpienia, jak wszystkie inne sekwencje o tej samej długości – na przykład wszystkie podsekwencje o długości n muszą mieć szansę na {\ frac 1k} ^ n.
  • Element m ^ {th} w sekwencji nie może być przewidywalny na podstawie żadnego z poprzednich elementów m-1.

Każdy powtarzalny algorytm Wyraźnie narusza ostatnie kryteria.

Funkcje pseudolosowego generowania (używane w wielu systemach komputerowych) bardzo dobrze spełniają pierwsze dwa kryteria, a ostatnie utrudniają jak najbardziej (trzeba znać początkowe ziarno, aby wytrzymać jakąkolwiek rozsądną szansę przewidzenia sekwencji), ale nie jest to niemożliwe.

Posiadanie pseudolosowej sekwencji może na pierwszy rzut oka wydawać się ograniczające, ale w wielu przypadkach zdolność do tworzenia powtarzalnego zestawu szukanie wartości może być cenne:

  • Wyobraź sobie, że masz program, który wykorzystuje liczby losowe do symulacji wzrostu biologicznego i po 20000 ^ {tej} iteracji funkcja działa nieprawidłowo. Byłoby bardzo przydatne, gdyby można było odtworzyć dokładnie tę samą sekwencję w procedurze i zatrzymać się w iteracji 19 999 i spróbować zdebugować to, co się nie powiedzie.

Podobne inne zastosowania można znaleźć dla powtarzalnych pseudo- losowe sekwencje liczb.

Odpowiedź

Odpowiedzi na ustalone równanie matematyczne są za każdym razem takie same. Jednak równania matematyczne mogą mieć wiele rozwiązań. Tak więc, jeśli rozwiążesz równanie matematyczne inaczej, za każdym razem możesz otrzymać inne rozwiązanie.

Jako prosty przykład rozważmy kwadratowe równanie x ^ 2 – x = 0. Rozwiązanie go wzorem kwadratowym daje oba rozwiązania, ale rozwiązanie go innymi metodami może dać tylko jedno z 0 lub 1. Jeśli twoja metoda rozwiązania jest sama w sobie losowa, to który pierwiastek, który otrzymasz, również może być random.

Niestety, ten przykład nie przekłada się na źródło losowości ani nawet pseudolosowości – dostajesz tylko to, co włożyłeś lub mniej. Jednak ten sam pomysł można wykorzystać jako źródło pseudolosowości. Algorytm generowania liczb pseudolosowych można (w zasadzie) przekształcić w równanie diofantyczne lub zestaw równań o postaci

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

Ta formuła będzie zawierała rozwiązania zawsze, gdy s jest ziarnem RNG, a r\_1 do r\_n to pierwsze n wyników z RNG. X\_i są zmiennymi pomocniczymi używanymi w tłumaczeniu.

Rozwiązanie tej ogromnej formuły (w liczbach całkowitych) dałoby kilka liczb pseudolosowych. Znalezienie innego rozwiązania dałoby inny zestaw liczb pseudolosowych, o ile znalazłeś inny s.

Mogą być bardziej naturalne przykłady, na przykład znajdowanie zer funkcji Zeta Riemanna ” losowo.” Ale może być trudniej pokazać, że są one wystarczająco pseudolosowe.

Jednak podobnie jak w przypadku x ^ 2-x = 0, wydobywałbyś tylko tyle prawdziwej losowości, ile włączysz (lub gorzej)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *