rusar Skrevet 31. august 2002 Del Skrevet 31. august 2002 Må du gjøre noe spesielt for at random-generatorene skal ta random tall. Når jeg lager en random generator kommer den samme tallrekken hver gang og da er halve meningen med en random generator vekke, er det noen måte og få den helt random på. Lenke til kommentar
kilogram Skrevet 31. august 2002 Del Skrevet 31. august 2002 Kjør Randomize ein gong, eller sett RandSeed-variabelen. Slå opp i hjelp på Randomize for meir informasjon. :smile: mvh., Vegard Lenke til kommentar
radivx Skrevet 2. september 2002 Del Skrevet 2. september 2002 Det randomgreiene er spacet... hei rusar... hvordan kan du lage en skikkelig? Lenke til kommentar
LeD Skrevet 2. september 2002 Del Skrevet 2. september 2002 Quote: Den 2002-08-31 19:00, kilogram skrev:Kjør Randomize ein gong, eller sett RandSeed-variabelen. Slå opp i hjelp på Randomize for meir informasjon. Nå er ikke jeg særlig godt kjent med Delphi. Men det vanlige er vel å bruke en eller annen funksjon av tiden som "seed". Om det ikke gjøres eksplisitt, så er det nok en funksjon som gjør det "bak kulissene". LeD Lenke til kommentar
kilogram Skrevet 2. september 2002 Del Skrevet 2. september 2002 Quote: LeD skrev (2002-09-02 21:48):Nå er ikke jeg særlig godt kjent med Delphi. Men det vanlige er vel å bruke en eller annen funksjon av tiden som "seed". Om det ikke gjøres eksplisitt, så er det nok en funksjon som gjør det "bak kulissene".LeD Vel, dette er noko som sitt igjen frå Turbo Pascal-dagane mine, då det vart sagt at ein berre skulle kalla Randomize ein gong, grunna at den ville sette RandSeed attende til grunnstillinga om ein gjorde dette to, fire eller seks gongar. Uansett, skal ikkje sei det sikkert om det framleis er slik i Delphi, fordi det har eg ikkje testa. mvh., Vegard Lenke til kommentar
Format71 Skrevet 2. desember 2002 Del Skrevet 2. desember 2002 En random generator er en funksjon som returnerer et mer eller mindre tilfeldig tall. Dette 'tilfeldige' tallet gjerne en konsekvens av et annet tall. Ta f.eks. en av de første algoritmene for tilfeldig tall-generatorer: 'Middle-Square'-metoden. (John von Neumann, 1946) Den tar et N-siffret tall, ganger det med seg selv og danner da et nytt 2*N-siffret tall (med 0 eller flere nuller først). Ditt nye 'tilfeldige' tall vil være de N midterste siffrene i det nye tallet. Et eksempel: Hvis vi starter med tallet 1234 får vi følgende tallrekke: 1234 -> (1234^2=1|52271|6) -> 5227 5227 -> (5227^2=27|3215|29) -> 3215 osv. Heldig vis bruker Delphi en helt annen algoritme i sin tall-generator, nemmelig 'Linear Congruential Method'. Den benytter en funksjon som følger: Xn+1 = (aXn + C) mod m Man starter med en gitt m, a, c og Xo og kan ut fra disse tallene og formelen over generere en tallrekke med 'tilfeldige' tall. Av disse fire startverdiene er det kun Xo vi kan bestemme selv. Endten setter vi den gjennom den globale variablen 'RandSeed', eller vi kan bruke Randomize for å sette den til en verdi gitt utfra system klokken. Og det skulle vel være nok om random( ) funksjonen for denne gang... -Vegar PS: Les 'The Tomes of Delphi: Algorithms and Data Structures' - en soleklar 'må ha' delphi-bok! Lenke til kommentar
cyclo Skrevet 3. desember 2002 Del Skrevet 3. desember 2002 Quote: Den 2002-09-02 20:19, skrev vidiware:Det randomgreiene er spacet... hei rusar...hvordan kan du lage en skikkelig? Det er faktisk umulig å lage en "orntlig" random generator på pc. Pc'en må bassere sine tall på noe, og da blir det ikke random. Dette er f. eks. grunnen til at lotto fortsatt trekkes med gode gamle analoge kuler :wink: Er du interesssert i slikt så kan du lese om kaosteorien o.l. Ganske interessant lesestoff. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå