TIP#330: Jak se generují náhodná čísla?

Náhodné číslo, v té nejjednodušší podobě je to hod minci, panna nebo orel. Případně hod kostkou, získáte jedno ze šesti možných čísel. Tedy když se nestane výjimka a mince nebo kostka se nepostaví na hranu. Nebo vám nespadne do kanálu. V počítači je to, kupodivu, složitější. Vygenerovat náhodné číslo je totiž věda. Komplikovaná a nespolehlivá věda.

Máte-li Excel můžete si pohrát s funkcí RAND() případně RANDBETWEEN() a vytvářet si náhodná čísla podle libosti (stejnou funkcí RAND() má i Gogle Docs). Hodit se to může když třeba chcete vylosovat výherce z nějakého seznamu. V programovacích jazycích také najdete funkce, které náhodná čísla generují (v JavaScriptu třeba můžete zkusit Math.floor((Math.random() * 100) + 1);) . Generování náhodných čísel je navíc zásadní věc pro řadu algoritmů .

2015-11-26 07_31_15-RANDOM.ORG - Integer Generator.png

Nemáte-li k dispozici Excel ani nic podobného, můžete zkusit využít www.random.org – vygenerují vám tam náhodné číslo ale také navedou na řadu dalších míst a služeb, které s náhodnými čísly souvisí. Zajímavé na této službě je, že generuje náhodná čísla z atmosférického šumu. Ale k pointě až později.

Je dobré vědět, že Random.org umí vygenerovat nejenom jedno náhodné číslo, ale i celou sadu čistě náhodných případně sekvenční generátor (budou všechna unikátní, tedy něco jako čísla ve Sportce).

flip.gif

TIP: Před lety uměl Google přímo ve vyhledávací řádce hodit kostkou. Stačilo tam napsat flip a coin nebo roll dice případně roll a die. Neznámo proč to už dnes nefunguje.

Pokud to chcete pojmout matematicky, Worlfram MathWorld nabízí v Random Number i nějaké ty pěkné vzorečky, ale také zmiňuje to podstatné, že počítači generovaná čísla jsou ve skutečnosti pseudonáhodná. To proto, že skutečná náhodná čísla jsou vytvářena nepředvidatelnými fyzikálními procesy.

Ty počítačové generovaná jsou výsledkem vzorců a vycházejí vždy v nějakého základu, který umožňuje číslo získat – v řadě špatných implementací to pak vede k třeba k tomu, že když si pustíte postupné generování od stejného základu, tak dostanete vždy postupně stejná čísla. Na této adrese ale vedle vysvětlení najdete také možnost si nechat generovat náhodná (pseudonáhodná) čísla. Zkuste si náhodné číslo od jedné do sta.

2015-11-26 07_42_47-Random Number Generator.png

Generátorů náhodných čísel najdete na Internetu více – namátkou třeba ještě Math Goodies Custom Random Number Generator www.randomnumbers.info nebo třeba jeden speciálně pro fanoušky Star Treku. Případně česky v Generátor náhodných čísel (kde najdete i mobilní aplikace)

Náhodná čísla mají i vlastní heslo ve Wikipedii (Random Number Generation a Generátor náhodných čísel) a řadu dalších zajímavých článků (například Random Numbers: Nothing Left to Chance).

TIP: V online hrách, ale také třeba v chatovacích programech (zcela určitě v Google Hangouts) můžete používat /roll pro „hození kostkou“.

Advertisements