Hoe kiest de computer een random nummer?

Pagina: 1
Acties:
  • 633 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Anoniem: 24702

Topicstarter
???Nou wie kan het mij vertellen ben wel benieuwd.

Acties:
  • 0 Henk 'm!

  • Metalium-220
  • Registratie: Oktober 2000
  • Laatst online: 12-08-2022

Metalium-220

Forza Utreg!

:?

Acties:
  • 0 Henk 'm!

Anoniem: 4775

Kan het nog vager? :?

Acties:
  • 0 Henk 'm!

  • lockheart
  • Registratie: Maart 2001
  • Laatst online: 02-10-2022

lockheart

Dutch Open LaserQuest champion

ik snap de vraag wel ,maar weet jhet antwoord niet ben ook wel benieuwd eigenlijk

hij bedoelt b.v als de computer een dobbelsteen gooit ,hoe komt hij dan op dat geta lwat je ziet.hoe genereert hij een random geatl

Acties:
  • 0 Henk 'm!

  • GarBaGe
  • Registratie: December 1999
  • Laatst online: 16:42
Het is een functie waar de computer als seed iets van de tijd in stopt.
De functie zelf genereert meestal pseudo random getallen. Dus eigenlijk een vaste sequence van getallen die na een zeer groot aantal herhalen (patroon), maar dan moet je wel steeds dezelfde seed gebruiken.
Door de tijd als seed te gebruiken, lijken de getallen "bijna" random. Nog steeds pseudo random dus.

Meer dan dat weet ik ook niet...

Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD


Acties:
  • 0 Henk 'm!

Anoniem: 24702

Topicstarter
dus als ik het goed begrijp zijn ze niet echt random? :?
Maar wordt een hele lange getallenrij gemaakt die zich op den duur herhaald?
Maar waaruit genreert die die getallenrij?

8-) denken tweakertjes, denken 8-)

Acties:
  • 0 Henk 'm!

Anoniem: 22716

Toevallig weet ik me nog wel van een behoorlijk tijdje geleden een artikeltje te herinneren waar men het erover had om een betere random te gaan verzinnen. Er zaten vaak namelijk toch nog patronen in de getallen en dat was niet zo fijn voor dingen als beveiliging.

Men kwam toen op het idee om een normaal random getal met de temperatuur van je processor in een flink aantal decimalen achter de komma in een formule te verwerken.

Dat is natuurlijk werkelijk random, want de temperatuur van je processor is nooit precies gelijk als je zover achter de komma kijkt. Als iemand in de straat al een stofzuiger aandoet schommelt jouw stroom alweer en verandert de temperatuur van je processor in feite ook weer iets, en dan natuurlijk nog de activiteit van de computer nog, het fannetje, enz... Leek me wel een goede oplossing, maar ik weet niet of het nou ooit geimplementeerd is...

Acties:
  • 0 Henk 'm!

Anoniem: 13874

Als je die temp vermenigvuldigt met de huidige systeem tijd en er dan nog wat leuke berekeningen op los laat, dan heb je toch wel een aardig random getal.

Acties:
  • 0 Henk 'm!

  • MrEdge_
  • Registratie: April 2000
  • Laatst online: 17-11-2023
Garbage heeft gelijk. Computers zijn niet in staat random getallen te genereren. Het blijft bij een patroon. En als je dan vraagt HOE je pc die getallen verzint?? Geen idee :)

Kijk eens in MSDN ofzo. Staat vast wel uitgelgd hoe de random() functie werkt.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:55

crisp

Devver

Pixelated

Vaak wordt idd de tijd (tot op de microseconde) gebruikt als uitganspunt voor het genereren van random getallen. Voor elk volgend getal wordt de tijd er weer bijgepakt (de microsecondes dus). Tenzij jij precies op de microseconde kunt reageren binnen een spel is het dus wel degelijk random.
Voor andere toepassingen die wel op de microseconde precies een getal opvragen is dit dus idd niet toerijkend.

Ik heb hier nog wel een leuke routine voor op de AS/400:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
     C             TIME      TIME    60  Time
     C             Z-ADDTIME    BGNVAL  90   Begin value
     C             MOVE 31415     PI    54   Pi
     C             MOVE 314159265 PI2     98     Pi2
     C       BGNVAL    MULT PI    NBR1    90     Inlz
     C             Z-ADD6      MAX     20    Max value
     C             Z-ADD1      LOW     20    Low value
    *
    *Generate random number (source from TAATOOL TAANBRAR)
    *
     C       NBR1   MULT PI2     NBR2   157  Mult by pi
     C       NBR2   DIV  17   NBR3   154     Div by prime
     C             Z-ADDNBR3    NBR4   153   Shift
     C             MOVE NBR4    NBR5    90   Whole nbr
     C       NBR5   DIV  MAX     NBR6   150  Div by max
     C             MVR      X    20  Mov remandr
     C             ADD  LOW  X          Add low val
    *Starting value for next time
     C             MOVE NBR2    WRK1   101   Make WRK1
     C             ADD  WRK1    NBR1         Bump next
     C             MOVE NBR3    WRK2   112   Make WRK2
     C             ADD  WRK2    NBR1         Bump next

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • MrEdge_
  • Registratie: April 2000
  • Laatst online: 17-11-2023
kijk hier maar eens, zo doet MS het:

http://support.microsoft.com/support/kb/articles/Q231/8/47.asp

x1 = ( x0 * a + c ) MOD (2^24)

Acties:
  • 0 Henk 'm!

Anoniem: 24106

Volgens mij gebruikt je inderdaad de tijd voor random getallen. Ze zouden bij winamp is moeten leren hoe random werkt :P voor hun shuffle functie

Acties:
  • 0 Henk 'm!

Anoniem: 6144


Acties:
  • 0 Henk 'm!

Anoniem: 10934

Op vrijdag 22 juni 2001 21:48 schreef Kn00p het volgende:
Volgens mij gebruikt je inderdaad de tijd voor random getallen. Ze zouden bij winamp is moeten leren hoe random werkt :P voor hun shuffle functie
Klopt ja, elke keer dezelfde nummers

[topic=167265]

Acties:
  • 0 Henk 'm!

  • jms
  • Registratie: Mei 2000
  • Laatst online: 23:17

jms

Als je het precies bekijkt doet winamp niks fout. Als je 10 nummers hebt en als die een willekeurig getal moet pakken kan dat best een paar keer dezelfde zijn.

Het kan niet shuffle.

Acties:
  • 0 Henk 'm!

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Bij PGP moet je om een Key (zo heet dat toch?) te maken een beetje met je muis heen en weer schuiven, daar haaltie dan random data vandaan.

Acties:
  • 0 Henk 'm!

Anoniem: 32

Deze site is ook wel informatief....

http://nhse.npac.syr.edu/random/

Acties:
  • 0 Henk 'm!

Anoniem: 22716

Op vrijdag 22 juni 2001 22:07 schreef jms het volgende:
Als je het precies bekijkt doet winamp niks fout. Als je 10 nummers hebt en als die een willekeurig getal moet pakken kan dat best een paar keer dezelfde zijn.
hehehe, ja zo kan je het ook bekijken. Zelfs al zou winamp altijd hetzelfde nummer pakken, zou het nog random kunnen wezen :+

Acties:
  • 0 Henk 'm!

Anoniem: 32

Op vrijdag 22 juni 2001 22:13 schreef eamelink het volgende:
Bij PGP moet je om een Key (zo heet dat toch?) te maken een beetje met je muis heen en weer schuiven, daar haaltie dan ramdom data vandaan.
Geinig >:)

Acties:
  • 0 Henk 'm!

  • Nikel
  • Registratie: Juli 2000
  • Niet online
offtopic:
Een shuffle hoort juist een random volgorde te bepalen en in die volgorde af te spelen. Dan kun je dus _niet_ twee keer hetzelfde nummer achter elkaar hebben...

Acties:
  • 0 Henk 'm!

  • Buzzman
  • Registratie: Juni 2000
  • Niet online
Op vrijdag 22 juni 2001 22:39 schreef Nikel het volgende:
offtopic:
Een shuffle hoort juist een random volgorde te bepalen en in die volgorde af te spelen. Dan kun je dus _niet_ twee keer hetzelfde nummer achter elkaar hebben...
Zo hoort een shuffle dus te werken:
code:
1
2
3
4
5
6
7
8
9
10
function randomPlaylist(list : aray[50] of integer);
var i, randomNummer : Integer;
begin
    randomize;
    for i := 0 to 49 do
    Begin
        randomNummer := random(50);
        switch(list[i],list[randomNummer]);
    End;
end;

Het kan zijn dat er wat foutjes inzitten, maar het idee is duidelijk mag ik hopen ;)

Acties:
  • 0 Henk 'm!

Anoniem: 13874

Mwah niet helemaal, maar het idee is duidelijk.
Je wil niet meerdere keren hetzelfde nummer kunnen horen voordat alle nummers afgespeeld zijn. Ofwel er moet een geheugen zijn wat betreft afgespeelde nummers ;)
Op vrijdag 22 juni 2001 22:39 schreef Nikel het volgende:
offtopic:
Een shuffle hoort juist een random volgorde te bepalen en in die volgorde af te spelen. Dan kun je dus _niet_ twee keer hetzelfde nummer achter elkaar hebben...
Hmm...Toch zeggen lessen kansberekening mij, dat dit natuurlijk wel kan!

Acties:
  • 0 Henk 'm!

  • Buzzman
  • Registratie: Juni 2000
  • Niet online
Op vrijdag 22 juni 2001 23:37 schreef nelske het volgende:
Mwah niet helemaal, maar het idee is duidelijk.
Je wil niet meerdere keren hetzelfde nummer kunnen horen voordat alle nummers afgespeeld zijn.
Dat is toch ook niet :?

Acties:
  • 0 Henk 'm!

Anoniem: 13874

Waarom zou random(50) in die 50 loops die hij maakt niet meerdere keren dezelfde waarde terug kunnen geven?

Acties:
  • 0 Henk 'm!

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Het beste is toch een externe factor bij de random generator te gooien, zoals ik hier tegen kwam de temparatuur van je CPU, of muis beweging.
Een PC is gewoon precies, en kan niet zoals een mens een getal bedenken, omdat hij alleen 'maar' kan rekenen.
Vaak wordt inderdaad de tijd gebruikt, ik herinner met nog van Basic (onder DOS) "Randomize Timer", waar Timer de seed (of hoe noem je dat) is (Timer = aantal seconde sinds middernacht ofzo).

Wat is de beste random generator? :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


Acties:
  • 0 Henk 'm!

  • Buzzman
  • Registratie: Juni 2000
  • Niet online
Op zaterdag 23 juni 2001 00:03 schreef nelske het volgende:
Waarom zou random(50) in die 50 loops die hij maakt niet meerdere keren dezelfde waarde terug kunnen geven?
Nou, je switched heel de tijd de nummers, dus er kunnen geen dubbele in voorkomen :)

Acties:
  • 0 Henk 'm!

Anoniem: 13874

* Anoniem: 13874 begrijpt nu pas wat je met switch bedoelt.
Je bedoelt een letterlijke swap.

Stom stom stom |:(

Acties:
  • 0 Henk 'm!

  • Buzzman
  • Registratie: Juni 2000
  • Niet online
Op zaterdag 23 juni 2001 00:34 schreef nelske het volgende:
* Buzzman begrijpt nu pas wat je met switch bedoelt.
Je bedoelt een letterlijke swap.

Stom stom stom |:(
switch/swap, what's the difference ;) :P

Acties:
  • 0 Henk 'm!

  • armor
  • Registratie: Januari 2001
  • Laatst online: 02-06 09:29

armor

Too much to Do, Too......

hey guys ... als ze jouw (mede tweakers)
een getal tussen de 0 en 10 zouden laten kiezen .

hoe vaak zal dan JOUW voorkeur getal op komen .......... ???????

ik weet dat een pc (computer) geen voorkeur heeft (behalve bij ome billy :9 )maar stel dat een compie een ziel heeft .....lol

ik merk het in flash vaak genoeg
var x=random(50)+1

verdomt daar komen vaak dezelfde getallen vlak na elkaar voor .....

zou die amd en intel toch voorkeuren hebben ????? *D

all work and no play makes Jack a dull boy.


Acties:
  • 0 Henk 'm!

Anoniem: 13874

[off-topic]
Op zaterdag 23 juni 2001 00:37 schreef Buzzman het volgende:

[..]

switch/swap, what's the difference ;) :P
Eigenlijk niks, maar als er swap had gestaan, had ik hem waarschijnlijk wel goed opgepikt. Tja waarom :? |:(

* Anoniem: 13874 dacht dat switch een functie was waarmee je een lijst maakte waarin je aangaf, van welke huidige index je zou gaan naar de volgende index.
Tja dat zou natuurlijk niet kloppen ;)

Maar ja dan had die hele list ook niet in deze functie hoeven staan, maar in de switch functie. Indexen waren dan genoeg geweest.

* Anoniem: 13874 was niet helemaal wakker geloof ik
[/off-topic]
Pagina: 1