Calculadora da Probabilidade de Colisão de Identificadores (UUID, Tokens)
Probabilidade de dois identificadores gerados ao acaso — UUID, tokens, códigos curtos — saírem iguais, e quantos pode gerar antes de isso se tornar provável.
Resultados
O que faz esta ferramenta
É o problema dos aniversários em grande escala: as colisões tornam-se prováveis muito antes de se gastarem os valores possíveis, por volta da raiz quadrada do seu número. Um UUID da versão 4 tem 122 bits aleatórios, por isso seriam precisos cerca de 2,7 × 10¹⁸ para haver metade de probabilidade de um repetido — mas um identificador aleatório de 32 bits chega aos 50 % ao fim de apenas uns 77 000. A aproximação é excelente em qualquer caso realista e supõe um bom gerador aleatório; um gerador fraco ou mal semeado colide muito mais cedo.
Fórmula
p ≈ 1 − e^(−n(n − 1) ÷ (2 × 2^bits)) · 50 %: n ≈ 1.1774 × 2^(bits/2)
Variáveis
| Símbolo | Significado | Unidade |
|---|---|---|
bi | Bits aleatórios em cada identificador | bits |
n | Identificadores gerados | — |
P | Probabilidade de pelo menos uma colisão | % |
N5 | Identificadores para 50 % de probabilidade de colisão | — |
N9 | Identificadores para uma probabilidade de um em mil milhões | — |
Exemplo resolvido
- Bits aleatórios em cada identificador122 bits
- Identificadores gerados1 000 000 000
- Probabilidade de pelo menos uma colisão9,40395e-18 %
- Identificadores para 50 % de probabilidade de colisão2,71492e+18
- Identificadores para uma probabilidade de um em mil milhões103 120 434 281 000
Limitações
- O resultado é uma estimativa baseada apenas nos valores que introduziu. Situações reais incluem muitas vezes fatores que esta calculadora desconhece.
- O cálculo é feito com precisão total e apenas a apresentação é arredondada. Se copiar um valor intermédio e voltar a escrevê-lo, podem surgir pequenas diferenças.