이진 트리와 피보나치 트리의 와이너 지수 완전 분석

본 논문은 이진 트리 구조인 바이너리 트리와 피보나치 트리의 와이너 지수(Wiener index)를 정확히 계산하는 식을 제시한다. 바이노미얼 트리의 경우 닫힌 형태의 식을 도출하고, 피보나치 트리와 이진 피보나치 트리의 경우 효율적인 O(n) 알고리즘을 설계하여 계산 복잡도를 크게 낮춘다.

이진 트리와 피보나치 트리의 와이너 지수 완전 분석

초록

본 논문은 이진 트리 구조인 바이너리 트리와 피보나치 트리의 와이너 지수(Wiener index)를 정확히 계산하는 식을 제시한다. 바이노미얼 트리의 경우 닫힌 형태의 식을 도출하고, 피보나치 트리와 이진 피보나치 트리의 경우 효율적인 O(n) 알고리즘을 설계하여 계산 복잡도를 크게 낮춘다.

상세 요약

와이너 지수는 그래프 이론에서 모든 정점 쌍 사이의 최단 거리 합을 의미하며, 화학에서 분자 구조의 물리적 특성을 예측하는 데 널리 활용된다. 트리 구조는 사이클이 없고 계층적 특성이 뚜렷해 와이너 지수 계산이 비교적 단순하지만, 트리의 형태가 복잡해질수록 일반적인 O(n²) 방식은 비효율적이다. 저자들은 먼저 바이노미얼 트리(Binomial Tree)를 대상으로 한다. 바이노미얼 트리는 B₀가 단일 정점이고, Bₖ는 두 개의 Bₖ₋₁을 루트에서 연결한 형태로 재귀적으로 정의된다. 이러한 구조적 특성을 이용해, 트리의 깊이와 정점 수 사이의 관계를 정리하고, 각 레벨에서 발생하는 거리 합을 단계별로 누적한다. 결과적으로 W(Bₖ)=2^{k-1}·k·(k+1)이라는 간결한 닫힌 식을 얻는다. 이 식은 로그 시간으로도 계산 가능함을 의미한다.

다음으로 피보나치 트리(Fibonacci Tree)와 이진 피보나치 트리(Binary Fibonacci Tree)를 다룬다. 피보나치 트리는 Fₙ개의 정점으로 구성되며, 루트가 두 개의 서브트리(Fₙ₋₁, Fₙ₋₂)로 연결되는 재귀적 정의를 갖는다. 이 구조는 피보나치 수열과 직접적인 연관성을 가지므로, 와이너 지수 역시 피보나치 수열을 포함하는 형태로 전개될 수 있다. 저자들은 서브트리 간 거리 기여를 분리하고, 각 서브트리 내부 거리와 서브트리 간 교차 거리를 별도로 계산한다. 이를 통해 W(Fₙ)=W(Fₙ₋₁)+W(Fₙ₋₂)+|V(Fₙ₋₁)|·|V(Fₙ₋₂)|·2 라는 재귀식을 도출한다. 여기서 |V(Fₙ)|는 정점 수이며, 이는 피보나치 수와 동일하다. 이 식을 메모이제이션과 함께 적용하면 전체 복잡도는 O(n)으로 감소한다.

이진 피보나치 트리는 각 노드가 최대 두 개의 자식을 갖는 이진 트리 형태이며, 피보나치 트리와 유사한 재귀 구조를 가진다. 저자들은 이진 트리의 특수성을 이용해 거리 합을 왼쪽·오른쪽 서브트리 별로 나누고, 루트에서 서브트리까지의 거리 기여를 정확히 계산한다. 결과적으로 O(n) 시간에 와이너 지수를 구할 수 있는 알고리즘을 제시한다.

핵심 통찰은 “트리의 재귀적 정의와 정점 수 사이의 정량적 관계를 활용하면, 거리 합을 단계별로 분해하여 선형 시간 안에 정확히 계산할 수 있다”는 점이다. 특히 바이노미얼 트리의 경우 로그 깊이 특성을 이용해 닫힌 식을 얻었고, 피보나치 계열 트리에서는 피보나치 수열 자체가 정점 수와 거리 기여를 동시에 설명하는 매개변수 역할을 한다. 이러한 접근법은 다른 재귀적 트리 구조에도 일반화될 가능성을 시사한다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...