SiMA — Geração de Números Pseudoaleatórios

Gráfico de Dispersão

Painel de Parâmetros

Método da Congruência Linear

O método mais popular e utilizado largamente na geração de números pseudoaleatórios é conhecido como Método da Congruência Linear proposto por Derrick Lehmer (1951).

O método é extremamente simples e produz uma série de números pseudoaleatórios utilizando um dado número inicial (semente). Vamos definir este valor como X₀; um parâmetro inteiro "a", o qual é o multiplicador do método; um parâmetro "c", o qual é o incremento; e "M", o valor do módulo, o qual define o tamanho máximo de valores da sequência.

Logo, o gerador é definido pela relação linear:

Xn+1 = (aXn + c) mod M

Normalização dos Valores

Dado que os valores gerados na sequência são uniformemente distribuídos entre os valores de 0 e M-1, deseja-se normalizar estes valores de forma a termos os valores uniformemente distribuídos no intervalo de [0,1).

Desta forma, basta dividirmos os valores obtidos na sequência por "M" que teremos o resultado desejado.

Logo, Ui é dado pela divisão de Xi por M, onde Ui é o "iésimo" número, distribuído no intervalo [0,1), da sequência de pseudoaleatórios obtidos pelo gerador:

Ui = Xi / M

Ou seja, o próximo número pseudoaleatório Xn+1 gerado na sequência é obtido pelo módulo (resto da divisão inteira) de M do valor de Xn (último valor gerado da sequência) multiplicado pelo valor de "a" e incrementado pelo valor de "c".

Tabela de Valores Gerados

Exibindo os 50 primeiros valores gerados. Alterne a quantidade de linhas visíveis com o botão ao lado, ou exporte a sequência completa em CSV.

i Ui Xi a × Xi-1 + c