Probabilidade de Colisão de Hash: Do Paradoxo do Aniversário às Aproximações

2025-06-25
Probabilidade de Colisão de Hash: Do Paradoxo do Aniversário às Aproximações

Este artigo mergulha na probabilidade de colisões de hash. Funções de hash mapeiam entradas arbitrariamente complexas para números únicos, mas existe o risco de colisões de hash (entradas diferentes mapeando para o mesmo número). Começando com o Paradoxo do Aniversário, o artigo explica a fórmula exata para calcular a probabilidade de colisão de hash e três métodos de aproximação: aproximação exponencial, aproximação simplificada e uma aproximação ainda mais simplificada. Através da comparação, a aproximação exponencial tem o melhor desempenho na maioria dos casos, enquanto as outras duas são mais adequadas para estimativas rápidas. O artigo também fornece provas matemáticas que suportam os métodos de aproximação.

Leia mais

Livecoding de gráficos em Common Lisp: Criando um programa Boids sem reinicializações

2025-04-23
Livecoding de gráficos em Common Lisp: Criando um programa Boids sem reinicializações

Este artigo demonstra livecoding em Common Lisp para programação de gráficos, usando o algoritmo Boids como exemplo. O poderoso recurso de recompilação do Common Lisp permite a modificação de código e efeito imediato enquanto o programa está em execução, eliminando a necessidade de reinicializações. O autor utiliza a estrutura gráfica Sketch, implementando incrementalmente o algoritmo Boids e mostrando o processo de desenvolvimento eficiente habilitado pelo livecoding. Ao modificar o código e observar os efeitos em tempo real, o núcleo do algoritmo Boids — incluindo as regras de separação, coesão e alinhamento — é implementado, culminando em uma simulação Boids que segue o mouse. O livecoding melhora significativamente a eficiência e a interatividade do desenvolvimento.

Leia mais
Desenvolvimento Algoritmo Boids