Probabilidad de colisión hash: De la paradoja del cumpleaños a las aproximaciones

2025-06-25
Probabilidad de colisión hash: De la paradoja del cumpleaños a las aproximaciones

Este artículo profundiza en la probabilidad de colisiones hash. Las funciones hash asignan entradas arbitrariamente complejas a números únicos, pero existe el riesgo de colisiones hash (entradas diferentes que se asignan al mismo número). Comenzando con la paradoja del cumpleaños, el artículo explica la fórmula exacta para calcular la probabilidad de colisión hash y tres métodos de aproximación: aproximación exponencial, aproximación simplificada y una aproximación aún más simplificada. Mediante la comparación, la aproximación exponencial tiene el mejor rendimiento en la mayoría de los casos, mientras que las otras dos son más adecuadas para estimaciones rápidas. El artículo también proporciona demostraciones matemáticas que respaldan los métodos de aproximación.

Leer más

Livecoding de gráficos en Common Lisp: Creando un programa Boids sin reinicios

2025-04-23
Livecoding de gráficos en Common Lisp: Creando un programa Boids sin reinicios

Este artículo demuestra el livecoding en Common Lisp para la programación de gráficos, utilizando el algoritmo Boids como ejemplo. La poderosa función de recompilación de Common Lisp permite la modificación del código y el efecto inmediato mientras el programa se ejecuta, eliminando la necesidad de reinicios. El autor utiliza el framework gráfico Sketch, implementando incrementalmente el algoritmo Boids y mostrando el proceso de desarrollo eficiente habilitado por el livecoding. Al modificar el código y observar los efectos en tiempo real, se implementa el núcleo del algoritmo Boids, incluyendo las reglas de separación, cohesión y alineación, culminando en una simulación Boids que sigue el ratón. El livecoding mejora significativamente la eficiencia y la interactividad del desarrollo.

Leer más
Desarrollo