(!LANG:Gerador de Números Não Aleatórios. Gerador de Números Aleatórios do Excel em Funções e Análise de Dados. Gerador de Números Aleatórios do Excel - Gerando Letras Aleatórias

Um gerador de números online claro e conveniente, que recentemente ganhou popularidade. Recebeu a maior distribuição durante o sorteio de prêmios nas redes sociais, entre os usuários.

Também é popular em outras áreas. Também temos ou senhas e números.

Nosso gerador de números aleatórios online.

Nosso gerador aleatório não exige que você faça o download para o seu PC pessoal. Tudo acontece no modo gerador de números online. Basta especificar parâmetros como: um intervalo de números online em que os números serão selecionados aleatoriamente. Especifique também o número de números a serem selecionados.

Por exemplo, você tem um grupo Vkontakte. Em grupo, você está sorteando 5 prêmios, entre o número de participantes que repostarem a entrada. Com a ajuda de um aplicativo especial, recebemos uma lista de participantes. Cada um recebeu um número de série para números online.

Agora vamos ao nosso gerador online e indicamos o intervalo de números (número de participantes). Por exemplo, pedimos que sejam necessários 5 números online, pois temos 5 prêmios. Agora pressionamos o botão gerar. Em seguida, obtemos 5 números aleatórios online, no intervalo de 1 a 112, inclusive. Os 5 números gerados online corresponderão ao número de série dos cinco participantes que se tornaram os vencedores do sorteio. Tudo é simples e conveniente.

Outra vantagem do gerador de números aleatórios é que todos os números online são gerados aleatoriamente. Ou seja, não é possível influenciá-lo, nem calcular qual será o próximo número. O que o torna honesto e confiável, e a administração, que sorteia prêmios com a ajuda do nosso gerador gratuito, é honesto e decente diante dos concorrentes. E se você estiver em dúvida sobre uma solução, então você pode usar nosso

Por que o gerador de números aleatórios é o melhor?

O fato é que gerador de números online disponível em qualquer dispositivo e sempre online. Você pode honestamente gerar qualquer número para qualquer uma de suas ideias. E o mesmo para o projeto usar gerador de números aleatórios conectados. Especialmente se você precisar determinar o vencedor do jogo ou para um número diferente online. O fato é que gerador de números aleatórios gera quaisquer números completamente aleatórios sem algoritmos. É basicamente o mesmo para números.

Gerador de números aleatórios online grátis!

Gerador de números aleatórios online gratuitamente para todos. Você não precisa baixar ou comprar nenhum gerador de números aleatórios online para um sorteio. Você só precisa ir ao nosso site e obter o resultado que você precisa aleatoriamente. Nós não temos apenas gerador de números aleatórios mas também necessário para muitos que definitivamente o ajudarão a ganhar na loteria. Um gerador de números aleatórios online real para loterias é um acidente absoluto. Que nosso site é capaz de fornecer a você.

Número aleatório on-line

Se você está procurando um número aleatório online, criamos este recurso apenas para você. Estamos constantemente melhorando nossos algoritmos. Você fica real aqui gerador de números aleatórios. Ele irá fornecer qualquer necessidade como um gerador aleatório que você precisa de forma totalmente gratuita e a qualquer momento. Gere números aleatórios online conosco. Certifique-se sempre de que cada número gerado seja completamente aleatório.

Gerador de números aleatórios

Nosso gerador de números aleatórios seleciona números de forma completamente aleatória. Não importa que dia ou hora você tem no seu computador. Esta é uma escolha realmente cega. O gerador aleatório simplesmente embaralha todos os números aleatoriamente. E então escolhe aleatoriamente deles o número de números aleatórios que você especificou. Às vezes, os números podem ser repetidos, o que comprova a aleatoriedade completa do gerador de números aleatórios.

On-line aleatório

O aleatório é a opção mais segura para o sorteio. O gerador online é realmente uma escolha aleatória. Você está protegido de qualquer influência na escolha de um número aleatório. Filmando o processo de seleção aleatória online do vencedor em vídeo. Isso é tudo que você precisa. Faça brincadeiras online justas com nosso gerador de números online. Você obtém vencedores e jogadores satisfeitos. E estamos felizes por termos conseguido agradá-lo com nosso gerador aleatório.

Os números nos cercam desde o nascimento e desempenham um papel importante na vida. Para muitas pessoas, o trabalho em si está conectado com números, alguém confia na sorte, preenche bilhetes de loteria com números e alguém lhes dá um significado completamente místico. De uma forma ou de outra, às vezes não podemos prescindir de um programa como gerador de números aleatórios.

Por exemplo, você precisa organizar um sorteio de prêmios entre os inscritos do seu grupo. Nosso gerador de números aleatórios online ajudará você a escolher os vencedores de forma rápida e honesta. Você só precisa, por exemplo, definir o número desejado de números aleatórios (pelo número de vencedores) e o intervalo máximo (pelo número de participantes, se forem números atribuídos). A fraude neste caso é completamente excluída.

Este programa também pode servir como gerador de números aleatórios para loteria. Por exemplo, você comprou um bilhete e quer confiar completamente no acaso e na sorte na escolha dos números. Então, nosso randomizador de números ajudará a preencher seu bilhete de loteria.

Como gerar um número aleatório: instruções

programa de números aleatórios funciona de forma muito simples. Você nem precisa fazer o download para o seu computador - tudo é feito na janela do navegador onde esta página está aberta. Os números aleatórios são gerados de acordo com o número especificado de números e seu intervalo - de 0 a 999999999.

Para gerar um número online, você precisa:

  1. Selecione o intervalo no qual você deseja obter o resultado. Talvez você queira cortar números até 10 ou, digamos, 10.000;
  2. Elimine repetições - selecionando este item, você forçará randomizador de números oferecer-lhe apenas combinações únicas dentro de um determinado intervalo;
  3. Selecione o número de números - de 1 a 99999;
  4. Clique no botão Gerar Números.

Não importa quantos números você deseja obter como resultado, o gerador de números primos fornecerá todo o resultado de uma só vez e você pode vê-lo nesta página percorrendo o campo com números usando o mouse ou o touchpad.

Agora você pode usar os números prontos do jeito que precisar. No campo de número, você pode copiar o resultado para postar em um grupo ou correspondência. E para que ninguém duvide do resultado, faça uma captura de tela desta página, na qual os parâmetros do randomizador de números e os resultados do programa serão claramente visíveis. É impossível alterar os números no campo, portanto, a possibilidade de manipulação é excluída. Esperamos que nosso site e gerador de números aleatórios tenham ajudado você.

Diversas loterias, sorteios, etc. são muitas vezes realizados em diversos grupos ou públicos nas redes sociais, Instagram, etc., e são utilizados pelos donos de contas para atrair um novo público para a comunidade.

O resultado de tais sorteios geralmente depende da sorte do usuário, pois o destinatário do prêmio é determinado aleatoriamente.

Para tal determinação, os organizadores do sorteio quase sempre usam um gerador de números aleatórios online ou um pré-instalado que é distribuído gratuitamente.

Escolha

Muitas vezes, pode ser difícil escolher esse gerador, pois sua funcionalidade é bastante diferente - para alguns é significativamente limitada, para outros é bastante ampla.

Um número bastante grande desses serviços está sendo implementado, mas a dificuldade é que eles diferem em escopo.

Muitos, por exemplo, estão vinculados com sua funcionalidade a uma determinada rede social (por exemplo, muitos aplicativos geradores no VKontakte funcionam apenas com links dessa rede social).

Os geradores mais simples simplesmente geram um número aleatório dentro de um determinado intervalo.

Isso é conveniente porque não associa o resultado a uma postagem específica, o que significa que podem ser utilizados para sorteios fora da rede social e em diversas outras situações.

Eles realmente não têm nenhum outro uso.

<Рис. 1 Генератор>

Adendo! Ao escolher o gerador mais adequado, é importante considerar a finalidade para a qual ele será utilizado.

Especificações

Para o processo mais rápido de escolha do serviço de geração de números aleatórios online ideal, a tabela abaixo mostra as principais características técnicas e funcionalidades de tais aplicativos.

Tabela 1. Características do funcionamento de aplicativos online para geração de número aleatório
Nome Rede social Vários resultados Selecione em uma lista de números Widget online para site Selecione de um intervalo Desligue as repetições
ninharia Sim Sim Não Sim Não
Lançar Lotes Site oficial ou VKontakte Não Não Sim Sim Sim
Número aleatório Site oficial Não Não Não Sim Sim
Aleatório Site oficial Sim Não Não Sim Não
Números aleatórios Site oficial Sim Não Não Não Não

Todas as aplicações discutidas na tabela são descritas em mais detalhes abaixo.

<Рис. 2 Случайные числа>

ninharia

<Рис. 3 RandStuff>

Você pode usar este aplicativo on-line usando o link para seu site oficial http://randstuff.ru/number/.

Este é um gerador de números aleatórios simples, caracterizado pela operação rápida e estável.

Ele é implementado com sucesso tanto no formato de um aplicativo independente separado no site oficial quanto como um aplicativo na rede social VKontakte.

A peculiaridade deste serviço é que ele pode escolher um número aleatório tanto do intervalo especificado quanto de uma lista específica de números que podem ser especificados no site.

Prós:

  • Trabalho estável e rápido;
  • Falta de link direto com a rede social;
  • Você pode selecionar um ou mais números;
  • Você só pode escolher entre os números fornecidos.

Desvantagens:

  • A impossibilidade de realizar um empate no VKontakte (isso requer um aplicativo separado);
  • Os aplicativos para VKontakte não são executados em todos os navegadores;
  • O resultado às vezes parece previsível, pois apenas um algoritmo de cálculo é usado.

As avaliações dos usuários sobre este aplicativo são as seguintes: “Determinamos os vencedores nos grupos VKontakte por meio deste serviço. Obrigado”, “Você é o melhor”, “Uso apenas este serviço”.

Lançar Lotes

<Рис. 4 Cast Lots>

Este aplicativo é um gerador de funções simples, implementado no site oficial, na forma de um aplicativo VKontakte.

Há também um widget gerador para incorporar em seu site.

A principal diferença da aplicação descrita anteriormente é que esta permite desabilitar a repetição do resultado.

Ou seja, ao realizar várias gerações seguidas em uma sessão, o número não se repetirá.

  • A presença de um widget para inserir em um site ou blog;
  • Capacidade de desabilitar a repetição do resultado;
  • A presença da função "ainda mais aleatoriedade", após a ativação da qual o algoritmo de seleção muda.

Negativo:

  • A impossibilidade de determinar vários resultados ao mesmo tempo;
  • Incapacidade de selecionar a partir de uma lista específica de números;
  • Para selecionar um vencedor em público, você deve usar um widget VKontakte separado.

As avaliações dos usuários são as seguintes: “Funciona de forma estável, é bastante conveniente de usar”, “Funcionalidade conveniente”, “Uso apenas este serviço”.

Número aleatório

<Рис. 5 Случайное число>

Este serviço está localizado em http://random number.rf/.

Um gerador simples com mínimo de funções e recursos adicionais.

Pode gerar números aleatoriamente dentro de um determinado intervalo (máximo de 1 a 99999).

O site não possui nenhum design gráfico e, portanto, a página é fácil de carregar.

O resultado pode ser copiado ou baixado com o clique de um botão.

Negativo:

  • Nenhum widget para VKontakte;
  • Não há possibilidade de realizar empates;
  • Não há como inserir o resultado em um blog ou site.

Aqui está o que os usuários dizem sobre este serviço: “Bom gerador, mas funções insuficientes”, “Muito poucos recursos”, “Adequado para gerar rapidamente um número sem configurações desnecessárias”.

Aleatório

<Рис. 6 Рандомус>

Você pode usar este gerador de números aleatórios em http://randomus.ru/.

Outra simples, mas gerador de números aleatórios funcional.

O serviço tem funcionalidade suficiente para determinar números aleatórios, porém, não é adequado para realizar sorteios e outros processos mais complexos.

Negativo:

  • A impossibilidade de realizar sorteios com base em republicações de postagens, etc.
  • Não há aplicativo para VKontakte ou widget para o site;
  • Não é possível desabilitar a repetição de resultados.


Observe que, idealmente, a curva de densidade de distribuição de números aleatórios se pareceria com a mostrada na Fig. 22.3. Ou seja, no caso ideal, o mesmo número de pontos cai em cada intervalo: N eu = N/k , Onde N total de pontos, k número de intervalos, eu= 1, ½, k .

Arroz. 22.3. Gráfico de frequência de abandono de números aleatórios,
gerado por um gerador ideal teoricamente

Deve-se lembrar que a geração de um número aleatório arbitrário consiste em duas etapas:

  • gerar um número aleatório normalizado (ou seja, distribuído uniformemente de 0 a 1);
  • transformação de números aleatórios normalizados r eu em números aleatórios x eu, que são distribuídos de acordo com a lei de distribuição (arbitrária) exigida pelo usuário ou no intervalo necessário.

Os geradores de números aleatórios de acordo com o método de obtenção de números são divididos em:

  • fisica;
  • tabular;
  • algorítmico.

RNGs físicos

Exemplos de RNGs físicos são: uma moeda (“águia” 1, “coroa” 0); dados; um tambor com uma seta dividida em setores com números; gerador de ruído de hardware (GS), que é usado como um dispositivo térmico ruidoso, por exemplo, um transistor (Fig. 22.422.5).

Arroz. 22.4. Esquema do método de hardware para gerar números aleatórios
Arroz. 22.5. Diagrama de obtenção de números aleatórios pelo método de hardware
A tarefa "Geração de números aleatórios usando uma moeda"

Gere um número aleatório de 3 dígitos uniformemente distribuído entre 0 e 1 usando uma moeda. Precisão três casas decimais.

A primeira maneira de resolver o problema
Jogue uma moeda 9 vezes e, se a moeda der coroa, escreva "0", se cara, então "1". Então, digamos que, como resultado do experimento, obtivemos uma sequência aleatória 100110100.

Desenhe um intervalo de 0 a 1. Lendo os números em sequência da esquerda para a direita, divida o intervalo ao meio e cada vez escolha uma das partes do próximo intervalo (se 0 cair, então esquerda, se 1 cair, então certo). Assim, você pode chegar a qualquer ponto no intervalo, arbitrariamente com precisão.

Então, 1 : o intervalo é dividido ao meio por e , a metade direita é escolhida, o intervalo se estreita: . O próximo número 0 : o intervalo é dividido ao meio por e , a metade esquerda é escolhida, o intervalo se estreita: . O próximo número 0 : o intervalo é dividido ao meio por e , a metade esquerda é escolhida, o intervalo se estreita: . O próximo número 1 : o intervalo é dividido ao meio por e , a metade direita é escolhida, o intervalo se estreita: .

De acordo com a condição de precisão do problema, a solução é encontrada: é qualquer número do intervalo , por exemplo, 0,625.

Em princípio, se nos aproximarmos estritamente, a divisão de intervalos deve continuar até que os limites esquerdo e direito do intervalo encontrado não correspondam entre si dentro da terceira casa decimal. Ou seja, em termos de precisão, o número gerado não será mais distinguível de qualquer número do intervalo em que se encontra.

A segunda maneira de resolver o problema
Vamos quebrar a sequência binária resultante 100110100 em tríades: 100, 110, 100. Após converter esses números binários em números decimais, obtemos: 4, 6, 4. Substituindo “0.” na frente, temos: 0,464. Somente números de 0,000 a 0,777 podem ser obtidos por esse método (já que o máximo que pode ser “espremido” de três dígitos binários é 111 2 = 7 8), ou seja, esses números são representados no sistema de numeração octal. Para tradução octal números em decimal a apresentação é executável:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Assim, o número desejado é: 0,602.

RNG tabular

O RNG tabular como fonte de números aleatórios usa tabelas especialmente compiladas contendo não correlacionados verificados, ou seja, números que não dependem uns dos outros de forma alguma. Na tabela. 22.1 mostra um pequeno fragmento de tal tabela. Percorrendo a tabela da esquerda para a direita de cima para baixo, você pode obter números aleatórios uniformemente distribuídos de 0 a 1 com o número desejado de casas decimais (no nosso exemplo, usamos três casas decimais para cada número). Como os números na tabela não dependem uns dos outros, a tabela pode ser percorrida de diferentes maneiras, por exemplo, de cima para baixo, da direita para a esquerda ou, digamos, você pode selecionar números que estão em posições pares.

Tabela 22.1.
Números aleatórios. Uniformemente
distribuídos de 0 a 1 números aleatórios
Números aleatórios distribuído uniformemente
0 a 1 números aleatórios
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

A vantagem desse método é que ele fornece números verdadeiramente aleatórios, pois a tabela contém números não correlacionados verificados. Desvantagens do método: é necessária muita memória para armazenar um grande número de dígitos; grandes dificuldades na geração e verificação de tais tabelas, as repetições no uso da tabela não garantem mais a aleatoriedade da sequência numérica e, portanto, a confiabilidade do resultado.

Há uma tabela contendo 500 números verificados absolutamente aleatórios (tirados do livro de I. G. Venetsky, V. I. Venetskaya "Basic Mathematical and Statistical Concepts and Formulas in Economic Analysis").

RNG algorítmico

Os números gerados usando esses RNGs são sempre pseudo-aleatórios (ou quase aleatórios), ou seja, cada número gerado subsequentemente depende do anterior:

r eu + 1 = f(r eu) .

As sequências compostas por tais números formam laços, ou seja, necessariamente há um ciclo que se repete um número infinito de vezes. Os ciclos repetidos são chamados de períodos.

A vantagem dos dados RNG é a velocidade; geradores praticamente não requerem recursos de memória, são compactos. Desvantagens: os números não podem ser totalmente chamados de aleatórios, pois existe uma dependência entre eles, bem como a presença de períodos na sequência de números quase aleatórios.

Considere vários métodos algorítmicos para obter RNG:

  • método dos quadrados médios;
  • método de produtos médios;
  • método de mistura;
  • método linear congruente.

Método quadrado médio

Há algum número de quatro dígitos R 0. Este número é elevado ao quadrado e inserido em R 1 . Vindo de R 1 do meio (quatro dígitos do meio) é tomado um novo número aleatório e escrito em R 0. Em seguida, o procedimento é repetido (veja a Fig. 22.6). Observe que, de fato, como um número aleatório, é necessário tomar não ghij, uma 0.ghij com um zero e um ponto decimal anexado à esquerda. Este fato é refletido na Fig. 22.6, e em figuras semelhantes subsequentes.

Arroz. 22.6. Esquema do método dos quadrados médios

Desvantagens do método: 1) se em alguma iteração o número R 0 se torna zero, então o gerador degenera, então a escolha correta do valor inicial é importante R 0; 2) o gerador repetirá a sequência através M n passos (na melhor das hipóteses), onde n comprimento da palavra R 0 , M a base do sistema de numeração.

