๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐“ก๐“ธ๐“ธ๐“ถ5: ๐’ฆ๐‘œ๐“‡๐‘’๐’ถ ๐’ฐ๐“ƒ๐’พ๐“‹/Artificial Intelligence(COSE361)

[์ธ๊ณต์ง€๋Šฅ] 4. Beyond Classical Search - 1

1. Local Search algorithm

 : Local Search algoritms์€ single current node์™€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ทธ ๋…ธ๋“œ์˜ neighbors node๋กœ ์›€์ง์ด๋Š” operation์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ „ํ˜•์ ์œผ๋กœ search์— ์˜ํ•ด ๋”ฐ๋ผ์˜ค๋Š” path๋Š” ์œ ์ง€๋˜์ง€ ์•Š๋Š”๋‹ค.

  -> ๊ทธ๋ž˜์„œ little memory๋งŒ ์‚ฌ์šฉ (๋ณดํ†ต constant amount)

  -> ์•„์ฃผ ํฌ๊ฑฐ๋‚˜ infinite(continuous)ํ•œ state space์—์„œ ๋‚ฉ๋“ํ• ๋งŒํ•œ solution์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. (systematic algorithms์€ ์ ํ•ฉํ•˜์ง€ ์•Š๊ฑธ๋ž‘)

  -> ๋˜ํ•œ local search algorithm์€ optimization problem(objective funtion์— ๋”ฐ๋ผ ๊ฐ€์žฅ best state๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ธ ๋ฌธ์ œ)์„ ํ‘ธ๋Š”๋ฐ ์œ ์šฉํ•˜๋‹ค. 

 

  1) Hill-climbing search

 : objective function์— ์˜ํ•ด ํ˜„์žฌ state๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ข‹์€์ง€ ํŒ๋‹จํ•ด์„œ, ๋” ๊ฐ’์ด ํฐ ๊ณณ์œผ๋กœ ์ด๋™ํ•ด maximum์„ ์ฐพ๋Š”๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ๋‹จ์ˆœํ•˜๋‹ค. neighbor ์— current์˜ successor์ค‘ ๊ฐ€์žฅ ๋†’์€ valu๋ฅผ ๊ฐ€์ง„ ์•„์ด๋ฅผ ๋„ฃ๊ณ , ํ˜„์žฌ value๋ณด๋‹ค ๋†’์œผ๋ฉด neighbor๋กœ ์ด๋™

HillClimbing search๋กœ 8-queens๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž.

8-queens ๋ฌธ์ œ๋Š” ๊ฐ™์€ ํ–‰/ ์—ด/ ๋Œ€๊ฐ์„ ๋ผ๋ฆฌ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•  ๋•Œ, ์„œ๋กœ ๊ณต๊ฒฉํ•˜์ง€ ์•Š๊ฒŒ ๋ฐฐ์น˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

ํ•œ ๊ฐœ์˜ ํ€ธ์„ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด action์ด๊ณ  ๊ณต๊ฒฉ ๊ฐ€๋Šฅํ•œ set์˜ ๊ฐœ์ˆ˜๋ฅผ object function value๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ์ด ๊ฐ’์„ descent, ์ฆ‰ ๋‚ด๋ ค์™€์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰ ์•ž์„  ์„ค๋ช…๊ณผ ๋‹ฌ๋ฆฌ minimum ๊ฐ’์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

 

- hill-climbing search ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ value๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„์† ์›€์ง์ด๋Š” ์•„์ฃผ ๋‹จ์ˆœํ•œ ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค. 

- ์•„๋ฌด๋Ÿฐ neighbor๋„ ๋” higher value๋ฅผ ๊ฐ–์ง€ ์•Š๋Š” "peak"์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋์ด ๋‚œ๋‹ค.

- search tree๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€ ์•Š์•„, current node์˜ data structure์—๋Š” ์˜ค์ง state์™€ objective function์˜ value ๊ฐ’๋งŒ ํ•„์š”ํ•˜๋‹ค. 

