Kezdőoldal » Számítástechnika » Programozás » Mi a random számgenerálásnak...

Mi a random számgenerálásnak a logikája programozásnak?

Figyelt kérdés
Mikor a számítógép kigenerál egy random számot, milyen algoritmus megy végig? Nagyon érdekelne.

2016. dec. 10. 23:46
 1/10 anonim ***** válasza:
100%

[link]

16. oldaltól olvasgass

2016. dec. 10. 23:58
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
36%
Ahány ház, annyi szokás, szokták mondani. De lényegében: Egy elég komplikált algoritmus. :D
2016. dec. 10. 23:59
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:
Akkor jól sejtettem hogy valami komplikáltabb dolog :).
2016. dec. 11. 00:10
 4/10 anonim ***** válasza:
Nem komplikált egyáltalán. Pár sor az egész.
2016. dec. 11. 00:11
Hasznos számodra ez a válasz?
 5/10 |Orfeusz| ***** válasza:
34%

Nagyon sokféle megoldás van, az a közös bennük, hogy igyekeznek bonyolult és nem reprodukálható módon számolni. Több bemenő adatból generálnak, így csak akkor jönne ki ugyanaz, ha az összes bemenet pontosan megegyezne.

A programnyelvekben az alap random függvény általában az aktuális időt és esetleg pár más paramétert használja.


A menőbb generátorok már csillag együttállások meg ilyenek alapján működnek, amik ugyebár egyszer az életben következnek be -> nincs ismétlődés, nagyon nehezen reprodukálható (vagy jósolható) az eredmény.

2016. dec. 11. 00:12
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:
100%

Orfeusz drága hülyeséget beszélsz. A reprodukálhatóság alapkövetelmény egy randomgenerátorral szemben...

Olvassátok már el a jegyzetet amit küldtem, ne a hülyeséget terjesszétek.

2016. dec. 11. 00:15
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
100%

Sokféle módszer van rá. Vannak valódi és pszeudo-random generátorok, előbbi környezeti zajokból gyűjt például entrópiát, utóbbi viszont determinisztikus. Legegyszerűbben egy LCG-t implementálhatsz, íme egy jó eloszlással rendelkező függvény:

unsigned int random() {

seed = (1103515245*seed+12345)%2147483648;

return seed;

}

A seed kezdőértékét általában az UNIX időre állítják. Egyszerű tesztekhez még elégséges egy ilyen függvény, komplexebb feladatokhoz legalább egy Mersenne twister-t érdemes alkalmazni, ha meg a biztonság is számít, akkor valamelyik CSPRNG-t, vagy true random generator-t.

2016. dec. 11. 00:21
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:
Köszönöm a válaszokat! PDF-et is elolvastam !
2016. dec. 11. 07:27
 9/10 anonim ***** válasza:
A 7-es generátorral az a gond, hogy valójában prímeknek kellene benne szerepelniük, de sebaj, a számok amúgy is csak példának vannak benne.
2016. dec. 12. 08:52
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:
#9: Nem kell prímszámoknak szerepelnie benne, itt a relatív prímek fontosak, hogy meglegyen a teljes periódus, lásd Hull-Dobell tétel.
2016. dec. 12. 19:32
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!