Para um exemplo na fig. 22.6 : se número R 0 será representado no sistema numérico binário, então a sequência de números pseudo-aleatórios se repetirá após 2 4 = 16 etapas. Observe que a repetição da sequência pode ocorrer ainda mais cedo se o número inicial for escolhido sem sucesso.

O método descrito acima foi proposto por John von Neumann e remonta a 1946. Como esse método não era confiável, foi rapidamente abandonado.

Método de produtos medianos

Número R 0 multiplicado por R 1, do resultado R 2 o meio é removido R 2 * (este é outro número aleatório) e multiplicado por R 1 . De acordo com esse esquema, todos os números aleatórios subsequentes são calculados (veja a Fig. 22.7).

Arroz. 22.7. Esquema do método de produtos medianos

Método de mistura

O método de embaralhamento usa operações para girar o conteúdo de uma célula para a esquerda e para a direita. A ideia do método é a seguinte. Deixe a célula armazenar o número inicial R 0. Deslocando ciclicamente o conteúdo da célula para a esquerda em 1/4 do comprimento da célula, obtemos um novo número R 0*. Da mesma forma, deslocando ciclicamente o conteúdo de uma célula R 0 à direita por 1/4 do comprimento da célula, obtemos o segundo número R 0**. Soma de números R 0* e R 0** dá um novo número aleatório R 1 . Mais longe R 1 é inserido R 0 , e toda a sequência de operações é repetida (veja a Fig. 22.8).


