slucajno generisanje brojeva
Prikazujem rezultate 1 do 9 od 9

Tema: slucajno generisanje brojeva

  1. #1
    Aktivan član random_cloud_form (avatar)
    Učlanjen
    30.03.2004.
    Lokacija
    cloudless sky
    Poruke
    1.609
    Reputaciona moć
    67

    Podrazumevano slucajno generisanje brojeva

    po kom principu ovakvi programi biraju brojeve? moze li neki programer da pojasni?



  2. #2
    Primećen član
    Učlanjen
    24.11.2003.
    Poruke
    641
    Reputaciona moć
    58

    Podrazumevano

    Nisam programer, ali mozda mogu malo da ti pojasnim.
    Takvi brojevi se zovu pseudo-slucajni brojevi, ako se prave bez specijalne hardverske podrske( npr elektronski termometar(fluktuacije temperature), i gomila(prakticno neograniceno) raznih potencijalnih naprava sa istom namenom.
    Kompjuter moze da koristi razne algoritme za pravljenje slucajnih brojeva, evo jesdan glup mi je bas sad pao na pamet, npr moze da redom otvara fajlove ( i da pamti gde je stao), cita ASCII vrednost unutar fajlova i obavlja nad tim brojevima neku matematicku operaciju(zavisno od tipa random promenjive).
    Sigurno da opstoje mnogo bolji nacini, jedan cesto koriscen na komp-u je vreme na racunaru, t.j. random broj se dobija pomocu tacnog vremena na racunaru, ali mislim da ti brojevi prestaju da budu slucajni ako se traze od racunara na tacno odredjeni broj taktova...(sto bi hipoteticki moglo da bude problem u real-time aplikacijama tipa igre,...)

  3. #3
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano

    Citat Original postavio opi
    Nisam programer, ali mozda mogu malo da ti pojasnim.
    Takvi brojevi se zovu pseudo-slucajni brojevi, ako se prave bez specijalne hardverske podrske( npr elektronski termometar(fluktuacije temperature), i gomila(prakticno neograniceno) raznih potencijalnih naprava sa istom namenom.
    Kompjuter moze da koristi razne algoritme za pravljenje slucajnih brojeva, evo jesdan glup mi je bas sad pao na pamet, npr moze da redom otvara fajlove ( i da pamti gde je stao), cita ASCII vrednost unutar fajlova i obavlja nad tim brojevima neku matematicku operaciju(zavisno od tipa random promenjive).
    Sigurno da opstoje mnogo bolji nacini, jedan cesto koriscen na komp-u je vreme na racunaru, t.j. random broj se dobija pomocu tacnog vremena na racunaru, ali mislim da ti brojevi prestaju da budu slucajni ako se traze od racunara na tacno odredjeni broj taktova...(sto bi hipoteticki moglo da bude problem u real-time aplikacijama tipa igre,...)
    Oba primera više pristaju slučajnim brojevima, nego pseudo-slučajnim. Kod pseudo-slučajnih brojeva važi pravilo da ako mu zadaš iste početne uslove mora da napravi isti niz pseudo-slučajnih brojeva, što ni za jedan od primera ne važi, sem ako sam u početku ne napraviš datoteke čiji ćeš sadržaj sam alogritam za generisanje pseudo-slučajnih brojeva da upiše, mada se onda postavalja pitanje šta će ti uopšte datoteka.

  4. #4
    Aktivan član random_cloud_form (avatar)
    Učlanjen
    30.03.2004.
    Lokacija
    cloudless sky
    Poruke
    1.609
    Reputaciona moć
    67

    Podrazumevano

    hvala za informacije.
    a znate li neku literaturu za pravljenje ovakvih programcica?

  5. #5
    Primećen član
    Učlanjen
    15.02.2004.
    Lokacija
    Nis-New York
    Poruke
    572
    Reputaciona moć
    56

    Podrazumevano

    ja koristim sledece resenje za to:
    trazim od korisnika da mrda misem nekoliko sekundi, zapamtim pozicije kursora u niz, primenim hash funkciju na taj niz i dobijem slucajni broj...ovo se dosta tesko da provaliti, a fora sa npr
    randomize;
    random(100);
    je lako provaljiva

  6. #6
    Elita ? (avatar)
    Učlanjen
    09.01.2004.
    Poruke
    15.074
    Reputaciona moć
    0

    Podrazumevano

    ne ti brojevi su od boga

    funkcija krece od neke pocetne vrednosti koliko se secam i onda nju racuna. mislim da uzima npr vreme u nekom trenutku pa to obradjuje. pitaj nekog ko studira informatiku ili matematiku. imas mozda na titan.etf.bg.ac.yu pa Programski jezici i metode... ali ne verujem bas da ima neshto mnogo

    e ali zar ne mozesh da uzmes bilo kakvu funkciju koja daje vrednost izmedju 0 i 1. u stvari valjda je bitno da ne krene da se ponavlja

  7. #7
    Primećen član
    Učlanjen
    15.02.2004.
    Lokacija
    Nis-New York
    Poruke
    572
    Reputaciona moć
    56

    Podrazumevano

    sa randomize se postavlja pocetna vrednost niza (RandSeed, u zavisnosti od vremena), a ostale se generisu po nekoj lako provaljivoj formuli, sve u svemu jako nesigurno

  8. #8
    Primećen član
    Učlanjen
    24.11.2003.
    Poruke
    641
    Reputaciona moć
    58

    Podrazumevano

    Citat Original postavio stormbringer
    sa randomize se postavlja pocetna vrednost niza (RandSeed, u zavisnosti od vremena), a ostale se generisu po nekoj lako provaljivoj formuli, sve u svemu jako nesigurno
    Svakako, domaci algoritam je najbolji, jer ga samo ti znas, pa ga je tako teze provaliti....

  9. #9
    Primećen član
    Učlanjen
    15.02.2004.
    Lokacija
    Nis-New York
    Poruke
    572
    Reputaciona moć
    56

    Podrazumevano

    pa jeste bolji, ali ne dovoljno...ono sto hocu da kazem je da je potrebna interakcija korisnika da bi se napravio "true" random broj...recimo da nateras korisnika da mrda misem ili pritiska tastere...iako neko zna da to radis ne moze da pretpostavi gde ce korisnik da mrda misem kad ima milion tacaka na ekranu...covek moze da lupi nesto nasumicno, comp ne.
    ako znas da je funkcija za random neka next=f(previous) lako je razbiti to sve.
    u svakom slucaju, ako koristis nasumicne brojeve za neke nebitne stvari slobodno cepaj random(), ali za kriptografiju nikako.

Slične teme

  1. Generisanje Snage i Priprema za Ratnikovo telo - bitno
    Autor fra_nemo u forumu Teorije zavera
    Odgovora: 5
    Poslednja poruka: 02.04.2010., 13:37
  2. DA LI JE OVO SLUČAJNO ILI NE?!
    Autor WEISHAUPT u forumu Politika
    Odgovora: 81
    Poslednja poruka: 18.03.2008., 17:22
  3. Da li je ovo slučajno?
    Autor Disabled u forumu Politika
    Odgovora: 4
    Poslednja poruka: 19.02.2008., 23:33
  4. Generisanje Bar koda
    Autor Bosko u forumu Programiranje
    Odgovora: 4
    Poslednja poruka: 23.11.2005., 23:25

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •