Paritian

Programación

Calculadora de la Probabilidad de Colisión de Identificadores (UUID, Tokens)

Probabilidad de que dos identificadores generados al azar — UUID, tokens, códigos cortos — salgan iguales, y cuántos puede generar antes de que eso sea probable.

Resultados

Probabilidad de al menos una colisión 9,40395e-18 %
Identificadores para un 50 % de probabilidad de colisión 2,71492e+18
Identificadores para una probabilidad de uno entre mil millones 103.120.434.281.000

Qué hace esta herramienta

Es el problema del cumpleaños a gran escala: las colisiones se vuelven probables mucho antes de agotar los valores posibles, en torno a la raíz cuadrada de su número. Un UUID de la versión 4 tiene 122 bits aleatorios, así que harían falta unos 2,7 × 10¹⁸ para tener la mitad de probabilidad de un repetido; pero un identificador aleatorio de 32 bits llega al 50 % tras solo unos 77 000. La aproximación es excelente en cualquier caso realista y supone un buen generador aleatorio; uno débil o mal sembrado colisiona mucho antes.

Fórmula

p ≈ 1 − e^(−n(n − 1) ÷ (2 × 2^bits)) · 50 %: n ≈ 1.1774 × 2^(bits/2)

Variables

SímboloSignificadoUnidad
biBits aleatorios en cada identificadorbits
nIdentificadores generados—
PProbabilidad de al menos una colisión%
N5Identificadores para un 50 % de probabilidad de colisión—
N9Identificadores para una probabilidad de uno entre mil millones—

Ejemplo resuelto

  • Bits aleatorios en cada identificador122 bits
  • Identificadores generados1.000.000.000
  • Probabilidad de al menos una colisión9,40395e-18 %
  • Identificadores para un 50 % de probabilidad de colisión2,71492e+18
  • Identificadores para una probabilidad de uno entre mil millones103.120.434.281.000

Limitaciones

  • El resultado es una estimación basada solo en los valores introducidos. Las situaciones reales suelen incluir factores que esta calculadora desconoce.
  • El cálculo se realiza con precisión total y solo se redondea la presentación. Si copia un valor intermedio y lo vuelve a escribir, pueden aparecer pequeñas diferencias.