Slo-Tech
Prijavi se z GoogleID

» »

Random le ni tako zelo naključen?

Random le ni tako zelo naključen?

MihaFirst ::

Danes sem nardil program, ki vsebuje funkcijo RANDOM, po kateri potem skozi en daljši račun izračunam neko število in z njim kličem eno od 30 vrednosti na seznamu (tokrat gre za imena).

Kako je mogoče, da včasih trikrat zaporedoma dobim isto ime?

In pa, še bolj čudno - v istih nekaj sekundah dobiva s prijateljico, ki je daleč daleč stran s tem programom isto osebo izpisano. Kako računalnik generira random števila in kako je mogoče, da sploh ne gre za tako strašno naključna števila?

_marko ::

Ker to ni pravi RANDOM.
Program pač napiše random, ker ti(človek) ne poznaš načina kako se pride do tega števila.

Pravega randoma pa tako ali tako ni v makro-svetu. IMO ga ni niti v mikro, ampak tukaj se vsaj lahko debatira.
The saddest aspect of life right now is that science
gathers knowledge faster than society gathers wisdom.

gzibret ::

edward, če te zanima, kako računalnik računa random, išči pod LCG random generator oz. linear congruential generator.

> Kako je mogoče, da včasih trikrat zaporedoma dobim isto ime?

Vse je mogoče, če le čakaš dovolj časa. Oz. z drugimi besedami, mogoče je, če je verjetnost pojavitve dogodka recimo 95% v času, kolikor bo staro vesolje ob njegovem koncu.

Primer: termodinamsko je čisto mogoče, da se sedajle vse molekule zraka spravijo v zgornji desni kot moje sobe, jaz pa se zato zadušim. Samo zadeva je zelo malo verjetna, tako, da ni panike ;)
Vse je za neki dobr!

BluPhenix ::

V računalništvu se navadno vedno uporablja psevdonaključne generatorje.

Sicer pa sej je normalno, da dobiš trikrat zaporedoma isto ime. Pač random ne sledi, kaj se je zgodilo v prejšnjem ciklusu in rezltat je lahko popolnoma enak. Probaj dati več imen, pa boš videl koliko se ti bo ponavljalo.
Podpisa ni več, ker so me poskušali asimilirati.

snow ::

Obstajajo tudi razni hardwarski generatorji random števil, ki za svoje delovanje izkoriščajo zvok okolice, razne šume v EM valovanju, razne kvantne pojave...
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Valentin ::

> IMO ga ni niti v mikro, ampak tukaj se vsaj lahko debatira.

Se lahko debatira, ja.

Kvantna fizika pravi, da je nekaj random, če dogodek ni predvidljiv oziroma ne moremo odkriti vzroka tega dodgodka.
Razpad posameznega subatomskega delca je naprimer popolnoma nepredvidljiv in to je random. Sem lahko štejemo tudi kvantne fluktuacije - vsak trenutek namreč nastajajo iz nič virtualni delci z nasprotnim predznakom, ki takoj zatem anihilirajo med sabo.

Pa ne smemo pozabiti največji random dogodek doslej - Big Bang. Če se strinjamo seveda, da ni imel vzroka.

Thomas ::

No, za praktične namene je pseudorandom generator hitro zadosti dober. Težko, da kakšna resna težava izhaja iz tega, da ni dovolj random. Težko.
Man muss immer generalisieren - Carl Jacobi

HyperKiller ::

Program si napisal v... ? Cju?

Kakorkoli že, ker si računalnik ne more kar zmisliti neke številke, jo random funkcije izračunajo na tako zapleten način, da se človeku zdi da je naključna. Vendar pa mora funkcija random z nekim številom začeti. Temu se reče seme, ali seed po angleško. Če funkciji ne podamo novega semena ( v C-ju s srand() ) bo funkcija vedno začela (in tudi končala) z isto vrednostjo. Za seme se pogosto uporabi trenutni čas, številka procesa ali kombinacija večih podobnih zadev.

In kako to, da so te programerji tako debilno spisali ta random? U bistvu gre za zelo uporabno lastnost, (ob pravi uporabi) kajti naprimer:
- če imaš nek program, ki uporablja rand in ne dela prav,
- popraviš en del kode,
- program dela prav.
Je sedaj to posledica tega, da je rand izbral druga števila ali tvojega popravka?

TI je že bolje?

jerneju ::

Podobno, kot je že Snow napisal: Za resne zadeve se seme za Random funkcijo uporabi tudi motnje zunanjega okolja, tj. premikanje miške, internetne odzivne čase, serverske čase, temperature na različnih lokacijah, zvok, itd.

gumby ::

samo 30 razlicnih vrednosti?
malo preracunaj, koliksna je verjetnost, da se 3x zaporedoma pojavi ista vrednost

in nato primerjaj to cifto z verjetnostjo sedmice na lotu:D
my brain hurts


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C++] Generiranje naključnih števil tipa double

Oddelek: Programiranje
81431 (1340) mn
»

[C] Random funkcija

Oddelek: Programiranje
91800 (1631) primozsu
»

[C] Naključni generator velikih števil?

Oddelek: Programiranje
6872 (750) Alec999
»

[C] generator naključnih števil

Oddelek: Programiranje
362538 (2056) Thomas
»

Kako nastanejo naključna števila?

Oddelek: Znanost in tehnologija
121725 (1487) Thomas

Več podobnih tem