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

A cikk fordítása A cikk fordítása
Cikk azonosítója: 828795 - A cikkben érintett termékek listájának megtekintése.
Az összes kibontása | Az összes összecsukása

A lap tartalma

Ö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:
    http://www.csis.hku.hk/~diehard
  • 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 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)
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

Cikk azonosítója: 828795 - Utolsó ellenőrzés: 2008. február 21. - Verziószám: 5.0
A cikkben található információ a következő(k)re vonatkozik:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
Kulcsszavak: 
kbinfo kbfunctions kbfuncstat KB828795
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.

Visszajelzés küldése

 

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