- hill-climbing์€ ๋•Œ๋ก  greedy local search๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ์–ด๋””๋กœ ๊ฐ€์•ผํ• ์ง€ ๋ฏธ๋ฆฌ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ๊ทธ์ € good neighbor state๋งŒ ์ฐพ์•„๋‹ค๋‹ˆ๊ฑฐ๋“ . ์ฆ‰ ํ˜„์žฌ์ƒํƒœ๋งŒ์ด ์ค‘์š”ํ•˜์ง€, ๊ณผ๊ฑฐ์™€ ๋ฏธ๋ž˜๋Š” ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์Œ.

 

-๊ทธ๋Ÿฌ๋‚˜ ๋ถˆํ–‰ํžˆ๋„, hill climbing์€ "Local maxima, Plateaux, Rridges" ์™€ ๊ฐ™์€ ์ด์œ ๋กœ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๊ณค ํ•œ๋‹ค. 

 - Local maxima์˜ ๊ฒฝ์šฐ, ์ „์ฒด์ ์œผ๋กœ ๋ดค์„ ๋•Œ max๊ฐ’์ด ์•„๋‹Œ๋ฐ, ๊ทธ ๊ตญ์†Œ ์ง€์—ญ์—์„œ์˜ max๊ฐ’์— ๊ฐ‡ํ˜€ local๋ฐ–์— ๋ณด์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ

 - plateaux๋Š” ๊ณ ์›์ด๋ผ๋Š” ๋œป์œผ๋กœ, ํ‰ํ‰ํ•œ ์ง€์ ์—์„œ ์กฐ๊ธˆ๋งŒ ๋” ๊ฐ€๋ฉด ๋” ๋†’์€ ๊ฐ’์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ ํ‰ํ‰ํ•œ ๊ตฌ๊ฐ„์— ๊ฐ‡ํ˜€๋ฒ„๋ฆฌ๋Š” ๊ฒƒ

