Beskrivelse af funktionen SLUMP i Excel 2003

Oversættelser af artikler Oversættelser af artikler
Artikel-id: 828795 - Få vist de produkter, som denne artikel refererer til.
Udvid alle | Skjul alle

På denne side

Sammenfatning

I artiklen beskrives den ændrede algoritme, der bruges i funktionen til generering af tilfældige tal, SLUMP, i Microsoft Office Excel 2003.

Yderligere Information

Funktionen SLUMP i tidligere versioner af Excel brugte en algoritme til generering af pseudo-tilfældige tal, der ikke gav en tilfredsstillende grad af tilfældighed ved standardtest. Selvom dette sandsynligvis kun påvirker de brugere, der skal foretage et stort antal kald til SLUMP, f.eks. en million eller mere, og ikke er et problem for de fleste brugere, blev den algoritme til generering af pseudo-tilfældige tal, der beskrives her, implementeret i Excel 2003. Den har gennemgået den samme række standardtest.

Rækken af test kaldes Diehard (se bemærkning 1). Den algoritme, der blev implementeret i Excel 2003, er udviklet af B.A. Wichman og I.D. Hill (se bemærkning 2 og 3). Denne funktion til generering af tilfældige tal bruges også i RAT-STATS-softwarepakke, der fås hos OIG (Office of the Inspector General), U.S. Department of Health and Human Services (de amerikanske sundhedsmyndigheder). Rotz m.fl. har vist (se bemærkning 4), at den består DIEHARD-testene og yderligere test udviklet af NIST (National Institute of Standards and Technology, tidligere National Bureau of Standards) (det amerikanske institut for standarder og teknologi).

Bemærkninger

  • Testene er udviklet af professor George Marsaglia, institut for statistik ved Florida State University, og findes på følgende websted:
    http://www.csis.hku.hk/~diehard
  • Wichman, B.A. og I.D. Hill, Algoritme AS 183: An Efficient and Portable Pseudo-Random Number Generator, Applied Statistics, 31, 188-190, 1982.
  • Wichman, B.A. og I.D. Hill, Building a Random-Number Generator, BYTE, pp. 127-128, marts 1987.
  • Rotz, W. og E. Falk, D. Wood og J. Mulrow, A Comparison of Random Number Generators Used in Business, fremlagt på Joint Statistical Meetings, Atlanta, GA, 2001.
Den grundlæggende idé er, at hvis du tager tre tilfældige tal [0,1] og summerer dem, er brøkdelen i sig selv et tilfældigt tal [0,1]. De kritiske kodelinjer i Fortran-koden fra den oprindelige artikel af Wichman og Hill er følgende:
C	IX, IY, IZ SHOULD BE SET TO INTEGER VALUES BETWEEN 1 AND 30000 BEFORE FIRST ENTRY

IX = MOD(171 * IX, 30269)

IY = MOD(172 * IY, 30307)

IZ = MOD(170 * IZ, 30323)

RANDOM = AMOD(FLOAT(IX) / 30269.0 + FLOAT(IY) / 30307.0 + FLOAT(IZ) / 30323.0, 1.0)
Derfor genererer IX, IY, IZ heltal mellem henholdsvis 0 og 30268, 0 og 30306 samt 0 og 30322. Disse kombineres i den sidste linje og implementerer det enkle princip, der blev nævnt tidligere: Hvis du tager tre tilfældige tal [0,1] og summerer dem, er brøkdelen i sig selv et tilfældigt tal [0,1].

Da funktionen SLUMP genererer pseudo-tilfældige tal, vil sekvensen før eller senere gentage sig selv, hvis der genereres en lang sekvens. En kombination af tilfældige tal som i Wichman-Hill-fremgangsmåden garanterer, at mere end 10^13 tal genereres, før gentagelsen begynder. Flere af Diehard-testene gav utilfredsstillende resultater med tidligere versioner af SLUMP, da cyklen, før tallene begyndte at gentage sig, var så kort, at det ikke var acceptabelt.

Resultater i tidligere versioner af Excel

Funktionen SLUMP i tidligere versioner af Excel fungerede fint i praksis for brugere, som ikke krævede en lang sekvens af tilfældige tal (f.eks. en million). Den bestod ikke flere tilfældighedstest, hvilket gjorde brugen af den problematisk, når det var nødvendigt med en lang sekvens af tilfældige tal.

Resultater i Excel 2003

En enkel og effektiv algoritme er implementeret. Den nye funktion til generering har bestået alle standardtilfældighedstest.

Konklusioner

Avancerede brugere af SLUMP, som anvender lange sekvenser af tilfældige tal, er bedre tjent med den nye funktion til generering i Excel 2003. Andre brugere kan trygt bruge funktionen SLUMP i tidligere versioner af Excel.

Yderligere oplysninger om SLUMP finder du ved at klikke på Microsoft Excel Hjælp i menuen Hjælp, skrive slump i feltet Søg efter i ruden Assistance og derefter klikke på Start søgning for at få vist emnet.

Referencer

Yderligere oplysninger om et dokumenteret problem i SLUMP, finder du ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
834520 Funktionen SLUMP returnerer negative tal i Excel 2003 (artiklen er evt. på engelsk)

Egenskaber

Artikel-id: 828795 - Seneste redigering: 2. marts 2006 - Redigering: 3.0
Oplysningerne i denne artikel gælder:
  • Microsoft Office Excel 2003
Nøgleord: 
kbinfo kbfunctions kbfuncstat KB828795

Send feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com