Tehetséggondozás az informatikában

A véletlen számokról

A kísérleti feladatok számítógépes szimulációja során a véletlen számokat függvény segítségével állítjuk elő. Ezek a függvények az előző feladatok során a nagyszámú minta esetén a várakozásnak megfelelően működtek. De mennyire „véletlenek” valójában? Milyen algoritmussal állítjuk elő ezeket a számokat?

„Bárki, aki aritmetikai módszerekkel akar előállítani egy véletlen számot, a bűn állapotában leledzik.” (Neumann János)

A véletlen számok különböző előállítási módszereiről sok helyen olvashatunk (pl. Lovász László: Véletlen vagy álvéletlen, Horváth Bálint: Véletlenszám generátorok és tesztelésük, Ruzsinszki Gábor: Véletlenszámok generálása.

Arról azonban nehezebb információt találni, hogy az egyes programozási nyelvek vagy táblázatkezelő programok milyen algoritmussal állítják elő a véletlen számokat.
Visual Studio c#
FreePascal
Python
Excel

A következőkben a véletlen számok egyenletes eloszlását egyszerű grafikus programokkal szemléltetjük.

Programozási nyelvekben

A programozási nyelvekben látványosan a grafikus ablakban lehet szemléltetni a véletlen számok egyenletes eloszlását.

Véletlen pontok

Az első program egy grafikus ablakban véletlenszerűen helyez el pontokat (az egyszerűség kedvéért fekete háttéren fehér pontokat). A program C# és FreePascal nyelven készült el, a programok futása során kapott néhány képernyőképpel szemléltetjük az eredményeket.

Mindkét program egyenletesen, véletlenszerűen tölti be a pontokkal a képernyőt.