728x90
Greedy Algorithm
Dynamic Programming is Blind
๋ญ๊ฐ ์ ๋ณด์ด์ง ์๋ ์ํ์์ ํธ๋ ๋ฌธ์ ์ ๋๋์ด๋ผ๋ ๊ฒ. matrix chain์ด๋ LCS๊ฐ์ ๊ฒฝ์ฐ์ Time Complexity๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ธํ๋ผ๊ณ ํํ์ ํด์ผ ํ๋ค. (์ ์ ํ์) LCS์ ๊ฒฝ์ฐ M๊ณผ N์ด order๊ฐ ๋น์ทํ๋ค๊ณ ํ๋ฉด ์ธํ M^2๊น์ง ๊ฐ๋ฅํ ์ ๋ ์๋ค. ๋น๊ต์ ์ฐจ์๊ฐ ๋๊ฒ ๋์จ๋ค. ์ ๊ทธ๋ฐ๊ฐ? Optimal solution์ ๊ณ์ฐํ ๋ ์ ํ์ด ๊ต์ฅํ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์กด์ฌํ๋ค. ๊ทธ ์ ํ์ด ์ด๋๊ฒ ์ณ์ ์ ํ์ธ์ง ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ ๋ คํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
Example: MCM
๋งจ์ฒ์ (1,6)์ ์๋ ๊ฒ ์ค ์ต์ ์ ๊ฐ์ ์ํด์ ์ด 5๋ฒ์ ๊ณฑ์
์ ๊ณ์ฐํ๊ฒ ๋๋ค. ๊ทธ ์ค ์ต์ ์ ๊ฐ์ธ ๋
ธ๋์์ด ์ฑํ์ด ๋๋ค. ์ด๋ ๊ฒ์ด ์ต์ ์ ๊ฐ์ ๋ํ๋ด๋ ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ Blind ํ๋ค๊ณ ํํ์ ํ๋ค. ์์น ๋์ด ์์ง ์์ ๊ฒ๋ค๋ ๋ค ๊ณ์ฐํ๋๋ผ ์๊ฐ ๋ญ๋น๋ฅผ ํ๊ฒ ๋๋ค. MCM ๋ฌธ์ ๋ ๋ฌผ๋ก ๊ทธ๋ ๊ฒ ์ ์ ์๊ฐ์ผ๋ก ํ ์ ์๋ค๋ ๊ฒ์ ์๋์ง๋ง ํ์ ์๋ ๋ถ๋ถ์ ๊ณ์ฐํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ์ฌ๋ก๋ก ๊ฐ์ ธ์จ ๊ฒ์ด๋ค. DP ๋ง์ ๋ ๋ถํ์ํ ์ธก๋ฉด์ด ์กด์ฌํ๊ฒ ๋๊ธฐ๋ ํ๋ค. ์ด๋ค ์ ํ์ด ์ต๊ณ ์ธ์ง ์ต์ ์ ์ ํ์ธ์ง ์ ์ฝํ๋ ์กฐ๊ฑด์ด ์๋ค๋ฉด ํ์์๋ ๊ณ์ฐ์ ํ์ง ์๊ณ ๋ ์ ํ์ ํ ์ ์์ง ์์๊น? ๋ผ๋ ๊ฒ์ผ๋ก ๋ถํฐ
์ถ๋ฐ์ ํ๋ค. Greedy Algorithm์ ์ด๋ค ๊ฒ์ด ์ต์ ์ ์ ํ์ธ์ง ์ฐพ๊ธฐ ์ํด ์์
์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
Greedy Algorithm
์ต์ ํ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์ด๋ค ์ฑ์ง์ ๊ฐ์ง๊ณ ์๋ ๊ฒ๋ค์ Greedy ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ ์ ์๋ค. ์ด๋ค ์๊ฐ์ ์ต์ ์ผ๋ก ๋ณด์ด๋ ์ ํ๋ค์ ํ๊ฒ ๋๋ค. ์ต์ ์ ์ ํ์ ๊ณ์ํด์ ํด๋๊ฐ๋ค. local optimum์ด๋ ๋งค ์๊ฐ์ ์ต์ ์ ์ ํ์ ์๋ฏธํ๋ค. ๊ฒฐ๊ตญ ๋ง์ง๋ง ์๊ฐ์ ๊ฐ์ ๋ Globalํ๊ฒ ๋ดค์ ๋ ์ต์ ์ ์ ํ์ด์๋ค๊ณ ๋งํ ์ ์๋ ๋ฌธ์ ๋ค์ Greedy๋ก ํ ์ ์๋ค.
Coin change
์๋์ ์ค ๋ ์ต์ํ์ ๊ฐ์๋ก ์ฃผ๋ ๋ฐฉ๋ฒ์ ๊ตฌํ๋ ๊ฒ. 760์์ ๊ฐ์ฅ ํฐ denomination์ 500์์ด๋ค. 760์์ 500์ ๋บ 260 ์ด๊ณ 260์์ 100์์ง๋ฆฌ 2๊ฐ๋ฅผ ์ฌ์ฉํ๋ฉด 60์์ด ๋จ๋๋ค. 60์์ ๋ค์ ๊ฒ์ 50์์ ๋นผ๋ ๊ฒ์ด๊ณ 10์์ด ๋จ์ผ๋ฉด 10์ ํ๋๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
An activity-selection problem
์ฌ๋ฌ ๊ฐ์ ์ค์ผ์ค์ ๊ด๋ฆฌํ๊ณ ์ถ์ ๊ฒ์ด๋ค. ํ์ง๋ง ๊ณตํต์ ์์์ ํ์๋ก ํ๋ ์ํฉ์ด๋ค. maximum size set of mutually compatible activities ๊ฐ์ฅ ๋ง์ ์์ activity๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒ์ด๋ค. ์๊ฐ์ด ๊ฒน์น์ง ์๋๋ก ์ ํํ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง์ set์ด ์กด์ฌํ๋ค. ๋ง์ฝ mutually exclusiveํ๋ค๊ณ ํ๋ฉด ์ด ๊ฒฝ์ฐ 4๊ฐ๊ฐ maximum size๊ฐ ๋๋ค. ai๋ผ๋ activity๋ฅผ [si, fi) ๋ก ํํ์ ํ ์ ์๋ค. sorting์ ํ๋๋ฐ finish time์ ๊ฐ์ง๊ณ sorting์ ์งํํ๋ค.
An activity selection problem
Mutually compatibleํ๋ค๋ ๊ฒ์ ์์๊ณผ ๋์ ์ ๊ธฐ์ค์ผ๋ก ๊ฒน์น์ง ์๋ ์๊ฐ๋์ set์ ์๋ฏธํ๋ค.
The Structure of an Optimal Schedule
S์ค์ ๋ถ๋ถ ์งํฉ. ๋๋ ํ์ ์์ํ๊ณ ์์ํ๊ธฐ ์ ์ ๋๋๋ ๊ฒ. ai๊ฐ ๋๋ ํ ์์๋๊ณ aj๊ฐ ์์ํ๊ธฐ ์ ์ ๋๋๋ ๊ฒ๋ค์ ์๋ฏธํ๋ค.
The Structure of an Optimal Schedule
DP๋ก ํธ๋ ๊ฒ์ ์๊ฐํด๋ณด์.
An activity selection problem
local optimum ์ด global optimal ํ๊ฒ ์ ๊ทผํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
Theorem
Empty Set์ด ์๋๊ณ am์ ๊ฐ์ฅ ๋นจ๋ฆฌ ๋๋๋ activity๋ผ๊ณ ๊ฐ์ ํด๋ณด์.
'๐ Major Study (Bachelor) > ๐จ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๊ณ ๋ฆฌ์ฆ 6์ฃผ์ฐจ ๋ชฉ์์ผ (0) | 2022.04.07 |
---|---|
์๊ณ ๋ฆฌ์ฆ 6์ฃผ์ฐจ ๊ฐ์ (0) | 2022.04.04 |
์๊ณ ๋ฆฌ์ฆ 4์ฃผ์ฐจ ๋ชฉ์์ผ (0) | 2022.03.24 |
์๊ณ ๋ฆฌ์ฆ 4์ฃผ์ฐจ ์์์ผ ๊ฐ์ (0) | 2022.03.24 |
์๊ณ ๋ฆฌ์ฆ 4์ฃผ์ฐจ ์์์ผ ๊ฐ์ (0) | 2022.03.20 |