- ridges๋Š” ์–ด๋–ค state์—์„œ ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  action์„ ๋‹ค ์ทจํ•ด๋„ ๋” ๋†’์€ ๊ณณ์œผ๋กœ ๊ฐ€์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ. ์ฆ‰ local maxima๊ฐ€ ์„œ๋กœ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ. ๋‚ฎ์€ ๊ณณ์„ ๋“ค๋ €๋‹ค๊ฐ€ ๊ฐ€๋ฉด ๊ฐˆ ์ˆ˜ ์žˆ๋Š”๋ฐ ๋‚ฎ์€ ๊ณณ์€ ์• ์ดˆ์— ์•ˆ ๊ฐ.

 

 1-2 ) Various Hill-Climbing Search Strategies

 

  i. Stochastic hill climbing : ๊ฐ€์žฅ ๊ฐ€ํŒŒ๋ฅธ ๊ณณ๋งŒ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ™•๋ฅ ์ ์œผ๋กœ ์„ ํƒํ•œ๋‹ค. ๊ฐ€ํŒŒ๋ฅธ ๊ณณ์„ ๊ฐˆ ํ™•๋ฅ ์ด ๋” ๋†’๊ณ , ์™„๋งŒํ•œ ๊ณณ ํ™•๋ฅ ์ด ๋” ๋‚ฎ๋‹ค. ๊ทธ๋ƒฅ steepest ascent๋ณด๋‹ค๋Š” ๋Š๋ฆฌ๊ฒ ์ง€๋งŒ, ๋” ๋‚˜์€ solution์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 ii. First-choice hill climbing : ํ˜„์žฌ state์—์„œ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋‹ค์Œ state๋ฅผ ๋งŒ๋“ค๊ณ ์„œ ๊ทธ์ค‘์—์„œ ์–ด๋”” ๊ฐˆ์ง€ ๊ณ ๋ฅด๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ๋‹ค์Œ state๋ฅผ ๋žœ๋ค์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ„๋‹ค. ๊ทธ๋ž˜์„œ ํ˜„์žฌ state๋ณด๋‹ค value๊ฐ€ ์ข‹์€ ๋‹ค์Œ state๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด ๊ทธ๊ณณ์œผ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•œ๋‹ค. ๋งŒ์•ฝ state๊ฐ€ ๋งค์šฐ ๋งŽ์€ successor๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๊ฒฝ์šฐ ์ข‹์€ ์ „๋žต์ด ๋œ๋‹ค.

 

 iii. Random-restart hill climbing : goal์„ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ๋žœ๋คํ•˜๊ฒŒ ์ƒ์„ฑ๋˜๋Š” initial state์—์„œ hill climbing search๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์‹œ๊ฐ„์ด ๋ฌดํ•œํ•  ๊ฒฝ์šฐ ๋ฌด์กฐ๊ฑด goal์„ ์ฐพ์„ ์ˆ˜ ๋ฐ–์— ์—†์–ด์„œ completeํ•˜๋‹ค. (initial state์ฒ˜๋Ÿผ goal state๋„ ์‚ฌ์‹ค ์ƒ์„ฑํ•ด๋‚ด๋Š”๊ฑฐ๋‚˜ ๋งˆ์ฐฌ๊ฐ€์ง€)

 

 - hill-climing algorithm์€ ์ ˆ๋Œ€ ๋‚ด๋ ค๊ฐ€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ๋Š” ์›€์ง์ด์ง€ ์•Š์•„์„œ incompleteํ•˜๋‹ค. ๋งŒ์•ฝ local maximum์— ๊ฐ‡ํ˜€๋ฒ„๋ฆฌ๋ฉด global solution์€ ์ฐพ์„ ์ˆ˜๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

 

 2) Simulated Annealing 

 : hill climbing๊ณผ random walk๋ฅผ ํ•ฉ์นœ ํ˜•ํƒœ๋กœ, efficiency์™€ completeness๋ฅผ ๋‘˜๋‹ค ์žก์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜. ํ•ญ์ƒ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ๋งŒ ์•„๋‹ˆ๋ผ, ๊ฐ€๋” ๋‚ด๋ ค๊ฐ€๊ธฐ๋„ ํ•˜๋Š”๋ฐ, ํƒ์ƒ‰ ์ดˆ๊ธฐ์—๋Š” ๊ทธ ํ–‰๋™์„ ์ž์ฃผ shakingํ•˜๋‹ค๊ฐ€ ์ ์ฐจ ๊ทธ intensity๋ฅผ ์ค„์—ฌ๋‚˜๊ฐ„๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด local maxima์—์„œ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ๊ณต์„ ๊ตด๋ฆฐ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ž. ๊ทธ๋Ÿฌ๋ฉด local minima์— ๋น ์งˆ ์ˆ˜ ๋ฐ–์— ์—†๋Š”๋ฐ, ์ด ๋•Œ ์ด ํ†ต์„ ํ”๋“ค์–ด์ค˜ ๊ทธ local minima์—์„œ ๋ฒ—์–ด๋‚˜ global minima ๊ฐ’์„ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

 ๋จผ์ € initial state๋ฅผ current node์— ๋„ฃ์–ด์ฃผ๊ณ  ์‹œ์ž‘ํ•œ๋‹ค. schedule(t)๋Š” ํฐ์ˆ˜์—์„œ ์ž‘์€์ˆ˜๊นŒ์ง€ ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์ฝ”๋“œ์ด๋‹ค. ์ฆ‰ T์—๋Š” ๋ฌดํ•œ๋Œ€๋ถ€ํ„ฐ 1์˜ ๊ฐ’์ด ์ˆœ์„œ๋Œ€๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ๋งŒ์•ฝ T๊ฐ€ 0์ด๋ผ๋ฉด for๋ฌธ์„ ํƒˆ์ถœํ•œ๋‹ค. 

