그래프 이론 (Graph Theory)

그래프 이론은 꼭짓점(Vertex)과 변(Edge)으로 이루어진 그래프를 연구하는 수학 분야입니다. 네트워크, 경로 탐색, 최적화 등 다양한 응용이 있으며, 컴퓨터 과학, 통신, 생물학, 사회학 등 폭넓은 분야에서 활용됩니다.

그래프란 무엇입니까? 수학에서 말하는 "그래프"는 우리가 흔히 아는 막대그래프나 원그래프가 아닙니다. 점(정점)과 그 점들을 잇는 선(간선)으로 이루어진 구조를 뜻합니다.

일상 속에서 그래프는 어디에나 있습니다. SNS에서 사람들이 "친구"인 관계, 도시와 도시를 잇는 도로망, 컴퓨터들이 연결된 인터넷 네트워크 — 이 모든 것이 그래프입니다. 사람(또는 도시, 컴퓨터)을 으로, 관계(또는 도로, 케이블)를 으로 나타내면 복잡한 현실 세계를 깔끔한 수학 구조로 표현할 수 있습니다.

이런 곳에 쓰여요

  • 내비게이션: 최단 경로 알고리즘(다익스트라)으로 목적지까지 최적 경로 탐색
  • SNS: 인스타그램 팔로우 관계를 방향 그래프로 분석하여 추천 친구 제안
  • 물류: 택배 배송 경로를 최적화하는 외판원 문제(TSP)
  • 전력망: 발전소에서 가정까지 전력을 효율적으로 분배하는 네트워크 흐름 문제

선수 지식: 이산수학

난이도: ★★★☆☆ (고등학교 심화)

그래프의 정의와 종류

그래프(Graph) $G = (V, E)$는 꼭짓점의 집합 $V$와 변의 집합 $E$로 구성됩니다. 변은 두 꼭짓점을 연결합니다.

쉽게 이해하기: 인스타그램을 예로 들어 봅시다. 사용자 A가 사용자 B를 팔로우하면, A에서 B로 화살표(방향 있는 선)가 생깁니다. 이것이 방향 그래프입니다. 반면 카카오톡 친구 관계는 서로 양방향이므로 화살표 없이 선만 긋습니다. 이것이 무방향 그래프입니다. 도로에 거리(km)를 적으면 가중 그래프가 됩니다.

그래프의 종류

종류설명예시
무방향 그래프변에 방향이 없습니다: $\{u, v\} \in E$친구 관계 네트워크
방향 그래프(Digraph)변에 방향이 있습니다: $(u, v) \in E$웹 페이지 링크
가중 그래프변에 가중치(Weight)가 부여됩니다도로 네트워크 (거리)
단순 그래프자기 루프와 다중 변이 없습니다대부분의 이론적 그래프
완전 그래프 $K_n$모든 꼭짓점 쌍이 변으로 연결됩니다$K_4$: 변 6개
이분 그래프꼭짓점을 두 그룹으로 나누어 같은 그룹 내 변이 없습니다작업 배정 문제
다중 그래프두 꼭짓점 사이에 여러 변이 허용됩니다쾨니히스베르크 다리
무방향 그래프 방향 그래프 $a$ $b$ $c$ $d$ $1$ $2$ $3$ $4$

부분그래프 (Subgraph)

그래프 $G = (V, E)$의 부분그래프(Subgraph) $H = (V', E')$는 $V' \subseteq V$이고 $E' \subseteq E$인 그래프입니다. 특히:

차수와 그래프 표현

차수 (Degree)

꼭짓점 $v$의 차수(Degree) $\deg(v)$는 $v$에 연결된 변의 수입니다.

비유: SNS에서 "친구 수"를 생각하면 됩니다. 어떤 사람이 친구 5명과 연결되어 있으면 그 사람의 차수는 5입니다. 인스타그램처럼 방향이 있는 관계에서는 "팔로워 수"가 내차수, "팔로잉 수"가 외차수에 해당합니다.
개념기호설명
차수$\deg(v)$$v$에 연결된 변의 수
최소 차수$\delta(G)$$\min_{v \in V} \deg(v)$
최대 차수$\Delta(G)$$\max_{v \in V} \deg(v)$
내차수 (방향)$\deg^{-}(v)$$v$로 들어오는 변의 수
외차수 (방향)$\deg^{+}(v)$$v$에서 나가는 변의 수
정규 그래프$k$-정규모든 꼭짓점의 차수가 $k$

악수 정리(Handshaking Lemma): 모든 그래프에서 차수의 합은 변의 수의 2배입니다.

$$\sum_{v \in V} \deg(v) = 2|E|$$
왜 "악수" 정리입니까? 파티에서 모든 사람이 악수한 횟수를 합산한다고 생각해 봅시다. 악수는 반드시 두 사람이 함께 하므로, 한 번의 악수가 두 사람의 카운트에 각각 1씩 더해집니다. 따라서 모든 사람의 "악수 횟수" 합계는 실제 악수 총 횟수의 정확히 2배가 됩니다. 예를 들어 5명이 있고 총 4번의 악수가 있었다면, 각자가 센 악수 횟수를 모두 합하면 반드시 $4 \times 2 = 8$이 됩니다.
따름정리: 모든 그래프에서 차수가 홀수인 꼭짓점의 수는 짝수입니다.

방향 그래프의 경우:

$$\sum_{v \in V} \deg^{+}(v) = \sum_{v \in V} \deg^{-}(v) = |E|$$

인접 행렬 (Adjacency Matrix)

쉽게 이해하기: 그래프를 컴퓨터에 저장하려면 어떻게 해야 합니까? 가장 직관적인 방법은 "누가 누구와 연결되어 있는가"를 표(격자)에 적는 것입니다. 행과 열에 꼭짓점 번호를 적고, 연결되어 있으면 1, 아니면 0을 채우면 됩니다. 이것이 인접 행렬입니다. 마치 교실에서 "A와 B는 친구인가요?"라는 질문에 O/X로 답하는 표를 만드는 것과 같습니다.

$n$개의 꼭짓점을 가진 그래프 $G$의 인접 행렬 $A$는 $n \times n$ 행렬로, $A_{ij} = 1$이면 꼭짓점 $i$와 $j$ 사이에 변이 존재합니다.

예시: 꼭짓점 $\{1, 2, 3, 4\}$, 변 $\{1{-}2, 2{-}3, 3{-}4, 1{-}4\}$인 순환 그래프 $C_4$의 인접 행렬:

$$A = \begin{pmatrix} 0 & 1 & 0 & 1 \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 1 & 0 & 1 & 0 \end{pmatrix}$$
성질설명
대칭성무방향 그래프의 인접 행렬은 대칭: $A = A^T$
경로 수$A^k$의 $(i,j)$ 성분은 $i$에서 $j$로 가는 길이 $k$인 보행의 수
공간 복잡도$O(V^2)$ — 밀집 그래프에 적합

인접 리스트 (Adjacency List)

또 다른 방법: 인접 행렬은 꼭짓점이 많으면 빈칸(0)이 너무 많아 낭비가 됩니다. 그래서 각 사람이 "내 친구 목록"만 적어 두는 방식을 쓸 수 있습니다. 이것이 인접 리스트입니다. 휴대폰 연락처처럼, 각자 자기가 아는 사람만 목록으로 저장하는 방식입니다.

각 꼭짓점에 대해 인접한 꼭짓점의 목록을 저장합니다. 위 예시의 인접 리스트:

꼭짓점인접 목록
$1$$[2, 4]$
$2$$[1, 3]$
$3$$[2, 4]$
$4$$[3, 1]$
비교 항목인접 행렬인접 리스트
공간$O(V^2)$$O(V + E)$
변 존재 확인$O(1)$$O(\deg(v))$
모든 이웃 탐색$O(V)$$O(\deg(v))$
적합한 경우밀집 그래프희소 그래프

이분 그래프 (Bipartite Graph)

이분 그래프는 꼭짓점 집합을 두 부분 $V = X \cup Y$ ($X \cap Y = \emptyset$)로 나누어 모든 변이 $X$와 $Y$ 사이를 연결하는 그래프입니다.

