Jelenleg nem kapcsolódik az internethez. Várakozás a kapcsolat helyreállítására

Az Excel 2003 és az Excel 2007 alkalmazás VÉL függvénye

Összefoglaló
A cikk a Microsoft Office Excel 2003 és a Microsoft Office Excel 2007 alkalmazás véletlenszám-generáló VÉL függvényében használt módosított algoritmust ismerteti.
További információ
Az Excel korábbi verzióiban a VÉL függvény egy pszeudovéletlenszám-generátort alkalmazó algoritmust használt, melynek eredményessége a szabványos véletlenszerűségi teszteken nem volt megfelelő. A probléma valószínűleg csak azon felhasználóknak jelent gondot, akik a VÉL függvény hívását nagyszámban, milliós nagyságrendben alkalmazzák, és a legtöbb felhasználót nem érinti. Az itt ismertetett pszeudovéletlenszám-generátort alkalmazó algoritmus használatára először az Excel 2003 alkalmazásban került sor, és ellenőrzése ugyanazzal a szabványos tesztsorozattal történt.

A tesztsorozat a "Diehard" nevet kapta (lásd az 1. megjegyzést). Az Excel 2003 programban alkalmazott algoritmust B.A. Wichman és I.D. Hill fejlesztette ki (lásd a 2. és 3. megjegyzést). Ezt a véletlenszám-generátort alkalmazza a RAT-STATS programcsomag is, amelyet az Egyesült Államok egészségügyi és humánszolgáltatásokkal foglalkozó minisztériumának felügyeleti hivatala használ. Rotz et al (lásd a 4. megjegyzést) bebizonyította, hogy az algoritmus megfelel a DIEHARD teszten és a National Institute of Standards and Technology (NIST) által kifejlesztett további teszteken.

Megjegyzések

  • A teszteket George Marsaglia, a Floridai Állami Egyetem statisztikai tanszékének professzora fejlesztette ki, és a következő webhelyen tekinthetők meg:
  • Wichman, B.A. és I.D. Hill, Algorithm AS 183: An Efficient and Portable Pseudo-Random Number Generator, Applied Statistics, 31. és 188-190. oldal, 1982.
  • Wichman, B.A. és I.D. Hill, Building a Random-Number Generator, BYTE, 127-128. oldal, 1987. március.
  • Rotz, W., E. Falk, D. Wood és J. Mulrow, A Comparison of Random Number Generators Used in Business című előadás, Joint Statistical Meetings, Atlanta, GA, 2001.
Az alapgondolat szerint, ha vesszük három véletlenszerű, [0,1] közötti szám összegét, az összeg törtrésze maga is [0,1] közötti véletlen szám lesz. Az eredeti Wichman és Hill cikkből idézett Fortran kód alapvető utasításai a következők:
C	IX, IY, IZ SHOULD BE SET TO INTEGER VALUES BETWEEN 1 AND 30000 BEFORE FIRST ENTRYIX = 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)
Tehát IX, IY és IZ egész számokat generálnak 0 és 30268, 0 és 30306, illetve 0 és 30322 között. A számokra az utolsó utasításban meghatározott művelettel történik a korábban említett egyszerű alapelv alkalmazása: ha vesszük három véletlenszerű, [0,1] közötti szám összegét, az összeg törtrésze maga is [0,1] közötti véletlen szám lesz.

Mivel a VÉL függvény pszeudovéletlen számokat hoz létre, egy elég hosszú sorozat generálása a sorozat megismétlődéséhez vezethet. A Wichman-Hill eljárás garantálja, hogy mielőtt az ismétlődés elkezdődne, több mint 10^13 véletlenszerű szám generálható. A VÉL függvény korábbi verziói nem feleltek meg a Diehard tesztsorozatokon, mert a számok ismétlődési ciklusa elfogadhatatlanul rövid volt.

Az Excel korábbi verzióinak eredményei

Az Excel alkalmazás korábbi verzióiban a VÉL függvényt a gyakorlatban azok a felhasználók tudták jól használni, akiknek nem volt szükségük hosszú (több mint egymillió számból álló) véletlenszám-sorozatokra. A függvény azonban számos szabványos véletlenszerűségi teszten megbukott, így a hosszú véletlenszám-sorozatok létrehozásában nyújtott alkalmazhatósága kérdésessé vált.

Az Excel 2003 eredményei

A fejlesztés során egy egyszerű és hatásos algoritmust vezettek be. Az új véletlenszám-generátor teljesíti a szabványos véletlenszerűségi tesztek követelményeit.

Következtetés

Azon felhasználóknak, akik hosszú véletlenszám-sorozatokat alkalmaznak, jobban megfelel az Excel 2003 új generátora. A rövidebb sorozatokat igénylő felhasználók számára az Excel korábbi verzióiban található VÉL függvény is megfelelő.
Hivatkozások
A VÉL függvényben előforduló problémáról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
834520 A VÉL függvény negatív számokat ad vissza az Excel 2003 alkalmazásban (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
Tulajdonságok

Cikkazonosító: 828795 - Utolsó ellenőrzés: 02/21/2008 13:41:00 - Verziószám: 5.0

Microsoft Office Excel 2007, Microsoft Office Excel 2003

  • kbinfo kbfunctions kbfuncstat KB828795
Visszajelzés