current์˜ successor์ค‘์—์„œ ๋žœ๋คํ•˜๊ฒŒ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ next์— ๋„ฃ๊ณ , โ–ณE์˜ ๊ฐ’์— next value ์™€ current value์˜ ์ฐจ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค. โ–ณE๊ฐ€ ์–‘์ˆ˜๋ผ๋ฉด next value๊ฐ€ ๋” ์ข‹์€๊ฒƒ์ด๋ฏ€๋กœ current์— next๋ฅผ ๋„ฃ์–ด์ค€๋‹ค. ๋งŒ์•ฝ ์Œ์ˆ˜๋ผ๋ฉด e^โ–ณE/T ์˜ ํ™•๋ฅ ๋กœ current์— next๋ฅผ ๋„ฃ์–ด์ค€๋‹ค. ์ฆ‰ ๊ฐ’์ด ๋” ์•ˆ์ข‹๋”๋ผ๋„ ์ผ์ • ํ™•๋ฅ ์— ๋”ฐ๋ผ ๋‚ด๋ ค๊ฐ€๊ธฐ๋„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ฐธ๊ณ ๋กœ ๋‚ด๋ ค๊ฐˆ ๋•Œ์˜ ํ™•๋ฅ ์—์„œ โ–ณE๋Š” ๋‹น์—ฐํžˆ ์Œ์ˆ˜์ด๊ณ (์Œ์ˆ˜์ด๋‹ˆ๊นŒ else๋ฌธ์— ๋“ค์–ด์™”๊ฒ ์ฃ ), e์˜ โ–ณE/T์ œ๊ณฑ์ด๋ฏ€๋กœ T๊ฐ’์ด ์ž‘์•„์งˆ์ˆ˜๋ก ํ™•๋ฅ ์˜ ๊ฐ’๋„ ์ž‘์•„์ง„๋‹ค.

 

 

 

 

 3) Local Beam Search

   : Local Beam Search algorithm์€ ๋…ธ๋“œ๋ฅผ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ k๊ฐœ์˜ states๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋‹ค.

    - K๊ฐœ์˜ ๋žœ๋คํ•˜๊ฒŒ ์ƒ์„ฑ๋œ states์—์„œ ์‹œ์ž‘ํ•ด์„œ, ๊ฐ step๋งˆ๋‹ค ๋ชจ๋“  k states์˜ successor๋“ค์ด ์ƒ์„ฑ๋œ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ goal์ด๋ผ๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ •์ง€ํ•œ๋‹ค. ๋งŒ์•ฝ ์•„๋‹ˆ๋ผ๋ฉด, k x n ๊ฐœ์˜ ๋…ธ๋“œ ์ค‘์—์„œ best successor k๊ฐœ๋ฅผ ์„ ํƒํ•˜์—ฌ ์œ„ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•œ๋‹ค. 

    -๋žœ๋คํ•˜๊ฒŒ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ, ๊ฐ search process๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. ๋˜ํ•œ ์œ ์šฉํ•œ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ณ‘๋ ฌ์ ์œผ๋กœ ๊ฒ€์ƒ‰ thread๊ฐ„์— ์ „๋‹ฌ์ด ๋œ๋‹ค. ์™œ? best k๊ฐœ์—์„œ ๋‹ค์‹œ ์‹œ์ž‘, ๋˜ ๋‹ค์‹œ ์‹œ์ž‘ ํ•˜๋‹ค๋ณด๋ฉด bestํ•œ ์œ„์น˜๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ฒ€์ƒ‰์ด ์ด๋ค„์งˆ๊ฑฐ๋‹ˆ๊นŒ! 

    - ํ•˜์ง€๋งŒ ์ด๋ ‡๋“ฏ local beam search๋Š” ์ข‹์€ ์ชฝ์œผ๋กœ๋งŒ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ํƒ์ƒ‰ ๊ณต๊ฐ„์˜ lack of diversity์˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ๊ตญ์†Œ์ง€์—ญ์— ์ง‘์ค‘ํ•˜๊ฒŒ ๋˜์–ด๋ฒ„๋ ค ์˜คํžˆ๋ ค hill climbing๋ณด๋‹ค๋„ ๋” ๋งŽ์€ ํƒ์ƒ‰์„ ํ•˜๊ฒŒ ๋˜์–ด๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค. 

    - stochastic beam search๋Š” k successor์„ ๋žœ๋ค์œผ๋กœ ๋ฝ‘๋Š”๋‹ค. (์™„์ „ ๋žœ๋ค์€ ์•„๋‹ˆ๊ณ , value๊ฐ€ ์ข‹์•„์งˆ ์ˆ˜๋ก ๋ฝ‘์„ ํ™•๋ฅ ๋„ ๋†’์•„์ง€๋Š”) ์ด๊ฑธ ํ†ตํ•ด์„œ ์•ž์„œ ๋งํ•œ lack of diversity ๋ฌธ์ œ๋ฅผ ์–ด๋Š์ •๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

  4) Genetic Algorithm(์œ ์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜)

    : genetic algorithm(=GA)๋Š” successor state๊ฐ€ ๋‘ ๊ฐœ์˜ parent states๋ฅผ ํ•ฉ์ณ์„œ ๋งŒ๋“ค์–ด์ง€๋Š” stochastic beam search์˜ ๋ณ€ํ˜•ํŒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 - ๊ฐ state(=individual)์€ ์œ ํ•œํ•œ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ string์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ, ๋ณดํ†ต์€ 0๋˜๋Š” 1์ด๋‹ค.

 - ๊ฐ state๋Š” objective function (=fitness function, ์ ํ•ฉ๋„) ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ‰๊ฐ€๋œ๋‹ค.

 - beam search์ฒ˜๋Ÿผ GA๋„ ์ฒ˜์Œ์— k๊ฐœ์˜ ๋žœ๋ค ์ƒ์„ฑ๋œ state๋กœ ์‹œ์ž‘ํ•œ๋‹ค. ์ด initial state๋ฅผ poopulation์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 - reproduction์„ ์œ„ํ•ด์„œ ๋žœ๋ค์œผ๋กœ 2๊ฐœ๋ฅผ ๊ณ ๋ฅธ๋‹ค. (ํ™•๋ฅ ์„ ๋ฐ˜์˜ํ•œ๋‹ค)

 - ์ด ๋‘๊ฐœ๋ฅผ ์„ž์–ด์„œ ์ƒˆ๋กœ์šด state๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค. ์–ด๋–ป๊ฒŒ crossoverํ•˜๋ƒ? ๋‘ ๊ฐœ์˜ string์—์„œ crossover point๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ๊ณ ๋ฅธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ point๋ฅผ ๊ธฐ์ค€์œผ๋กœ string์„ ์ž˜๋ผ์„œ ๋‘˜์ด ํ•ฉ์นœ๋‹ค. 

 - ๋‚ฎ์€ ํ™•๋ฅ ๋กœ ํ•œ ์ž๋ฆฌ ๊ณจ๋ผ์„œ ๊ฐ’์„ ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๋Š” mutation, ์ฆ‰ ๋Œ์—ฐ๋ณ€์ด๋ฅผ ์ผ์œผํ‚จ๋‹ค. 

 

