Skip to content

Commit

Permalink
Update 2024-09-12-ssca1.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Annyeong-One authored Sep 12, 2024
1 parent 53d96e8 commit a2acfa7
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions _posts/2024-09-12-ssca1.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ mermaid: true
$f$를 flow라 합니다.

$\delta^+(v)$를 정점 $v$에서 나가는 모든 간선, $\delta^-(v)$를 $v$로 들어오는 간선이라 두면,
$$\|f\| = \sum_{e \in \delta^+(s)} f(e) - \sum_{e \in \delta^-(s)} f(e)$$
$\|f\| = \sum_{e \in \delta^+(s)} f(e) - \sum_{e \in \delta^-(s)} f(e)$
를 flow value라 합니다. (즉 소스에서 싱크로 흐르는 용량을 유량이라 합니다.)

### Definition: Max-Flow Prob.
Expand All @@ -40,7 +40,7 @@ $G$가 주어질 때, $\|f\|$가 최대가 되는 flow $f$를 찾는 문제를
마찬가지로 유향 그래프 $G=(V, E)$에 대해서 용량, 소스, 싱크를 정의해 두면,
- $C \subset V$, $C \neq V$, $s \in C$, $t \notin C$ (즉 전체집합이 아닌 정점 부분집합이 $s$는 포함하지만 $v$는 포함하지 않는 경우)
인 정점 부분집합 $C$를 $s-t$ cut이라 합니다. 이때
$$\|C\| = \sum_{e \in \delta^+(C)} c(e)$$
$\|C\| = \sum_{e \in \delta^+(C)} c(e)$
를 cut value라 합니다. (즉 소스 포함 부분집합에서 싱크 포함 여집합으로 들어가는 유량의 총합입니다.)

### Definition: Min-Cut Prob.
Expand All @@ -49,9 +49,9 @@ $G$가 주어질 때, $\|C\|$가 최소가 되는 cut $C$를 찾는 문제를
## Maximum Flow vs. Min Cut - Weak Duality
이 둘은 서로 완전히 다른 문제같아 보이지만, 서로 쌍대성(Duality)을 가집니다. 재미있는 성질을 하나 끄집어 봅시다:

**Proposition 1.** $s \in X, t \notin X$를 만족하는 임의의 $X \subset V$에 대해, $$\|f\| = \sum_{e \in \delta^+(X)} f(e) - \sum_{e \in \delta^-(X)}f(e)$$이다.
**Proposition 1.** $s \in X, t \notin X$를 만족하는 임의의 $X \subset V$에 대해, $\|f\| = \sum_{e \in \delta^+(X)} f(e) - \sum_{e \in \delta^-(X)}f(e)$이다.

증명은 간단합니다. 플로우의 정의에서 $$\|f\| = \sum_{u \in X}\left [ \sum_{e \in \delta^+(u)} f(e) - \sum_{e \in \delta^-(u)} f(e) \right ]$$같이 식을 둘 수 있습니다(simple double-counting).
증명은 간단합니다. 플로우의 정의에서 $\|f\| = \sum_{u \in X}\left [ \sum_{e \in \delta^+(u)} f(e) - \sum_{e \in \delta^-(u)} f(e) \right ]$같이 식을 둘 수 있습니다(simple double-counting).

여기서 식의 우항은 항상 cut value $\|C\|$보다 작습니다, 왜냐면 $\sum_{e \in \delta^+(X)} f(e)$는 용량보다 클 수 없고 $\sum_{e \in \delta^-(X)}f(e)$는 0보다 작을 수 없으니까요. 그러니까 예쁜 따름정리 하나를 같이 끌고 올 수 있습니다:

Expand Down Expand Up @@ -138,7 +138,7 @@ while $\exists u$ an active node:
이걸 증명하면 Algorithm 2가 중간에 막히지 않고 active node가 없어질 때까지 계속 작동할 수 있음이 보여지기 때문에 증명이 완료된다고 생각할 수 있습니다.

증명은 이렇게 할 수 있습니다. 일단 $s$로 갈 수 없는 정점만 모아둬서 그 집합을 $Y라 둡시다. 그리고 어떤 active node $u \in Y$를 잡으면,
$$\sum_{v \in Y} e(v) = \sum_{v \in Y} \left (\sum_{e \in \delta^-(v)} f(e) - \sum_{e \in \delta^+(v)} f(e)\right )= \sum_{e \in \delta^-(Y)} f(e) - \sum_{e \in \delta^+(Y)} f(e) > 0$$이니까 $\delta^-(Y)$의 간선 중 양수 유량을 가진 것이 적어도 하나는 있습니다. (왜냐면 모든 excess는 0보다 크고 excess인 정점이 적어도 하나는 있으니까요.)
$\sum_{v \in Y} e(v) = \sum_{v \in Y} \left (\sum_{e \in \delta^-(v)} f(e) - \sum_{e \in \delta^+(v)} f(e)\right )= \sum_{e \in \delta^-(Y)} f(e) - \sum_{e \in \delta^+(Y)} f(e) > 0$이니까 $\delta^-(Y)$의 간선 중 양수 유량을 가진 것이 적어도 하나는 있습니다. (왜냐면 모든 excess는 0보다 크고 excess인 정점이 적어도 하나는 있으니까요.)

그렇다면, $Y$에서 $V \setminus Y$로 갈 수 있는 간선이 존재하게 됩니다. 그러면 $Y$에서 $V \setminus Y$를 거쳐 $s$로도 갈 수 있으니까 ($Y$에는 $s$로 못 가는 모든 점이 있기 때문에, $V \setminus Y$의 모든 점에서는 $s$로 갈 수 있습니다) 모순입니다. 따라서 증명이 됩니다.

Expand Down

0 comments on commit a2acfa7

Please sign in to comment.