그래프 분할은 주어진 그래프를 특정 기준에 따라 여러 부분으로 나누는 문제로, 일반적으로 NP-난해 문제에 속한다. 이 문제의 목표는 분할된 구성 요소 간의 간선 용량을 최소화하거나, 균형 잡힌 분할을 수행하는 것이다. 그래프 분할은 지역적 방법과 전역적 방법으로 나뉘며, 스펙트럼 분할과 같은 전역적 방법은 그래프 라플라시안 행렬의 고유값을 활용한다. 그래프 분할은 컨덕턴스, 면역, 소프트웨어 도구 등 다양한 응용 분야에서 활용된다.
더 읽어볼만한 페이지
그래프 이론의 계산 문제 - 외판원 문제 외판원 문제(TSP)는 여러 도시를 모두 한 번씩 방문하고 출발점으로 돌아오는 최소 비용의 이동 순서를 구하는 문제로, NP-난해 문제에 속하며, 배송 계획 등에 응용되고 다양한 해법이 존재한다.
그래프 이론의 계산 문제 - 해밀턴 경로 해밀턴 경로는 그래프의 모든 꼭짓점을 한 번씩 방문하는 경로로, 해밀턴 순환은 이러한 경로가 순환 형태를 띠는 것을 의미하며, 이들은 그래프 이론에서 중요한 개념으로 NP-완전 문제 및 외판원 문제 등에 응용된다.
NP-완전 문제 - 지뢰 찾기 지뢰 찾기는 격자 형태 지뢰밭에서 지뢰를 피해 안전한 칸을 모두 여는 퍼즐 비디오 게임으로, 칸을 열어 지뢰 유무를 확인하며, 윈도우 탑재를 통해 대중화되었고 NP-완전 문제로 분류된다.
NP-완전 문제 - 스도쿠 스도쿠는 9x9 칸에 1부터 9까지의 숫자를 채워 넣는 퍼즐로, 각 가로줄, 세로줄, 3x3 칸에 숫자가 중복 없이 들어가야 하며, 레온하르트 오일러의 라틴 방진을 기반으로 다양한 변형과 응용 연구가 진행되고 있다.
그래프 분할
그래프 분할
정의
그래프의 정점들을 서로소 집합들로 분할하는 것
목표
분할된 집합들 간의 연결을 최소화하고 각 집합의 크기를 균등하게 유지하는 것
종류
정점 분할
정점들을 분할
에지 분할
에지들을 분할
응용 분야
병렬 컴퓨팅
계산 작업을 여러 프로세서에 분산
데이터 마이닝
데이터 클러스터링 및 패턴 인식
이미지 분할
이미지 내 객체 분리
소셜 네트워크 분석
커뮤니티 구조 발견
알고리즘
Kernighan-Lin 알고리즘
국소 탐색 기반의 휴리스틱 알고리즘
Fiduccia-Mattheyses 알고리즘
Kernighan-Lin 알고리즘의 개선 버전
멀티레벨 분할
그래프를 축소하고 분할한 후 다시 확장하는 방식
스펙트럴 분할
그래프의 라플라시안 행렬의 고유 벡터를 이용하는 방식
균형 컷
그래프를 두 부분으로 나누어 각 부분의 크기를 균형있게 유지
최소 컷
그래프를 두 부분으로 나누어 두 부분 사이의 에지 수를 최소화
평가 기준
컷 크기
분할된 집합들 간의 에지 수
균형도
각 집합의 크기가 얼마나 균등한지
실행 시간
알고리즘의 실행 시간
2. 문제 복잡도
일반적으로 그래프 분할 문제는 NP-난해 문제 범주에 속하며, 이러한 문제에 대한 해는 휴리스틱 및 근사 알고리즘을 사용하여 도출된다.[3]
특정 (''k'', 1 + ''ε'') 균형 분할 문제의 경우, 각 구성 요소가 최대 (1 + ''ε'')·(''n''/''k'')개의 노드를 포함하는 ''G''를 ''k''개의 구성 요소로 분할하는 최소 비용을 찾는다. 이 근사 알고리즘의 비용은 (''k'', 1) 컷의 비용과 비교하는데, 여기서 각 ''k''개의 구성 요소는 각각 (''n''/''k'')개의 동일한 크기의 노드를 가져야 하므로 더 제한적인 문제이다. 따라서,
:
{k}\right\rceil.
(2,1) 컷이 최소 이분 문제이며 NP-완전 문제임을 이미 알고 있다.[5] ''n'' = 3''k''인 3-분할 문제를 평가하는데, 이는 다항 시간 내에 경계가 정해진다.[1] 만약 (''k'', 1)-균형 분할에 대한 유한 근사 알고리즘을 가지고 있다고 가정하면, 3-분할 인스턴스는 ''G''에서 균형 (''k'', 1) 분할을 사용하여 해결되거나 해결될 수 없다. 3-분할 인스턴스를 해결할 수 있다면, ''G''의 (''k'', 1)-균형 분할 문제는 어떤 가장자리도 자르지 않고 해결될 수 있다. 그렇지 않고 3-분할 인스턴스를 해결할 수 없는 경우, ''G''에서 최적의 (''k'', 1)-균형 분할은 적어도 하나의 가장자리를 자르게 된다. 유한 근사 인수를 가진 근사 알고리즘은 이 두 경우를 구별해야 한다. 따라서, 이는 3-분할 문제를 해결할 수 있는데, 이는 ''P'' = ''NP''라는 가정 하에서 모순된다. 결론적으로, ''P'' = ''NP''가 아닌 한 (''k'', 1)-균형 분할 문제는 유한 근사 인수를 가진 다항 시간 근사 알고리즘을 갖지 않는다는 것이 명백하다.[1]
평면 분할 정리는 모든 ''n''-정점 평면 그래프가 O()개의 정점을 제거하여 대략 동일한 부분으로 분할될 수 있다고 명시한다. 이것은 분할 집합이 가장자리가 아닌 정점으로 구성되기 때문에 위에서 설명한 의미의 분할은 아니다. 그러나, 동일한 결과는 또한 유한 차수의 모든 평면 그래프가 O()개의 가장자리를 가진 균형 컷을 갖는다는 것을 의미한다.
2. 1. 균형 그래프 분할
그래프 분할 문제는 일반적으로 NP-난해 문제에 속한다. 따라서 이러한 문제의 해는 보통 휴리스틱이나 근사 알고리즘을 사용하여 구한다.[3] 그러나 균등 그래프 분할 또는 균형 그래프 분할 문제는 임의의 유한 계수 내에서 근사하는 것이 NP-완전임이 밝혀질 수 있다.[1] P=NP가 아니라면, 트리 및 그리드와 같은 특수한 그래프 종류에 대해서도 합리적인 근사 알고리즘이 존재하지 않는다.[4] 그리드는 유한 요소 모델(FEM) 시뮬레이션에서 생성되는 그래프를 모델링하기 때문에 특히 흥미로운 경우이다. 구성 요소 간의 에지 수뿐만 아니라 구성 요소의 크기도 근사될 때, 이러한 그래프에 대해 합리적인 완전 다항식 시간 알고리즘이 존재하지 않는다는 것을 보일 수 있다.[4]
2. 2. 특수 그래프
그래프 분할 문제는 일반적으로 NP-난해 문제에 속하며, 이에 대한 해는 주로 휴리스틱이나 근사 알고리즘을 통해 구해진다.[3] 그러나 균등 그래프 분할 또는 균형 그래프 분할 문제는 임의의 유한 계수 내에서 근사하는 것이 NP-완전임이 밝혀졌다.[1] P=NP가 아니라면, 트리 및 그리드와 같은 특수한 그래프 종류에 대해서도 합리적인 근사 알고리즘이 존재하지 않는다.[4] 그리드는 특히 유한 요소 모델(FEM) 시뮬레이션에서 생성되는 그래프를 모델링하기 때문에 흥미로운 경우이다. 구성 요소 간의 에지 수뿐만 아니라 구성 요소의 크기도 근사될 때, 이러한 그래프에 대해 합리적인 완전 다항식 시간 알고리즘이 존재하지 않는다는 것을 보일 수 있다.[4]
3. 문제 정의
그래프 ''G'' = (''V'', ''E'')가 주어졌을 때, ''V''는 ''n''개의 정점 집합, ''E''는 간선 집합을 나타낸다. (''k'',''v'') 균형 분할 문제의 목표는 ''G''를 최대 ''v'' · (''n''/''k'') 크기를 갖는 ''k''개의 구성 요소로 분할하면서, 서로 다른 구성 요소 간의 간선 용량을 최소화하는 것이다.[1]
또한, ''G''와 정수 ''k'' > 1이 주어지면, ''V''를 서로소(공통 원소가 없는)이며 크기가 같은 ''k''개의 부분 집합 ''V''1, ''V''2, ..., ''Vk''로 분할하고, 서로 다른 부분 집합에 끝점을 가진 간선의 수를 최소화하는 문제로도 정의할 수 있다. 이러한 분할 문제는 양면성 근사 또는 자원 증강 접근 방식으로 연구되었다.
일반적으로 간선이 두 개 이상의 정점을 연결할 수 있는 하이퍼그래프로 확장할 수 있다. 하이퍼에지는 모든 정점이 하나의 분할에 속하면 잘리지 않고, 그렇지 않으면 각 부분에 있는 정점 수에 관계없이 정확히 한 번 잘린다. 이러한 방식은 전자 설계 자동화 분야에서 널리 사용된다.
3. 1. (''k'',''v'') 균형 분할
(''k'',''v'') 균형 분할 문제는 그래프 ''G'' = (''V'', ''E'')를 ''k''개의 구성 요소로 분할하는 문제이다. 여기서 ''V''는 ''n''개의 정점 집합, ''E''는 간선 집합을 나타낸다. 목표는 각 구성 요소의 크기가 최대 ''v'' · (''n''/''k'')가 되도록 하면서, 서로 다른 구성 요소 사이에 있는 간선 용량을 최소화하는 것이다.[1]
그래프 ''G''와 정수 ''k'' > 1이 주어지면, ''V''를 서로소이며 크기가 같은 ''k''개의 부분 집합 ''V''1, ''V''2, ..., ''Vk''로 분할하고, 서로 다른 부분 집합에 끝점을 가진 간선의 수를 최소화하는 문제로도 볼 수 있다. 이 문제는 양면성 근사 또는 자원 증강 접근 방식으로 연구되었다.
일반적으로 간선이 두 개 이상의 정점을 연결할 수 있는 하이퍼그래프로 확장할 수 있다. 하이퍼에지는 모든 정점이 하나의 분할에 있으면 잘리지 않고, 그렇지 않으면 각 측면에 있는 정점 수에 관계없이 정확히 한 번 잘린다. 이러한 방식은 전자 설계 자동화에서 흔히 사용된다.
특정 (''k'', 1+''ε'') 균형 분할 문제는 각 구성 요소가 최대 (1+''ε'')·(''n''/''k'')개의 노드를 포함하는 ''G''를 ''k''개의 구성 요소로 분할하는 최소 비용을 찾는 문제이다. 이 근사 알고리즘의 비용은 각 ''k''개의 구성 요소가 각각 (''n''/''k'')개의 동일한 크기의 노드를 가져야 하는 (''k'',1) 컷의 비용과 비교되는데, 이는 더 제한적인 문제이다. 따라서,