이분 그래프 판정: 그래프 $G$가 이분 그래프 $\iff$ $G$에 홀수 길이의 순환이 없음 $\iff$ $\chi(G) \leq 2$.
BFS/DFS를 이용한 2-색칠로 $O(V+E)$ 시간에 판정할 수 있습니다.

완전 이분 그래프 $K_{m,n}$: $|X| = m$, $|Y| = n$이고 $X$와 $Y$의 모든 꼭짓점 쌍이 연결된 그래프. 변의 수는 $m \cdot n$입니다.

완전 이분 그래프 $K_{3,3}$ $X$ $Y$

경로와 순환

일상의 비유: 집에서 학교까지 가는 길을 생각해 봅시다. 같은 골목을 두 번 지나도 괜찮으면 보행(Walk), 같은 골목은 안 되지만 같은 교차로는 지나도 되면 트레일(Trail), 같은 교차로도 두 번 지나지 않으면 경로(Path)입니다. 그리고 출발점으로 다시 돌아오는 경로가 순환(Cycle)입니다. 마치 공원 산책로를 한 바퀴 도는 것과 같습니다.

기본 개념

용어정의꼭짓점 반복변 반복
보행(Walk)꼭짓점과 변의 교대 수열허용허용
트레일(Trail)변이 반복되지 않는 보행허용불허
경로(Path)꼭짓점이 반복되지 않는 보행불허불허
순환(Cycle)시작점 = 끝점인 경로 (길이 $\geq 3$)시작/끝만불허

오일러 경로와 회로

정의

오일러 정리

정리 (오일러, 1736): 연결 그래프 $G$에 대하여:
  • $G$에 오일러 회로가 존재 $\iff$ 모든 꼭짓점의 차수가 짝수
  • $G$에 오일러 트레일이 존재 $\iff$ 차수가 홀수인 꼭짓점이 정확히 0개 또는 2개

증명 스케치 (오일러 회로)

($\Rightarrow$) 오일러 회로가 존재하면, 회로가 각 꼭짓점을 지날 때마다 들어오는 변과 나가는 변이 쌍을 이루므로 모든 차수는 짝수입니다.

($\Leftarrow$) 모든 차수가 짝수인 연결 그래프에서, 임의의 꼭짓점 $v$에서 출발하여 더 이상 진행할 수 없을 때까지 변을 따라갑니다. 차수가 짝수이므로 반드시 $v$로 돌아옵니다. 아직 사용하지 않은 변이 남아 있다면, 이미 방문한 꼭짓점 중 미사용 변이 있는 곳에서 새 회로를 만들어 합칩니다. 그래프가 연결이므로 이 과정을 반복하면 모든 변을 커버합니다.

쾨니히스베르크 다리 문제 — 그래프 이론의 탄생

이야기: 18세기 프로이센의 도시 쾨니히스베르크(지금의 러시아 칼리닌그라드)에는 프레겔 강이 흐르고, 강 위에 두 개의 섬이 있었습니다. 이 섬들과 강변을 연결하는 다리가 총 7개 있었는데, 시민들 사이에서 "7개의 다리를 모두 정확히 한 번씩만 건너서 산책을 마칠 수 있을까?"라는 문제가 유행했습니다.

1736년 스위스의 수학자 레온하르트 오일러는 이 문제를 풀기 위해 각 지역을 으로, 다리를 으로 추상화했습니다. 이 천재적인 발상이 그래프 이론이라는 새로운 수학 분야를 탄생시켰습니다.

1736년 오일러(Euler)는 프로이센의 쾨니히스베르크에 있는 7개의 다리를 모두 정확히 한 번씩 건너서 출발점으로 돌아올 수 있는지 연구했습니다.

쾨니히스베르크 다리 그래프 $A$ $B$ $C$ $D$ deg=3 deg=3 deg=3 deg=3

이 그래프에서 모든 꼭짓점의 차수가 3(홀수)이므로, 오일러 회로도 오일러 트레일도 존재하지 않습니다. 이것이 그래프 이론의 탄생으로 여겨집니다.

역사적 의의: 오일러가 이 문제를 "위치(geometry of position)"가 아닌 연결 구조로 추상화한 것은 수학사에서 위상수학(topology)과 그래프 이론의 출발점이 되었습니다.

해밀턴 경로

여행하는 외판원 문제(TSP): 한 외판원이 여러 도시를 방문해야 합니다. 모든 도시를 정확히 한 번씩 방문하고 출발지로 돌아오되, 이동 거리를 최소화하려면 어떤 순서로 방문해야 합니까? 이 유명한 문제가 바로 해밀턴 순환 문제의 최적화 버전입니다.

오일러 문제가 "모든 길(간선)을 한 번씩 지나라"는 것이었다면, 해밀턴 문제는 "모든 장소(꼭짓점)를 한 번씩 방문하라"는 것입니다. 비슷해 보이지만 난이도가 완전히 다릅니다. 오일러 문제는 차수만 확인하면 답을 알 수 있지만, 해밀턴 문제는 아직까지 빠른 판별법이 알려져 있지 않습니다.

정의

오일러 경로(변 기반)와 달리 해밀턴 경로(꼭짓점 기반)의 존재를 판정하는 효율적인 알고리즘은 알려져 있지 않습니다 (NP-완전 문제).

오일러 vs 해밀턴 비교

구분오일러해밀턴
대상모든 을 한 번씩모든 꼭짓점을 한 번씩
판정다항 시간 (차수 확인)NP-완전
충분조건필요충분조건 있음충분조건만 알려짐

