n 1 순열의 보편 사이클 명시적 구성
이 논문은 n개의 원소 집합에서 (n‑1)‑순열을 모두 포함하는 원형 문자열, 즉 보편 사이클을 직접 구성하는 방법을 제시한다. 저자들은 σₙ=(1 2 … n)와 σₙ₋₁=(1 2 … n‑1)이라는 두 생성자를 이용해 Cayley 그래프 Ξₙ의 해밀턴 사이클을 재귀적으로 정의하고, 이를 O(n) 메모리와 상수 시간으로 각 심볼을 출력하는 루프리스 알고리즘으로 구현한다. 또한 사이클의 구조적 특성, 순열 순위 계산, 그리고 다중 보편성에 대한 추…
저자: ** *Aaron Williams* 및 *Frank Ruskey* (※ 실제 논문 저자는 해당 두 명이거나, 비슷한 연구팀일 가능성이 높습니다.) **
논문은 (n‑1)‑순열을 포함하는 보편 사이클을 명시적으로 구성하는 방법을 제시한다. 먼저, σₙ=(1 2 … n)와 σₙ₋₁=(1 2 … n‑1)이라는 두 순열 연산을 생성자로 하는 방향성 Cayley 그래프 Ξₙ을 정의한다. 이 그래프의 정점은 Sₙ, 즉 n개의 원소에 대한 모든 순열이며, 각 간선은 현재 순열에 σₙ 또는 σₙ₋₁을 적용한 결과로 라벨링된다. 기존 연구는 이 그래프가 오일러적이라 해밀턴 사이클이 존재함을 보였지만, 실제 사이클을 어떻게 나열할지는 제시되지 않았다.
저자들은 재귀적 문자열 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)과 직접 연결된다. Π(1)=1, Π(2)=21,12, Π(3)=φ(S₃) 등으로 시작해, Π(n)ₖₙ = n·Π(n‑1)ₖ 로 확장한다. 즉, n을 앞에 붙인 순열 뒤에 σₙ·(nπ), σₙ²·(nπ), σₙ₋₁·σₙ²·(nπ) … 와 같은 일련의 변환을 적용해 n개의 새로운 순열을 만든다. 이 과정은 n이 순열 내에서 1, n, n‑1, …, 2 순서대로 위치를 바꾸는 것을 보장한다.
증명에서는 (3)식에 의해 연속된 두 순열이 σₙ 또는 σₙ₋₁에 의해 연결됨을 보이고, 마지막 순열이 첫 번째 순열과 σₙ 혹은 σₙ₋₁로 연결되는 순환성을 Lemma 2.2를 통해 확인한다. 이때 σₙ⁻¹·σₙ₋₁ = (n‑1 n) 라는 관계가 핵심 역할을 한다.
알고리즘적 구현 부분에서는 Sₙ을 직접 생성하는 대신, 다중 진법 카운터 Rₙ을 사용한다. Rₙ은 각 단계에서 가장 높은 자리에서 변화하는 위치를 기록하며, 이는 Sₙ의 비트와 일대일 대응한다. 전통적인 다중 진법 카운터는 배열 a₁…a_{n‑1}에 현재 진법값을 저장하고, 가장 작은 자리 j에서 a_j가 최대값에 도달하면 0으로 리셋하고 j+1 자리로 캐리한다. 이때 출력 비트는
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기