정확한 알고리즘으로 가장자리 삭제를 선인장 그래프로 변환
이 논문은 두 가지 그래프 변형 문제, “스패닝 트리를 선인장으로 만들기”와 “가장자리 삭제로 선인장 만들기”를 다룬다. 첫 번째 문제는 다항 시간 알고리즘으로 해결함을 보이고, 이를 이용해 두 번째 문제에 대한 기존의 완전 탐색보다 훨씬 빠른 정확한 지수 시간 알고리즘을 제시한다. 특히 동적 프로그래밍 기반의 O*(3ⁿ) 알고리즘을 개발하여 현재 알려진 가장 빠른 정확한 해법을 제공한다.
저자: Sheikh Shakil Akhtar, Geevarghese Philip
본 논문은 단순 무방향 연결 그래프를 선인장 그래프로 변환하는 두 가지 변형 문제, “스패닝 트리를 선인장으로 만들기”(Spanning Tree to Cactus)와 “가장자리 삭제로 선인장 만들기”(Edge Deletion to Cactus)를 연구한다. 선인장은 각 블록이 단일 간선이거나 단순 사이클인 특수한 그래프이며, 블록 분해를 통해 선형 시간에 인식 가능하다.
첫 번째 문제인 Spanning Tree to Cactus는 입력으로 그래프 G와 그 스패닝 트리 T를 받는다. 목표는 T에 비트리 간선을 최대한 추가해 여전히 선인장인 서브그래프를 만드는 것이다. 논문은 비트리 간선이 정의하는 트리 경로들 사이의 교차 여부가 선인장 유지의 핵심임을 증명한다. 이를 바탕으로, 비트리 간선 각각을 트리 경로와 일대일 대응시켜 만든 교차 그래프 A_T를 구성한다. A_T의 정점은 비트리 간선을, 두 정점이 인접하면 해당 경로가 최소 한 간선을 공유한다는 의미다. 정리 5와 정리 4를 이용해, A_T에서 독립 집합을 이루는 정점 집합이 바로 T에 추가해도 선인장을 깨지 않는 비트리 간선 집합과 일치함을 보인다. A_T는 Edge Path Tree(EPT) 그래프이며, 기존 연구에 따르면 EPT 그래프의 최대 독립 집합은 다항 시간에 구할 수 있다. 따라서 논문은 다음과 같은 다항 시간 알고리즘을 제시한다: (1) A_T 구성, (2) Tarjan의 알고리즘으로 최대 독립 집합 찾기, (3) 독립 집합 크기 반환. 이 알고리즘은 정리 1을 입증한다.
두 번째 문제인 Edge Deletion to Cactus는 그래프 G에서 최소한의 간선을 삭제해 남은 그래프가 연결된 선인장이 되도록 하는 최소 삭제 집합의 크기를 구하는 것이다. 이 문제는 일반적으로 NP‑hard이며, 1988년부터 알려져 있다. 논문은 첫 번째 문제의 다항 시간 서브루틴을 활용해 두 가지 정확 알고리즘을 만든다.
첫 번째는 모든 스패닝 트리를 열거하고, 각 트리에 대해 앞서 만든 다항 시간 알고리즘을 적용해 해당 트리로부터 만들 수 있는 최대 스패닝 선인장의 크기를 구한다. Cayley의 공식에 의해 n‑vertex 그래프의 스패닝 트리 수는 n^{n‑2} 이하이므로, 전체 복잡도는 O*(n^{n‑2})가 된다. 이는 모든 간선 부분집합을 탐색하는 O*(2^{|E|}) 방식보다 크게 개선된 결과다(정리 2).
두 번째는 동적 프로그래밍 기반의 O*(3ⁿ) 알고리즘이다. 핵심 아이디어는 그래프의 정점 집합 X에 대해 I(X) = X가 이루는 최대 스패닝 선인장의 간선 수를 정의하고, 작은 |X| (≤5)에서는 완전 탐색으로 I와 보조 함수 J
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기