Arroz. 22.8. Esquema do método de mistura

Observe que o número resultante da soma R 0* e R 0 ** , pode não caber inteiramente na célula R 1 . Neste caso, dígitos extras devem ser descartados do número recebido. Vamos explicar isso para a Fig. 22.8, onde todas as células são representadas por oito dígitos binários. Deixar R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , então R 0 * + R 0 ** = 100110010 2 = 306 10 . Como você pode ver, o número 306 ocupa 9 dígitos (no sistema de numeração binário), e a célula R 1 (assim como R 0 ) pode conter no máximo 8 bits. Portanto, antes de inserir o valor em R 1 é necessário remover um bit "extra", mais à esquerda do número 306, resultando em R 1 não será mais 306, mas 00110010 2 = 50 10 . Observe também que em linguagens como Pascal, o "truncamento" de bits extras quando uma célula estoura é feito automaticamente de acordo com o tipo de variável fornecido.

Método linear congruente

O método linear congruente é um dos procedimentos mais simples e mais utilizados atualmente que simulam números aleatórios. Este método usa o mod( x, y) , que retorna o resto depois de dividir o primeiro argumento pelo segundo. Cada número aleatório subsequente é calculado com base no número aleatório anterior usando a seguinte fórmula:

r eu+ 1 = mod( k · r eu + b, M) .

