Kezdőoldal » Számítástechnika » Programozás » A randomszám-generátor mitől...

A randomszám-generátor mitől random?

Figyelt kérdés
Korábban úgy tanultuk, hogy a számítógép determinisztikus működésű berendezés, tehát véletlen tényezők nem befolyásolják a működését. Ha írunk egy programot, az is véges számú lépésekből áll, minden elágazás egyértelmű, mindegyik része konkrétan végigvezethető, mondhatni minden része "lematekolható". Akkor a randomfüggvény hogyan csinál véletlenszámot?

2016. aug. 5. 03:56
 1/10 anonim ***** válasza:
66%
Sehogy, igazából nem random, különböző függvények vannak rá, amik innen-onnan vesznek kiindulási adatot. Bár az sem egészen mindegy, hogyan definiáljuk a véletlen fogalmát, mert ez már filozófia, de ha úgy tekintjük, akkor az egész világunkban nincs semmi, ami random lenne.
2016. aug. 5. 06:01
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
100%
Nem véletlen. Ugyan arra a kezdő seedre ugyan azokat a számokat fogja generálni a random generátor. Ezért szokták seednek a pontos időt vagy a számítógép bekapcsolásától eltelt időt megadni.
2016. aug. 5. 06:13
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:
100%
A szoftveres véletlen szám megvalósításokat ezért is hívják pszeudo-random generátornak. Léteznek valódi random generátorok is, de azok speciális hardver elemek, otthoni gépekben nem opciók.
2016. aug. 5. 06:30
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:
56%
Tèvedès, hogy nem megvalósìtható, egyszerűen be kell gyűjteni nèhány időjárási adatot, mivel az időjárás kaotikus rendszer. De kozmikus sugárzásból is egyszerűen generálható random minimális költsèggel.
2016. aug. 5. 07:40
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:
23%
Valami olyan adatból indul ki, ami állandóan változik, és kiszámíthatatlan, pl. aktuális ezredmásodperc, processzor hőmérsékletének törtrésze, stb.
2016. aug. 5. 08:02
Hasznos számodra ez a válasz?
 6/10 tabaki ***** válasza:
100%

„Akkor a randomfüggvény hogyan csinál véletlenszámot?”


Sehogy, és ezt nem is állította senki. A függvény olyan algoritmust használ, amely a bevitt adatok eltérésének mértékétől függetlenül képes a számodra nem követhető logikájú, és a véletlenszórást jól közelítő értékeket visszaadni. Ezért szokás olyan gyakorlatilag kontrollálhatatlan adattal inicializálni, amely ténylegesen véletlennek tekinthető.

Tesztelésre vagy egyéb speciális célra hasznos lehet, hogy többször is egyazon adattal inicializálj. Ilyenkor a program pontosan ugyanúgy fog lefutni, és sorban mindig ugyanazokat az álvéletlenszámokat eredményezi.

A módszer egy hétköznapi programban jól használható, de a függvény által generált véletlenszerűség nem azonos a tényleges véletlennel, így bizonyos (pl. tudományos) célokra már elégtelen. Ilyenkor szükséges a valóban véletlen értékeket szolgáltató különleges eszközök használata.

2016. aug. 5. 11:28
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
LKM generátor. Olvass utána.
2016. aug. 5. 17:39
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:
55%

[link]

[link]


Peldaul a C++-nal a random_device ezt hasznalja, amennyibben elerheto az adott hardwaren.

2016. aug. 5. 21:09
Hasznos számodra ez a válasz?
 9/10 anonim válasza:
Az viszont, hogy a random generátor mindig ugyan azokat a véletlenszámokat generálja lehet hasznos is, pl. programfejlesztésnél. Egy szimuláció pl. mindig kicsit más eredményt adhat más és más véletlenszámok esetében, de ha egyszer nem megfelelő az eredményed, akkor ahhoz köze lehet a bemenő számoknak is. Ilyenkor jól jöhet, ha mindig ugyan azzal a mondjuk 100 000 véletlenszámmal dolgozol anélkül, hogy őket egy hosszú listából kéne kiolvasnod.
2016. aug. 6. 10:39
Hasznos számodra ez a válasz?
 10/10 tabaki ***** válasza:

Még egy érdekesség. Ez a kép a POV-Ray leírónyelven készült, és szintén randomfüggvényt használ a színek, elfordulások, eltolások meghatározásakor, remélem ez látszik a pongyola összevisszaságon:

[link]

Hogy egyáltalán használható legyen, azt pont az teszi lehetővé, hogy nem igazán random. Képzeld el, hogy mondjuk nagyon megtetszik nekem ez a beállítás, és szeretném plakátméretben is renderelni. Igen ám, de ha a függvény tényleg hasraütéssel dobna ki véletlenszámokat, akkor az életben nem állna elő még egyszer ugyanez az elrendezés. Így viszont, hogy a véletlengenerátorok kezdőértékei azonosak maradnak, a program akárhányszor képes változatlan formában elkészíteni ugyanezt a lezser szórást.

Ezen a képen a három generátor kezdőértékét megnöveltem eggyel-eggyel:

[link]

Látható, hogy a kép az azonos elvek mellett is teljesen megváltozott. Ha a kezdőértéket visszaállítanám, megint pontosan az első képet kapnám.

2016. aug. 8. 00:36
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!