n 1 순열의 보편 사이클 명시적 구성
초록
이 논문은 n개의 원소 집합에서 (n‑1)‑순열을 모두 포함하는 원형 문자열, 즉 보편 사이클을 직접 구성하는 방법을 제시한다. 저자들은 σₙ=(1 2 … n)와 σₙ₋₁=(1 2 … n‑1)이라는 두 생성자를 이용해 Cayley 그래프 Ξₙ의 해밀턴 사이클을 재귀적으로 정의하고, 이를 O(n) 메모리와 상수 시간으로 각 심볼을 출력하는 루프리스 알고리즘으로 구현한다. 또한 사이클의 구조적 특성, 순열 순위 계산, 그리고 다중 보편성에 대한 추가 결과를 논의한다.
상세 분석
본 연구는 조합적 객체인 (n‑1)‑순열을 순환적으로 나열하는 보편 사이클을 찾는 문제를 Cayley 그래프 이론과 알고리즘 설계 관점에서 접근한다. 핵심 아이디어는 두 순열 연산 σₙ과 σₙ₋₁을 그래프 Ξₙ의 간선 라벨로 삼아, 모든 n!개의 순열을 정점으로 하는 방향성 Cayley 그래프가 해밀턴 사이클을 갖는다는 점을 이용하는 것이다. 기존의 존재 증명은 그래프가 오일러적이라는 사실만을 이용했으나, 저자들은 재귀적 문자열 Sₙ을 정의함으로써 실제 사이클을 명시적으로 기술한다.
S₂는 “00”으로 시작하고, n>2일 때 Sₙ₊₁는 001^{n‑2}·x₁ 001^{n‑2}·x₂ … 001^{n‑2}·x_{n!} 형태로 전개된다. 여기서 x_i는 Sₙ의 i번째 비트이며, ‘0’은 σₙ, ‘1’은 σₙ₋₁ 연산을 의미한다. 이 재귀식은 순열 리스트 Π(n)과 일대일 대응함을 보이며, Π(n)ₖₙ = n·Π(n‑1)ₖ 로 정의된 부분 구조를 통해 각 단계에서 n이 삽입되는 위치가 순환적으로 변함을 보인다.
증명에서는 (3)의 전이식 σₙ·(z n τ a) = n τ a z 와 σₙ₋₁·(z n τ a) = n τ z a 를 활용해, Π(n‑1)에서의 전이가 σₙ 또는 σₙ₋₁에 의해 이루어짐을 귀납적으로 확인한다. 또한 Lemma 2.2를 통해 해밀턴 경로가 자동으로 사이클이 됨을 보이며, 이는 두 생성자 사이의 관계 σₙ⁻¹·σₙ₋₁ = (n‑1 n) 가 순환성을 보장하기 때문이다.
알고리즘적 구현에서는 Sₙ을 직접 생성하는 대신, 다중 진법 카운터 Rₙ을 이용한다. Rₙ은 각 단계에서 가장 높은 자리에서 변화하는 위치를 기록하며, 이는 Sₙ의 비트와 정확히 일치한다. 전통적인 다중 진법 카운터를 기반으로 한 O(n) 메모리, O(1) 시간 출력 루프리스 알고리즘을 설계하고, 이를 Gray 코드 방식으로 최적화해 값이 ±1만 변하도록 만든다. 방향 배열 d와 포커스 포인터 배열을 유지함으로써 현재 변화할 자리 j와 그 방향을 즉시 판단한다.
추가적으로 저자들은 사이클 내 σₙ와 σₙ₋₁ 연산이 각각 몇 번 사용되는지 계산하고, 순열 순위(rank) 함수를 O(n) 시간에 구현할 수 있음을 보인다. 마지막으로 “멀티버설(multiversal)” 성질을 논의하는데, 이는 동일한 사이클이 다른 알파벳(예: 추가 기호)으로도 보편 사이클을 형성한다는 의미이다. 전체적으로 이 논문은 존재론적 결과를 실제 구현 가능한 알고리즘으로 전환함으로써, 조합적 순열 생성 및 보편 사이클 연구에 중요한 실용적 도구를 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기