A sequência de números aleatórios obtida usando esta fórmula é chamada sequência linear congruente. Muitos autores referem-se a uma sequência linear congruente como b = 0 método congruente multiplicativo, e quando b ≠ 0 — método congruente misto.

Para um gerador de alta qualidade, é necessário selecionar coeficientes adequados. É necessário que o número M foi bastante grande, pois o período não pode ter mais M elementos. Por outro lado, a divisão usada neste método é uma operação bastante lenta, então para um computador binário, a escolha lógica seria M = 2 N, pois neste caso, encontrar o resto da divisão é reduzido dentro do computador à operação lógica binária "AND". Também é comum escolher o maior número primo M, menos de 2 N: na literatura especial é provado que, neste caso, os dígitos menos significativos do número aleatório resultante r eu+ 1 se comportam tão aleatoriamente quanto os mais antigos, o que tem um efeito positivo em toda a sequência de números aleatórios como um todo. Um exemplo é um dos Números de Mersenne, igual a 2 31 1 , e assim, M= 2 31 1 .

Um dos requisitos para sequências lineares congruentes é o período mais longo possível. A duração do período depende dos valores M , k e b. O teorema que apresentamos abaixo nos permite determinar se é possível atingir um período de comprimento máximo para valores específicos M , k e b .

Teorema. Sequência linear congruente definida por números M , k , b e r 0 , tem um período de duração M se e apenas se:

  • números b e M coprime;
  • k 1x p para cada simples p, que é um divisor M ;
  • k 1 é múltiplo de 4 se M múltiplo de 4.