new_population์— ๋นˆ set์„ ์ง‘์–ด ๋„ฃ๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‹œ์ž‘๋œ๋‹ค.

๋ฐ˜๋ณต์„ ์ด population์˜ ํฌ๊ธฐ๋งŒํผ ๋Œ๋ฆด ๊ฑฐ๋‹ค.

population ์ค‘์—์„œ fitness ํ•จ์ˆ˜ ๊ฐ’์„ ๋ฐ˜์˜ํ•˜์—ฌ ๊ฐ’์„ ๊ณจ๋ผ x์™€ y์— ๊ฐ๊ฐ ๋Œ€์ž…ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  x์™€ y๋ฅผ reproduceํ•˜์—ฌ child node๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚ฎ์€ ํ™•๋ฅ ๋กœ child์— mutate, ๋Œ์—ฐ๋ณ€์ด๋ฅผ ์‹œ์ผœ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ child๋ฅผ new_population์— ๋„ฃ์–ด์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ณผ์ •์„ population์˜ ํฌ๊ธฐ๋งŒํผ ๋ฐ˜๋ณตํ•˜์—ฌ new_population์„ population์˜ ํฌ๊ธฐ๋งŒํผ ๋งŒ๋“ค์–ด์ค€ ๋‹ค์Œ์— ๋ฐ˜๋ณต์ด ๋๋‚˜๋ฉด new_population set๋“ค์„ population์— ๋Œ€์ž…ํ•ด์ค€๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด์ œ population์ด ์ž์† ๋…ธ๋“œ๋“ค๋กœ ๋‹ค ๋ฐ”๋€Œ์—ˆ๊ณ , new_population์„ empty set์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•œ ํ›„ ๋˜ ๋ฐ˜๋ณตํ•œ๋‹ค. 

 

