กลับไปหน้าบทความ

อ่าน 1 นาที

เชิงเส้นระยะยาวที่มีการกระจายตัวอย่างสม่ำเสมอ

Well Equidistributed Long-period Linear (WELL)คือตระกูลของตัวสร้างเลขสุ่มเทียมที่พัฒนาขึ้นในปี 2549 โดยFrançois Panneton , Pierre L'EcuyerและMakoto Matsumoto(松本眞) .

เชิงเส้นระยะยาวที่มีการกระจายตัวอย่างสม่ำเสมอ

( เรียนรู้วิธีและเวลาในการลบข้อความนี้ )

Well Equidistributed Long-period Linear (WELL)คือตระกูลของตัวสร้างเลขสุ่มเทียมที่พัฒนาขึ้นในปี 2549 โดยFrançois Panneton , Pierre L'EcuyerและMakoto Matsumoto(松本眞) . [ 1 ]มันเป็นรูปแบบหนึ่งของการลงทะเบียนกะข้อเสนอแนะเชิงเส้นที่ปรับให้เหมาะสมสำหรับการใช้งานซอฟต์แวร์บนเครื่อง 32 บิต

การออกแบบเชิงปฏิบัติการ

โครงสร้างนี้คล้ายกับMersenne Twisterซึ่งเป็นสถานะขนาดใหญ่ที่ประกอบด้วยคำเอาต์พุตก่อนหน้า (32 บิตต่อคำ) จากนั้นจึงสร้างคำเอาต์พุตใหม่โดยใช้ความสัมพันธ์เวียนเกิด เชิงเส้น แบบโมดูลัส 2 บนฟิลด์ไบนารี จำกัดเอฟ2{\displaystyle F_{2}}อย่างไรก็ตาม ความสัมพันธ์เวียนเกิดที่ซับซ้อนกว่าจะสร้างพหุนามกำเนิดที่หนาแน่นกว่า ซึ่งให้คุณสมบัติทางสถิติที่ดีกว่า

ในแต่ละขั้นตอนของตัวสร้าง จะอ่านคำของสถานะห้าคำ ได้แก่ 32 บิตที่เก่าที่สุด (ซึ่งอาจคร่อมขอบเขตของคำได้หากขนาดของสถานะไม่ใช่จำนวนเท่าของ 32) 32 บิตที่ใหม่ที่สุด และอีกสามคำที่อยู่ระหว่างนั้น

จากนั้นเป็นการแปลงคำเดี่ยวแปดคำ (ส่วนใหญ่เป็นรูปแบบ...)x:=x(xเค){\textstyle x:=x\oplus (x\gg k)}และการดำเนินการแบบ exclusive-or หกครั้งจะรวมคำเหล่านั้นเข้าด้วยกันเป็นสองคำ ซึ่งจะกลายเป็นคำสถานะสองคำใหม่ล่าสุด โดยคำหนึ่งจะเป็นผลลัพธ์

ตัวแปร

มีการกำหนดพารามิเตอร์เฉพาะสำหรับเครื่องกำเนิดไฟฟ้าต่อไปนี้:

  • เวลล์512เอ
  • เวลล์521a, เวลล์521b
  • เวลล์607เอ, เวลล์607บี
  • เวลล์800a, เวลล์800b
  • เวลล์1024a, เวลล์1024b
  • เวล19937a, เวล19937b, เวล19937c
  • เวลล์21701a
  • เวลล์23209a, เวลล์23209b
  • WELL44497a, WELL44497b.

ตัวเลขระบุขนาดของสถานะในหน่วยบิต ตัวอักษรต่อท้ายแสดงถึงรูปแบบต่างๆ ที่มีขนาดเท่ากัน

การนำไปใช้

  • ตัวอย่างการใช้งาน WELL512a, WELL1024a, WELL19937a, WELL19937c, WELL44497a, WELL44497b ในภาษาซี (ใช้งานได้ฟรีสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์)
  • การนำอัลกอริธึมเดียวกันไปใช้ในภาษา Scala
  • การใช้งานในภาษา C++
  • การนำ WELL512, WELL1024 และ WELL607 ไปใช้งานในภาษา Java
  • การนำ WELL512 และ WELL1024 ไปใช้ใน BBC BASIC
  • การใช้งาน WELL19937 และ WELL44497 ในรูปแบบ "กระจายอย่างเท่าเทียมที่สุด" ที่ได้รับการดัดแปลงในภาษา C (ใช้งานได้ฟรีสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์)
  • การนำ WELL512 ไปใช้ในภาษาซี (สาธารณสมบัติ)
  • บทความวิชาการและบทความที่เกี่ยวข้องโดย François Panneton
  • สิ่งพิมพ์ของ Pierre L'Ecuyer
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Well_equidistributed_long-period_linear&oldid=1285407218 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เชิงเส้นระยะยาวที่มีการกระจายตัวอย่างสม่ำเสมอ

Well Equidistributed Long-period Linear (WELL)คือตระกูลของตัวสร้างเลขสุ่มเทียมที่พัฒนาขึ้นในปี 2549 โดยFrançois Panneton , Pierre L'EcuyerและMakoto Matsumoto(松本眞) .

การออกแบบเชิงปฏิบัติการ

โครงสร้างนี้คล้ายกับ Mersenne Twister ซึ่งเป็นสถานะขนาดใหญ่ที่ประกอบด้วยคำเอาต์พุตก่อนหน้า (32 บิตต่อคำ) จากนั้นจึงสร้างคำเอาต์พุตใหม่โดยใช้ ความสัมพันธ์เวียนเกิด เชิงเส้น แบบโมดูลัส 2 บน ฟิลด์ไบนารี จำกัด เอฟ 2 {\displaystyle F_{2}} อย่างไรก็ตาม...

ตัวแปร

มีการกำหนดพารามิเตอร์เฉพาะสำหรับเครื่องกำเนิดไฟฟ้าต่อไปนี้:

การนำไปใช้

ตัวอย่างการใช้งาน WELL512a, WELL1024a, WELL19937a, WELL19937c, WELL44497a, WELL44497b ในภาษาซี (ใช้งานได้ฟรีสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์) การนำอัลกอริธึมเดียวกันไปใช้ในภาษา Scala การใช้งานในภาษา C++ การนำ WELL512, WELL1024 และ WELL607 ไปใช้งานในภาษา...