Finalmente, vamos concluir com alguns exemplos de uso do método linear congruente para gerar números aleatórios.

Verificou-se que uma série de números pseudo-aleatórios gerados com base nos dados do exemplo 1 será repetida a cada M/4 números. Número qé definido arbitrariamente antes do início dos cálculos, no entanto, deve-se ter em mente que a série dá a impressão de ser aleatória em geral k(e, portanto, q). O resultado pode ser ligeiramente melhorado se b estranho e k= 1 + 4 q neste caso, a série será repetida a cada M números. Depois de uma longa busca k os pesquisadores estabeleceram os valores 69069 e 71365.

O gerador de números aleatórios usando os dados do exemplo 2 produzirá números aleatórios não recorrentes com um período de 7 milhões.

Um método multiplicativo para gerar números pseudo-aleatórios foi proposto por D. H. Lehmer em 1949.

Verificando a qualidade do gerador

A qualidade de todo o sistema e a precisão dos resultados dependem da qualidade do RNG. Portanto, a sequência aleatória gerada pelo RNG deve satisfazer uma série de critérios.

As verificações realizadas são de dois tipos:

  • verificações de distribuição uniforme;
  • testes de independência estatística.

Verificações para distribuição uniforme

1) RNG deve dar próximo aos seguintes valores de parâmetros estatísticos característicos de uma lei aleatória uniforme:

2) Teste de frequência

O teste de frequência permite descobrir quantos números caíram no intervalo (m r – σ r ; m r + σ r) , ou seja (0,5 0,2887; 0,5 + 0,2887) ou eventualmente (0,2113; 0,7887). Como 0,7887 0,2113 = 0,5774 , concluímos que em um bom RNG, cerca de 57,7% de todos os números aleatórios sorteados devem cair nesse intervalo (ver Fig. 22.9).

Arroz. 22.9. Diagrama de frequência de um RNG ideal
em caso de verificação para um teste de frequência

Deve-se levar em conta também que o número de números do intervalo (0; 0,5) deve ser aproximadamente igual ao número de números do intervalo (0,5; 1).

3) Teste do qui-quadrado

O teste do qui-quadrado (teste do χ 2) é um dos testes estatísticos mais famosos; é o principal método utilizado em combinação com outros critérios. O teste do qui-quadrado foi proposto em 1900 por Karl Pearson. Seu trabalho notável é considerado a base da estatística matemática moderna.

Para o nosso caso, um teste qui-quadrado nos permitirá descobrir o quanto o criado por nós real O RNG está próximo da referência RNG, ou seja, satisfaz ou não o requisito de distribuição uniforme.

diagrama de frequência referência O RNG é mostrado na fig. 22.10. Como a lei de distribuição do RNG de referência é uniforme, a probabilidade (teórica) p eu acertar números em eu-th intervalo (total desses intervalos k) é igual a p eu = 1/k . E assim, em cada k intervalos vão cair suave sobre p eu · N números ( N número total de números gerados).

Arroz. 22.10. Diagrama de frequência do RNG de referência

Um RNG real produzirá números distribuídos (e não necessariamente uniformemente!) k intervalos e cada intervalo incluirá n eu números (total n 1 + n 2 + ½ + n k = N ). Como podemos determinar o quão bom e próximo o RNG testado é o de referência? É bastante lógico considerar os quadrados das diferenças entre o número de números recebidos n eu e "referência" p eu · N . Vamos adicioná-los e, como resultado, temos:

χ 2 exp. =( n 1 p 1 · N) 2 + (n 2 p 2 · N) 2 + + ( n k – p k · N) 2 .

Segue-se desta fórmula que quanto menor a diferença em cada um dos termos (e, portanto, quanto menor o valor de χ 2 exp. ), mais forte a lei de distribuição de números aleatórios gerados por um RNG real tende a ser uniforme.

