해시 충돌 확률: 생일 역설에서 근사 계산까지

2025-06-25
해시 충돌 확률: 생일 역설에서 근사 계산까지

이 글에서는 해시 충돌 확률에 대해 자세히 다룹니다. 해시 함수는 임의로 복잡한 입력을 단일 숫자로 매핑하지만, 해시 충돌(서로 다른 입력이 같은 숫자로 매핑되는 경우)의 위험이 있습니다. 생일 역설부터 시작하여 해시 충돌 확률을 계산하는 정확한 공식과 세 가지 근사 방법(지수 근사, 단순화된 근사, 더 단순화된 근사)을 설명합니다. 비교해 보면 지수 근사가 대부분의 경우 최상의 성능을 보이지만, 다른 두 방법은 빠른 추정에 적합합니다. 이 글에서는 근사 방법을 뒷받침하는 수학적 증명도 제공합니다.

더 보기
개발 생일 역설

Common Lisp을 이용한 라이브 코딩 그래픽: 재시작 없이 Boids 프로그램 만들기

2025-04-23
Common Lisp을 이용한 라이브 코딩 그래픽: 재시작 없이 Boids 프로그램 만들기

이 글에서는 Boids 알고리즘을 예로 들어 Common Lisp을 이용한 라이브 코딩 그래픽 프로그래밍을 보여줍니다. Common Lisp의 강력한 재컴파일 기능 덕분에 프로그램 실행 중에 코드를 수정하고 즉시 적용할 수 있어 재시작이 필요 없습니다. 저자는 Sketch 그래픽 프레임워크를 사용하여 Boids 알고리즘을 단계적으로 구현하고 라이브 코딩으로 가능해진 효율적인 개발 과정을 보여줍니다. 코드 수정과 실시간 효과 관찰을 통해 분리, 응집, 정렬 세 가지 규칙을 포함한 Boids 알고리즘의 핵심 부분이 구현되고, 마우스를 따라다니는 Boids 시뮬레이션이 완성됩니다. 라이브 코딩은 개발 효율성과 상호 작용성을 크게 향상시킵니다.

더 보기