[์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ] DAG์์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฒ
DAG๋ Directed Acyclic Graph
์ด๋ค. ํ์ด์ ์จ๋ณด๋ฉด, ๋ฐฉํฅ์ด ์กด์ฌํ๊ณ ์ฌ์ดํด์ด ์๋ ๊ทธ๋ํ
๋ผ๊ณ ํ ์ ์๋ค. ๋ฒจ๋ง-ํฌํธ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ์์ ์ฌ์ดํด์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด์๋ค. ๊ทธ๋ฌ๋ DAG์์๋ ์ฌ์ดํด์ด ์กด์ฌํ์ง ์๊ณ , ๋ฐฉํฅ์ด ์๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ์ฐ์ฐ์์ด ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
Algorithm Strategy
๋ฐฉํฅ์ด ์๊ณ ์ฌ์ดํด์ด ์๋ ๊ทธ๋ํ๋ผ๋ ๊ฒ์ ๊ณง ๋ชจ๋ ์ ์ ์ด ํ์๋๋ ์์๋ฅผ ๊ฐ์ง๋ค๋ ๊ฒ์ด๋ค. ์ด ์ฑ์ง์ ์ด์ฉํด์ ํ ์ ์ ์ผ๋ก๋ถํฐ ๋ค๋ฅธ ์ ์ ์ผ๋ก ์ด๋ํ ๋์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์ถ์ ํด๊ฐ๋ค๋ณด๋ฉด, ๊ฐ์ฅ ๋ง์ง๋ง ์ ์ ์ ๋์ฐฉํ๊ธฐ๊น์ง ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ์ ์์ ๊ฒ์ด๋ค. ์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
- Topological Sort ๋ฅผ ํตํด์ ๋ฐฉ๋ฌธ์์๋๋ก ์ ์ ์ ์ ๋ ฌํ๋ค.
- ๊ฐ ์ ์ ๋ง๋ค Relaxation ์ ์งํํด์ ํด๋น ์ ์ ๊ณผ ์ฐ๊ฒฐ๋์ด ์๋ ์ ์ ๋ค ์ค ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋๋ค.
Example
Phase 1
๋ฒจ๋ง-ํฌ๋ ์๊ณ ๋ฆฌ์ฆ์์ ํ๋ ๊ฒ์ฒ๋ผ ๋ชจ๋ ์ ์ ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์์ ๋ฌดํ๋๋ก ์ด๊ธฐํ ํ๊ณ , ์์์ ์ด ๋๋ ๊ฐ์ฅ ์์ ์๋ ๋ ธ๋๋ 0์ผ๋ก ์ด๊ธฐํ ํ๋ค.
Phase 2
์ ๋ ฌ๋ ์ ์ ๋ค์ ์์๋๋ก ๊บผ๋ด์ Relaxation์ ์งํํด๋ณด์. ์ผ๋จ ์์์ ์ ์๋ A์ ๋ํด์ Relaxation ์ ์ํํ๋ฉด, ์ฐ๊ฒฐ๋ ์ ์ ์ด B ํ๋๋ฟ์ด๊ธฐ ๋๋ฌธ์ B๊ฐ ๊ฐ์ง๊ณ ์๋ ์ต๋จ๊ฑฐ๋ฆฌ์ A์ B ์ฌ์ด์ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๋น๊ตํด์ ๋ ์์ ๊ฐ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ก ์ ๋ฐ์ดํธ ํ๋ค. A์ B์ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ 5์ด๊ณ , B์ ์ต๋จ๊ฑฐ๋ฆฌ๋ ์์ ๋ฌดํ๋๋ก ์ด๊ธฐํ๋์ด ์๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ B์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ 5๋ก ๊ฐฑ์ ํ๋ค.
Phase 3
๋ค์์ ์ ์ B์ ์ฐ๊ฒฐ๋ ์ ์ ๋ค์ ๋ํด์ Relaxation์ ์งํํ๋ค.
- ์ ์ D: B๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ๋ 5์ด๊ธฐ ๋๋ฌธ์ ์ ์ D๊น์ง ๊ฐ๋ ๊ฐ์ ๊ฑฐ๋ฆฌ 7์ ๋ํ๋ฉด ์ด 12์ ๊ฑฐ๋ฆฌ๋ฅผ ์ป๋๋ค. ํ์ฌ๊น์ง ์ ์ D์ ์ ์ฅ๋ ์ต๋จ๊ฑฐ๋ฆฌ๋ ์์ ๋ฌดํ๋์ด๋ฏ๋ก, ์๋ก์ด ์ต๋จ๊ฑฐ๋ฆฌ 12์ ์ค์ ํ๋ค.
- ์ ์ C: ์์ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ C์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ
5 + 4 = 9
๋ก ๊ฐฑ์ ๋๋ค.
Phase 4
๋ค์์ ์ ์ C๋ฅผ ๊บผ๋ด์ Relaxation์ ํด๋ณด์.
- ์ ์ D: ์ ์ C๊ฐ ๊ฐ์ง ์ต๋จ๊ฑฐ๋ฆฌ๋ 9์ด๊ธฐ ๋๋ฌธ์, ์ ์ C์์ ์ ์ D๋ก ์ด๋ํ ๋ ๊ณ์ฐ๋๋ ์ต๋จ๊ฑฐ๋ฆฌ๋
9 + 6 = 15
์ด๋ค. ํ์ฌ D์ ์ ์ฅ๋ ์ต๋จ๊ฑฐ๋ฆฌ๋ 12์ด๊ธฐ ๋๋ฌธ์ ์ ์ C๋ฅผ ๊ฑฐ์ณ์ D๋ก ๊ฐ๋ ๊ฒฝ๋ก๋ ์ต๋จ๊ฒฝ๋ก๊ฐ ์๋๋ค. ๋ฐ๋ผ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธํ์ง ์๊ณ ๋๋ธ๋ค. - ์ ์ E: ์ ์ E์ ์ต๋จ๊ฑฐ๋ฆฌ๋ ์์ ๋ฌดํ๋์ด๊ธฐ ๋๋ฌธ์ C๋ฅผ ํตํด์ ๋๋ฌํ๋ ๊ฒฝ๋ก๊ฐ ์ต๋จ๊ฑฐ๋ฆฌ๋ก ์
๋ฐ์ดํธ๋ ๊ฒ์ด๋ค. E์ ์ต๋จ๊ฑฐ๋ฆฌ๋
9 + 4 = 13
์ด ๋๋ค.
Phase 5
D ๋ ธ๋์ ๋ํด์ Relaxation์ ์ํํ๊ฒ๋๋ฉด E๋ก ์ฐ๊ฒฐ๋ ๊ฒฝ๋ก๋ง ํ์ธํด์ฃผ๋ฉด ๋๋ค. D๋ฅผ ๊ฑฐ์ณ์ E๋ก ๊ฐ๊ฒ๋๋ฉด 15์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฐ์ํ๋ค. ํ์ฌ E๋ก ๊ฐ๋ ์ต๋จ๊ฑฐ๋ฆฌ๋ 13์ด๊ธฐ ๋๋ฌธ์ ์ ๋ฐ์ดํธ ํ์ง ์๋๋ค.
Phase 6
๋ง์ง๋ง์ ์์นํ ์ ์ ์ ๋ ์ด์ ์ฐ๊ฒฐํ ์ ์ ์ด ์๊ธฐ ๋๋ฌธ์ Relaxation์ ์ํํ์ง ์๊ณ ๋ง์น๋ค.
Algorithm Analysis
DAG์์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ์๊ฐ๋ณต์ก๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ์์์ ๋ ฌ์ ์ํํ๋ ์๊ฐ ๐ฉ(V+E)
- ์ต์ด์ ๋ชจ๋ ์ ์ ์ ์ด๊ธฐํํ๋ ์๊ฐ ๐ฉ(|V|)
- ๊ฐ ์ ์ ์ ๋ํ Relaxation์ ์ํํ๋ ์๊ฐ ๐ฉ(|E|)
๋ฐ๋ผ์ ์ต์ข ์๊ฐ ๋ณต์ก๋๋ ์์ ์ธ ์ฐ์ฐ์ ๋ค ํฉ์ณค์ ๋์ ์ ๊ทผํ๊ธฐ์ธ ๐ฉ(V+E) ๊ฐ ๋๋ค.
'๐ฎ ์จ-์์ค > ๐ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote