동적 그래프의 에이치인덱스와 삼각형 카운팅
이 논문은 그래프의 h‑인덱스를 이용해 동적 무방향 그래프에서 삼각형 및 모든 3‑정점 서브그래프의 개수를 O(h) 시간에 유지하는 자료구조를 제안한다. h‑인덱스는 차수가 h 이상인 정점이 h개 존재하는 최대값이며, 업데이트마다 h‑인덱스와 고차 정점 집합을 상수 시간에 관리한다. 제안된 방법은 기존 Θ(√m) 정적 삼각형 열거와 비교해 희소 그래프와 멱법칙 분포를 따르는 실세계 네트워크에서 더 효율적이며, 136개의 실제 네트워크에 대한 실…
저자: David Eppstein, Emma S. Spiro
**1. 연구 배경 및 동기**
ERGM(Exponential Random Graph Model)은 사회 네트워크 분석에서 그래프의 확률 분포를 정의하고, 작은 서브그래프(예: 별, 삼각형)를 특징으로 사용한다. 이러한 모델을 시뮬레이션하거나 MCMC 샘플링을 수행하려면 매 단계마다 그래프의 서브그래프 개수를 빠르게 업데이트해야 한다. 기존 정적 알고리즘은 전체 그래프에서 삼각형을 열거하는 데 Θ(m³⁄²) 시간이 필요하고, 동적 상황에서는 매 업데이트마다 전체를 다시 계산해야 하는 비효율성이 있다. 따라서 동적 그래프에서 서브그래프 카운팅을 지원하는 자료구조가 필요하다.
**2. h‑인덱스 정의 및 성질**
그래프 G의 h‑인덱스 h(G)는 “차수가 h 이상인 정점이 최소 h개 존재하는 최대 h”로 정의한다. 이는 학술적 h‑인덱스 개념을 그래프에 직접 적용한 것이다. h‑인덱스는 그래프의 평균 차수(m/n)와 최대 차수(√2m) 사이에 위치하며, 희소 그래프에서는 보통 √m보다 작다. h‑인덱스가 작을수록 저차 정점이 많고, 고차 정점은 상대적으로 적어 알고리즘 설계에 유리한 특성을 제공한다.
**3. 동적 h‑인덱스 유지 구조**
섹션 2에서 제시된 자료구조는 다음 네 가지 사전을 사용한다.
- F: 정점 → 차수 (f(x))
- H: 현재 h‑인덱스를 만족하는 정점 집합
- B: H 안에서 차수가 정확히 |H|인 정점들의 집합
- C: 차수 i → 차수가 i인 정점들의 집합 (H와 B를 제외)
삽입·삭제·차수 변화 연산마다 위 사전들을 상수 시간에 업데이트한다. 특히 h‑인덱스가 변할 때는 B에서 하나를 꺼내거나 넣는 식으로 조정한다. 이 구조는 h‑인덱스 자체를 O(1) 시간에 유지할 수 있게 해준다.
**4. 점진적 h‑파티션**
동적 그래프 알고리즘에서 H 집합이 자주 변하면 비용이 급증한다. 이를 방지하기 위해 차수 변화를 ±1로 제한하고, 차수가 0인 정점만 삽입·삭제하도록 제한한다. 추가로 P라는 보조 집합을 도입해 H와 V\H 사이의 전이를 평균 O(1/h) 빈도로 제한한다. 이 방식은 에포크( h가 2배 이상 변할 때) 단위로 분석하면, 한 에포크당 O(s/h) 번의 P 변경만 발생한다는 것을 보인다.
**5. 삼각형 카운팅 자료구조**
핵심 자료구조는 네 부분으로 구성된다.
1) 현재 삼각형 수 카운터
2) 모든 간선을 해시 테이블 E에 저장 (O(1) 존재 검사)
3) 위에서 만든 동적 h‑인덱스 파티션 (H, V\H)
4) 사전 P: (u,v) → 저차 정점을 매개로 하는 2‑길이 경로 수
삼각형 삽입·삭제 시, 고차 정점 w∈H와 연결된 경우는 H 전체를 순회해 O(h) 시간에 확인하고, 저차 정점 w∈V\H와 연결된 경우는 P
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기