์ต์ ์ ๊ฐ์ ๊ตฌํด์ผ ํ๋ ์ํฉ์์ ์ฌ์ฉ๋จ
๊ทผ์์์ ์ธ ๋ฐฉ๋ฒ๋ก ์ผ๋ก ๊ฐ ๋จ๊ณ์์ ์ต์ ์ด๋ผ๊ณ ์๊ฐ๋๋ ๊ฒ์ ์ ํ ํด ๋๊ฐ๋ ๋ฐฉ์์ผ๋ก ์งํํ์ฌ ์ต์ข
์ ์ธ ํด๋ต์ ๋๋ฌํ๋ ์๊ณ ๋ฆฌ์ฆ.
ํญ์ ์ต์ ์ ๊ฐ์ ๋ณด์ฅํ๋๊ฒ์ด ์๋๋ผ ์ต์ ์ ๊ฐ์ ๊ทผ์ฌํ ๊ฐ์ ๋ชฉํ
์ฃผ๋ก ๋ฌธ์ ๋ฅผ ๋ถํ ๊ฐ๋ฅํ ๋ฌธ์ ๋ค๋ก ๋ถํ ํ ๋ค, ๊ฐ ๋ฌธ์ ๋ค์ ๋ํ ์ต์ ํด๋ฅผ ๊ตฌํ ๋ค ์ด๋ฅผ ๊ฒฐํฉํ์ฌ ์ ์ฒด ๋ฌธ์ ์ ์ต์ ํด๋ฅผ ๊ตฌํ๋ ๊ฒฝ์ฐ์ ์ฃผ๋ก ์ฌ์ฉ
๊ทผ์์์ ๋ฐฉ๋ฒ๋ก: ๋จ๊ธฐ์ ์ธ ๋ชฉํ๋ฅผ ์ค์ฌ์ผ๋ก ํ ์ ๋ต์ ์ธ ์ ๊ทผ ๋ฐฉ๋ฒ์ ์๋ฏธ. ์ด ๋ฐฉ๋ฒ๋ก ์ ์ฃผ๋ก ํ์ฌ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ๋ฉฐ, ์ฅ๊ธฐ์ ์ธ ์ ๋ง๋ณด๋ค๋ ๋จ๊ธฐ์ ์ธ ์ฑ๊ณผ๋ฅผ ์ค์์ํจ๊ทผ์ฌ ์๊ณ ๋ฆฌ์ฆ(Approximation Algorithm): ์ต์ ์ ํด๋ฅผ ๊ตฌํ ์ ์๋ ๋ฌธ์ ์์ ๊ทผ์ฌํ ํด๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ. ๊ทผ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ํญ์ ์ต์ ํด๋ฅผ ๋ณด์ฅํ์ง๋ ์์ง๋ง, ๋ง์ ๊ฒฝ์ฐ์๋ ์ต์ ํด์ ๊ทผ์ ํ ๊ฐ์ ๊ตฌํ ์ ์์- ์๋ฅผ ๋ค์ด, ๋
ธ๋์์ ๊ฐ์ฅ ํฉ์ด ๋์ ๋ฐฉ๋ฒ์ ์ ํํ๋ ๊ฒฝ์ฐ -> ๊ฐ๊ฐ ์ํฉ์์ '์ต์ '์ด๋ผ๊ณ ์๊ฐํ๋ ๋ฐฉ๋ฒ์ ์ ํ (
์ํฉ์์ ๊ฐ์ฅ ๋์ ์๋ฅผ ์ ํํ๊ธฐ)

2๊ฐ์ง ์กฐ๊ฑด์ด ์ฑ๋ฆฝํด์ผ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ ๊ฐ๋ฅ
- ํ์ ์ ํ ์์ฑ(Greedy Choice Property)
- ๊ฐ ๋จ๊ณ์์ โ์ต์ ์ ์ ํโ์ ํ์ ๋ ์ ์ฒด ๋ฌธ์ ์ ๋ํ ์ต์ ํด๋ฅผ ๊ตฌํ ์ ์๋ ๊ฒฝ์ฐ
- ๊ฐ ๋จ๊ณ์์ ๊ฐ์ฅ ์ด์์ ์ธ ์ ํ์ ํ๋ ๊ฒ์ด ์ ์ฒด์ ์ผ๋ก ์ต์ ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์จ๋ค๋ ๊ฒ
- ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ(Optimal Substructure)
- ์ ์ฒด ๋ฌธ์ ์ ์ต์ ํด๊ฐ โ๋ถ๋ถ ๋ฌธ์ ์ ์ต์ ํด๋ก ๊ตฌ์ฑโ๋ ์ ์๋ ๊ฒฝ์ฐ
- ์ ์ฒด ๋ฌธ์ ๋ฅผ ์์ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋๋์ด ๊ฐ๊ฐ์ ๋ถ๋ถ ๋ฌธ์ ์์ ์ต์ ์ ํด๋ฅผ ๊ตฌํ ํ ์ด๋ฅผ ์กฐํฉํ์ฌ ์ ์ฒด ๋ฌธ์ ์ ์ต์ ํด๋ฅผ ๊ตฌํ๋ ๊ฒ์ ์๋ฏธ
- ๋ฌธ์ ์ ์ต์ ํด ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์
- ๋ฌธ์ ์ ๊ตฌ์กฐ์ ๋ง๊ฒ ์ ํ ์ ์ฐจ๋ฅผ ์ ์ : ์ ํ ์ ์ฐจ(Selection Procedure)
ํ์ฌ ์ํ์์๊ฐ์ฅ ์ต์ ์ธ ์ ํ์ ์ํ
- ์ ํ ์ ์ฐจ์ ๋ฐ๋ผ ์ ํ์ ์ํ
- ์ ํ๋ ํด๊ฐ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ๊ฒ์ฌ : ์ ์ ์ฑ ๊ฒ์ฌ(Feasibility Check)
- ์ ํํ ํญ๋ชฉ์ด
๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋์ง ํ์ธ
- ์ ํํ ํญ๋ชฉ์ด
- ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์ผ๋ฉด ํด๋น ํด๋ฅผ ์ ์ธ
- ๋ชจ๋ ์ ํ์ด ์๋ฃ๋๋ฉด ํด๋ต์ ๊ฒ์ฌ : ํด๋ต ๊ฒ์ฌ(Solution Check)
- ๋ชจ๋ ์ ํ์ด ์๋ฃ๋๋ฉด,
์ต์ข ์ ํ์ด๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋์ง ํ์ธ
- ๋ชจ๋ ์ ํ์ด ์๋ฃ๋๋ฉด,
- ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์ผ๋ฉด ํด๋ต์ผ๋ก ์ธ์ ๋์ง ์์
- DP์ ๋ฌ๋ฆฌ ์ค๋ณต ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ X
- DP๋ ๋ชจ๋ ์ํฉ์ ๊ณ์ฐํ์ฌ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๊ธฐ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง, ํ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ ๋จ๊ณ์ ์ํฉ์์ ์ต์ ์ ์ ํํ์ฌ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ๊ตฌํจ