Czy są jakieś pseudolosowe generatory liczb, które są dość łatwe do zrobienia z arytmetyką umysłową, czy arytmetyką umysłową plus liczenie na palcach. Oczywiście ogranicza to do dość prostej matematyki - musi to być coś, co może zrobić przeciętny człowiek z umiejętnościami matematycznymi, a może przeciętna zdolność programisty, a nie cud matematyki.Czy generator liczb pseudolosowych jest wystarczająco prosty do zrobienia w twojej głowie?
Najprostszym, jaki znalazłem, jest Middle square method, ale nie tylko jest on znany jako kiepskie źródło przypadkowości, ale wciąż wygląda na zbyt skomplikowany, aby obejść się bez ołówka i papieru.
Jeśli jedynym sposobem, aby to zrobić, jest ograniczenie zakresu, tak jak może to tylko wyjście z 8-bitowych liczb, to jest w porządku. Podejrzewam, że jeden ze standardowych algorytmów PRNG byłby wystarczająco prosty w wersji 8-bitowej, ale nie wiem wystarczająco dużo, aby uprościć którąkolwiek z nich od wersji 32-bitowej do wersji 8-bitowej. (Wszystkie te, na które patrzę, zależą od specjalnie wybranych numerów nasion, które różnią się w zależności od liczby bitów, z którymi pracujesz, i zazwyczaj podano tylko przykłady 32- i 64-bitowe.)
Krok 1. Pomyśl o pierwszym numerze, który pojawi się w twojej głowie. ;-) –
@Mike Deck: Zrobiłem, a dostałem 6275182149295802584461. Potrzebuję trochę snu. – BoltClock
Myślenie o pierwszej liczbie, która pojawia się w twojej głowie, ma słabą funkcję dystrybucji. Na przykład 7 i 17 są znacznie częstsze niż inne liczby. http://scienceblogs.com/cognitivedaily/2007/02/is_17_the_most_random_number.php – LeBleu