독립집합 수 찾기 알고리즘
본 논문은 모든 연결 그래프 G에 대해 동일한 독립집합 크기와 정점을 갖는 스플릿 그래프 G′가 존재함을 증명하고, G의 차수열을 이용해 G′를 찾는 첫 번째 알고리즘과 인접 행렬을 이용해 G의 독립집합 수 α(G)를 직접 계산하는 두 번째 알고리즘을 제시한다.
저자: Omar Kettani
본 논문은 연결 그래프 G의 독립집합 수 α(G)를 정확히 계산할 수 있는 두 가지 새로운 알고리즘을 제안한다. 첫 번째 단계는 모든 연결 그래프에 대해 동일한 정점 수와 독립집합 크기를 갖는 스플릿 그래프 G′가 존재한다는 정리를 증명하는 것이다. 스플릿 그래프는 정점 집합을 완전 그래프(클리크)와 독립 집합으로 분할할 수 있는 특수한 형태이며, 이 구조를 이용하면 독립집합 수를 직접적으로 추출할 수 있다.
Proposition 1에서는 임의의 연결 그래프 G에 대해 독립 집합 I와 정점 커버 VC를 선택하고, I와 VC 사이, 그리고 VC 내부의 모든 비인접 쌍에 간선을 추가함으로써 새로운 그래프 G′를 만든다. 이때 VC는 완전 그래프가 되고 I는 그대로 독립 집합으로 남아 G′는 스플릿 그래프가 된다. G′의 차수열은 (n‑α)개의 (n‑1) 차수와 α개의 (n‑α) 차수로 구성된다.
다음으로 차수열 기반 알고리즘을 설계한다. 입력으로 G의 차수열 S(G)를 받아, α를 1부터 순차적으로 증가시키며 목표 스플릿 그래프 G_{α,n‑α}의 차수열 S(G_{α,n‑α})와 비교한다. 조건 “S(G_{α,n‑α}) ≥ S(G)”와 차이 차수열 D = S(G_{α,n‑α}) – S(G) 가 Havel‑Hakimi 절차(HH)로 realizable한지를 검사한다. HH 절차는 차수열이 실제 그래프를 나타내는지 여부를 다항 시간에 판단한다. 최초로 두 조건을 만족하는 α가 발견되면, 이는 원래 그래프 G와 동일한 독립집합 수를 갖는 스플릿 그래프가 존재한다는 의미이며, 따라서 α = α(G)이다. Proposition 2는 이러한 스플릿 그래프가 유일함을 보이고, Proposition 3은 알고리즘이 정확히 α(G)를 산출함을 증명한다.
두 번째 접근은 인접 행렬의 상삼각 부분 U_G를 이용한다. 논문은 삼각 행렬 T_k와 그 변형 B_k, S_k 등을 정의하고, (U_G)^{h+1}=0이 되는 최소 h를 찾는 것이 α(G)=n‑h와 동치임을 보인다. 구체적인 알고리즘은 행렬 T를 단위 행렬 I로 초기화한 뒤, T←T·U_G를 반복한다. 어느 단계에서 T가 영 행렬이 되면, 현재 단계 번호 k가 최소 h와 일치하고, α(G)=n‑k가 된다. Proposition 7과 8은 이 행렬 기반 방법이 스플릿 그래프 구조와 일관되며, 차수열 기반 방법과는 다른 계산 경로를 제공함을 증명한다.
논문은 또한 여러 예시를 통해 알고리즘의 작동을 시연한다. 차수열 예시에서는 (2,2,2,2,1,1)인 그래프에 대해 α=3이 도출되고, 행렬 예시에서는 완전 그래프 K_5, 특정 비완전 그래프, 그리고 완전 독립 그래프(5개의 고립 정점) 등에 대해 각각 α=1, α=3, α=5가 계산된다.
이 두 알고리즘은 모두 다항 시간 복잡도를 가지며, 기존에 독립집합 문제는 NP‑hard로 알려져 근사나 휴리스틱에 의존해야 했던 상황과 대비된다. 차수열 기반 방법은 그래프 이론의 Havel‑Hakimi 절차와 차수열 비교를 활용해 스플릿 그래프를 “가장 가까운” 형태로 구성하고, 행렬 기반 방법은 선형 대수적 연산을 통해 직접 α를 추출한다. 따라서 이론적 관점에서 독립집합 수를 정확히 구할 수 있는 새로운 도구를 제공함과 동시에, 실제 구현에서도 효율적인 계산이 가능함을 보여준다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기