ํฌ์ŠคํŠธ

๐ŸŒ’ Genetic Algorithms - ์œ ์ „ ์•Œ๊ณ ๋ฆฌ๋“ฌ

N์ฐจ์‹œ

@ ์šฉ๋ถˆ์šฉ์„ค
@ ๋ฃจ์นด LUCA
@ En~ : ~์ด ๋˜๊ฒŒ ํ•˜๋‹ค
@ Takes Place : ๋ฐœ์ƒํ•˜๋‹ค

@ ์œ ์ „์ž ์•Œ๊ณ ๋ฆฌ๋“ฌ (X, ์ž˜๋ชป๋œ ํ‘œํ˜„)

@ ๋‹ต์„ ์ฐพ์•„์•ผ ํ•˜๋Š”๋ฐ, ๋‹ต์„ ๋ชจ๋ฆ„
@ ๋” ์ข‹์€ ์ƒํƒœ๋“ค์„ ์„ž์–ด์„œ ๋‹ต์„ ์ฐพ๊ฒ ๋‹ค๋Š” ๊ฒƒ

๐Ÿ’ซ Genetic Algorithms - ์œ ์ „ ์•Œ๊ณ ๋ฆฌ๋“ฌ


๊ณ„์‚ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์“ฐ๋Š”
Simulated Evolution ๋ชจ์˜ ์ง„ํ™”, ์ง„ํ™” ํ‰๋‚ด
๋ฅผ ์•Œ์•„๋ณธ๋‹ค

์œ ์ „ ์•Œ๊ณ ๋ฆฌ๋“ฌ์€ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ๋“ฌ์ด๋‹ค

์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด
Encoded ์•”ํ˜ธํ™”๋œ Candidate ํ›„๋ณด Solutions ์˜ Population ๋ชจ์ง‘๋‹จ
์—์„œ ๋™์ž‘ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ๋“ฌ์ด๋‹ค

๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ๋“ฌ์˜
Sequence of Instructions ๋ช…๋ น์–ด ์—ด์„ ์ง„ํ™”์‹œํ‚ค๋Š” ์ง„ํ™”์ ์ธ ๊ณ„์‚ฐ์„ ํ†ตํ•ด
์œ ์ „ ์•Œ๊ณ ๋ฆฌ๋“ฌ์˜ Use๋ฅผ Illustrate ๋ณด์—ฌ์ค€๋‹ค
โ†’ Stack Machine

๐Ÿ’ซ Biological Inspiration


Phenomenon ํ˜„์ƒ of Natural Evolution๋ฅผ ํ‰๋‚ด๋‚ด๋Š”
Optimization ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ๋“ฌ์ด๋‹ค

์ž์—ฐ ์ง„ํ™”์— ์žˆ์–ด์„œ,
Species ์ข…์€, ๋ณต์žกํ•œ ํ™˜๊ฒฝ/์น˜์—ดํ•œ ๊ฒฝ์Ÿ ์†์—์„œ ์ƒ์กดํ•˜๊ธฐ ์œ„ํ•ด
์ ์‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ Search ํƒ์ƒ‰ํ•œ๋‹ค

ํƒ์ƒ‰, Chromosomes(์—ผ์ƒ‰์ฒด, DNA)์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ณ€ํ™”์™€ ๊ทธ ํšจ๊ณผ๋Š”
์ƒ์กด๊ณผ Reproduction ์žฌ์ƒ์‚ฐ์— ๋Œ€ํ•œ Graded ์ ์ˆ˜๋กœ ๋งค๊ฒจ์ง„๋‹ค

Natural Selection ์ž์—ฐ ์„ ํƒ
~

๐Ÿ’ซ Genetic Algorithm High-Level Flow


@ U ์ค‘๊ฐ„๊ณ ์‚ฌ ์ถœ์ œ : 8-Queen ๋ฌธ์ œ์— ์œ ์ „ ์•Œ๊ณ ๋ฆฌ๋“ฌ์„ ์ ์šฉํ•˜๋Š” ๊ณผ์ •

  1. Initialization
    • ๋ฌธ์ œ ์ •์˜
    • ์ธ์ฝ”๋”ฉ (์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ, ์ž๋ฃŒ๊ตฌ์กฐ ์ง€์‹ ์š”๊ตฌ)
    • ์ ํ•ฉ๋„ ํ•จ์ˆ˜ ๋””์ž์ธ
  2. Evaluation
    • ์ ํ•ฉ๋„ ๊ณ„์‚ฐ (์ ํ•ฉ๋„ ํ•จ์ˆ˜ ์‚ฌ์šฉ)
  3. Selection
    • ์„ ํƒ ์—ฐ์‚ฐ
  4. Recombination
    • Generic Operation ์œ ์ „ ์—ฐ์‚ฐ
      • Crossover ๊ต์ฐจ
      • Mutation ๋Œ์—ฐ๋ณ€์ด

Initialization - ๋ฌธ์ œ ์ •์˜, ์ธ์ฝ”๋”ฉ, ์ ํ•ฉ๋„ ํ•จ์ˆ˜ ๋””์ž์ธ
โ†’ ์‚ฌ๋žŒ์ด ๊ด€์—ฌํ•˜๋Š” ๋‹จ๊ณ„

Evaluation - ์ ํ•ฉ๋„ ํ‰๊ฐ€(๊ณ„์‚ฐ) ๋‹จ๊ณ„
โ†’ .E. PPT ๋ผ๋ฉด ๋ง› ์ฒ™๋„ 7, 10, 9, 5

Selection - ์„ ํƒ ์—ฐ์‚ฐ ๋‹จ๊ณ„
โ†’ ๋ชจ๋“  ๋ง› ์ฒ™๋„๋ฅผ ๋”ํ•˜๊ณ , ๊ทธ ๋น„์œจ์„ ์›ํŒ์— ํ‘œ์‹œ, (๋‹คํŠธ ๊ฒŒ์ž„์ฒ˜๋Ÿผ) ๋žœ๋ค์œผ๋กœ ์„ ํƒ
โ†’ ๋น„์œจ์ด ๋‚ฎ์€ ์š”์†Œ๋„ ๊ฝค ๋†’์€ ํ™•๋ฅ ๋กœ ์„ ํƒ๋  ์ˆ˜ ์žˆ์Œ = ์ž์—ฐ์„ ํƒ
โ†’ ์ข‹์€ ๊ฒƒ๋งŒ ์„ ํƒํ•˜์ง€ ์•Š์Œ

Recombination - Genetic Operation ์œ ์ „ ์—ฐ์‚ฐ ๋‹จ๊ณ„
โ†’ Crossover ๊ต์ฐจ, Mutation ๋Œ์—ฐ๋ณ€์ด

Crossover - ๊ต์ฐจ, ๋ถ€๋ถ„ ๊ต์ฒด : ๋ถ€๋ชจ ์œ ์ „์ž ์„ž์ด๋“ฏ
Mutation - ๋Œ์—ฐ๋ณ€์ด : ์•„์ฃผ ๋“œ๋ฌผ๊ฒŒ, ๋ถ€๋ชจ์—๊ฒŒ ์—†๋Š” ์„ฑ์งˆ์„ ์ฃผ๊ธฐ ์œ„ํ•ด
โ†’ (๊ต์ฒด๋ณด๋‹ค ๋‚˜๋น ์งˆ ํ™•๋ฅ ์ด ๋†’์Œ, ๊ต์ฒด๋ณด๋‹ค ๋น„์œจ์„ ์ ๊ฒŒ)

@ ๋Œ€๋ถ€๋ถ„ ๋‚˜๋น ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ,
@ ๊ณตํ•™์ (์ˆ˜ํ•™์ )์ธ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ, ๋ชจ์ง‘๋‹จ์˜ ํ‰๊ท  ์ ์ˆ˜๋Š” ๋†’์•„์ง

๐Ÿ’ซ In Example


MSG, ๊ณ„๋ž€, ํŒŒ, ๊น€
๋ผ๋ฉด์— ์žฌ๋ฃŒ ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜
@ ์‹ค์ œ๋กœ๋Š” ์žฌ๋ฃŒ ์ข…๋ฅ˜๊ฐ€ ๋งŽ๊ฒ ์ฃ 

โ†’ 2^4 - 1 = 15
โ†’ (์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋„ฃ๋Š” ๊ฒฝ์šฐ ์ œ์™ธ, 0000)

1 = 0001, 2 = 0010, 3 = 0011, โ€ฆ
๋ ˆ์‹œํ”ผ Like DNA
๋ ˆ์‹œํ”ผ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์žฌ๋ฃŒ๊ฐ€ ๋“ค์–ด๊ฐ€์žˆ๋Š” ์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ (10์ง„์ˆ˜ โ†’ 2์ง„์ˆ˜)