Na expressão anterior, a cada um dos termos é atribuído o mesmo peso (igual a 1), o que de fato pode não ser verdade; portanto, para a estatística qui-quadrado, é necessário normalizar cada euº termo, dividindo-o por p eu · N :

Finalmente, vamos escrever a expressão resultante de forma mais compacta e simplificá-la:

Obtivemos o valor do teste do qui-quadrado para experimental dados.

Na tabela. 22.2 são dados teórico valores de qui-quadrado (χ 2 theor.), onde ν = N 1 é o número de graus de liberdade, pé um nível de confiança especificado pelo usuário que especifica quanto o RNG deve atender aos requisitos de distribuição uniforme, ou p — é a probabilidade de que o valor experimental χ 2 exp. será menor do que o teor de χ 2 tabulado (teórico). ou igual a ele.

Tabela 22.2.
Alguns pontos percentuais da distribuição do χ 2
p = 1% p = 5% p = 25% p = 50% p = 75% p = 95% p = 99%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν + quadrado(2 ν ) · x p+ 2/3 x 2 p 2/3+ O(1/quadrado( ν ))
x p = 2,33 1,64 0,674 0.00 0.674 1.64 2.33

Considerar aceitável p de 10% a 90%.

Se χ 2 exp. muito mais do que χ 2 theor. (isso é pé grande), então o gerador não satisfaz a exigência de uma distribuição uniforme, uma vez que os valores observados n eu ir muito longe do teórico p eu · N e não pode ser considerado aleatório. Em outras palavras, um intervalo de confiança tão grande é estabelecido que as restrições sobre os números se tornam muito frouxas, os requisitos sobre os números são fracos. Neste caso, um erro absoluto muito grande será observado.

Mesmo D. Knuth em seu livro "The Art of Programming" observou que ter χ 2 exp. pequeno também não é, em geral, bom, embora pareça, à primeira vista, notável do ponto de vista da uniformidade. De fato, tome uma série de números 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, eles são ideais em termos de uniformidade e χ 2 exp. será praticamente zero, mas é improvável que você os reconheça como aleatórios.

Se χ 2 exp. muito menos do que χ 2 theor. (isso é p pequeno), então o gerador não satisfaz exigência de uma distribuição uniforme aleatória, uma vez que os valores observados n eu muito perto do teórico p eu · N e não pode ser considerado aleatório.

Mas se χ 2 exp. encontra-se em um certo intervalo, entre dois valores de χ 2 theor. , que correspondem, por exemplo, p= 25% e p= 50%, então podemos supor que os valores dos números aleatórios gerados pelo sensor são completamente aleatórios.

Além disso, deve-se ter em mente que todos os valores p eu · N deve ser grande o suficiente, por exemplo, maior que 5 (encontrado empiricamente). Só então (com uma amostra estatística suficientemente grande) as condições experimentais podem ser consideradas satisfatórias.

Assim, o procedimento de verificação é o seguinte.

Testes de independência estatística

1) Verificando a frequência de ocorrência de um dígito em uma sequência

Considere um exemplo. O número aleatório 0,2463389991 consiste nos dígitos 2463389991, e o número 0,5467766618 consiste nos dígitos 5467766618. Combinando as sequências de dígitos, temos: 24633899915467766618.

É claro que a probabilidade teórica p eu cair euº dígito (de 0 a 9) é 0,1.

2) Verificando a aparência de séries de números idênticos

Denotado por n eu número de séries de dígitos consecutivos idênticos de comprimento eu. Tudo precisa ser verificado eu de 1 a m, Onde mé um número especificado pelo usuário: o número máximo de dígitos idênticos que ocorrem em uma série.

No exemplo "24633899915467766618", foram encontradas 2 séries de comprimento 2 (33 e 77), ou seja n 2 = 2 e 2 séries de comprimento 3 (999 e 666), i.e. n 3 = 2 .

A probabilidade de uma série com um comprimento de eué igual a: p eu= 9 10 eu (teórico). Ou seja, a probabilidade de ocorrência de uma série com comprimento de um caractere é igual a: p 1 = 0,9 (teórico). A probabilidade de uma série de dois caracteres aparecer é: p 2 = 0,09 (teórico). A probabilidade de uma série de três caracteres aparecer é: p 3 = 0,009 (teórico).

Por exemplo, a probabilidade de ocorrência de uma série com comprimento de um caractere é igual a p eu= 0.9 , pois pode haver apenas um caractere em 10 e apenas 9 caracteres (zero não é contado). E a probabilidade de que dois caracteres idênticos "XX" se encontrem em uma linha é 0,1 0,1 9, ou seja, a probabilidade de 0,1 de que o caractere "X" apareça na primeira posição é multiplicada pela probabilidade de 0,1 de que o mesmo caractere aparecerá na segunda posição "X" e multiplicado pelo número de tais combinações 9.

A frequência de ocorrência das séries é calculada de acordo com a fórmula “qui-quadrado” que analisamos anteriormente usando os valores p eu .

Nota: O gerador pode ser verificado várias vezes, mas as verificações não são completas e não garantem que o gerador produza números aleatórios. Por exemplo, um gerador que produza a sequência 12345678912345 será considerado ideal durante as verificações, o que, obviamente, não é inteiramente verdade.

Em conclusão, notamos que o terceiro capítulo do livro "The Art of Programming" de Donald E. Knuth (volume 2) é totalmente dedicado ao estudo dos números aleatórios. Ele explora vários métodos para gerar números aleatórios, critérios estatísticos para aleatoriedade e a transformação de números aleatórios uniformemente distribuídos em outros tipos de variáveis ​​aleatórias. Mais de duzentas páginas foram dedicadas à apresentação deste material.

