프루프르 코드를 활용한 균일 초트리와 하이퍼사이클의 인코딩 및 계수
초록
본 논문은 라벨이 붙은 루트가 있는 균일 초트리와 하이퍼사이클의 숲을 프루프르 코드의 일반화 형태로 선형 시간에 인코딩·디코딩하는 알고리즘을 제시하고, 이를 이용해 정점·초엣수·초트리 수에 따른 정확한 계수를 도출한다. 또한 기존의 카일리 정리와 셀리바노프의 하이퍼사이클 계수를 자연스럽게 재현한다.
상세 분석
이 논문은 그래프 이론에서 가장 기본적인 구조인 트리의 계수를 증명한 프루프르 코드(Prufer code)를 고차원 일반화인 초그래프(hypergraph)로 확장한다. 초그래프는 한 초엣(edge)이 두 개 이상의 정점을 포함할 수 있는 구조이며, 특히 b‑uniform 초그래프는 모든 초엣이 정확히 b개의 정점을 포함한다. 저자는 “초트리”(excess = −1)와 “하이퍼사이클”(excess = 0)이라는 두 가지 기본 연결 성분에 초점을 맞춘다.
핵심 아이디어는 기존 트리의 프루프르 코드가 “가장 작은 레이블을 가진 잎을 반복적으로 삭제하고, 그 이웃의 레이블을 기록”하는 과정에서 n‑2개의 정수(범위 1…n)를 얻는 것과 동일한 절차를 초트리와 하이퍼사이클에 적용하는 것이다. 이를 위해 저자는 다음과 같은 4‑튜플 (R, r, P, N)을 정의한다.
- R: 숲에 포함된 (k + 1)개의 루트 정점 집합.
- r: 마지막 단계에서 남는 루트, 즉 최종적으로 N에 기록되는 마지막 정점.
- P: 각 초엣에서 (b‑1)개의 비루트 정점을 모은 파티션, 즉 “잎”에 해당하는 정점들의 집합들.
- N: 초엣을 삭제하는 과정에서 각 잎에 연결된 “부모” 정점을 순서대로 기록한 (s‑1)‑튜플, 여기서 s는 초엣의 총 개수.
알고리즘 1은 숲을 입력받아 위 4‑튜플을 생성한다. 핵심 루프는 “가장 작은 레이블을 가진 잎(= (b‑1)개의 정점 집합)을 찾고, 그 잎에 연결된 정점(부모)을 N에 추가한 뒤, 해당 잎을 숲에서 제거”하는 과정을 s‑1번 반복한다. 마지막에 남은 정점은 루트 r가 된다.
알고리즘 2는 반대로 4‑튜플을 받아 숲을 복원한다. N의 첫 번째 원소와 P의 첫 번째 집합을 결합해 초엣을 만들고, 이를 차례로 제거하면서 전체 구조를 재구성한다. 두 알고리즘 모두 각 단계에서 정점·초엣을 한 번씩만 접근하므로 시간 복잡도는 Θ(n)이며, 사용되는 메모리도 O(n)이다.
이 bijective 매핑을 이용해 계수를 직접 계산한다. 숲의 경우, R의 선택은 (\binom{n}{k+1})가지, 루트 r의 선택은 (k + 1)가지, 파티션 P는 (\frac{(n-k-1)!}{s!,(b-1)!^{,s}})가지, 그리고 N은 (n^{,s-1})가지가 된다. 이를 곱하고 정리하면 정리 1의 식
\
댓글 및 학술 토론
Loading comments...
의견 남기기