Initialization
โ†’ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ง›์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ (์ ํ•ฉ๋„ ํ•จ์ˆ˜)
โ†’ ๋ชจ์ง‘๋‹จ ๋งŒ๋“ค๊ธฐ : ์ž„์˜์˜ ๋ชจ์ง‘๋‹จ ์š”์†Œ ์ˆ˜ (์ดˆ๋งค๊ฐœ๋ณ€์ˆ˜)

Evaluation ์ ํ•ฉ๋„ ํ‰๊ฐ€ : ์ ํ•ฉ๋„ ํ•จ์ˆ˜ ๊ณ„์‚ฐ ~
Selection ์„ ํƒ ์—ฐ์‚ฐ : ๋ˆ„์ ๋ง‰๋Œ€~

Recombination - Genetic Operation ์œ ์ „ ์—ฐ์‚ฐ
โ†’ ๊ต์ฐจ : ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋‘ ๊ต์ฐจ X, (70%? - ์ดˆ๋งค๊ฐœ๋ณ€์ˆ˜)
โ†’ ๋Œ์—ฐ๋ณ€์ด : ์—ผ์ƒ‰์ฒด ๋‹จ์œ„๊ฐ€ ์•„๋‹ˆ๋ผ ์œ ์ „์ž ๋‹จ์œ„๋กœ, ์•„์ฃผ ๋“œ๋ฌผ๊ฒŒ

๐Ÿ’ซ Sample Problem - Stack Machine


@ U ์ค‘๊ฐ„๊ณ ์‚ฌ ์ถœ์ œ : Stack Machine, ์ฃผ์–ด์ง„ ๋ช…๋ น์–ด์™€ ์Šคํƒ์„ ๋ณด๊ณ , ์ตœ์ข…์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”์ง€

์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ๊ธฐํ˜ธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฌธ์ œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‹ค๋ค„๋ณด์ž
โ†’ ๋ช…๋ น์–ด๋“ค์˜ ์—ด

์Šคํƒ ๋จธ์‹  (in VM)
Zero-Address

  • 0 DUP : A โ†’ A A, Duplicate
  • 1 SWAP : A B โ†’ B A
  • 2 MUL : 2 3 โ†’ 6, Multiply
  • 3 ADD : 2 3 โ†’ 5
  • 4 OVER : A B โ†’ B A B, ์œ„์—์„œ ๋‘ ๋ฒˆ์งธ์— ์žˆ๋Š” ์š”์†Œ DUP
  • 5 NOP : No-Operation, Filler

Solution Encoding
๋ฌธ์ œ์˜ ์†”๋ฃจ์…˜์„ ์ธ์ฝ”๋”ฉ (๋ฌธ์ œ ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ)
โ†’ ๋ช…๋ น์–ด (0 ~ 5)๋ฅผ ์—ฐ์†๋œ ๋ฐ”์ดํŠธ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„

Fitness Evaluation - ์ ํ•ฉ๋„ ํ‰๊ฐ€
โ†’ ์ž„์˜์˜ ์Šคํƒ, ํ”„๋กœ๊ทธ๋žจ์ด Endํ•˜๊ฑฐ๋‚˜ (Solve?), END ๋ช…๋ น์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€
โ†’ ๊ทธ ๋‹ค์Œ ์ ํ•ฉ๋„ ๊ณ„์‚ฐ (ํ˜„์žฌ ์Šคํƒ ์ƒํƒœ์™€ ๋ชฉ์  ํ•จ์ˆ˜ ๊ฒฐ๊ณผ ์ฐจ์ด)

Recombination - ์žฌ์ƒ์‚ฐ
โ†’ Crossover ์—ฐ์‚ฐ์ž, ํŠน์ • ์ง€์ ์—์„œ ๋ถ€๋ชจ์˜ ๊ผฌ๋ฆฌ๋ฅผ SWAP
โ†’ Mutation ๋Œ์—ฐ๋ณ€์ด, ๋ช…๋ น ๋žœ๋ค ์žฌํ• ๋‹น

I.E.

x^8 โ†’ DUP MUL DUP MUL DUP MUL

DUP : x โ†’ x x
MUL : โ†’ x^2
DUP : โ†’ x^2 x^2
MUL : โ†’ x^4
DUP : โ†’ x^4 x^4
MUL : โ†’ x^8

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