Optimal Substructure
๊ฐ๊ฐ์ ์ ์ ์ฐ์ผ๋ฉด ์ธ๋ก์ ์ขํ๋ถํฐ ๊ฐ๋ก์ ์ขํ๋ก ๊ฐ๋ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๊ฒ ๋๋ค. Diagonol ํ ๊ฒ์ ์๊ธฐ ์์ ์ ๋ํด ๋์ํ๋ฏ๋ก 0์ผ๋ก ์ฑ์์ ธ์๋ค. (1,3) ๋ถํฐ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค. ๊ดํธ๋ฅผ ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ก ๋๋ ์ ์๋ค. ๋ง์ง๋ง Solution์ (1,6)์ ์์นํ๊ฒ ๋๋ค. (3,6)์ ๊ฒฝ์ฐ, A3๋ถํฐ A6๊น์ง ๊ณฑํ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์. Sub Problem์ ๋ํ Solution์ด ์กด์ฌํด์ผ ํ๊ณ ๊ทธ๊ฒ๋ค์ด Optimal ํด์ผ ํ๋ค. Optimal Solution์ ๊ตฌํ ๋ ์ด ์ ์ Sub Problem์ Solution์ Optimal ํ๋ค๋ ๊ฐ์ ์ ๊ฐ์ง๊ณ ๊ณ์ฐ์ ํ๋ฏ๋ก ๋ค์ ๊ณ์ฐํ์ง ์์๋ ๋๋ Bottom up ๋ฐฉ์์ด๋ค.
Optimal Substruction
Bottom ๋ถํฐ ์์ํด์ ์ญ์ญ ์ฌ๋ผ๊ฐ๊ณ ๊ทธ๋์ ๊ตฌํ ๊ฐ๋ค์ ๊ณ์ํด์ ์ฌ์ฉํ๊ฒ ๋๋ค. Optimalํ Solution์ ๊ฐ์ด๋ค.
Development of DP algorithms
optimal substructure๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ํ์ธ์ ํด์ผ ํ๋ค. ๋ฐฉ๊ธ ์ดํด๋ณธ ํ๋ ฌ์ ๊ณฑ์ ๊ฒฝ์ฐ A1๋ถํฐ An๊น์ง ๊ตฌํ๋๋ฐ Sub Problem์ ๋๋๋ ๊ฒฝ์ฐ๊ฐ ์ด๋ฅผ ํ์ธํ๋ ๊ณผ์ ์ด ๋๋ค. ๋ ๋ฒ์งธ๋ก, Sub problem๊ณผ ์ด๋ค ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์์์ ์ ํด์ผ ํ๋ค. ์ธ ๋ฒ์งธ๋ก, ์ ํ ์์ ๋ฐ๋ผ์ Solution์ ๊ฒฐ์ ํ๋ค. ๊ณ์ฐํ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ ์ํ solution๊ณผ ๋ค๋ฅผ ์ ์๋ค. MCM ๋ฌธ์ ์์ ๊ณฑํ๊ธฐ ํ์๊ฐ ๊ฐ์ฅ ์ ์ ๊ฒ์ ์ค์ฌ์ผ๋ก ํ์ง๋ง ์ค์ ๋ก ์ฐ๋ฆฌ๊ฐ ์ํ ๊ฒ์ ์ด๋ป๊ฒ Split์ ํ๋ ์ง๋ฅผ ์๊ณ ์ถ์๋ ๊ฒ์ด๋ค.
Step 2
m[i,j] ๋ผ๋ term์ ์ ์ํ๋ค. Ai ๋ถํฐ Aj๊น์ง ํ๋ ฌ์ ๊ณฑํ๋๋ฐ ํ์ํ ์ต์ ๊ณ์ฐ ๊ฐ์์ด๋ค. ์๊น square ํ๋ํ๋๊ฐ M[i,j] ๊ฐ ๋๋ค. Split์ด Ak์ Ak+1์์ ์ผ์ด๋ฌ๋ค๊ณ ํ๋ฉด Diagonalํ ๊ณณ์๋ 0์ ๊ฐ์ด ๋ค์ด๊ฐ๋ค(๊ณฑํ ํ์๊ฐ ์์ผ๋ฏ๋ก). AiAi+1,,, Ak Ak+1 ,,, Aj Split์ด k์ k+1 ์ฌ์ด์์ ์ผ์ด๋๋ค.
Computing the optimal costs
์ด์ ์ ์ฌ์ฉํ ๊ฐ๊ณผ ํ๋ ฌ์ ํฌ๊ธฐ์ ๋ฐ๋ฅธ ๊ณฑ์
์ ํ์๋ฅผ ๋ํ๊ฒ ๋๋ค. p๊ฐ ํ๋ ฌ์ ํฌ๊ธฐ๊ฐ ๋๋ค. k = 3,4,5์ผ๋ ๊ณฑ์
์ ํ์์ ๋ฐ๋ผ์ min ๊ฐ ์ ํํด์ 3,6์ ์ ์ฅ์ ํด ๋๋๋ค.
'๐ Major Study (Bachelor) > ๐จ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๊ณ ๋ฆฌ์ฆ 4์ฃผ์ฐจ ๋ชฉ์์ผ (0) | 2022.03.24 |
---|---|
์๊ณ ๋ฆฌ์ฆ 4์ฃผ์ฐจ ์์์ผ ๊ฐ์ (0) | 2022.03.24 |
์๊ณ ๋ฆฌ์ฆ 3์ฃผ์ฐจ ๋ชฉ์์ผ ๊ฐ์ (0) | 2022.03.17 |
์๊ณ ๋ฆฌ์ฆ 3์ฃผ์ฐจ ์์์ผ ๊ฐ์ (0) | 2022.03.14 |
์๊ณ ๋ฆฌ์ฆ 2์ฃผ์ฐจ ๋ชฉ์์ผ (0) | 2022.03.10 |