디랙 정리 (Dirac's Theorem, 1952)

정리: $n \geq 3$인 단순 그래프 $G$에서 모든 꼭짓점 $v$에 대해 $$\deg(v) \geq \frac{n}{2}$$ 이면 $G$에는 해밀턴 순환이 존재합니다.

예시: $K_5$에서 $n = 5$, 모든 차수가 $4 \geq 5/2 = 2.5$이므로 해밀턴 순환이 존재합니다.

오레 정리 (Ore's Theorem, 1960)

정리: $n \geq 3$인 단순 그래프 $G$에서, 인접하지 않은 모든 꼭짓점 쌍 $u, v$에 대해 $$\deg(u) + \deg(v) \geq n$$ 이면 $G$에는 해밀턴 순환이 존재합니다.

오레 정리는 디랙 정리의 일반화입니다. 디랙 조건 $\deg(v) \geq n/2$를 만족하면 자동으로 오레 조건도 만족합니다.

트리

트리는 왜 특별합니까? 트리(나무)라는 이름은 실제 나무를 뒤집어 놓은 모양에서 유래합니다. 하나의 뿌리(root)에서 가지가 뻗어나가며, 가지가 다시 합쳐지는 일(순환)이 절대 없습니다.

가계도를 떠올려 봅시다. 할아버지 → 아버지 → 나 → 내 자녀... 이 관계에서 조상과 자손이 돌고 도는 루프는 없습니다. 컴퓨터의 파일 시스템도 마찬가지입니다. 최상위 폴더(C: 또는 /) 아래에 하위 폴더들이 나뭇가지처럼 뻗어나갑니다. 임의의 파일에 도달하는 경로는 항상 하나뿐입니다.

이처럼 트리는 "모든 것이 딱 하나의 경로로 연결되고, 빙빙 도는 순환이 없는" 가장 경제적인 연결 구조입니다. 꼭짓점 $n$개를 연결하는 데 최소한의 간선 $n-1$개만 사용합니다.

트리(Tree)는 순환이 없는 연결 그래프입니다.

트리의 동치 조건

$n$개의 꼭짓점을 가진 그래프 $G$에 대하여 다음은 모두 동치입니다:

  1. $G$는 트리입니다 (연결 + 순환 없음).
  2. $G$는 연결이고 $|E| = n - 1$입니다.
  3. $G$는 순환이 없고 $|E| = n - 1$입니다.
  4. 임의의 두 꼭짓점 사이에 유일한 경로가 존재합니다.
  5. $G$는 연결이고, 어떤 변이든 하나를 제거하면 비연결이 됩니다.
  6. $G$는 순환이 없고, 어떤 변이든 하나를 추가하면 정확히 하나의 순환이 생깁니다.

트리의 성질

$n$$n^{n-2}$설명
21유일한 트리: 변 하나
33경로 그래프 3가지 방향
416별 그래프 4개 + 경로 12개
5125다양한 구조 포함

프뤼퍼 수열 (Prufer Sequence)

$n$개의 레이블된 꼭짓점으로 이루어진 트리와 길이 $n-2$인 수열 $\{1, 2, \ldots, n\}^{n-2}$ 사이에 전단사 함수가 존재합니다. 이것이 케일리 공식의 한 증명입니다.

트리 $\to$ 프뤼퍼 수열 알고리즘:

  1. 트리에서 레이블이 가장 작은 잎(leaf)을 찾습니다.
  2. 그 잎에 연결된 꼭짓점의 레이블을 수열에 추가합니다.
  3. 잎을 제거합니다.
  4. 꼭짓점이 2개 남을 때까지 반복합니다.

예시: 꼭짓점 $\{1,2,3,4,5,6\}$, 변 $\{1{-}4, 2{-}4, 3{-}5, 4{-}5, 5{-}6\}$인 트리:

단계가장 작은 잎연결된 꼭짓점수열
114$(4)$
224$(4, 4)$
335$(4, 4, 5)$
445$(4, 4, 5, 5)$

프뤼퍼 수열: $(4, 4, 5, 5)$. 수열에서 트리를 복원하는 것도 가능합니다.

신장 트리 (Spanning Tree)

그래프 $G$의 모든 꼭짓점을 포함하면서 트리인 부분그래프를 신장 트리라 합니다.

최단 경로 알고리즘

내비게이션의 원리: 자동차 내비게이션이 "가장 빠른 길"을 찾는 방법이 궁금하셨습니까? 핵심은 다익스트라 알고리즘입니다. 도로 네트워크를 그래프로, 교차로를 꼭짓점으로, 도로의 이동 시간을 가중치로 표현한 뒤, 출발지에서 점점 가까운 교차로부터 최단 거리를 확정해 나가는 방식입니다.

비유하자면, 연못에 돌을 던졌을 때 물결이 퍼지는 것과 비슷합니다. 출발점에서 파문이 시작되어, 가장 가까운 지점부터 순서대로 도달합니다. 멀리 있는 지점은 나중에 파문이 닿습니다.

알고리즘 비교

알고리즘유형조건시간 복잡도
BFS단일 출발가중치 없는 그래프$O(V + E)$
다익스트라단일 출발음이 아닌 가중치$O((V + E) \log V)$
벨만-포드단일 출발음의 가중치 허용$O(VE)$
플로이드-워셜모든 쌍음의 순환 없음$O(V^3)$

다익스트라 알고리즘 (Dijkstra's Algorithm)

음이 아닌 가중치를 가진 그래프에서 한 출발점으로부터 모든 꼭짓점까지의 최단 거리를 구합니다.

알고리즘:

  1. 출발점의 거리를 0, 나머지를 $\infty$로 초기화합니다.
  2. 방문하지 않은 꼭짓점 중 거리가 가장 작은 꼭짓점 $u$를 선택합니다.
  3. $u$의 각 이웃 $v$에 대해, $\text{dist}[u] + w(u,v) < \text{dist}[v]$이면 갱신합니다.
  4. 모든 꼭짓점을 방문할 때까지 반복합니다.

단계별 예시: 다음 그래프에서 꼭짓점 $A$로부터의 최단 거리를 구해 봅시다.

풀이 과정을 따라가 봅시다:
1단계: 출발점 $A$의 거리를 0으로 놓고, 나머지는 모두 $\infty$(무한대)로 설정합니다.
2단계: $A$를 방문하고, $A$에서 갈 수 있는 $B$(거리 4)와 $C$(거리 2)를 갱신합니다.
3단계: 아직 방문하지 않은 꼭짓점 중 거리가 가장 작은 $C$(거리 2)를 방문합니다. $C$를 거쳐 $B$로 가면 $2+1=3$으로 기존 4보다 짧으므로 갱신합니다. $C$를 거쳐 $E$로 가면 $2+8=10$입니다.
4단계: 다음으로 가까운 $B$(거리 3)를 방문합니다. $B$를 거쳐 $D$로 가면 $3+5=8$입니다.
5단계: $D$(거리 8)를 방문하고, $D$를 거쳐 $E$로 가면 $8+2=10$으로 기존과 같습니다.
6단계: 마지막 $E$(거리 10)를 방문하여 완료합니다.
$A$ $B$ $C$ $D$ $E$ 4 2 1 5 8 2
단계방문$d(A)$$d(B)$$d(C)$$d(D)$$d(E)$
초기-$0$$\infty$$\infty$$\infty$$\infty$
1$A$$0$$4$$2$$\infty$$\infty$
2$C$$0$$3$$2$$\infty$$10$
3$B$$0$$3$$2$$8$$10$
4$D$$0$$3$$2$$8$$10$
5$E$$0$$3$$2$$8$$10$
주의: 다익스트라 알고리즘은 음의 가중치가 있으면 올바르게 동작하지 않습니다. 음의 가중치가 있는 경우 벨만-포드 알고리즘을 사용해야 합니다.

벨만-포드 알고리즘 (Bellman-Ford Algorithm)

음의 가중치를 허용하며, 음의 순환도 감지할 수 있습니다.

  1. 출발점의 거리를 0, 나머지를 $\infty$로 초기화합니다.
  2. 모든 변 $(u, v)$에 대해 완화(relaxation)를 수행합니다: $\text{dist}[v] = \min(\text{dist}[v], \text{dist}[u] + w(u,v))$
  3. 위 과정을 $|V| - 1$번 반복합니다.
  4. 한 번 더 반복했을 때 갱신이 일어나면 음의 순환이 존재합니다.
왜 $|V|-1$번? 최단 경로는 최대 $|V|-1$개의 변으로 구성되므로, $|V|-1$번의 반복이면 모든 최단 경로를 찾을 수 있습니다.

플로이드-워셜 알고리즘 (Floyd-Warshall Algorithm)

모든 꼭짓점 쌍 사이의 최단 거리를 구합니다. 동적 프로그래밍 기반입니다.

$$d_{ij}^{(k)} = \min\left(d_{ij}^{(k-1)},\; d_{ik}^{(k-1)} + d_{kj}^{(k-1)}\right)$$

$d_{ij}^{(k)}$: 중간 꼭짓점으로 $\{1, 2, \ldots, k\}$만 사용할 때 $i$에서 $j$까지의 최단 거리

핵심 코드 (의사 코드):

for k = 1 to n:
    for i = 1 to n:
        for j = 1 to n:
            dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])

최소 신장 트리 (MST)

가중 연결 그래프에서 모든 꼭짓점을 연결하면서 변의 가중치 합이 최소인 신장 트리를 최소 신장 트리(Minimum Spanning Tree)라 합니다.

절단 성질 (Cut Property)

그래프의 꼭짓점을 두 집합 $S$와 $V \setminus S$로 나눈 절단(Cut)에서, 절단을 지나는 변 중 가중치가 최소인 변은 반드시 어떤 MST에 포함됩니다.

크루스칼 알고리즘 (Kruskal's Algorithm)

  1. 모든 변을 가중치 오름차순으로 정렬합니다.
  2. 가중치가 작은 변부터 선택하되, 순환이 생기지 않으면 추가합니다.
  3. $|V| - 1$개의 변이 선택될 때까지 반복합니다.

시간 복잡도: $O(E \log E)$ (정렬이 지배). 순환 판정에는 분리 집합(Union-Find) 자료구조를 사용합니다.

프림 알고리즘 (Prim's Algorithm)

  1. 임의의 꼭짓점에서 시작합니다.
  2. 이미 선택된 꼭짓점 집합과 나머지를 연결하는 변 중 가중치가 최소인 변을 선택합니다.
  3. $|V| - 1$개의 변이 선택될 때까지 반복합니다.

시간 복잡도: $O((V + E) \log V)$ (우선순위 큐 사용 시)

크루스칼 vs 프림

비교 항목크루스칼프림
접근 방식변 중심 (전역 탐욕)꼭짓점 중심 (지역 성장)
자료구조Union-Find우선순위 큐
시간 복잡도$O(E \log E)$$O((V+E)\log V)$
적합한 경우희소 그래프밀집 그래프

크루스칼 단계별 예시:

변 목록: $(A,B,1)$, $(B,C,4)$, $(A,C,3)$, $(C,D,2)$, $(B,D,5)$

단계가중치순환?선택
1$A{-}B$1아니오선택
2$C{-}D$2아니오선택
3$A{-}C$3아니오선택
4$B{-}C$4건너뜀
5$B{-}D$5건너뜀

MST 가중치 합: $1 + 2 + 3 = 6$

네트워크 흐름

흐름 네트워크의 정의

흐름 네트워크(Flow Network)는 방향 그래프 $G = (V, E)$에 다음이 주어진 것입니다:

유효한 흐름 $f: E \to \mathbb{R}_{\geq 0}$은 다음을 만족합니다:

최대 흐름-최소 절단 정리 (Max-Flow Min-Cut Theorem)

정리 (포드-풀커슨, 1956): 흐름 네트워크에서 소스 $s$에서 싱크 $t$로의 최대 흐름은 $s$-$t$ 최소 절단의 용량과 같습니다. $$\max_{f} |f| = \min_{S:\, s \in S,\, t \notin S} \sum_{\substack{u \in S \\ v \notin S}} c(u,v)$$

여기서 $s$-$t$ 절단은 $V$를 $S$와 $\bar{S} = V \setminus S$로 나누어 $s \in S$, $t \in \bar{S}$인 분할이며, 절단의 용량은 $S$에서 $\bar{S}$로 가는 변의 용량 합입니다.

포드-풀커슨 방법

  1. 초기 흐름을 0으로 설정합니다.
  2. 잔여 그래프(Residual Graph)에서 $s$에서 $t$로의 증가 경로(Augmenting Path)를 찾습니다.
  3. 증가 경로를 따라 흐름을 증가시킵니다.
  4. 증가 경로가 없을 때까지 반복합니다.

에드몬드-카프(Edmonds-Karp) 알고리즘은 BFS로 증가 경로를 찾아 시간 복잡도 $O(VE^2)$를 보장합니다.

그래프 색칠

지도 색칠 문제: 세계 지도를 색칠할 때, 국경을 맞대고 있는 나라끼리는 다른 색으로 칠해야 구분이 됩니다. 최소 몇 가지 색이 필요합니까? 놀랍게도, 어떤 지도든 4가지 색이면 충분합니다. 이것이 유명한 사색 정리(Four Color Theorem)이며, 1976년 컴퓨터의 도움으로 증명된 최초의 주요 정리이기도 합니다.

그래프로 바꿔 생각하면, 각 나라를 꼭짓점으로, 국경을 공유하면 간선으로 연결한 그래프에서 "인접한 꼭짓점이 같은 색이 되지 않게 칠하기"에 해당합니다.

그래프 색칠(Graph Coloring)은 인접한 꼭짓점이 같은 색을 갖지 않도록 꼭짓점에 색을 배정하는 것입니다.

색수 (Chromatic Number)

그래프 $G$의 색수(Chromatic Number) $\chi(G)$는 적절한 색칠에 필요한 최소 색의 수입니다.

그래프색수설명
$K_n$ (완전 그래프)$\chi(K_n) = n$모든 꼭짓점이 서로 인접
$C_n$ ($n$ 짝수)$\chi(C_n) = 2$이분 그래프
$C_n$ ($n$ 홀수)$\chi(C_n) = 3$이분 그래프가 아님
트리 ($n \geq 2$)$\chi(T) = 2$이분 그래프
이분 그래프$\chi(G) \leq 2$정의에 의해
피터슨 그래프$\chi = 3$유명한 3-정규 그래프

색수의 상한

색다항식 (Chromatic Polynomial)

$P(G, k)$는 그래프 $G$를 $k$가지 색으로 적절히 색칠하는 방법의 수를 나타내는 다항식입니다.

4색 정리 (Four Color Theorem)

4색 정리: 모든 평면 그래프는 4색으로 색칠할 수 있습니다: $\chi(G) \leq 4$.
이 정리는 1976년 아펠(Appel)과 하켄(Haken)에 의해 컴퓨터 보조 증명으로 처음 증명되었습니다. 1,936가지의 불가피한 구성(unavoidable configuration)을 컴퓨터로 확인하였습니다.

5색 정리는 비교적 간단히 증명됩니다: 오일러 공식에 의해 평면 그래프는 차수가 5 이하인 꼭짓점을 반드시 포함하며, 귀납법으로 5색 색칠이 가능함을 보입니다.

평면 그래프

정의

평면 그래프(Planar Graph)는 변이 교차하지 않도록 평면에 그릴 수 있는 그래프입니다.

오일러 공식 (Euler's Formula)

오일러 다면체 공식: 연결 평면 그래프에서 꼭짓점 수 $V$, 변 수 $E$, 면 수 $F$ 사이에 다음이 성립합니다: $$V - E + F = 2$$

증명 스케치: $E = 0$이면 $V = 1$, $F = 1$이므로 성립. 신장 트리에서 시작하여 변을 하나씩 추가할 때마다 면이 하나씩 늘어나므로 $V - E + F$는 항상 2를 유지합니다.

오일러 공식의 따름정리

단순 연결 평면 그래프 ($V \geq 3$)에서:

비평면 그래프 판별 예시:

그래프$V$$E$$3V - 6$$E \leq 3V-6$?결론
$K_5$5109$10 > 9$비평면
$K_{3,3}$6912$9 \leq 12$ (삼각형 없음: $2V-4=8$, $9>8$)비평면
$K_4$466$6 \leq 6$평면

쿠라토프스키 정리 (Kuratowski's Theorem, 1930)

정리: 그래프 $G$가 평면 그래프 $\iff$ $G$에 $K_5$ 또는 $K_{3,3}$의 세분(subdivision)이 부분그래프로 포함되지 않음.

바그너 정리(Wagner's Theorem): 동치 조건으로 "$G$에 $K_5$ 또는 $K_{3,3}$을 축소(minor)로 포함하지 않음"도 있습니다.

이분 매칭

매칭의 정의

그래프 $G$에서 매칭(Matching) $M \subseteq E$은 서로 꼭짓점을 공유하지 않는 변들의 집합입니다.

홀 결혼 정리 (Hall's Marriage Theorem)

정리 (홀, 1935): 이분 그래프 $G = (X \cup Y, E)$에서 $X$의 모든 꼭짓점을 매칭하는 매칭이 존재할 필요충분조건: $$|N(S)| \geq |S| \quad \text{(모든 } S \subseteq X \text{에 대해)}$$ 여기서 $N(S)$는 $S$에 인접한 $Y$의 꼭짓점 집합입니다.

직관: $X$의 어떤 부분집합을 택해도, 그 부분집합의 이웃이 충분히 많아야 모두 매칭할 수 있습니다. 이 조건을 홀 조건(Hall's condition)이라 합니다.

예시: 3명의 학생 $\{s_1, s_2, s_3\}$이 각각 지원 가능한 과목이 있을 때:

학생지원 가능 과목
$s_1$수학, 물리
$s_2$수학, 화학
$s_3$물리, 화학

홀 조건 확인: $|N(\{s_1\})| = 2 \geq 1$, $|N(\{s_1, s_2\})| = 3 \geq 2$, $|N(\{s_1, s_2, s_3\})| = 3 \geq 3$ 등 모든 부분집합에 대해 성립하므로 완전 매칭이 존재합니다.

쾨니히 정리 (Konig's Theorem)

정리 (쾨니히, 1931): 이분 그래프에서 최대 매칭의 크기 = 최소 꼭짓점 덮개의 크기. $$\nu(G) = \tau(G)$$

여기서:

연결: 쾨니히 정리는 최대 흐름-최소 절단 정리의 이분 그래프 버전으로 볼 수 있습니다. 이분 매칭 문제를 네트워크 흐름으로 변환하면 자연스럽게 유도됩니다.

이분 매칭 알고리즘

알고리즘시간 복잡도방법
헝가리안 알고리즘$O(V^3)$가중 이분 매칭 (최소 비용)
호프크로프트-카프$O(E\sqrt{V})$비가중 최대 이분 매칭
네트워크 흐름$O(VE)$흐름 문제로 변환

그래프 동형 판정

두 그래프 $G_1 = (V_1, E_1)$과 $G_2 = (V_2, E_2)$가 동형(Isomorphic)이라 함은, 전단사 함수 $\phi: V_1 \to V_2$가 존재하여 $\{u,v\} \in E_1 \iff \{\phi(u), \phi(v)\} \in E_2$를 만족하는 것입니다. 동형 판정은 일반적으로 어려운 문제이며, 다양한 접근법이 있습니다.

풀이 1: 그래프 불변량 활용

동형인 두 그래프는 반드시 다음 불변량(Invariant)이 같아야 합니다. 불변량이 다르면 동형이 아님을 즉시 판정할 수 있습니다.

불변량설명확인 복잡도
꼭짓점 수 $|V|$같아야 합니다$O(1)$
변 수 $|E|$같아야 합니다$O(1)$
차수열 (Degree Sequence)차수를 정렬한 수열이 같아야 합니다$O(V \log V)$
연결 성분 수같아야 합니다$O(V + E)$
순환 길이 분포길이별 순환 수가 같아야 합니다높음
색수 $\chi(G)$같아야 합니다NP-hard
스펙트럼 (고유값)인접 행렬의 고유값이 같아야 합니다$O(V^3)$
주의: 이 불변량들이 모두 같아도 동형이 아닌 경우가 있습니다. 예를 들어, 같은 차수열과 같은 스펙트럼을 가지지만 동형이 아닌 그래프 쌍이 존재합니다. 불변량은 필요조건일 뿐 충분조건이 아닙니다.

예시: 다음 두 그래프가 동형인지 판별하십시오.

차수열이 같으므로 불변량만으로는 판별할 수 없습니다. 다음 방법을 시도해야 합니다.

풀이 2: 인접 행렬을 이용한 판정

두 그래프 $G_1$, $G_2$의 인접 행렬을 $A_1$, $A_2$라 하면, $G_1 \cong G_2 \iff$ 치환 행렬(permutation matrix) $P$가 존재하여 다음이 성립합니다:

$$A_2 = P A_1 P^T$$

꼭짓점의 순서를 바꾸는 모든 치환을 시도하면 $n!$가지를 확인해야 하므로, 꼭짓점 수가 적은 경우에만 실용적입니다.

실전 전략: 차수가 같은 꼭짓점끼리만 대응을 시도하면 탐색 공간을 크게 줄일 수 있습니다. 예를 들어 차수열이 $(2,2,2,3,3)$이면, 차수 3인 꼭짓점 2개와 차수 2인 꼭짓점 3개를 각각 대응시키므로 $2! \times 3! = 12$가지만 확인하면 됩니다.

풀이 3: 정점 정제 (Vertex Refinement)

색 정제(Color Refinement) 알고리즘은 반복적으로 꼭짓점을 분류하여 동형 가능성을 판단합니다.

  1. 초기화: 모든 꼭짓점에 차수를 색(label)으로 부여합니다.
  2. 정제: 각 꼭짓점의 색을 (현재 색, 이웃들의 색 다중집합)으로 갱신합니다.
  3. 반복: 색 분포가 더 이상 변하지 않을 때까지 반복합니다.
  4. 비교: 최종 색 분포가 두 그래프에서 다르면 동형이 아닙니다.
WL 검사 (Weisfeiler-Leman Test): 1차원 WL 검사는 색 정제와 동일합니다. $k$차원 WL 검사는 $k$-튜플에 대해 정제를 수행하며, $k$가 클수록 강력하지만 시간 복잡도가 $O(V^k \log V)$로 증가합니다.
$G_1$ $G_2$ $a$ $b$ $c$ $d$ $e$ $1$ $2$ $3$ $4$ $5$ $\cong$ 동형

최단 경로 알고리즘 비교 심화

세 가지 주요 최단 경로 알고리즘의 핵심 원리와 적용 상황을 비교합니다.

다익스트라 알고리즘의 정당성 증명

다익스트라 알고리즘이 올바른 최단 거리를 구하는 이유를 귀납법으로 증명합니다.

정리: 음이 아닌 가중치를 가진 그래프에서, 다익스트라 알고리즘이 꼭짓점 $v$를 확정(visited)할 때의 $\text{dist}[v]$는 출발점에서 $v$까지의 실제 최단 거리 $\delta(s, v)$와 같습니다.

증명 (귀류법): 알고리즘이 처음으로 잘못된 거리를 확정하는 꼭짓점 $v$가 존재한다고 가정합니다. 이때 $\text{dist}[v] > \delta(s, v)$입니다. 실제 최단 경로 $s \to \cdots \to u \to y \to \cdots \to v$에서, $u$는 이미 확정되었고 $y$는 아직 미확정인 첫 번째 꼭짓점이라 하면:
- $\text{dist}[u] = \delta(s, u)$ (가정에 의해 $u$는 올바르게 확정됨)
- $\text{dist}[y] \leq \text{dist}[u] + w(u,y) = \delta(s, y) \leq \delta(s, v) < \text{dist}[v]$
그러면 $\text{dist}[y] < \text{dist}[v]$이므로 알고리즘은 $v$보다 $y$를 먼저 선택해야 합니다. 이는 $v$가 선택되었다는 가정에 모순입니다. $\blacksquare$

벨만-포드: 음의 가중치 처리

벨만-포드 알고리즘은 음의 가중치를 허용하며, 음의 순환(Negative Cycle)까지 감지할 수 있습니다.

핵심 원리: $k$번째 반복 후, 최대 $k$개의 변을 사용하는 최단 경로가 올바르게 계산됩니다. 최단 경로는 최대 $|V|-1$개의 변을 가지므로 $|V|-1$번 반복이면 충분합니다.

음의 순환 감지:

$$\text{if } \exists (u,v) \in E: \text{dist}[u] + w(u,v) < \text{dist}[v] \text{ after } |V|-1 \text{ rounds} \Rightarrow \text{음의 순환 존재}$$

단계별 예시: 음의 가중치가 포함된 그래프에서 벨만-포드 실행:

변 목록: $(A,B,4)$, $(A,C,2)$, $(B,D,3)$, $(C,B,-1)$, $(D,E,2)$, $(C,E,7)$

반복$d(A)$$d(B)$$d(C)$$d(D)$$d(E)$
초기$0$$\infty$$\infty$$\infty$$\infty$
1$0$$4$$2$$7$$9$
2$0$$1$$2$$4$$6$
3$0$$1$$2$$4$$6$
4$0$$1$$2$$4$$6$

2번째 반복에서 $C \to B$의 음의 가중치 $-1$을 거쳐 $d(B) = 2 + (-1) = 1$로 갱신된 것을 확인할 수 있습니다. 다익스트라에서는 이런 갱신이 불가능합니다.

플로이드-워셜: 모든 쌍 최단 경로

동적 프로그래밍의 전형적 응용으로, 중간 꼭짓점을 하나씩 추가하며 최단 거리를 갱신합니다.

상태 전이:

$$d_{ij}^{(k)} = \min\left(d_{ij}^{(k-1)},\; d_{ik}^{(k-1)} + d_{kj}^{(k-1)}\right)$$

여기서 $d_{ij}^{(k)}$는 꼭짓점 $\{1, \ldots, k\}$만 중간 경유지로 사용할 때 $i \to j$의 최단 거리입니다.

완전한 예시: 4개 꼭짓점 그래프:

$$D^{(0)} = \begin{pmatrix} 0 & 3 & \infty & 7 \\ 8 & 0 & 2 & \infty \\ 5 & \infty & 0 & 1 \\ 2 & \infty & \infty & 0 \end{pmatrix} \quad \Rightarrow \quad D^{(4)} = \begin{pmatrix} 0 & 3 & 5 & 6 \\ 5 & 0 & 2 & 3 \\ 3 & 6 & 0 & 1 \\ 2 & 5 & 7 & 0 \end{pmatrix}$$

세 알고리즘의 종합 비교

기준다익스트라벨만-포드플로이드-워셜
유형단일 출발점단일 출발점모든 쌍
음의 가중치불가가능가능
음의 순환 감지불가가능대각선 음수로 감지
시간 복잡도$O((V+E)\log V)$$O(VE)$$O(V^3)$
공간 복잡도$O(V)$$O(V)$$O(V^2)$
핵심 기법탐욕법 + 우선순위 큐완화 반복동적 프로그래밍
최적 사용 상황도로 네트워크환율/비용 그래프작은 밀집 그래프

최소 신장 트리 알고리즘 비교 심화

크루스칼, 프림, 보루브카 세 알고리즘의 핵심 전략을 비교합니다. 세 알고리즘 모두 탐욕(Greedy) 전략에 기반하며, 절단 성질순환 성질이 정당성을 보장합니다.

순환 성질 (Cycle Property)

정리: 그래프의 임의의 순환에서 가중치가 최대인 변 $e$가 유일하면, $e$는 어떤 MST에도 포함되지 않습니다.

증명: MST $T$가 $e$를 포함한다고 가정합니다. $T$에서 $e$를 제거하면 두 성분으로 분리됩니다. 같은 순환에 속하는 다른 변 $e'$ (가중치가 $e$보다 작음)이 이 두 성분을 연결하므로, $e$ 대신 $e'$을 사용하면 더 작은 가중치의 신장 트리가 됩니다. 이는 $T$가 MST라는 가정에 모순입니다. $\blacksquare$

보루브카 알고리즘 (Borůvka's Algorithm, 1926)

MST를 구하는 가장 오래된 알고리즘으로, 병렬화에 유리합니다.

  1. 각 꼭짓점을 별도의 성분(component)으로 시작합니다.
  2. 각 성분에서 다른 성분으로 연결되는 변 중 가중치가 최소인 변을 선택합니다.
  3. 선택된 변들을 모두 추가하여 성분들을 합칩니다.
  4. 하나의 성분이 될 때까지 반복합니다.

시간 복잡도: $O(E \log V)$. 각 단계에서 성분 수가 절반 이하로 줄어들므로 최대 $O(\log V)$번 반복합니다.

세 MST 알고리즘 종합 비교

기준크루스칼프림보루브카
핵심 전략전역 최소 변 선택지역 성장 (절단)병렬 성분 병합
자료구조Union-Find우선순위 큐성분별 최소 변 배열
시간 복잡도$O(E \log E)$$O((V+E)\log V)$$O(E \log V)$
희소 그래프우수보통우수
밀집 그래프보통우수 ($O(V^2)$)보통
병렬화어려움어려움매우 적합
역사1956년1957년1926년 (최초)

프림 단계별 예시: 크루스칼 예시와 같은 그래프에서 꼭짓점 $A$부터 시작:

단계선택된 집합절단 변 중 최소선택MST 변
1$\{A\}$$A{-}B(1)$, $A{-}C(3)$$A{-}B(1)$$\{A{-}B\}$
2$\{A,B\}$$A{-}C(3)$, $B{-}C(4)$, $B{-}D(5)$$A{-}C(3)$$\{A{-}B, A{-}C\}$
3$\{A,B,C\}$$C{-}D(2)$, $B{-}D(5)$$C{-}D(2)$$\{A{-}B, A{-}C, C{-}D\}$

MST 가중치 합: $1 + 3 + 2 = 6$ (크루스칼과 동일한 결과)

크루스칼 전역 최소 변 선택 1 2 3 × 변 정렬 후 순서대로 프림 트리에서 성장 절단 시작점에서 확장 보루브카 병렬 성분 병합 모든 성분 동시 선택 세 알고리즘 모두 동일한 MST를 생성합니다 정당성 보장: 절단 성질(Cut Property) & 순환 성질(Cycle Property) MST가 유일하지 않을 때, 가중치 합은 항상 동일

네트워크 흐름 알고리즘 비교

포드-풀커슨 방법과 에드몬드-카프 알고리즘의 차이점을 상세히 비교합니다.

포드-풀커슨 방법 상세

포드-풀커슨은 "방법(method)"이지 특정 "알고리즘"이 아닙니다. 증가 경로를 찾는 전략을 지정하지 않으므로, 경로 선택에 따라 성능이 크게 달라집니다.

잔여 그래프(Residual Graph) $G_f$:

단계별 예시:

$s \to a$ (용량 10), $s \to b$ (용량 10), $a \to b$ (용량 2), $a \to t$ (용량 8), $b \to t$ (용량 9)인 네트워크에서:

반복증가 경로병목 용량누적 흐름
1$s \to a \to t$$\min(10, 8) = 8$$8$
2$s \to b \to t$$\min(10, 9) = 9$$17$
3$s \to a \to b \to t$ (잔여)$\min(2, 2, 0) = 0$ (경로 없음)$17$

최대 흐름: $17$

에드몬드-카프 알고리즘: BFS 기반 개선

에드몬드-카프는 포드-풀커슨에서 증가 경로를 BFS(너비 우선 탐색)으로 찾아 최단 증가 경로를 선택합니다.

복잡도 보장:
  • BFS로 찾은 증가 경로는 변 수가 최소입니다.
  • 증가 경로의 길이는 단조 증가합니다.
  • 총 증가 횟수: $O(VE)$, 각 BFS: $O(E)$이므로 전체 $O(VE^2)$

포드-풀커슨 vs 에드몬드-카프

기준포드-풀커슨에드몬드-카프
경로 탐색임의 (DFS 등)BFS (최단 경로)
시간 복잡도$O(E \cdot |f^*|)$$O(VE^2)$
종료 보장무리수 용량일 때 미보장항상 보장
실용성정수 용량에서 사용일반적으로 권장
포드-풀커슨의 함정: 용량이 무리수일 때, DFS 기반 포드-풀커슨은 수렴하지 않을 수 있습니다. 1970년 어드몬즈와 카프가 BFS를 사용하여 이 문제를 해결한 것이 에드몬드-카프 알고리즘입니다.

매칭 이론 심화

홀 정리의 증명

홀 결혼 정리 증명 ($\Leftarrow$ 방향, 귀납법):

$|X| = n$에 대한 강한 귀납법을 사용합니다.

기저: $n = 1$이면 $|N(\{x\})| \geq 1$이므로 매칭할 이웃이 존재합니다.

경우 1: 모든 진부분집합 $S \subsetneq X$에 대해 $|N(S)| \geq |S| + 1$ (여유가 있는 경우). 임의의 $x \in X$를 하나의 이웃 $y \in N(\{x\})$에 매칭합니다. $G - \{x, y\}$에서 임의의 $S \subseteq X \setminus \{x\}$에 대해 $|N_{G-y}(S)| \geq |N_G(S)| - 1 \geq |S|$이므로 홀 조건이 유지되며, 귀납 가설에 의해 나머지도 매칭 가능합니다.

경우 2: 어떤 진부분집합 $S_0 \subsetneq X$에 대해 $|N(S_0)| = |S_0|$ (빠듯한 경우). $S_0$과 $N(S_0)$를 귀납 가설로 매칭합니다. $X \setminus S_0$에 대해서도 홀 조건이 성립함을 보이면 (원래의 홀 조건으로부터 유도), 귀납 가설로 나머지도 매칭할 수 있습니다.

쾨니히 정리의 응용

쾨니히 정리 $\nu(G) = \tau(G)$는 이분 그래프에서만 성립합니다. 일반 그래프에서는 $\nu(G) \leq \tau(G) \leq 2\nu(G)$입니다.

예시: $K_{3,3}$에서:

헝가리안 알고리즘 (Hungarian Algorithm)

가중 이분 매칭에서 최소(또는 최대) 비용 완전 매칭을 구하는 $O(V^3)$ 알고리즘입니다.

알고리즘 개요:

  1. 초기 레이블링: 각 행에서 최솟값을 빼고, 각 열에서도 최솟값을 뺍니다 (축약).
  2. 0-변 매칭: 비용이 0인 변들로 최대 매칭을 시도합니다.
  3. 라벨 조정: 매칭이 완전하지 않으면, 쾨니히 정리를 이용하여 최소 꼭짓점 덮개를 구하고 라벨을 조정합니다.
  4. 반복: 완전 매칭이 될 때까지 2-3을 반복합니다.

비용 행렬 예시:

$$C = \begin{pmatrix} 7 & 2 & 5 \\ 3 & 6 & 1 \\ 4 & 8 & 3 \end{pmatrix} \xrightarrow{\text{행 축약}} \begin{pmatrix} 5 & 0 & 3 \\ 2 & 5 & 0 \\ 1 & 5 & 0 \end{pmatrix} \xrightarrow{\text{열 축약}} \begin{pmatrix} 4 & 0 & 3 \\ 1 & 5 & 0 \\ 0 & 5 & 0 \end{pmatrix}$$

0-변으로 완전 매칭: 행1→열2, 행2→열3, 행3→열1. 원래 비용: $2 + 1 + 4 = 7$ (최소 비용)

그래프 색칠 알고리즘 비교

탐욕 색칠 (Greedy Coloring)

꼭짓점을 순서대로 방문하며, 이웃에 사용되지 않은 가장 작은 번호의 색을 칠합니다.

예시: 순환 $C_5 = (v_1, v_2, v_3, v_4, v_5)$에 탐욕 색칠:

꼭짓점이웃의 색배정 색
$v_1$없음1
$v_2$$\{1\}$2
$v_3$$\{2\}$1
$v_4$$\{1\}$2
$v_5$$\{1, 2\}$3

3색 사용: 이 경우 $\chi(C_5) = 3$이므로 최적입니다.

웰시-파웰 알고리즘 (Welsh-Powell Algorithm)

탐욕 색칠의 개선 버전으로, 차수가 큰 꼭짓점부터 먼저 색칠합니다.

  1. 모든 꼭짓점을 차수 내림차순으로 정렬합니다.
  2. 정렬된 순서로 탐욕 색칠을 수행합니다.
직관: 차수가 큰 꼭짓점은 제약이 많으므로 먼저 처리하는 것이 유리합니다. 차수가 작은 꼭짓점은 선택지가 많으므로 나중에 처리해도 색이 부족할 가능성이 낮습니다.

브룩스 정리 증명 스케치

브룩스 정리 (1941): 연결 그래프 $G$가 완전 그래프도 아니고 홀수 순환도 아니면, $\chi(G) \leq \Delta(G)$입니다.

증명 스케치 ($G$가 3-연결이 아닌 경우):
$G$에 절단점(cut vertex) $v$가 있으면, $v$를 제거한 각 성분에 $v$를 붙인 부분그래프에 대해 귀납적으로 $\Delta(G)$-색칠이 가능합니다. $v$에서 각 성분의 색칠을 조화시키면 됩니다.

$G$가 3-연결인 경우: $G \neq K_{\Delta+1}$이므로, 인접하지 않은 차수 $\Delta$인 두 꼭짓점 $u, w$가 존재합니다. BFS 트리의 역순으로 탐욕 색칠하되, $u, w$를 같은 색으로 시작하면 $\Delta$색으로 충분합니다.

색칠 알고리즘 비교

알고리즘보장 색수시간 복잡도최적성
탐욕 (임의 순서)$\leq \Delta + 1$$O(V + E)$비최적 가능
웰시-파웰$\leq \Delta + 1$$O(V \log V + E)$탐욕보다 나음
DSATUR$\leq \Delta + 1$$O(V^2)$실용적으로 우수
정확 해법 (백트래킹)$= \chi(G)$지수 시간최적

평면 그래프 심화

오일러 공식의 다양한 증명

증명 1: 귀납법 (변의 수에 대한 귀납)

$E = 0$이면 연결 그래프는 단일 꼭짓점이므로 $V = 1$, $F = 1$ (외부 면만 존재), $1 - 0 + 1 = 2$. ✓

변 $e$가 순환에 포함된 경우: $e$를 제거하면 면 하나가 사라지고 변 하나가 줄어듭니다. 귀납 가설에 의해 $(V) - (E-1) + (F-1) = 2$이므로 $V - E + F = 2$. ✓

변 $e$가 다리(bridge)인 경우: $e$를 제거하면 성분이 둘로 나뉩니다. 각 성분에 대해 $V_i - E_i + F_i = 2$를 적용하고 합산하면 됩니다.

증명 2: 신장 트리를 이용한 증명

연결 평면 그래프의 신장 트리 $T$는 $V$개의 꼭짓점과 $V-1$개의 변을 가집니다. $T$는 면이 1개(외부 면)이므로 $V - (V-1) + 1 = 2$. ✓

$T$에 변을 하나씩 추가합니다. 트리가 아닌 변을 추가할 때마다 정확히 하나의 순환이 생기고, 이 순환이 기존 면을 둘로 나눕니다. 따라서 변 1 추가, 면 1 추가이므로 $V - E + F$는 변함없이 2입니다. ✓

증명 3: 쌍대 그래프를 이용한 논증

평면 그래프 $G$의 쌍대 그래프(Dual Graph) $G^*$는 $G$의 각 면을 꼭짓점으로, 인접한 면을 변으로 연결합니다. $G^*$의 신장 트리와 $G$의 여(complement) 신장 트리의 관계를 이용하면 오일러 공식이 자연스럽게 유도됩니다.

쿠라토프스키 정리 심화

쿠라토프스키 정리 (1930): 그래프 $G$가 평면적 $\iff$ $K_5$ 또는 $K_{3,3}$의 세분(subdivision)을 부분그래프로 포함하지 않습니다.

세분(subdivision)이란 변 위에 새 꼭짓점을 삽입하는 연산입니다. 즉, 변 $\{u,v\}$를 제거하고 새 꼭짓점 $w$와 변 $\{u,w\}$, $\{w,v\}$를 추가합니다.

$K_5$가 비평면인 증명:

$K_5$: $V = 5$, $E = 10$. 평면이면 $E \leq 3V - 6 = 9$이어야 하는데, $10 > 9$이므로 비평면입니다.

$K_{3,3}$이 비평면인 증명:

$K_{3,3}$: $V = 6$, $E = 9$. $3V - 6 = 12$이므로 이 부등식만으로는 판별할 수 없습니다. 그러나 $K_{3,3}$은 이분 그래프이므로 삼각형이 없어 모든 면이 길이 4 이상의 경계를 가집니다. 따라서 $2E \geq 4F$, 즉 $F \leq E/2 = 4.5$. 오일러 공식에 의해 $F = 2 - V + E = 2 - 6 + 9 = 5$인데, $5 > 4.5$이므로 모순. 따라서 비평면입니다.

$K_5$ (비평면) $E=10 > 3V-6=9$ $K_{3,3}$ (비평면) $E=9 > 2V-4=8$ (삼각형 없음)

대수적 그래프 이론

대수적 그래프 이론(Algebraic Graph Theory)은 행렬과 선형대수를 이용하여 그래프의 성질을 분석하는 분야입니다.

인접 행렬의 스펙트럼

그래프 $G$의 인접 행렬 $A$의 고유값(eigenvalue) $\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_n$을 $G$의 스펙트럼(spectrum)이라 합니다.

기본 성질:

예시: 순환 그래프 $C_4$의 스펙트럼:

$$A = \begin{pmatrix} 0&1&0&1 \\ 1&0&1&0 \\ 0&1&0&1 \\ 1&0&1&0 \end{pmatrix}, \quad \text{고유값: } 2, 0, 0, -2$$

라플라시안 행렬 (Laplacian Matrix)

그래프 $G$의 라플라시안 행렬은 다음과 같이 정의됩니다:

$$L = D - A$$

여기서 $D$는 차수 대각 행렬 ($D_{ii} = \deg(v_i)$), $A$는 인접 행렬입니다.

라플라시안의 성질:

키르히호프의 행렬-트리 정리

정리 (키르히호프, 1847): 그래프 $G$의 신장 트리의 수 $t(G)$는 라플라시안 행렬 $L$의 임의의 여인수(cofactor)와 같습니다: $$t(G) = \frac{1}{n} \lambda_1 \lambda_2 \cdots \lambda_{n-1}$$ 여기서 $\lambda_1, \ldots, \lambda_{n-1}$은 $L$의 0이 아닌 고유값입니다.

예시: $K_4$의 라플라시안 고유값은 $0, 4, 4, 4$이므로:

$$t(K_4) = \frac{1}{4} \cdot 4 \cdot 4 \cdot 4 = 16$$

검증: 케일리 공식 $4^{4-2} = 16$. ✓

예시: $C_4$의 라플라시안:

$$L = \begin{pmatrix} 2&-1&0&-1 \\ -1&2&-1&0 \\ 0&-1&2&-1 \\ -1&0&-1&2 \end{pmatrix}, \quad \text{고유값: } 0, 2, 2, 4$$ $$t(C_4) = \frac{1}{4} \cdot 2 \cdot 2 \cdot 4 = 4$$

램지 이론

램지 이론(Ramsey Theory)은 "충분히 큰 구조에서는 반드시 특정 패턴이 나타난다"는 원리를 다룹니다.

램지 수의 정의

램지 수 $R(s, t)$는 다음을 만족하는 최소 자연수 $n$입니다:

$K_n$의 각 변을 빨강 또는 파랑으로 색칠할 때, 반드시 빨간 $K_s$ 또는 파란 $K_t$가 부분그래프로 존재합니다.

$R(3,3) = 6$ 증명

이것은 "파티 문제"라고도 합니다: 6명이 모이면, 서로 모두 아는 3명 또는 서로 모두 모르는 3명이 반드시 존재합니다.

$R(3,3) \leq 6$ 증명:

$K_6$의 변을 빨강/파랑으로 2-색칠합니다. 임의의 꼭짓점 $v$를 고정하면 $v$에서 5개의 변이 나갑니다. 비둘기집 원리에 의해 같은 색의 변이 적어도 $\lceil 5/2 \rceil = 3$개 있습니다. 빨간 변이 3개 이상이라 가정합시다 (파란 경우도 대칭적).

$v$에서 빨간 변으로 연결된 세 꼭짓점을 $a, b, c$라 하면:
- $a, b, c$ 사이의 변 $\{a,b\}$, $\{b,c\}$, $\{a,c\}$ 중 하나라도 빨간색이면, 그 변의 양 끝점과 $v$가 빨간 삼각형을 이룹니다.
- 셋 모두 파란색이면, $a, b, c$가 파란 삼각형을 이룹니다.

어느 경우든 단색 삼각형이 존재합니다.
$R(3,3) > 5$ 증명:

$K_5$의 변을 단색 삼각형 없이 2-색칠할 수 있음을 보이면 됩니다. $C_5$(순환)의 변을 빨강, 나머지를 파랑으로 칠하면:
- 빨간 그래프: $C_5$ (삼각형 없음)
- 파란 그래프: $C_5$의 보그래프 = $C_5$ (삼각형 없음)

따라서 $R(3,3) > 5$이고, 위의 결과와 합치면 $R(3,3) = 6$입니다. $\blacksquare$
$R(3,3)>5$: $K_5$의 단색-삼각형-없는 2-색칠 $1$ $2$ $3$ $4$ $5$ $C_5$ (삼각형 없음) 보그래프 (삼각형 없음)

알려진 램지 수

$R(s,t)$$t=3$$t=4$$t=5$$t=6$
$s=3$$6$$9$$14$$18$
$s=4$$9$$18$$25$$36 \sim 41$
$s=5$$14$$25$$43 \sim 48$?

램지 수의 상한과 하한

상한 (에르되시-세케레시, 1935):

$$R(s, t) \leq \binom{s+t-2}{s-1}$$

특히 $R(s, s) \leq \binom{2s-2}{s-1} \leq 4^{s-1}$입니다.

하한 (에르되시, 1947, 확률적 방법):

$$R(s, s) \geq \frac{s}{e\sqrt{2}} \cdot 2^{s/2}$$

이것은 확률적 방법(probabilistic method)의 초기 응용으로, 실제로 반례를 구성하지 않고 "존재성"만 증명합니다.

에르되시의 유명한 말: "외계인이 지구를 침략하여 $R(5,5)$를 알려주지 않으면 인류를 멸망시키겠다고 협박한다면, 우리는 전 세계의 수학자를 동원하여 답을 구해야 할 것입니다. 그러나 만약 $R(6,6)$을 요구한다면, 차라리 외계인과 싸우는 편이 나을 것입니다."

확률적 그래프

확률적 그래프(Random Graph)는 확률 모형에 따라 생성되는 그래프로, 그래프의 "전형적인" 성질을 연구하는 데 사용됩니다.

에르되시-레니 모형 (Erdős-Rényi Model)

두 가지 모형이 있습니다:

모형정의매개변수
$G(n, M)$$n$개 꼭짓점에서 $M$개의 변을 균일 무작위로 선택$n$, $M$
$G(n, p)$$n$개 꼭짓점의 각 쌍이 독립적으로 확률 $p$로 연결$n$, $p$

$G(n, p)$ 모형이 분석에 더 편리하여 널리 사용됩니다.

$G(n, p)$의 기본 성질

문턱 현상 (Threshold Phenomenon)

확률적 그래프의 가장 놀라운 성질은 문턱 현상입니다. 특정 성질이 $p$가 문턱값 이하일 때 거의 확실히 성립하지 않다가, 문턱값 이상이 되면 거의 확실히 성립합니다.

성질문턱값 $p^*$의미
고립 꼭짓점 소멸$\frac{\ln n}{n}$모든 꼭짓점이 적어도 하나의 변을 가짐
연결성$\frac{\ln n}{n}$그래프가 연결됨
거대 성분 출현$\frac{1}{n}$$O(n)$ 크기의 연결 성분 출현
해밀턴 순환$\frac{\ln n + \ln \ln n}{n}$해밀턴 순환 존재
삼각형 포함$\frac{1}{n}$삼각형이 적어도 하나 존재

거대 성분의 상전이 (Phase Transition)

$G(n, p)$에서 $p = c/n$으로 놓으면:

에르되시-레니 정리 (1959):
  • $c < 1$: 모든 연결 성분의 크기가 $O(\log n)$입니다 (산발적 작은 조각들).
  • $c = 1$: 최대 성분의 크기가 $O(n^{2/3})$입니다 (임계점).
  • $c > 1$: 크기 $\Theta(n)$인 거대 성분(Giant Component)이 정확히 하나 존재하고, 나머지 성분들은 $O(\log n)$ 크기입니다.
이 현상은 물리학의 상전이(phase transition)와 유사합니다. 물이 어는점에서 급격히 얼음으로 변하듯이, $p = 1/n$ 근처에서 그래프의 구조가 극적으로 변합니다.

거대 성분의 크기: $c > 1$일 때, 거대 성분에 속하는 꼭짓점의 비율 $\rho$는 다음 방정식의 유일한 양의 해입니다:

$$\rho = 1 - e^{-c\rho}$$

확률적 방법과 그래프 이론

에르되시가 개척한 확률적 방법(Probabilistic Method)은 특정 성질을 만족하는 그래프의 존재성을 증명하는 강력한 도구입니다. 핵심 아이디어:

확률적 방법의 원리: 확률 공간에서 무작위로 대상을 선택했을 때, 어떤 성질을 만족할 확률이 양수($> 0$)이면, 그 성질을 만족하는 대상이 반드시 존재합니다.

$\Pr[\text{성질 } \mathcal{P}] > 0 \implies \text{성질 } \mathcal{P}\text{를 만족하는 대상이 존재}$

이 방법은 램지 이론의 하한, 그래프 색칠의 존재성 등 다양한 조합론적 문제에서 핵심적으로 사용됩니다.

주요 정리 요약

정리내용 (요약)
악수 정리$\sum \deg(v) = 2|E|$
오일러 정리오일러 회로 존재 $\iff$ 모든 차수 짝수
디랙 정리$\delta(G) \geq n/2 \Rightarrow$ 해밀턴 순환 존재
오레 정리비인접 쌍의 차수합 $\geq n \Rightarrow$ 해밀턴 순환
케일리 공식레이블된 트리의 수 $= n^{n-2}$
오일러 공식$V - E + F = 2$ (연결 평면 그래프)
쿠라토프스키 정리평면 $\iff$ $K_5, K_{3,3}$ 세분 없음
4색 정리평면 그래프는 $\chi \leq 4$
브룩스 정리$\chi(G) \leq \Delta(G)$ (완전/홀수순환 제외)
홀 결혼 정리$|N(S)| \geq |S|$ $\iff$ 매칭 존재
쾨니히 정리이분 그래프: 최대 매칭 = 최소 덮개
최대흐름-최소절단$\max |f| = \min$ 절단 용량
키르히호프 행렬-트리$t(G) = \frac{1}{n}\prod \lambda_i$ (라플라시안 고유값)
램지 $R(3,3)=6$6명 중 서로 아는 3명 또는 서로 모르는 3명 존재
에르되시-레니 상전이$p = 1/n$ 근처에서 거대 성분 출현
바그너 정리평면 $\iff$ $K_5, K_{3,3}$을 축소로 불포함

참고자료