ํฌ์ŠคํŠธ

๐ŸŒ’ Simulated Annealing - ๋ชจ์˜ ๋‹ด๊ธˆ์งˆ

3, 4์ฐจ์‹œ
@ ๊ฐ•์˜์‹ค ์–ด๋”˜์ง€ ๋„ˆ๋ฌด ํ—ท๊ฐˆ๋ ค~

๐Ÿ’ซ Simulated Annealing - ๋ชจ์˜ ๋‹ด๊ธˆ์งˆ


Simulated Annealing - ๋ชจ์˜/์œ ์‚ฌ ๋‹ด๊ธˆ์งˆ
์ตœ์ ํ™” โ†’ ๊ฒ€์ƒ‰ โ†’ ๋ชจ์˜ ๋‹ด๊ธˆ์งˆ

๋‹ด๊ธˆ์งˆ :
๊ธˆ์†์„ ๊ฐ€์—ดํ•˜๊ณ  ๊ธ‰๋ƒ‰์‹œ์ผœ ๊ฒฝ๋„๋ฅผ ๋†’ํžˆ๋Š” ์ž‘์—…

๊ณ ์ฒด โ†’ ์•ก์ฒด โ†’ ๊ธฐ์ฒด
๊ณ ์ฒด โ† ์•ก์ฒด โ† ๊ธฐ์ฒด

์•ˆ์ • โ†’ ๋ถˆ์•ˆ์ • (๋ณ€ํ™” ๊ฐ€๋Šฅํ•œ)

0 - ์ง€๊ธˆ๋ณด๋‹ค ๋” ๋‚˜์€ ์ƒํƒœ ์š”๊ตฌ

1 - ์ง€๊ธˆ ๊ทธ๋Œ€๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ, ๋ณ€ํ™”๊ฐ€ ์žˆ์–ด์•ผ
โ†’ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚˜๊ธฐ ์‰ฌ์šด ์ƒํƒœ๋กœ

2 - ๊ณ„์†ํ•ด์„œ ๋ณ€ํ™”๋งŒ ํ•˜๋ฉด ์•ˆ๋จ
โ†’ ๋‹ค์‹œ ์•ˆ์ •ํ•œ ์ƒํƒœ๋กœ

๐Ÿ’ซ ๊ณผ์ •


์ž„์˜์˜ ์กฐ๊ฑด/๊ฐ€์ค‘์น˜ ๊ณ„์‚ฐ, ๊ฒฐ๊ณผ A
์ž„์˜์˜ ๋ณ€ํ˜•, ์ƒˆ๋กœ์šด ๊ฒฐ๊ณผ B

์ด์ „ ๊ฒฐ๊ณผ A ์™€ ์ƒˆ๋กœ์šด ๊ฒฐ๊ณผ B ๋น„๊ต
Loopํ•˜์—ฌ ๋‹ต์„ ์ฐพ๋Š” ๊ฒƒ

์ง€๊ธˆ๋ณด๋‹ค ์ข‹์€ ์ƒํ™ฉ๋งŒ ์ฐพ์Œ
โ†’ Greedy Algorithm - ๋งน๋ชฉ์  ์•Œ๊ณ ๋ฆฌ๋“ฌ
โ†’ Hill Climbing Algorithm

์ง€๊ธˆ ์ƒํƒœ๊ฐ€ ์ •๋ง ๊ฐ€์žฅ ์ข‹์€ ์ƒํƒœ์ธ๊ฐ€?
Local Max, Global Max

ํ˜„์žฌ ์œ„์น˜์—์„œ ํ•œ ๋ฐœ์ž๊ตญ ์”ฉ ์˜ฎ๊ฒจ์„œ ๋” ๋†’์€ ๊ณณ์œผ๋กœ ์ด๋™
โ†’ Hill Climbing Algorithm

๋ฌธ์ œ
โ†’ ํ‰๋ฉด์ด๋‚˜ Local M์„ ๋งŒ๋‚œ๋‹ค๋ฉด?
โ†’ ๊ณผ์ ํ•ฉ
โ†’ ์—ฌ๋Ÿฌ ๊ตฐ๋ฐ์—์„œ ์‹œ์ž‘ํ•˜๋ฉด ๋ ๊นŒ?

