- Rutgers 학부생이던 Andrew Krapivin은 Tiny Pointers 논문을 계기로 새 해시 테이블을 고안했고, 기존 한계로 여겨지던 검색·삽입 성능을 넘어설 수 있음을 보임
- Krapivin, Martín Farach-Colton, William Kuszmaul은 2025년 1월 논문에서 특정 해시 테이블 범주에 대한 Yao의 40년 된 추측을 반박함
- 기존 추측은 테이블이 거의 가득 찬 정도를 나타내는 x에 대해 최악의 검색·삽입 시간이 x보다 나아질 수 없다고 봤지만, 새 구조는 (log x)²에 비례하는 시간을 달성함
- 연구진은 Yao가 다룬 인기 있는 해시 테이블 범주에서 (log x)²가 더 낮출 수 없는 최적 경계임도 보였고, 비탐욕적 해시 테이블에서는 평균 검색 시간이 x와 무관한 상수까지 가능함을 보임
- 당장 응용으로 이어지지 않더라도, 오래된 자료구조인 해시 테이블의 성능 한계를 다시 정리해 실무적 개선 가능성을 여는 이론적 기반이 됨
Tiny Pointers에서 시작된 새 해시 테이블
- Andrew Krapivin은 2021년 가을 Rutgers University 학부생 시절 Tiny Pointers 논문을 접했고, 2년 뒤 이를 자세히 읽으면서 더 작은 포인터를 만드는 방법을 떠올림
- 포인터가 가리킬 데이터를 더 잘 조직해야 했기 때문에, 일반적인 데이터 저장 방식인 해시 테이블이 연구 대상이 됨
- 실험 과정에서 Krapivin은 균일 탐사(uniform probing)에 의존하지 않는 새 해시 테이블을 만들었고, 특정 원소를 찾는 시간과 단계 수가 예상보다 적다는 점을 발견함
- Martín Farach-Colton은 처음에는 이 설계를 의심했지만, William Kuszmaul은 Krapivin의 구조가 단순히 흥미로운 해시 테이블을 넘어 40년 된 추측을 무너뜨리는 결과라고 판단함
해시 테이블의 성능 한계 문제
- 해시 테이블은 데이터를 저장하고 접근하는 자료구조이며, 기본적으로 세 가지 작업을 지원함
- 원소를 검색(query) 함
- 원소를 삭제함
- 빈 슬롯에 원소를 삽입함
- 첫 해시 테이블은 1950년대 초반으로 거슬러 올라가며, 이후 컴퓨터 과학에서 계속 연구·사용되어 온 오래된 자료구조임
- 검색이나 삽입의 속도 한계는 보통 해시 테이블에서 빈 자리를 찾는 데 걸리는 시간과 연결됨
- 해시 테이블이 얼마나 가득 찼는지는 전체 비율로 표현할 수 있지만, 연구자들은 거의 가득 찬 표를 다룰 때 값 x를 사용함
- x가 100이면 테이블은 99% 가득 참
- x가 1,000이면 테이블은 99.9% 가득 참
- 특정 일반적 해시 테이블에서는 마지막 남은 빈 자리에 원소를 넣는 식의 최악 삽입 기대 시간이 x에 비례한다고 알려져 있었음
Yao의 1985년 추측과 반박
- Andrew Yao는 1985년 논문에서 특정 성질을 가진 해시 테이블에서 개별 원소나 빈 자리를 찾는 가장 좋은 방식이 가능한 위치를 무작위로 훑는 균일 탐사라고 봄
- 최악의 경우, 즉 마지막 남은 빈 자리를 찾는 상황에서는 x보다 나아질 수 없다는 추측이 40년 동안 대부분 참으로 받아들여짐
- Krapivin은 Yao의 추측을 모른 채 Tiny Pointers 관련 탐구를 진행했고, 균일 탐사에 의존하지 않는 새 해시 테이블을 만들었음
- Krapivin, Farach-Colton, Kuszmaul의 2025년 1월 논문은 이 새 해시 테이블에서 최악의 검색·삽입 시간이 (log x)²에 비례함을 보임
- 이 결과는 Yao의 추측과 직접 충돌하며, 연구진은 Yao가 다룬 인기 있는 해시 테이블 범주에서 (log x)²가 더 낮출 수 없는 최적 경계임도 증명함
평균 검색 시간에 대한 더 놀라운 결과
- Yao는 1985년에 최악의 검색 시간뿐 아니라 가능한 모든 검색에 걸친 평균 시간도 다뤘음
- 특정 성질을 가진 해시 테이블, 특히 새 원소를 첫 번째 가능한 위치에 넣어야 하는 탐욕적(greedy) 해시 테이블에서는 평균 시간이 log x보다 좋아질 수 없다고 증명함
- Farach-Colton, Krapivin, Kuszmaul은 같은 한계가 비탐욕적 해시 테이블에도 적용되는지 확인하려 했고, 반례를 통해 그렇지 않음을 보임
- 이 반례인 비탐욕적 해시 테이블은 평균 검색 시간이 log x보다 훨씬 좋고, 실제로는 x에 전혀 의존하지 않음
- 해시 테이블이 얼마나 가득 찼는지와 무관하게 상수 평균 검색 시간을 달성할 수 있다는 점은 연구진 자신에게도 예상 밖의 결과였음
오래된 자료구조에 대한 이론적 갱신
- Alex Conway는 해시 테이블이 가장 오래된 자료구조 중 하나이면서도 여전히 데이터를 저장하는 가장 효율적인 방법 중 하나라고 평가함
- Guy Blelloch는 이 결과가 고전적인 문제를 다루고 해결한다는 점에서 아름답다고 봄
- Sepehr Assadi는 연구진이 Yao의 추측을 반박했을 뿐 아니라, 그의 질문에 대한 최선의 답도 찾았다고 평가함
- Conway는 이 결과가 즉시 응용으로 이어지지 않더라도, 이런 자료구조를 더 잘 이해하는 일이 중요하다고 봄
- 해시 테이블의 이론적 한계를 다시 정리한 이번 결과는 나중에 실제 성능 개선으로 이어질 수 있는 기반이 됨