Neste artigo, consideraremos os recursos do algoritmo gerador de numeros aleatórios no excel, e com exemplos, vamos ver como usar as funções RAND e RANDBETWEEN no Excel para gerar números aleatórios, números aleatórios com um determinado número de casas decimais, datas e horas.

Gerador de números aleatórios usando a função RAND

A função RAND é uma das duas funções projetadas especificamente para gerar números aleatórios no excel. Esta função retorna um número decimal aleatório (número real) entre 0 e 1.

RAND() é uma função volátil, o que significa que toda vez que a planilha é calculada, um novo número aleatório é gerado. E isso acontece toda vez que você faz algo na planilha, como atualizar uma fórmula (não necessariamente uma fórmula RAND, qualquer outra fórmula na planilha), editar uma célula ou inserir novos dados.

A função RAND está disponível em todas as versões: Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003.

Como a função RAND do Excel não possui argumentos, basta digitar =RAND() em uma célula e copiar a fórmula para quantas células desejar:

Agora vamos dar um passo adiante e escrever algumas fórmulas RAND para gerar números aleatórios de acordo com certas condições.

Gerador de números aleatórios de zero a um determinado limite superior

Para ir de zero a qualquer valor de N, você executa a função RAND várias vezes com N:

Por exemplo, para gerar uma sequência de números aleatórios maior ou igual a 0, mas menor que 50, use a seguinte fórmula:

ALEATÓRIO()*50

Observação. O valor do limite superior nunca é incluído na sequência aleatória retornada. Por exemplo, se você deseja obter números aleatórios entre 0 e 10, incluindo 10, a fórmula correta é =RAND()*11.

Gerador de números aleatórios de intervalo

Para criar número aleatório no intervalo, ou seja número aleatório entre quaisquer dois números que você especificar, use a seguinte fórmula RAND:

RAND() * (B - A) + A

Onde A é o valor do limite inferior (número mais baixo) e B é o valor do limite superior (número mais alto).

Por exemplo, para faça um gerador de números aleatórios de 10 a 50, você pode usar a seguinte fórmula:

ALEATÓRIO()*(50-10)+10

Observação. Essa fórmula de geração de números aleatórios nunca retornará um número igual ao maior número no intervalo especificado (valor B).

Gerador de números inteiros aleatórios no Excel

Para fazer com que a função RAND do Excel gere inteiros aleatórios, pegue uma das fórmulas acima e envolva-a em uma função INT.

De 0 a 50:

INTEIRO(RAND()*50)

Para gerar inteiros aleatórios de 10 a 50:

INTEIRO (RAND()*(50-10)+10)

Gerador de números aleatórios no Excel - Gerar números inteiros aleatórios

Gerador de números aleatórios no Excel em um intervalo usando a função RANDBETWEEN

RANDBETWEEN é outra função do Excel para criar gerador de números aleatórios.. Retorna inteiros aleatórios no intervalo especificado:

RANDBETWEEN (limite inferior; limite superior)

Obviamente, o limite inferior é o menor número e o limite superior é o maior número no intervalo de números aleatórios que você deseja obter.

Assim como RAND, RANDBETWEEN no Excel é uma função mutável e também retorna um novo inteiro aleatório cada vez que sua tabela é recalculada ou alterada.

Por exemplo, para faça um gerador de números inteiros aleatórios de 10 a 50 (incluindo 10 e 50) use a seguinte fórmula RANDBETWEEN:

RAND ENTRE (10, 50)

Gerador de números aleatórios no Excel - Gere números aleatórios em um determinado intervalo

A função RANDBETWEEN no Excel pode gerar números aleatórios positivos e negativos. Por exemplo, para obter uma lista de números aleatórios entre -10 e 10, insira a seguinte fórmula em uma planilha:

RAND ENTRE (-10;10)

A função RANDBETWEEN está disponível nas seguintes versões: Excel 2016, Excel 2013, Excel 2010 e Excel 2007.

Em uma versão anterior Excel 2003, você pode usar a fórmula RAND discutida acima.

Gerando números aleatórios com um determinado número de casas decimais

Embora a função RANDBETWEEN no Excel tenha sido projetada para gerar números inteiros aleatórios, você pode usá-la para gerar números decimais aleatórios com quantas casas decimais desejar.

RANDBETWEEN(limite inferior*10; limite superior*10)/10

Por exemplo, para obter uma lista de números com uma casa decimal, você multiplica os valores inferior e superior por 10 e depois divide o valor retornado por 10:

A seguinte fórmula RANDBETWEEN retorna números decimais aleatórios entre 1 e 50:

ALEATÓRIO ENTRE(1*10;50*10)/10

Gerador de números aleatórios no Excel - Gere números aleatórios com uma casa decimal

De maneira semelhante a faça um gerador de números aleatórios de 1 a 50 com duas casas decimais, você multiplica os argumentos da função RANDBETWEEN por 100 e depois divide o resultado por 100:

RAND ENTRE(1*100; 50*100)/100

Gerador de números aleatórios no Excel - Gere números aleatórios com duas casas decimais

Gerador de datas aleatórias no Excel

Para retornar uma lista de datas aleatórias entre as duas datas fornecidas, use a função RANDBETWEEN em conjunto com DATE:

RANDOMBETWEEN(DATA(data inicial), DATA(data final))

Por exemplo, para obter uma lista de datas entre 1º de setembro de 2017 e 20 de novembro de 2017, inclusive, insira a seguinte fórmula em uma planilha:

ALEATÓRIO(DATA(2017,9,1),DATA(2017,11,21))

Não se esqueça de aplicar o formato de data à(s) célula(s) e você obterá uma lista de datas aleatórias como esta:

Gerador de números aleatórios no Excel - Geração de datas aleatórias

Gerador de tempo aleatório no Excel

No sistema interno do Excel, as horas são armazenadas como números decimais e você pode usar a função RAND padrão do Excel para inserir números reais aleatórios e, em seguida, simplesmente aplicar o formato de hora às células:

Gerador de números aleatórios no Excel - Gere tempo aleatório com a função RAND e aplique o formato de hora a ele

Para fazer um gerador de tempo aleatório dentro do intervalo especificado, é necessária uma fórmula mais específica. Vamos considerar com mais detalhes.

Gerador de tempo aleatório no intervalo especificado

Para inserir um tempo arbitrário entre quaisquer dois intervalos de tempo especificados, use a função TIME em conjunto com o Excel RAND:

TIME (hora inicial) + RAND() * (TIME (hora inicial) - TIME (hora final))

Por exemplo, para inserir um horário aleatório entre 5h30 e 18h, você pode usar uma das seguintes fórmulas:

HORA(5;30;0)+RAND()*(HORA(18;0;0)-HORA(5;0;0))

Gerador de números aleatórios no Excel - Gere tempos aleatórios em um determinado intervalo

Gerador de letras aleatórias no Excel

Para inserir uma letra aleatória, uma combinação de três funções diferentes deve ser usada:

CHAR(RANDOMBETWEEN(CÓDIGO("A");CÓDIGO("Z")))

Onde A é o primeiro caractere e Z é o último caractere no intervalo de letras que você deseja incluir (em ordem alfabética).

Vamos analisar as funções na fórmula acima:

  • CODE retorna os códigos numéricos ANSI para as letras especificadas.
  • RANDBETWEEN aceita os números retornados pelas funções CODE como os valores de intervalo inferior e superior.
  • CHAR converte os códigos ANSI aleatórios retornados RANDBETWEEN nas letras correspondentes.

Gerador de números aleatórios no Excel - Gere letras aleatórias

Como os códigos ANSI são diferentes para letras maiúsculas e minúsculas, essa fórmula diferencia maiúsculas de minúsculas.

Se alguém souber os códigos de caracteres ANSI de cor, não há nada que o impeça de passar os códigos diretamente para a função RANDBETWEEN.

Por exemplo, para obter letras maiúsculas arbitrárias entre A (código ANSI 65) e Z (código ANSI 90), você escreve:

CHAR(RANDOMBETWEEN (65,90))

Para gerar letras minúsculas entre a (código ANSI 97) e z (código ANSI 122), use a seguinte fórmula:

CHAR(RANDOMBETWEEN(97.122))

Para inserir um caractere especial aleatório como ! "#$%&"()*+, -./, use a função RANDBETWEEN com o parâmetro inferior definido como 33 (código ANSI para "!") e o parâmetro superior definido como 47 (código ANSI para "/").

CHAR(RANDOMBETWEEN(33,47))

Gerador de números aleatórios no Excel - Geração de caracteres aleatórios

Como evitar cálculos repetidos de RAND e RANDBETWEEN

Se você deseja obter um conjunto constante de números aleatórios, datas ou strings de texto que não mudam sempre, ou seja, corrigir os números aleatórios quando a planilha é recalculada, use um dos seguintes métodos:

  1. Para impedir que as funções RAND ou RANDBETWEEN sejam recalculadas em uma única célula, selecione essa célula, alterne para a barra de fórmulas e pressione F9 para substituir a fórmula por seu valor.
  2. Para evitar que a função de número aleatório no Excel atualize automaticamente os valores em várias células, use a função Colar. Selecione todas as células com fórmula de geração de valor aleatório, clique em ctrl+c para copiá-los, clique com o botão direito do mouse no intervalo selecionado e clique em " Colar especial»--> «Valores».

Gerador de números aleatórios no Excel - Inserindo valores

Gerador de números aleatórios com análise de dados

Com um pacote de análise de dados, por exemplo, você pode ou outra distribuição. Por padrão, este pacote não está incluído, então você precisa baixá-lo. Como fazer isso é descrito neste.

Um exemplo de geração de números aleatórios de uma distribuição normal

Para gerar números aleatórios de distribuição normal, vá para a guia " DADOS", no grupo" Análise"Selecione" Análise de dados».

Gerador de números aleatórios no Excel - Análise de dados

Na lista que se abre, selecione " Geração de números aleatórios"e pressione o botão" OK".

Gerador de números aleatórios no Excel - Geração de números aleatórios

Na janela que se abre, na lista " Distribuição" escolher " Normal ”, insira o número de variáveis, o número de números aleatórios, a média e o desvio e o local onde deseja colocar os números aleatórios gerados.

Gerador de números aleatórios no Excel - Geração de números aleatórios de distribuição normal

Depois que todos os dados forem inseridos, pressione o botão "OK" e, como resultado, obtemos os números aleatórios gerados da distribuição normal.

Bom, isso é tudo. Agora você aprendeu Como fazer um gerador de números aleatórios, números em um intervalo, números com um determinado número de casas decimais, datas aleatórias, horas aleatórias e letras aleatórias, bem como gerar números aleatórios de distribuição normal. Assim, tendo esse conhecimento, você pode criar não só gerador de numeros aleatórios no excel, mas também .