그래프 분할
1. 개요
그래프 분할은 주어진 그래프를 특정 기준에 따라 여러 부분으로 나누는 문제로, 일반적으로 NP-난해 문제에 속한다. 이 문제의 목표는 분할된 구성 요소 간의 간선 용량을 최소화하거나, 균형 잡힌 분할을 수행하는 것이다. 그래프 분할은 지역적 방법과 전역적 방법으로 나뉘며, 스펙트럼 분할과 같은 전역적 방법은 그래프 라플라시안 행렬의 고유값을 활용한다. 그래프 분할은 컨덕턴스, 면역, 소프트웨어 도구 등 다양한 응용 분야에서 활용된다.
그래프 분할
그래프 분할
| 정의 | 그래프의 정점들을 서로소 집합들로 분할하는 것 |
|---|---|
| 목표 | 분할된 집합들 간의 연결을 최소화하고 각 집합의 크기를 균등하게 유지하는 것 |
종류
| 정점 분할 | 정점들을 분할 |
|---|---|
| 에지 분할 | 에지들을 분할 |
응용 분야
| 병렬 컴퓨팅 | 계산 작업을 여러 프로세서에 분산 |
|---|---|
| 데이터 마이닝 | 데이터 클러스터링 및 패턴 인식 |
| 이미지 분할 | 이미지 내 객체 분리 |
| 소셜 네트워크 분석 | 커뮤니티 구조 발견 |
알고리즘
| Kernighan-Lin 알고리즘 | 국소 탐색 기반의 휴리스틱 알고리즘 |
|---|---|
| Fiduccia-Mattheyses 알고리즘 | Kernighan-Lin 알고리즘의 개선 버전 |
| 멀티레벨 분할 | 그래프를 축소하고 분할한 후 다시 확장하는 방식 |
| 스펙트럴 분할 | 그래프의 라플라시안 행렬의 고유 벡터를 이용하는 방식 |
| 균형 컷 | 그래프를 두 부분으로 나누어 각 부분의 크기를 균형있게 유지 |
| 최소 컷 | 그래프를 두 부분으로 나누어 두 부분 사이의 에지 수를 최소화 |
평가 기준
| 컷 크기 | 분할된 집합들 간의 에지 수 |
|---|---|
| 균형도 | 각 집합의 크기가 얼마나 균등한지 |
| 실행 시간 | 알고리즘의 실행 시간 |
📚 더 읽어볼만한 페이지
-
그래프 이론의 계산 문제 -
외판원 문제
-
그래프 이론의 계산 문제 -
해밀턴 경로
해밀턴 경로는 그래프의 모든 꼭짓점을 한 번씩 방문하는 경로로, 해밀턴 순환은 이러한 경로가 순환 형태를 띠는 것을 의미하며, 이들은 그래프 이론에서 중요한 개념으로 NP-완전 문제 및 외판원 문제 등에 응용된다. -
NP-완전 문제 -
지뢰 찾기
지뢰 찾기는 격자 형태 지뢰밭에서 지뢰를 피해 안전한 칸을 모두 여는 퍼즐 비디오 게임으로, 칸을 열어 지뢰 유무를 확인하며, 윈도우 탑재를 통해 대중화되었고 NP-완전 문제로 분류된다. -
NP-완전 문제 -
스도쿠
스도쿠는 9x9 칸에 1부터 9까지의 숫자를 채워 넣는 퍼즐로, 각 가로줄, 세로줄, 3x3 칸에 숫자가 중복 없이 들어가야 하며, 레온하르트 오일러의 라틴 방진을 기반으로 다양한 변형과 응용 연구가 진행되고 있다.
목차
2. 문제 복잡도
일반적으로 그래프 분할 문제는 NP-난해 문제 범주에 속하며, 이러한 문제에 대한 해는 휴리스틱 및 근사 알고리즘을 사용하여 도출된다.
특정 (k, 1 + ε) 균형 분할 문제의 경우, 각 구성 요소가 최대 (1 + ε)·(n/k)개의 노드를 포함하는 G를 k개의 구성 요소로 분할하는 최소 비용을 찾는다. 이 근사 알고리즘의 비용은 (k, 1) 컷의 비용과 비교하는데, 여기서 각 k개의 구성 요소는 각각 (n/k)개의 동일한 크기의 노드를 가져야 하므로 더 제한적인 문제이다. 따라서,
: