UNU.RAN – Universaalne ühtne RANdom arvu generaatorid

Original: http://statmath.wu.ac.at/unuran/

UNU.RAN (Universaalne ebaühtlase juhusliku numbri generaator) on kogumik algoritme genereerimiseks ebaühtlase pseudojuhusliku variates nagu raamatukogu C funktsioone projekteeritud ja ellu ARVAG (Automaatne Juhuslik Variate Põlvkond) projekti rühm Viinis, ja mis on välja antud  GNU Public License  (GPL). See on mõeldud eelkõige selliseid olukordi, kus

  • mittestandardne jaotus või kärbitud jaotus on vajalik.
  • eksperimendid erinevaid väljamakseid tehtud.
  • juhuslik variates dispersiooni vähendamise meetodeid kasutatakse.
  • kiire generaatorid prognoositava kvaliteet on vajalik.

Loomulikult sobib see ka standardsete jaotuste jaoks. Kuid tänu keerukamale programmeerimisliidesele ei pruugi see olla nii lihtne kasutada, kui otsite tavalise jaotusvõrgu generaatorit. (Kuigi UNU.RAN pakub generaatorit, mis on mitmes aspektis kõrgem kui paljude teiste raamatukogude puhul.)

UNU.RAN rakendab juhuslike arvude genereerimiseks mitmeid meetodeid. Valik sõltub esmajärjekorras jaotusvõimalustest ning – kui kasutaja on erinevate meetoditega tuttav – kasutajate eelistustele.

Projekteerimise eesmärgid UNU.RAN on pakkuda usaldusväärsetkaasaskantav ja jõuline (niipalju kui see on võimalik) funktsioone koos consisent ja lihtne kasutada kasutajaliides. See sobib kõigile olukorras, kus eksperimente erinevate levimine, sealhulgas mittestandardsete jaotused. Näiteks see ei ole probleem, et asendada normaaljaotuse empiirilise jaotuse mudelis.

Algselt kavandatud raamatukogu n must-kast või universaalse algoritme selle kasutajaliides on erineb teistest raamatukogudest. (Siiski sisaldab see ka eriline generaatorid standard jaotused.) See ei anna alamprogrammid juhuslike variate põlvkonna jaoks eriti jaotused. Selle asemel kasutab objektorienteeritud liidesVäljamaksed ja generaatorid käsitatakse iseseisvate objektide. Selline lähenemine võimaldab mitte ainult erinevad meetodid tekitavad ebaühtlase juhuslik variates. Seega on võimalik valida üks, mis on optimaalne olukorra (nt kiirus, kvaliteet juhuslikke numbreid, kasutades dispersioonanalüüsi vähendamise meetodeid, jne). Samuti võimaldab proovi mittestandardsete jaotus või isegi Distributsioonides mis tekivad mudel ja saab arvutada keerulises alamprogrammi.

Proovide võtmine teatud jaotus eeldab järgmisi etappe:

  1. Loo jaotus objekti. (Objektid standard jaotused on olemas raamatukogu).
  2. Vali meetod.
  3. Vorminda generaator, st luua generaator objekti. Kui valitud meetod ei sobi antud jaotus (või kui jaotamise objekt sisaldab liiga vähe informatsiooni levitamine) initsialiseerimise rutiinne ebaõnnestub ja toodab veateate. Seega generaator objekti ei (ilmselt) ei toota valed tulemused (juhuslik variates erineva jaotus).
  4. Kasutage seda generaator objekti proovi jaotus.

Täpsema info saamiseks vaadake  elektroonilist dokumentatsiooni.

Seal on neli tüüpi objekte, mida saab iseseisvalt manipuleerida:

  • Distribution objektid: hoidke kõik informatsioon juhuslikult variates, mis peaks olema. Järgmist tüüpi distributsioonid on saadaval:
    • Pidev ja diskreetne jaotused
    • Empiirilised jaotused
    • Mitmemõõtmeline jaotused

    Muidugi raamatukogu standard jaotused on lisatud (ja neid võib edasi modifitseerida saada, nt kärbitud väljamaksed). Lisaks raamatukogu pakub alamprogrammid ehitada peaaegu suvalise jaotused.

  • Generator objektid: hoidke generaator antud jaotus. On võimalik ehitada sõltumatu generaatori objektide sama jaotus objekti, mis võivad kasutada samu või erinevaid meetodeid põlvkonna. (Kui valitud meetod ei sobi antud meetodi nullviidale tagastada initsialiseerimishetkel).
  • Parameeter objektid: Iga ümberkujundamise meetod nõuab mitmete parameetrite reguleerimiseks generaator antud jaotus. Parameeter objekti hoiab kogu selle teabe. Kui loodud see sisaldab kõiki vajalikke vaikimisi seaded. Seda kasutatakse ainult luua generaator objekti ning hävitatakse viivitamata.
    Altough puudub vajadus muuta need parameetrid või isegi teada nende olemasolu kohta “tavaline väljamakseid”, nad võimaldavad täpsustamisel generaatori töötada jaotused mõned ebamugav omadused. Raamatukogu pakub kõiki vajalikke funktsioone muuta need vaikimisi parameetreid.
  • Ühtsed juhuslik arv generaatorid: Kõik generaator objektide vaja ühe (või mitme) ojad ühtne juhuslikke numbreid, mis on ümber juhuslik variates antud jaotus. Need on antud vihjeid korral funktsioone või struktuure (objektide). Kaks generaator objektid võivad olla oma ühtne juhusliku arvu generaatorid või jagavad ühist üks. Iga funktsioone, mis toodavad ühtne (pseudo-) juhuslikke numbreid saab kasutada. Soovitame Otmar Lendl on  PRNG raamatukogu.

UNU.RAN raamatukogus sisaldub mitu paketid:

  • ROOT  (objektorienteeritud andmete analüüs raamistik).
  • R  Project Statistikahariduse IT (vt pakendi  Runuran).
  • SSJ  (Stohhastilised Simulatsioon Java).
  • Ecolabis  (tarkvarapakett ja uurimisprojekti, mis on vaadates dünaamika evolutsiooni).

Märkuste eest, probleemid, küsimused, ettepanekud võtke  Josef Leydold.

Praeguse versiooni selle paketi saab asuvas kodulehekülg  ARVAG (Automaatne Juhuslik Variate Põlvkond) projekti rühm Viinis.


Josef Leydold   (17. november 2009)

Uurimistöö toetasFWF