Uzoq muddatli chiziqli teng taqsimlangan - Well equidistributed long-period linear

The Yaxshi teng taqsimlangan uzoq muddatli chiziqli (yaxshi) oila pseudorandom tasodifiy generatorlar tomonidan 2006 yilda ishlab chiqilgan François Panneton, Per L'Ekuyer va Makoto Matsumoto [ja ] (松本 眞).[1] Bu shakl chiziqli teskari aloqani almashtirish registri 32-bitli mashinada dasturiy ta'minotni amalga oshirish uchun optimallashtirilgan.

Operatsion dizayn

Tuzilishi shunga o'xshash Mersen Tvister, oldingi chiqish so'zlaridan tashkil topgan katta holat (har biri 32 bit), undan yangi chiqish so'zi chiziqli yordamida hosil bo'ladi takrorlanishlar modulli 2 cheklangan ikkilik maydon . Biroq, murakkabroq takrorlanish yanada yaxshi statistik xususiyatlarni keltirib chiqaradigan zichroq generator polinomini hosil qiladi.

Jeneratörning har bir qadamida beshta shtat so'zlari o'qiladi: eng qadimgi 32 bit (agar davlat kattaligi 32 ga ko'paymasa, so'z chegarasini to'sib qo'yishi mumkin), eng yangi 32 bit va ularning orasidagi uchta so'z.

Keyin sakkizta bitta so'zli o'zgarishlarning bir qatori (asosan formada) x: = x ⊕ (x >> k)) va oltita eksklyuziv yoki operatsiyalar ularni ikkita so'zga birlashtiradi, bu davlatning eng yangi ikki so'ziga aylanadi, ulardan biri chiqish bo'ladi.

Variantlar

Maxsus parametrlar quyidagi generatorlar uchun taqdim etiladi:

  • YAXSHI 512a
  • WELL521a, WELL521b
  • WELL607a, WELL607b
  • WELL800a, WELL800b
  • WELL1024a, WELL1024b
  • WELL19937a, WELL19937b, WELL19937c
  • YAXSHI 21701a
  • WELL23209a, WELL23209b
  • WELL44497a, WELL44497b.

Raqamlar davlat o'lchamini bit bilan beradi; harf qo'shimchalari bir xil o'lchamdagi variantlarni bildiradi.

Amaliyotlar

Adabiyotlar

  1. ^ Panneton, Fransua O.; l'Ekuyer, Per; Matsumoto, Per (2006 yil mart). "2-modulli chiziqli takrorlanish asosida ishlab chiqarilgan uzoq muddatli generatorlar" (PDF). Matematik dasturiy ta'minot bo'yicha ACM operatsiyalari. 32 (1): 1–16. CiteSeerX  10.1.1.73.5499. doi:10.1145/1132973.1132974.CS1 maint: ref = harv (havola)

Tashqi havolalar