일반화된 시리즈 패럴렐 그래프의 오일러 투어 정확 계산
초록
본 논문은 모든 오일러ian 일반화 시리즈‑패럴렐 그래프에 대해 오일러 투어의 개수를 정확히 셀 수 있는 다항시간 알고리즘을 제시한다. 시간 복잡도는 O(mΔ³), 저장 공간은 O(mΔ² log Δ) 비트이며, 같은 구조를 이용해 무작위 오일러 투어를 균등하게 샘플링하는 방법도 제공한다. 일반 그래프와 평면 그래프에서 #P‑완전인 문제를 특정 그래프 클래스에서 최초로 다항시간에 해결한다.
상세 분석
이 연구는 일반화된 시리즈‑패럴렐 그래프(GSPG)의 구조적 특성을 활용하여 오일러 투어(Euler Tour, ET)의 정확한 개수를 다항시간에 계산하는 새로운 알고리즘을 설계한다. GSPG는 기본적인 시리즈와 패럴렐 합성 연산을 반복 적용해 생성되는 그래프 클래스로, 외부 평면 그래프와 외부 평면 트리 구조를 포함한다는 점에서 풍부한 응용 가능성을 가진다. 논문은 먼저 GSPG에 대한 SP‑트리(Series‑Parallel Tree) 분해를 수행한다. 각 내부 노드는 시리즈 합성 또는 패럴렐 합성을 나타내며, 리프 노드는 단일 에지를 의미한다. 이 트리 구조 위에서 동적 프로그래밍을 수행함으로써, 각 서브그래프가 가질 수 있는 “진입‑진출” 경로의 수와 그에 대응하는 오일러 투어의 부분 개수를 저장한다. 핵심은 BEST 정리(Bernardi‑Ehrenfest‑Szegő‑Tutte)를 이용해 오일러 투어와 오일러 방향(Eulerian orientation) 사이의 일대일 대응을 활용하고, 각 서브그래프의 오일러 방향 수를 효율적으로 계산하는 것이다. 시리즈 합성에서는 두 서브그래프의 진입‑진출 포트가 순차적으로 연결되므로, 개수는 단순히 곱셈과 조합을 통해 합산된다. 반면 패럴렐 합성에서는 포트가 병렬로 연결되므로, 다중 경로의 배치를 고려한 다항식 형태의 합산이 필요하다. 이때 최대 차수 Δ가 등장하는 이유는 각 포트에 연결될 수 있는 에지 수가 Δ 이하로 제한되기 때문이다. 알고리즘은 각 노드에서 O(Δ³) 연산을 수행하므로 전체 복잡도는 O(mΔ³)이다. 저장 공간은 각 서브그래프마다 Δ²개의 정수값을 유지하고, 이 값들의 크기는 O(log Δ) 비트이므로 전체 메모리 사용량은 O(mΔ² log Δ) 비트가 된다. 또한, 계산된 개수를 이용해 확률적 선택을 수행함으로써 무작위 오일러 투어를 균등하게 샘플링하는 절차도 제시한다. 이 샘플링은 역동적 프로그래밍 단계에서 저장된 개수를 비례적으로 사용해 경로를 선택하는 방식으로, 정확한 균등 분포를 보장한다. 기존에는 일반 그래프와 평면 그래프에서 오일러 투어 개수 계산이 #P‑완전으로 알려져 있었으며, 근사 알고리즘조차 존재하지 않았다. 따라서 GSPG와 같은 제한된 그래프 클래스에 대해 처음으로 다항시간 정확 카운팅 및 샘플링을 제공한다는 점에서 이론적·실용적 의의가 크다.
댓글 및 학술 토론
Loading comments...
의견 남기기