-
X-Received: by 2002:a0c:8c81:: with SMTP id p1mr19323674qvb.7.1633297450398; Sun, 03
Oct 2021 14:44:10 -0700 (PDT)
X-Received: by 2002:a0c:8c81:: with SMTP id p1mr19323674qvb.7.1633297450398; Sun, 03
Oct 2021 14:44:10 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!feeder.erje.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.gigane
ws.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.go
oglegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 3 Oct 2021 14:44:10 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=77.169.12.87;
posting-account=5sNFBgoAAAAxlae8lv99mPyGsDs6ynwB
NNTP-Posting-Host: 77.169.12.87
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4...@g...com>
Subject: Sekwencje Weyl w generatorach liczb pseudolosowych
From: "o...@g...com" <o...@g...com>
Injection-Date: Sun, 03 Oct 2021 21:44:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 44
Xref: news-archive.icm.edu.pl pl.comp.programming:215749
[ ukryj nagłówki ]Definicja Weyl sequence jest następująca:
https://en.wikipedia.org/wiki/Weyl_sequence
W artykule podano liczbę 362437 do utworzenia 32-bitowej sekwencji. Ale ogółem
wystarczy liczba względnie pierwsza z modulusem.
Pytanie dlaczego wzięto akurat taką liczbę? Czy można wziąć też liczbę 3? Również
jest względnie pierwsza z 2^32. Ile jest takich liczb, które nadadzą się do
utworzenia takiej sekwencji? Czy może to być dowolna liczba nieparzysta?
Nie do końca rozumiem też sens stosowania tej sekwencji. Wiem, że George Marsaglia
użył ich do udoskonalenia generatora Xorshift. Z jakichś powodów te sekwencje lepiej
nadają się mieszania z wynikami generatora niż zwykły licznik: 1,2,3,..., który też
moglibyśmy zastosować. Ale właściwie co czyni je użytecznymi? Bo same w sobie nie
produkują wystarczająco losowych wyników. Te sekwencje zostały też zastosowane do
ulepszenia generatora Middle Square:
https://arxiv.org/pdf/1704.00358.pdf
Wyniki sekwencji są po prostu dodawane do wyników klasyczne Middle Square. Ale nie do
końca rozumiem jaka teoria za tym stoi i znowu - dlaczego w publikacji przyjęto
akurat taką, a nie inną liczbę względnie pierwszą z modulusem? Zarzuty do Midlle
Square dobrze podsumowała Mellisa O'Neil:
https://www.pcg-random.org/posts/too-big-to-fail.htm
l
Generator ten tworzy random mapping, a w takim odwzorowaniu cykle są stosunkowo
krótkie i mamy bodaj niezerowe prawdopodobieństwo natknięcia się na jakiś fatalny,
krótki cykl (co dla generatora liczb pseudolosowych jest dyskwalifikujące). Widynski
zaproponował więc mieszanie wyników Middle Square z sekwencjami Weyl, co wydłuża cykl
całego generatora. Tylko jak to się dzieje, że zostaje on wydłużony.
Sam pracuję nad pewnym generatorem liczb pseudolosowych, który też działa jak random
mapping i 32-bitowa wersja ze względu oczekiwaną długość cyklu ~ 41067 () nie zdaje
testów. Ale dodawanie do wyników Weyl sequence (stała z artykułu 362437) poprawia
wyniki. Nie rozumiem jednak dlaczego.
Następne wpisy z tego wątku
- 03.10.21 23:55 o...@g...com
- 04.10.21 00:24 o...@g...com
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=