2020-1ํ•™๊ธฐ, ๋Œ€ํ•™์—์„œ โ€˜์•Œ๊ณ ๋ฆฌ์ฆ˜โ€™ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•œ ๋ฐ”๋ฅผ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ง€์ ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค :)

1 minute read

2020-1ํ•™๊ธฐ, ๋Œ€ํ•™์—์„œ โ€˜์•Œ๊ณ ๋ฆฌ์ฆ˜โ€™ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•œ ๋ฐ”๋ฅผ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ง€์ ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค :)


Definition. Cut

A set of edges whose removal leaves a graph disconnected.

ํฌ์ŠคํŠธ๋ฅผ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฒœ์ฒœํžˆ ๋”ฐ๋ผ์™”๋‹ค๋ฉด, Network Flow ์ฑ•ํ„ฐ์—์„œ Network Flow ๋ฌธ์ œ๊ฐ€ Minimum Cut Problem๊ณผ dual problem ๊ด€๊ณ„์ž„์„ ๊ณต๋ถ€ํ–ˆ์„ ๊ฒƒ์ด๋‹ค.

Problem. Minimum Cut Problem

Given a graph and a budget $b$, find a cut with at most $b$ edges.

* search problem์˜ ํ˜•ํƒœ๋กœ ๊ธฐ์ˆ  ๋˜์—ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” Network Flow ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ •๋ง ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

  • ๊ฐ edge์— 1์˜ capacity๋ฅผ ํ• ๋‹น
  • source ๋…ธ๋“œ $s$๋ฅผ ์ •ํ•œ๋‹ค.
  • ๋‚˜๋จธ์ง€ $n-1$๊ฐœ ๋…ธ๋“œ์— ๋Œ€ํ•ด ๊ทธ๋“ค์€ sink ๋…ธ๋“œ $t$๋กœ ์„ค์ •ํ•ด $n-1$๋ฒˆ Network Flow ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ฆฐ๋‹ค.
  • ๊ทธ ์ค‘ ๊ฐ€์žฅ ์ ์€ ๋น„์šฉ์˜ cut์„ minimum cut์œผ๋กœ ์‚ผ๋Š”๋‹ค.


๊ทธ๋Ÿฌ๋‚˜ ์ด๋ ‡๊ฒŒ ์‰ฌ์šด ํ˜•ํƒœ๋ผ๋ฉด NP์— ๋“ฑ์žฅํ•  ์ˆ˜ ์—†๋‹ค. Balanced Cut ๋ฌธ์ œ๋Š” ๋ถ„ํ• ํ•˜๋Š” ๋‘ ๊ทธ๋ž˜ํ”„์˜ ๊ท ํ˜•์ด ๋งž์•„์•ผ ํ•œ๋‹ค.

Problem. Balanced Cut Problem

Given a graph with $n$ vertices and a budget $b$, find a cut $(A, B)$ such that $\left| A \right|, \left| B \right| \ge n/3$ and at most $b$ edges in the cut.

* search problem์˜ ํ˜•ํƒœ๋กœ ๊ธฐ์ˆ  ๋˜์—ˆ๋‹ค.

์ฆ‰, ๋น„์šฉ $b$๋ฅผ ๋งž์ถ”๋ฉด์„œ ๋ถ„ํ• ๋œ ๊ทธ๋ž˜ํ”„ $A$, $B$์˜ ํฌ๊ธฐ๊ฐ€ ๋น„์Šทํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค! Balanced Cut Problem์€ Minimum Cut Problem๊ณผ ๋‹ฌ๋ฆฌ poly-time algorithm์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํ•จ๊ป˜๋ณด๊ธฐ