메모리 절감형 폴라드‑ρ 알고리즘으로 군의 짧은 곱 표현 찾기
이 논문은 유한군 G와 원소 z, 그리고 원소열 S가 주어졌을 때, S의 부분열 곱이 z와 일치하도록 하는 짧은 곱 표현을 찾는 알고리즘을 제시한다. 무작위 열 S의 길이가 d·log₂|G| (상수 d≥2)일 때, 기대 시간 O(√|G|·log |G|) 와 메모리 O(1) (그룹 원소 몇 개만 저장)으로 해결한다. 특히 d>4 인 경우 엄격한 기대 복잡도 증명을 제공하고, 클래스 군과 타원곡선 동형사상(이소제니) 찾기에 적용한다.
저자: Gaetan Bisson, Andrew V. Sutherl
본 논문은 유한군 G 와 목표 원소 z, 그리고 원소열 S 가 주어졌을 때, S 의 부분열 곱이 z와 일치하도록 하는 “짧은 곱 표현”을 찾는 문제를 다룬다. 전통적인 접근법인 베이비‑스텝‑거인‑스텝(BSGS)은 시간 복잡도 O(2^{k/2})와 메모리 O(2^{k/2})를 요구한다. 여기서 k 는 S 의 길이이며, 일반적으로 k≈d·log₂|G| (밀도 d) 로 설정된다. 메모리 요구량이 급격히 커지는 것이 실용적인 제한 요인이다.
이에 저자는 폴라드‑ρ(Pollard‑ρ) 기법을 차용한 새로운 알고리즘을 제안한다. 핵심 아이디어는 S 를 두 부분 A, B (각각 길이≈k/2) 로 나누고, 부분열 집합 P(A), P(B) 를 각각 A, B 에 대응시키는 것이다. 이후 C = A ∪ B 위에 해시 함수 η: G → C 를 정의하고, φ = η ∘ π (또는 ϕ = π ∘ η) 를 통해 C 의 원소를 순환시킨다. 여기서 π 는 부분열을 곱으로 매핑하는 함수이다.
알고리즘 흐름은 다음과 같다.
1. 무작위 시작점 w ∈ C 와 해시 η 를 선택한다.
2. Floyd’s cycle‑finding 혹은 distinguished‑point 기법을 이용해 최소 i, j > 0 에 대해 φ^{i+j}(w) = φ^{j}(w) 가 되는 충돌을 찾는다.
3. 충돌 지점 s = φ^{i+j-1}(w), t = φ^{j-1}(w) 를 역추적한다.
4. π(s)와 π(t) 가 동일한지 확인한다. 동일하면 s 또는 t 가 A 에, 다른 하나가 B 에 속하도록 조합해 z 의 곱 표현을 복원한다.
이 과정에서 메모리는 현재 탐색 중인 두 점만 저장하면 되므로 O(1) (그룹 원소 몇 개)이다. 각 단계에서 부분열 곱을 갱신하는 비용은 그레이 코드 기법을 사용하면 O(1) 연산으로 가능하다.
복잡도 분석은 두 가지 가정을 전제로 한다. (1) 해시 η 가 랜덤 오라클이며, (2) S 가 밀도 d>4 인 무작위 열이다. 이때 A, B 의 부분열 곱 분포가 거의 균등함을 Impagliazzo‑Naor와 Erdős‑Rényi의 결과를 변형해 보인다. 구체적으로, π_*U_A와 π_*U_B 가 G 전역에 대해 변동 거리 ≤ 2 n^{-(d-2)/4} 로 제한된다. 따라서 ϕ = π ∘ η 는 G 위의 거의 완전한 랜덤 함수와 동등하게 동작한다. 랜덤 함수에 대한 폴라드‑ρ의 충돌 기대 시간은 Θ(√n) 이므로, 전체 기대 연산 수는 O(k·√n) = O(√n·log n) 가 된다.
d가 2보다 크면 실험적으로도 충돌 확률이 충분히 높아 기대 시간은 O(√n·log n) 수준을 유지한다. d가 2 이하가 되면 이론적으로는 O(n^{(4−d)/4}·log n) 로 악화되며, 이는 베이비‑스텝‑거인‑스텝보다도 느릴 수 있다.
다음으로 두 가지 주요 응용을 제시한다.
1. **이상 클래스 군**
G를 허수 이차체 K = ℚ(√D) 의 정수환 O 의 이상 클래스 군 cl(O) 라 두고, 작은 노름을 갖는 소수 이데얼 α_i 의 클래스들을 열 S_k = (
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기