์ด ๊ณผ์ •์„ ์ถฉ๋ถ„ํžˆ fitํ•œ individual์ด ๋‚˜์˜ค๊ฑฐ๋‚˜ ์‹œ๊ฐ„์ด ์ด๋ฏธ ๋„ˆ๋ฌด ๋งŽ์ด ์ง€๋‚˜๋ฒ„๋ฆด ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณต์ด ๋๋‚˜๋ฉด, population ์•ˆ์— ์žˆ๋Š” individual์ค‘ ๊ฐ€์žฅ fitํ•œ ๊ฒƒ์„ returnํ•ด์ค€๋‹ค.

 

 

๊ทธ๋ ‡๋‹ค๋ฉด reproduce๋Š” ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

x์™€ y๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•˜๋‹ค. n์—๋Š” x์˜ ๊ธธ์ด๋ฅผ, c์—๋Š” 1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ๋žœ๋คํ•œ ์ˆซ์ž๋ฅผ ๋„ฃ์–ด์ค€๋‹ค. 

๊ทธ๋ž˜์„œ x์—์„œ๋Š” 1๋ถ€ํ„ฐ c๊นŒ์ง€์˜ ๊ฐ’์„, y์—์„œ๋Š” c+1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ๊ฐ’์„ ๊ฐ€์ ธ์™€ ํ•ฉ์ณ์„œ returnํ•ด์ค€๋‹ค. 

์ฆ‰ crosspoint๊ฐ€ c์ธ ๊ฒƒ!

 

์—ฌ๊ธฐ์„œ๋Š” ๊ณต๊ฒฉํ•  ์ˆ˜ ์—†๋Š” pair ์˜ ๊ฐœ์ˆ˜๋Š” fitness function์œผ๋กœ ๋‘์—ˆ๋‹ค. ์ฆ‰ ๋‘๋ฒˆ์งธ 32752411์€ 1์—ด์—๋Š” 3ํ–‰, 2์—ด์—๋Š” 2ํ–‰.... ๋งˆ์ง€๋ง‰ ์—ด์—๋Š” 1ํ–‰์— ๋ง์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด๊ณ , ์ด ๋•Œ fitness function์€ ์ „์ฒด ๊ฒฝ์šฐ์˜ ์ˆ˜์ธ 8C2์—์„œ ๊ณต๊ฒฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜์ธ 5๋ฅผ ๋นผ์ค˜์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ fitness function ๊ฐ’์ด 23์ด ๋œ๋‹ค. 

 

์ด๋Ÿฐ ์‹์œผ๋กœ 4๊ฐ€์ง€ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด fitness function์„ ๊ณ„์‚ฐํ•˜๋ฉด ์„ ํƒํ•  ํ™•๋ฅ ๋„ ๋„์ถœ์ด ๋œ๋‹ค. (๊ฐ’์ด ๋†’์„ ์ˆ˜๋ก ํ™•๋ฅ ๋„ ๋†’์•„์ง) ๊ทธ ํ™•๋ฅ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ 2๊ฐœ์˜ individual์„ ์„ ํƒํ•˜๊ณ , c์˜ ๊ฐ’์„ ๋žœ๋ค์œผ๋กœ ๊ณจ๋ผ string์„ ํ•ฉ์ณ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณด๋ฉด ๋ณ€์ด๋„ ์ค‘๊ฐ„์ค‘๊ฐ„ ์ผ์–ด๋‚ฌ์Œ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

 

 

 - ์ด ๋ฐฉ๋ฒ•์€ stochastic beam search์ฒ˜๋Ÿผ ์ข‹์€ ๋…ธ๋“œ๊ฐ€ ์„ ํƒ๋  ํ™•๋ฅ ์ด ๋†’์ง€๋งŒ, ๋‚˜์œ ๋…ธ๋“œ๋„ ์„ ํƒ๋  ์ˆ˜ ์žˆ๋‹ค. (uphill tendency with random exploration)

 - ๊ทธ๋ฆฌ๊ณ  ๊ฐ parallel search thread๊ฐ„์— ์ •๋ณด ๊ตํ™˜์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ๋„ ๋™์ผํ•˜๋‹ค.

 - ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” stochastic beam search์™€๋Š” ๋‹ฌ๋ฆฌ, ๋‘ ๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค. ์ด๊ฒŒ ๊ฐ€์žฅ ํฐ!!! ์–ด๋“œ๋ฒคํ‹ฐ์ง€๋‹ค!!!