구성 순서를 이용한 평면성 검사

구성 순서를 이용한 평면성 검사

초록

이 논문은 3‑연결 그래프의 특정 구축 순서를 계산하는 문제를 평면성 검사에 귀결시켜, 매 단계마다 3‑연결성을 유지하는 단순한 선형 시간 알고리즘을 제시한다. 입력 그래프가 평면이면 평면 임베딩을, 비평면이면 쿠라토프스키 부분그래프를 찾아낸다.

상세 분석

본 연구는 기존의 복잡한 선형 시간 평면성 검사 알고리즘과 달리, 3‑연결 그래프의 “구성 순서(construction sequence)”라는 새로운 핵심 개념을 도입한다. 3‑연결 그래프는 두 정점을 제거해도 그래프가 연결된 상태를 유지하므로, 이러한 구조를 유지하면서 그래프를 점진적으로 확장하거나 축소할 수 있다. 논문은 먼저 입력 그래프를 2‑연결 성분으로 분해하고, 각 성분을 3‑연결 블록으로 변환한다. 이후, 3‑연결 블록에 대해 “삽입 연산(insertion operation)”과 “분할 연산(split operation)”을 정의하고, 이 연산들의 순서를 기록한 것이 바로 구축 순서이다. 핵심 정리는 다음과 같다. 만약 어떤 그래프가 평면이라면, 그 그래프의 모든 3‑연결 블록은 평면 임베딩을 유지하면서 순차적으로 삽입될 수 있다. 반대로, 삽입 과정에서 충돌이 발생하면 그 순간에 발견되는 최소한의 비평면 구조가 바로 쿠라토프스키 부분그래프가 된다. 이때 충돌 검사는 각 삽입 연산이 기존 임베딩의 면(face) 내부에 완전히 들어가는지 여부를 확인함으로써 O(1) 시간에 수행된다. 알고리즘은 전체 그래프에 대해 한 번의 DFS 기반 2‑연결·3‑연결 분해와, 각 블록에 대한 선형 시간 구축 순서 계산, 그리고 삽입 검증을 차례로 수행하므로 전체 복잡도는 O(|V|+|E|)이다. 또한, 구현 측면에서 복잡한 데이터 구조(예: PQ‑tree, PC‑tree)를 사용하지 않고, 단순한 인접 리스트와 스택만으로도 충분함을 강조한다. 이러한 설계는 교육용이나 실무에서의 구현을 크게 용이하게 만든다.