์ œ์ผ ์ข‹์€ ๊ณณ์„ ๊ฐ€๊ธฐ์œ„ํ•ด์„œ๋Š”
์ข‹์€ ๊ณณ๋งŒ ์ฐพ์ง€ ๋ง๊ณ , ์š•์‹ฌ์„ ๋ฒ„๋ฆฌ๊ณ  ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€์•ผ ํ•œ๋‹ค
โ†’ ์ •์ฐฉ์„ ๋ชปํ•จ

์–ธ์ œ ์ •์ฐฉ ?
โ†’ ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ์กฐ๊ฑด์„ ๊นŒ๋‹ค๋กญ๊ฒŒ

Sample Problem - N-Queen

์ดˆ๊ธฐ soln๋ฅผ ๋Œ€์ถฉ ๋งŒ๋“ค์–ด๋‘๊ณ , soln๋ฅผ ํ‰๊ฐ€
๋‹ต(์ตœ์ •์ƒ)์€ ๋ชจ๋ฅด๋‹ˆ๊นŒ ๋Œ€๊ฐ• ์–ด๋Š์ •๋„ ์ข‹๋‹ค

ํ•ต์‹ฌ ๋‘ ๊ฐ€์ง€

  1. ์ง€๊ธˆ๋ณด๋‹ค ๋” ์ข‹์ง€ ์•Š์€ ์†”๋ฃจ์…˜์„ ์ฐพ์€ ๊ฒฝ์šฐ์—๋„ ์ด์ „ ๊ฒƒ์„ ๋ฒ„๋ฆฌ๊ณ  ๋‚˜์œ ๊ฒƒ์„ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ
  2. ๋‚˜์œ ๊ฒƒ์„ ๋ฐ›์„ ๋•Œ ์‹ฌ์‚ฌ๋ฅผ ํ•˜๋Š”๋ฐ ์‹ฌ์‚ฌ๊ธฐ์ค€์„ ์ฒ˜์Œ์—๋Š” ๋ฃจ์ฆˆํ•˜๊ฒŒ(๋งŽ์ด ๋‚˜๋น ๋„ OK), ์ ์  ๊นŒ๋‹ค๋กญ๊ฒŒ(ํƒ์ƒ‰ ํ›„๋ฐ˜๋ถ€์—์„œ๋Š” ํ—ˆ์šฉ X)

๊ธฐ์ฒด/์•ก์ฒด/๊ณ ์ฒด ์ƒ๋ณ€ํ™”์—์„œ๋„,
๊ทธ๊ฑธ ๋น„์œ ์ ์œผ๋กœ ์ด์•ผ๊ธฐ ํ•  ์ˆ˜ ์žˆ๋Š”

Loss (์ฑ…์—์„œ๋Š” Energy)
ํ˜„์žฌ ์ƒํ™ฉ์ด ์ข‹์€๊ฐ€? ์— ๋Œ€ํ•œ ๊ธฐ์ค€
์–ผ๋งˆ๋‚˜ ๋‚˜์œ๊ฐ€ (ํด์ˆ˜๋ก ๋‚˜์œ ๊ฒƒ, ์—๋„ˆ์ง€๊ฐ€ ๋†’์„ ์ˆ˜๋ก ๋ณ€ํ™”๊ฐ€ ๋งŽ์Œ)
Loss๊ฐ€ ๋‚ฎ์•„์•ผ ์ข‹์€ ๊ฒƒ

๊ต์ฒด ํ™•๋ฅ  (0 ~ 1) :
โ†’ ๊ทธ๋ž˜ํ”„์—์„œ Y์ถ•
โ†’ 1์ด๋ฉด ๋ฌด์กฐ๊ฑด ๋ฐ”๊พธ๊ฒ ๋‹ค๋Š” ๊ฒƒ

Delta Energy - ํ‰๊ฐ€ ๊ฒฐ๊ณผ = ์—๋„ˆ์ง€ E
I.E. 0~20, N-Queen ๊ฒน์น˜๋Š” ๊ฒฝ๋กœ ์ˆ˜

๊ต์ฒด ํ™•๋ฅ , ํ‰๊ฐ€ ๊ฒฐ๊ณผ ๊ทธ๋ž˜ํ”„์— ๋Œ€ํ•ด,
โ†’ ํ‰๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ ์ž‘์„ ์ˆ˜๋ก ๊ต์ฒด ํ™•๋ฅ ์ด ํฌ๋‹ค
โ†’ ํ‰๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ ์ตœ๋Œ€๊นŒ์ง€ ๊ฐ€๋”๋ผ๋„ ๊ต์ฒด ํ™•๋ฅ ์ด ์กด์žฌํ•˜๊ธด ํ•˜๋Š”๋ฐ ์ž‘๋‹ค
โ†’ ๋œ ๋‚˜์ ์ˆ˜๋ก ๋” ๋งŽ์€ ๊ธฐํšŒ๋ฅผ

