โจ ์ ์ ์๊ณ ๋ฆฌ์ฆ ์์๋
0๏ธโฃ Define : ์ ์
-
๐ Type of Variables/Encoding : ๋ณ์ ์ ํ ๋ฐ ์ธ์ฝ๋ฉ
์ ์ ์๊ณ ๋ฆฌ์ฆ์์ ๋ณ์(์ ์ ์) ๋ ๋ฌธ์ ์ ํด(solution) ๋ฅผ ํํํ๋ ์์
์ธ์ฝ๋ฉ(Encoding) ์ ์ด๋ฌํ ๋ณ์๋ค์ GA์์ ์ฒ๋ฆฌํ ์ ์๋ ํ์(์ ์ ์ํ)์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธ
๋ํ์ ์ธ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ
โธ ์ด์ง ์ธ์ฝ๋ฉ(Binary Encoding) : 0๊ณผ 1๋ก ํํ (์ : 101101)
โธ ์ค์ ์ธ์ฝ๋ฉ(Real-valued Encoding) : ์ค์ ๊ฐ์ผ๋ก ํํ (์ : 3.25, -1.78, 5.94)
โธ ์์ด ์ธ์ฝ๋ฉ(Permutation Encoding) : ์์ด๋ก ํํ (์ : 3, 1, 4, 2)
โธ ๋ฌธ์์ด ์ธ์ฝ๋ฉ(String Encoding) : ๋ฌธ์์ด ๋๋ ๊ธฐํธ๋ก ํํ (์: โABCDโ,โx+y*zโ)
-
๐ Fitness Function : ์ ํฉ๋ ํจ์
GA์์ ์ ํฉ๋ ํจ์๋ ๊ฐ ๊ฐ์ฒด(ํด)์ ํ์ง์ ํ๊ฐํ๋ ํจ์
๋ชฉํ๋ ๋์ ์ ํฉ๋๋ฅผ ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ์ ํํ์ฌ ์ ์ง์ ์ผ๋ก ๋ ๋์ ํด๋ฅผ ์ฐพ๋ ๊ฒ
์์
โธ ํ๊ท ๋ฌธ์ ์์๋ MSE(Mean Squared Error)๋ฅผ ์ ํฉ๋ ํจ์๋ก ์ฌ์ฉ ๊ฐ๋ฅ
โธ ์ต์ ํ ๋ฌธ์ ์์๋ ๋ชฉ์ ํจ์(objective function)๋ฅผ ์ ํฉ๋ ํจ์๋ก ํ์ฉ ๊ฐ๋ฅ
-
๐ GA Parameters : ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ ๋งค๊ฐ๋ณ์
โธ ์ง๋จ ํฌ๊ธฐ(Population Size)
ย ย ย - ํ ์ธ๋์์ ์ ์งํ๋ ๊ฐ์ฒด(ํด)์ ์
ย ย ย - ์ผ๋ฐ์ ์ผ๋ก ๋๋ฌด ์์ผ๋ฉด ํ์์ด ๋ถ์กฑํ๊ณ , ๋๋ฌด ํฌ๋ฉด ์ฐ์ฐ ๋น์ฉ์ด ์ฆ๊ฐํจโธ ๋ณ์ด ํ๋ฅ (Mutation Rate, )
ย ย ย - ์ ์ ์ ๋์ฐ๋ณ์ด๊ฐ ๋ฐ์ํ ํ๋ฅ
ย ย ย - ๋ฎ์ผ๋ฉด ํ์์ด ๋ถ์กฑํ๊ณ , ๋๋ฌด ๋์ผ๋ฉด ๋ฌด์์ ํ์์ ๊ฐ๊น์์ง ์ ์์โธ ๊ต์ฐจ ํ๋ฅ (Crossover Rate, )
ย ย ย - ๋ ๊ฐ์ฒด๊ฐ ๊ต์ฐจํ์ฌ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ๋ฅ
ย ย ย - ์ผ๋ฐ์ ์ผ๋ก ๋์ ๊ฐ(0.7~0.9)์ด ์ฌ์ฉ๋จโธ ์ธ๋ ์ (Number of Generations)
ย ย ย - GA๊ฐ ์คํ๋ ์ด ์ธ๋(๋ฐ๋ณต ํ์)
ย ย ย - ์ถฉ๋ถํ ์ธ๋๊ฐ ํ์ํ์ง๋ง ๋๋ฌด ๋ง์ผ๋ฉด ๊ณ์ฐ ๋น์ฉ์ด ์ฆ๊ฐํ ์ ์์
- ๐ Convergence Criteria : ์๋ ด ๊ธฐ์ค
โธ ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฃํ ์์ ์ ๊ฒฐ์ ํ๋ ์กฐ๊ฑด
โธ ์ผ๋ฐ์ ์ธ ์๋ ด ๊ธฐ์ค
ย ย ย - ์ธ๋ ์๊ฐ ํน์ ๊ฐ์ ๋๋ฌํ ๋
ย ย ย - ์ ํฉ๋ ๊ฐ์ด ํน์ ์๊ณ๊ฐ์ ์ด๊ณผํ ๋
ย ย ย - ๊ฐ์ฒด๊ตฐ์ ๋ค์์ฑ์ด ๋๋ฌด ๋ฎ์์ง ๋
ย ย ย - ์ต๊ทผ ๋ช ์ธ๋ ๋์ ๊ฐ์ ์ด ์์ ๋
0๏ธโฃ Generate Initial Population : ์ด๊ธฐ ๋ชจ์ง๋จ(๊ฐ์ฒด๊ตฐ) ์์ฑ
- ์ ์ ์๊ณ ๋ฆฌ์ฆ(GA)์์ ์ด๊ธฐ ๋ชจ์ง๋จ(Initial Population) ์ ํ์์ ์์ํ๋ ์ฒซ ๋ฒ์งธ ์ธ๋๋ฅผ ์๋ฏธ
- ์ด๊ธฐ ๊ฐ์ฒด๊ตฐ์ ์ด๋ป๊ฒ ์์ฑํ๋๋์ ๋ฐ๋ผ ํ์ ์ฑ๋ฅ๊ณผ ์ต์ ํด ๋ฐ๊ฒฌ ์๋๊ฐ ์ํฅ์ ๋ฐ์ ์ ์์
-
๐ ์ด๊ธฐ ๋ชจ์ง๋จ ์์ฑ ๋ฐฉ๋ฒ
โธ ์ผ๋ฐ์ ์ผ๋ก ๋ฌด์์(random initialization) ๋๋ ๋ฌธ์ ์ ๋ง์ถ ์ด๊ธฐํ(domain-specific initialization) ๋ฐฉ๋ฒ์ด ์ฌ์ฉ๋จ
๋ฌด์์ ์ด๊ธฐํ (Random Initialization)
โธ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก, ๋ณ์์ ๋ฒ์ ๋ด์์ ๊ฐ์ฒด๋ฅผ ๋ฌด์์๋ก ์์ฑ
โธ ๋ค์ํ ํด๋ฅผ ํ์ํ ์ ์๋๋ก ๋ณด์ฅํ์ง๋ง, ์ด๊ธฐ ํด๊ฐ ๋ฌธ์ ์ ๋๋ฌด ๋๋จ์ด์ง ์๋ ์์๊ท ๋ฑ ๋ถํฌ ์ด๊ธฐํ (Uniform Initialization)
โธ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก, ๋ณ์์ ๋ฒ์ ๋ด์์ ๊ฐ์ฒด๋ฅผ ๋ฌด์์๋ก ์์ฑ
โธ ์์ : (์ค์ ์ธ์ฝ๋ฉ, ๋ฒ์ [-5, 5]) โ [4.2, -3.1, 0.8] / [-2.5, 1.9, 3.6] ์ ๊ฐ์ ๊ฒฐ๊ณผ ์์ฑ๋ฌธ์ ๊ธฐ๋ฐ ์ด๊ธฐํ (Heuristic or Domain-Specific Initialization)
โธ ๋ฌธ์ ์ ํน์ฑ์ ๊ณ ๋ คํ์ฌ ์ด๊ธฐ ํด๋ฅผ ์์ฑ
โธ ์๋ฅผ ๋ค์ด, ์ฌํํ๋ ์ธํ์ ๋ฌธ์ (TSP)์์๋ ๊ฐ๋ฅํ ๊ฒฝ๋ก๋ฅผ ์ผ๋ถ ๋๋คํ๊ฒ ์กฐ์ ํ์ฌ ์ด๊ธฐ ํด๋ก ์ฌ์ฉ ๊ฐ๋ฅ
โธ ์ต์ ํด์ ๋ ๋นจ๋ฆฌ ์๋ ดํ ์ ์์ง๋ง, ์ด๊ธฐ ํด๊ฐ ๋๋ฌด ์ ์ฌํ๋ฉด ๋ค์์ฑ์ด ๋ถ์กฑํด์ง ์ํ์ด ์์๊ธฐ์กด ์๋ฃจ์ ๊ธฐ๋ฐ ์ด๊ธฐํ (Seeded Initialization)
โธ ์ด๋ฏธ ์กด์ฌํ๋ ์ข์ ํด(solution)๋ฅผ ์ผ๋ถ ํฌํจํ์ฌ ์ด๊ธฐ ๊ฐ์ฒด๊ตฐ์ ๊ตฌ์ฑ
โธ ์๋ฅผ ๋ค์ด, ๊ธฐ๊ณ ํ์ต์์ ๊ธฐ์กด ๋ชจ๋ธ์ ๊ฐ์ค์น๋ฅผ ์ผ๋ถ ํ์ฉํ์ฌ ์๋ก์ด GA๋ฅผ ์์ํ ์ ์์
- ๐ ์ด๊ธฐ ๊ฐ์ฒด๊ตฐ ํฌ๊ธฐ (Population Size)
โธ ๋๋ฌด ์์ผ๋ฉด ํ์ ๋ฒ์๊ฐ ์ ํ๋๋ฉฐ ์ต์ ํด๋ฅผ ์ฐพ๊ธฐ ์ด๋ ค์ธ ์ ์์
โธ ๋๋ฌด ํฌ๋ฉด ๊ณ์ฐ ๋น์ฉ์ด ์ฆ๊ฐํ์ง๋ง ๋ ๋ค์ํ ํด๋ฅผ ํ์ํ ์ ์์
โธ ์ผ๋ฐ์ ์ผ๋ก ๊ฒฝํ์ ์ผ๋ก ์ค์ ํ๋ฉฐ, ๋ฌธ์ ์ ๋ณต์ก์ฑ์ ๋ฐ๋ผ 20~1000๊ฐ ์ ๋์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉ
- ๐ ์ด๊ธฐ ๋ชจ์ง๋จ์ ์ญํ
โธ GA๋ ์ง๋จ ๊ธฐ๋ฐ ํ์์ด๋ฏ๋ก ์ด๊ธฐ ๋ชจ์ง๋จ์ ๋ค์์ฑ์ด ์ค์ํจ
โธ ์ด๊ธฐ ๋ชจ์ง๋จ์ด ํน์ ์์ญ์ ์ง์ค๋๋ฉด ์ง์ญ ์ต์ ํด(Local Optimum)์ ๋น ์ง ์ํ์ด ์ปค์ง
โธ ๋ฐ๋ผ์, ์ผ๋ฐ์ ์ผ๋ก ๋ฌด์์ ์ด๊ธฐํ + ๋ฌธ์ ๊ธฐ๋ฐ ์ด๊ธฐํ๋ฅผ ํผํฉํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ๊ณผ์
1๏ธโฃ Fitness Evaluation : ์ ํฉ๋ ํ๊ฐ
- ๊ฐ ๊ฐ์ฒด(ํด)๊ฐ ๋ฌธ์ ๋ฅผ ์ผ๋ง๋ ์ ํด๊ฒฐํ๋์ง ํ๊ฐ
- ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํฉ๋(Fitness)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ ์ข์ ํด๋ฅผ ์ ํํ์ฌ ์งํํ๊ธฐ ๋๋ฌธ์, ์ ํฉ๋ ํ๊ฐ๊ฐ ์์ผ๋ฉด ์ด๋ค ๊ฐ์ฒด๊ฐ ์ข์์ง ํ๋จํ ์ ์์
1๏ธโฃ Convergence Check : ์๋ ด ๊ฒ์ฌ
- GA๋ ํน์ ์กฐ๊ฑด์์ ์กฐ๊ธฐ์ ์ข ๋ฃ๋ ์๋ ์์
- ์ด๊ธฐ ๋ชจ์ง๋จ์ด ์ด๋ฏธ ์ต์ ํด๋ฅผ ํฌํจํ๊ณ ์๋ค๋ฉด ๋ถํ์ํ ๋ฐ๋ณต์ ์ค์ด๊ธฐ ์ํด ์ข ๋ฃํ๋ ๊ฒ์ด ํจ์จ์
2๏ธโฃ Selection : ์ ํ ์ฐ์ฐ
- ์ ์ ์๊ณ ๋ฆฌ์ฆ(GA)์์ ๋ค์ ์ธ๋๋ฅผ ์์ฑํ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ๊ฒฐ์ ํ๋ ๊ณผ์
- ์ ํฉ๋๊ฐ ๋์ ๊ฐ์ฒด๋ฅผ ๋ ๋ง์ด ์ ํํ์ฌ ์งํ์ ๋ฐฉํฅ์ ์ต์ ํด๋ก ์ ๋
- ํ์ ๊ณต๊ฐ์ ๋ค์์ฑ์ ์ ์งํ์ฌ ๊ตญ์ ์ต์ ํด(Local Optimum)์ ๋น ์ง๋ ๊ฒ์ ๋ฐฉ์ง
- ๊ฐ์ฒด๊ตฐ์ด ์ ์ง์ ์ผ๋ก ๋ฐ์ ํ๋๋ก ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฆ์ ์กฐ์
- ๋ค์ํ ์ ํ ์ฐ์ฐ ๋ฐฉ๋ฒ
3๏ธโฃ Crossover : ๊ต์ฐจ ์ฐ์ฐ
- ์ ํ๋ ๋ถ๋ชจ ๊ฐ์ฒด๋ค์ ์ ์ ์ ๋ณด๋ฅผ ์กฐํฉํ์ฌ ์๋ก์ด ์์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ณผ์
- ๊ธฐ์กด ๊ฐ์ฒด๋ค์ ํน์ฑ์ ๋ฌผ๋ ค๋ฐ์ผ๋ฉด์๋ ์๋ก์ด ํด๋ฅผ ํ์ํ ์ ์๋๋ก ํจ
- ๋ค์ํ ๊ต์ฐจ ๋ฐฉ์(๋จ์ผ ์ง์ ๊ต์ฐจ, ๋ค์ค ์ง์ ๊ต์ฐจ, ๊ท ๋ฑ ๊ต์ฐจ ๋ฑ)์ ์ ์ฉํ ์ ์์
- ์ ์ ํ ๊ต์ฐจ ์ฐ์ฐ์ ์ฌ์ฉํ๋ฉด ํ์ ๋ฅ๋ ฅ์ ํฅ์์ํค๊ณ ํด์ ์ง์ ๋์ผ ์ ์์
4๏ธโฃ Mutation : ๋์ฐ๋ณ์ด ์ฐ์ฐ
- ๊ฐ์ฒด์ ์ผ๋ถ ์ ์ ์๋ฅผ ํ๋ฅ ์ ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ๋ค์์ฑ์ ์ ์งํ๋ ๊ณผ์
- ์๋ก์ด ํ์ ๊ณต๊ฐ์ ์ด์ด ๊ตญ์ ์ต์ ํด(Local Optimum)์์ ํ์ถํ ๊ฐ๋ฅ์ฑ์ ๋์
- ๋์ฐ๋ณ์ด ํ๋ฅ ์ด ๋๋ฌด ๋์ผ๋ฉด ๋ฌด์์ ํ์์ ๊ฐ๊น์์ง๊ณ , ๋๋ฌด ๋ฎ์ผ๋ฉด ๋ค์์ฑ์ด ๋ถ์กฑํด์ง ์ ์์
- ๋ค์ํ ๋์ฐ๋ณ์ด ๊ธฐ๋ฒ(๋นํธ ํ๋ฆฝ, ์ค์ ๋ณ์ด, ์ญ์ ๋ณ์ด ๋ฑ)์ ํ์ฉ ๊ฐ๋ฅ
5๏ธโฃ Next Generation Population : ์๋ก์ด ๋ชจ์ง๋จ ๊ตฌ์ฑ
- ์์ฑ๋ ์์ ํด๋ค๋ก ์๋ก์ด ๊ฐ์ฒด๊ตฐ์ ํ์ฑ.
๐ 1~5 ๊ณผ์ ๋ฐ๋ณต
- ์ข ๋ฃ ์กฐ๊ฑด์ ๋ฌ์ฑํ ๋๊น์ง ๋ฐ๋ณตํ์ฌ ์ต์ ํด ํ์.