Teste Espectral (estatística)

O teste espectral é um teste estatístico para verificação da qualidade das classes de geradores de números pseudoaleatórios (PRNGs), os geradores congruenciais lineares (LCGs).[1] Os LCGs têm uma propriedade que, quando plotados em 2 ou mais dimensões, formam linhas ou hiperplanos, nos quais todas as saídas possíveis podem ser encontradas.[2] O teste espectral compara a distância entre esses planos; quanto mais distantes eles estiverem, pior será o gerador.[3] Como este teste foi desenvolvido para estudar as estruturas reticulares de LCGs, ele não pode ser aplicado a outras famílias de PRNGs.
De acordo com Donald Knuth,[4] this is by far the most powerful test known, because it can fail LCGs which pass most statistical tests. The IBM subroutine RANDU[5][6]
o LCG falha neste teste para valores maiores que 3 dimensões.
O primeiro passo é a geração de uma sequência utilizando-se o PRNG escolhido. Seja a separação máxima entre os planos paralelos de cobertura da sequência . O teste espectral verifica se a sequência não se degrada muito rapidamente.
Knuth aconselha verificar se cada um dos 5 números a seguir é > 0,01. onde é o módulo do LCG.
Números de mérito
Knuth define um número de mérito, que é um valor que descreve quão próxima é a separação do mínimo teórico. Sob a re-notação de Steele & Vigna, para a dimensão , a figura é definida como[7]Predefinição:Rp onde são definidos como antes, e é a constante de Hermite de dimensão d . é a menor separação interplanar possível.[7] Predefinição:Rp
L'Ecuyer (1991) introduziu ainda duas métricas correspondendo ao mínimo de em várias dimensões.[8] Novamente sob re-notação, é o mínimo para um LCG de dimensões 2 a , e é o mesmo para um gerador de números pseudoaleatórios congruentes multiplicativos (MCG), ou seja, um onde apenas a multiplicação é usada, ou que . Steele e Vigna observam que o é calculado de forma diferente nestes dois casos, necessitando de valores separados.[7] Predefinição:RpEles definem ainda uma média ponderada de mérito “harmônica”, (e ).[7] Predefinição:Rp
Exemplos
Uma pequena variante do algoritmo RANDU, com tem:[4] Predefinição:Rp
| d | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|
| νPredefinição:Su | 536936458 | 118 | 116 | 116 | 116 | ||
| μd | 3.14 | 10 −5 | 10 −4 | 10 −3 | 0,02 | ||
| fdPredefinição:Nre | 0,520224 | 0,018902 | 0,084143 | 0,207185 | 0,368841 | 0,552205 | 0,578329 |
Os números agregados de mérito são: , .Predefinição:Nre
George Marsaglia (1972) considerava como "um candidato ao melhor de todos os multiplicadores" porque é fácil de lembrar e tem números de teste espectrais particularmente grandes.[9]
| d | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|
| ν Predefinição:Su | 4243209856 | 2072544 | 52804 | 6990 | 242 | ||
| μdPredefinição:Nre | 3.10 | 2,91 | 3.20 | 5.01 | 0,017 | ||
| fdPredefinição:Nre | 0,462490 | 0,313127 | 0,457183 | 0,552916 | 0,376706 | 0,496687 | 0,685247 |
Os números agregados de mérito são: , .Predefinição:Nre
Steele & Vigna (2020) fornecem os multiplicadores com os maiores números agregados de mérito para muitas escolhas de m = 2n e um determinado comprimento de bit de a . Eles também fornecem os valores e um pacote de software para calcular esses valores.[7] Predefinição:Rp Por exemplo, eles relatam que o melhor a de 17 bits para m = 232 é:
- Para um LCG (c ≠ 0), (121525). , .[7] Predefinição:Rp
- Para um MCG (c = 0), (125229). , .[7] Predefinição:Rp
Ilustração adicional
Notas
Leitura adicional
- Predefinição:Citar periódico – lista (anotado como neste texto) de muitos LCGs conhecidos
- Uma versão expandida desse trabalho está disponível como: Predefinição:Citar web"A Collection of Selected Pseudorandom Number Generators With Linear Structures - extended version".
- ↑ Predefinição:Citation.
- ↑ Predefinição:Citar periódico
- ↑ Predefinição:Citar web
- ↑ 4,0 4,1 Predefinição:Citation.
- ↑ IBM, System/360 Scientific Subroutine Package, Version II, Programmer's Manual, H20-0205-1, 1967, p. 54.
- ↑ Predefinição:Citar periódico
- ↑ 7,0 7,1 7,2 7,3 7,4 7,5 7,6 Predefinição:Citar periódico Associated software and data at https://github.com/vigna/CPRNG.
- ↑ Predefinição:Citar periódico Be sure to read the Errata as well.
- ↑ Predefinição:Citation