Temperature ์˜จ๋„ (์ƒ์ˆ˜)
โ†’ ์˜จ๋„๊ฐ€ ๋†’๋‹ค = ์‹œ์ž‘ ๋‹จ๊ณ„
โ†’ ์˜จ๋„๊ฐ€ ๋‚ฎ๋‹ค = ๋ ๋‹จ๊ณ„

์ž์—ฐ์—์„œ๋„
โ†’ ์˜จ๋„๊ฐ€ ๋†’๋‹ค = ๋ฌด์งˆ์„œํ•˜๋‹ค (Like ๊ณ ์ฒด-์•ก์ฒด-๊ธฐ์ฒด)
โ†’ ์˜จ๋„๋ฅผ ๋‚ฎ์ถœ ์ˆ˜๋ก ์•ˆ์ •์ ์ธ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค

ํ‰๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ ์ตœ๋Œ€๋”๋ผ๋„, ์˜จ๋„๊ฐ€ ๋†’์œผ๋ฉด (์ฆ‰ ์‹œ์ž‘ ๋‹จ๊ณ„๋ฉด)
๊ต์ฒด ํ™•๋ฅ ์ด ๋†’๋‹ค

๊ฐ™์€ ์˜จ๋„์—์„œ๋Š” (๋‹ค์‹œ๋งํ•ด ์˜จ๋„ ์ƒ๊ด€์—†์ด๋Š”)
ํ‰๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ๊ต์ฒด ํ™•๋ฅ ์ด ๋†’๋‹ค

@ U ์ค‘๊ฐ„๊ณ ์‚ฌ ์ถœ์ œ : ๋‘ ๊ฐ€์ง€ (์กฐ๊ฑด, ์‹)์„ ๊ฐ€์ง€๊ณ  ๋ชจ์˜๋‹ด๊ธ€์งˆ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค. (๊ฐ๊ฐ ์˜จ๋„ 50, 2 ~)

์š•์‹ฌ์Ÿ์ด ์•Œ๊ณ ๋ฆฌ๋“ฌ๊ณผ ๊ทธ ๋ฌธ์ œ์ 
โ†’ ์ข‹์€ ์ƒํƒœ๋งŒ ์ฐพ์Œ, ๋กœ์ปฌ Max์— ๋จธ๋ฌด๋ฅผ ์ˆ˜ ์žˆ๋‹ค

๋ฐ˜๋ฉด ๋ชจ์˜ ๋‹ด๊ธˆ์งˆ
โ†’ ํ•ต์‹ฌ์€ ์˜จ๋„(๋ถˆ์•ˆ์ • ์ˆ˜์น˜)๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ•ด์„œ,
โ†’ ํƒ์ƒ‰ ์ดˆ๊ธฐ์—๋Š” ํ˜„์žฌ ์ƒํƒœ๋ณด๋‹ค ๋งŽ์ด ๋‚˜์œ ์ƒํƒœ์—ฌ๋„ ์ฑ„ํƒํ•˜๋Š” ํ™•๋ฅ ์„ ๋†’๊ฒŒ ์„ค์ •ํ•˜๊ณ ,
โ†’ ์‹œ๊ฐ„์ด ์ง€๋‚  ์ˆ˜๋ก ํ˜„์žฌ ์ƒํƒœ๋ณด๋‹ค ๋งŽ์ด ์ข‹์€ ์ƒํƒœ์—ฌ๋„ ์ฑ„ํƒํ•˜๋Š” ํ™•๋ฅ ์„ ๋‚ฎ๊ฒŒ
โ†’ (๋ถˆ์•ˆ์ •ํ•œ ์˜จ๋„ ์•ˆ์ •์‹œํ‚ค๊ธฐ, ์ดˆ๊ธฐ ๋†’๊ฒŒ ์„ค์ •๋œ ์˜จ๋„๋ฅผ ์ ์ฐจ ๋‚ฎ์ถ”๊ธฐ)

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.