✨ μš©μ–΄ 정리

  🧬 개체(Individual)

  • μœ μ „μ•Œκ³ λ¦¬μ¦˜μ—μ„œμ˜ 의미 : ν•˜λ‚˜μ˜ 후보 ν•΄(Candidate solution)
  • μ˜ˆμ‹œ

    β–Έ μ΄μ§„μˆ˜ ν‘œν˜„ : 101101
    β–Έ μ‹€μˆ˜ ν‘œν˜„ : (3.4, 2.1, -1.7)
    β–Έ μˆœμ—΄ ν‘œν˜„(μ—¬ν–‰μž 문제) : (2 β†’ 5 β†’ 3 β†’ 1 β†’ 4)
    β–Έ 경둜 ν‘œν˜„(μ΅œλ‹¨ 경둜 문제) : A β†’ B β†’ C β†’ D β†’ E


Β  🧬 염색체(Chromosome)

  • 생물학적 의미 : μœ μ „ λ¬Όμ§ˆμ„ λ‹΄κ³  μžˆλŠ” ν•˜λ‚˜μ˜ μ§‘ν•©

  • μœ μ „μ•Œκ³ λ¦¬μ¦˜μ—μ„œμ˜ 의미 : ν•˜λ‚˜μ˜ 후보 ν•΄λ₯Ό ν‘œν˜„ν•˜λŠ” ꡬ쑰 (λ³€μˆ˜λ“€μ˜ μ‘°ν•©)

  • μ˜ˆμ‹œ

    β–Έ μ΄μ§„μˆ˜ ν‘œν˜„ : [1,0,1,1,0,1]
    β–Έ μ‹€μˆ˜ ν‘œν˜„ : [3.4, 2.1, -1.7]
    β–Έ μˆœμ—΄ ν‘œν˜„(μ—¬ν–‰μž 문제) : [2, 5, 3, 1, 4]
    β–Έ 경둜 ν‘œν˜„(μ΅œλ‹¨ 경둜 문제) : [A, B, C, D, E]

  • πŸ’‘ 염색체λ₯Ό 주둜 리슀트둜 ν‘œν˜„ν•˜λŠ” 이유

    1. 연산이 μš©μ΄ν•¨ β†’ λ¦¬μŠ€νŠΈλŠ” 인덱싱이 κ°€λŠ₯ν•˜μ—¬ ꡐ차(crossover), λŒμ—°λ³€μ΄(mutation) 연산이 쉬움
    2. μœ μ „μž μ‘°μž‘μ΄ νŽΈλ¦¬ν•¨ β†’ 리슀트 λ‚΄ κ°œλ³„ μš”μ†Œ(μœ μ „μž)λ₯Ό μˆ˜μ •ν•˜κ±°λ‚˜ κ΅μ²΄ν•˜κΈ° μ’‹λ‹€
    3. μΌκ΄€λœ ν‘œν˜„ κ°€λŠ₯ β†’ μ΄μ§„μˆ˜, μ‹€μˆ˜, μˆœμ—΄ λ“± λ‹€μ–‘ν•œ ν˜•νƒœμ˜ ν‘œν˜„μ„ λ™μΌν•œ λ°©μ‹μœΌλ‘œ λ‹€λ£° 수 μžˆλ‹€

Β  🧬 μœ μ „μž (Gene)

  • 염색체λ₯Ό κ΅¬μ„±ν•˜λŠ” μš”μ†Œ (κ°œλ³„ λ³€μˆ˜ κ°’)
  • 염색체 λ‚΄μ—μ„œ νŠΉμ •ν•œ μœ„μΉ˜(Locus)λ₯Ό μ°¨μ§€ν•˜λ©°, 문제λ₯Ό κ΅¬μ„±ν•˜λŠ” λ³€μˆ˜(Parameter)와 연관됨.
  • μ˜ˆμ‹œ

    β–Έ 염색체 [A, B, C]μ—μ„œ κ°œλ³„ μš”μ†Œ A, B, Cκ°€ μœ μ „μž
    β–Έ μ΄μ§„μˆ˜ 염색체 [1,0,1,1,0,1]μ—μ„œ κ°œλ³„ 숫자(0 λ˜λŠ” 1)κ°€ μœ μ „μž
    β–Έ μ’Œν‘œλ₯Ό ν‘œν˜„ν•˜λŠ” μ‹€μˆ˜ 염색체 [3.4, 2.1, -1.7]μ—μ„œ κ°œλ³„ 값이 μœ μ „μž


Β  🧬 μžμ† (Offspring)

  • νŠΉμ • μ„ΈλŒ€(time t)에 μ‘΄μž¬ν–ˆλ˜ 염색체(λΆ€λͺ¨)λ‘œλΆ€ν„° μƒμ„±λœ μƒˆλ‘œμš΄ 염색체
  • ꡐ차(Crossover) 및 λŒμ—°λ³€μ΄(Mutation) 과정을 톡해 λΆ€λͺ¨μ™€ μœ μ‚¬ν•œ μœ μ „ 정보λ₯Ό 가짐
  • μƒˆλ‘œμš΄ μ„ΈλŒ€λ₯Ό κ΅¬μ„±ν•˜λŠ” 염색체듀이며, 적합도가 높은 ν•΄λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ 탐색 κ³Όμ •μ˜ 일뢀

Β  🧬 적합도 (fitness)

  • κ°œλ³„ 염색체(ν•΄)κ°€ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 μ–Όλ§ˆλ‚˜ μ ν•©ν•œμ§€λ₯Ό ν‰κ°€ν•˜λŠ” κ°’
  • 적합도 ν•¨μˆ˜(Fitness Function)에 μ˜ν•΄ κ³„μ‚°λ˜λ©°, ν•¨μˆ˜λŠ” 일반적으둜 μ΅œλŒ€ν™” λ˜λŠ” μ΅œμ†Œν™” 문제둜 ν‘œν˜„λ¨
  • 적합도가 λ†’μ„μˆ˜λ‘ 더 쒋은 해이며, 선택 μ‹œ μ€‘μš”ν•œ 기쀀이 됨.

Β  🧬 μœ μ „ (Inheritance)

  • λΆ€λͺ¨μ˜ ν˜•μ§ˆμ΄ μžλ…€μ—κ²Œ μ „λ‹¬λ˜λŠ” ν˜„μƒ.
  • μœ μ „ μ•Œκ³ λ¦¬μ¦˜μ—μ„œλŠ” ꡐ차(Crossover) λ₯Ό 톡해 λΆ€λͺ¨μ˜ μœ μ „μžκ°€ μžμ†μ—κ²Œ 전달됨.
  • λŒμ—°λ³€μ΄(Mutation)κ°€ ν•¨κ»˜ μž‘μš©ν•˜μ—¬, 일뢀 μœ μ „μžλŠ” λ³€ν™”ν•  μˆ˜λ„ 있음.

✨ 개체, 염색체, μœ μ „μž κ°„μ˜ 관계

  • 예제 : λ³€μˆ˜ κ°œμˆ˜κ°€ 2개인 μ΅œμ ν™” 문제
  • 문제 : Minimize
  • λ³€μˆ˜ : (두 개의 μ—°μ†ν˜• λ³€μˆ˜)
  • λͺ©ν‘œ : λ₯Ό μ΅œμ†Œν™”ν•˜λŠ” 쑰합을 μ°ΎκΈ°

  • 개체(Individual) = ν•˜λ‚˜μ˜ 후보 ν•΄(Candidate Solution)

    β–Έ 개체 ν•˜λ‚˜λŠ” κ°’μ˜ 쑰합을 가짐
    β–Έ 즉, β€œν•˜λ‚˜μ˜ 개체 = ν•˜λ‚˜μ˜ 값”

    개체(Individual) κ°’
    A
    B
    C
    D

  • 염색체(Chromosome) = 개체λ₯Ό ν‘œν˜„ν•˜λŠ” μœ μ „ μ •λ³΄μ˜ μ§‘ν•©

    β–Έ μ—Όμƒ‰μ²΄λŠ” 개체의 μœ μ „ 정보λ₯Ό λ‹΄κ³  μžˆλŠ” ꡬ쑰
    β–Έ 와 값을 μ €μž₯ν•˜λŠ” μ‹€μˆ˜ν˜• 리슀트(벑터) 둜 ν‘œν˜„ κ°€λŠ₯
    β–Έ 개체λ₯Ό ν‘œν˜„ν•˜λŠ” 정보(즉, λ³€μˆ˜ κ°’λ“€μ˜ μ‘°ν•©)μž„

    개체(Individual)염색체(Chromosome)
    A[3.2, -8.5]
    B[-6.1, 2.9]
    C[9.7, -1.3]
    D[-2.4, 5.6]

  • μœ μ „μž(Gene) = κ°œλ³„ λ³€μˆ˜ κ°’

    β–Έ μœ μ „μžλŠ” 염색체λ₯Ό κ΅¬μ„±ν•˜λŠ” κ°œλ³„ μš”μ†Œ
    β–Έ 즉, μœ μ „μžλŠ” λ³€μˆ˜ ν•˜λ‚˜μ— 해당함
    β–Έ 와 κ°€ 각각 ν•˜λ‚˜μ˜ μœ μ „μž 역할을 함
    β–Έ 염색체 [x, y]의 각 μš”μ†Œ = ν•˜λ‚˜μ˜ μœ μ „μž(Gene)
    β–Έ μœ μ „μžμ˜ κ°œμˆ˜λŠ” λ³€μˆ˜μ˜ κ°œμˆ˜μ™€ 동일

    개체(Individual)염색체(Chromosome)μœ μ „μž(Gene) - μœ μ „μž(Gene) -
    A[3.2, -8.5]3.2-8.5
    B[-6.1, 2.9]-6.12.9
    C[9.7, -1.3]9.7-1.3
    D[-2.4, 5.6]-2.45.6

  • βœ… μ΅œμ’… 정리

    βœ” 개체(Individual) = ν•˜λ‚˜μ˜ ν•΄ (ν•˜λ‚˜μ˜ κ°’ μ‘°ν•©)
    βœ” 염색체(Chromosome) = 개체λ₯Ό ν‘œν˜„ν•˜λŠ” 데이터 (즉, 리슀트)
    βœ” μœ μ „μž(Gene) = 염색체λ₯Ό κ΅¬μ„±ν•˜λŠ” κ°œλ³„ μš”μ†Œ (즉, λ³€μˆ˜ κ°’ 와 )


✨ μœ μ „ μ•Œκ³ λ¦¬μ¦˜μ˜ Flow

Β  0️⃣ 초기 λͺ¨μ§‘단(Initial Population) 생성

  • 랜덀 λ˜λŠ” νŠΉμ • κ·œμΉ™μ„ 기반으둜 초기 개체ꡰ 생성.

Β  1️⃣ 적합도 평가 (Fitness Evaluation) 및 μ’…λ£Œ 쑰건 확인

  • 각 개체의 μ„±λŠ₯을 ν‰κ°€ν•˜μ—¬ 적합도λ₯Ό 계산.
  • μ’…λ£Œ 쑰건(μ„ΈλŒ€ 수, λͺ©ν‘œ 적합도 도달 μ—¬λΆ€ λ“±)을 확인.

Β  2️⃣ λΆ€λͺ¨ν•΄ 선택 (Selection)

  • 적합도가 높은 개체λ₯Ό μ€‘μ‹¬μœΌλ‘œ λ‹€μŒ μ„ΈλŒ€λ₯Ό μœ„ν•œ λΆ€λͺ¨ 개체λ₯Ό 선택.

Β  3️⃣ ꡐ차 (Crossover)

  • μ„ νƒλœ λΆ€λͺ¨ ν•΄λ₯Ό μ‘°ν•©ν•˜μ—¬ μƒˆλ‘œμš΄ 개체 생성.

Β  4️⃣ λŒμ—°λ³€μ΄ (Mutation)

  • 일정 ν™•λ₯ λ‘œ μœ μ „μž 일뢀λ₯Ό λ³€ν˜•ν•˜μ—¬ λ‹€μ–‘μ„± μœ μ§€.

Β  5️⃣ μƒˆλ‘œμš΄ λͺ¨μ§‘단 ꡬ성 (Next Generation Population)

  • μƒμ„±λœ μžμ‹ ν•΄λ“€λ‘œ μƒˆλ‘œμš΄ κ°œμ²΄κ΅°μ„ ν˜•μ„±.

Β  πŸ” 1~5 κ³Όμ • 반볡

  • μ’…λ£Œ 쑰건을 달성할 λ•ŒκΉŒμ§€ λ°˜λ³΅ν•˜μ—¬ μ΅œμ ν•΄ 탐색.

더 μžμ„Έν•œ 정리 : πŸ’» 0. Code Flow


✨ 탐색과 ν™œμš©

  1. 탐색 (Exploration)

    • μ •μ˜ : λ‹€μ–‘ν•œ ν•΄(ν•΄κ²°μ±…)λ₯Ό ν­λ„“κ²Œ νƒμƒ‰ν•˜μ—¬, μ „μ—­ μ΅œμ ν•΄(global optimum)에 도달할 κ°€λŠ₯성을 λ†’μ΄λŠ” μ„±μ§ˆ
    • λͺ©μ  : μ§€μ—­ μ΅œμ ν•΄(local optimum)에 κ°‡νžˆμ§€ μ•ŠκΈ° μœ„ν•΄ 검색 곡간 전체λ₯Ό λ„“κ²Œ 탐색
    • μƒˆλ‘œμš΄ κ°€λŠ₯성을 계속 μ‹œλ„ν•˜μ—¬ 더 λ‚˜μ€ ν•΄λ₯Ό 찾을 수 μžˆμ§€λ§Œ, νƒμƒ‰λ§Œ ν•˜λ©΄ 수렴이 λŠλ €μ§€κ³  쒋은 ν•΄ 근처둜 λͺ¨μ΄μ§€ μ•Šμ„ 수 있음
  2. ν™œμš© (Exploitation)

    • μ •μ˜ : ν˜„μž¬κΉŒμ§€ 찾은 쒋은 ν•΄μ˜ 정보λ₯Ό μ§‘μ€‘μ μœΌλ‘œ ν™œμš©ν•˜μ—¬ 더 λ‚˜μ€ ν•΄λ₯Ό μ°ΎλŠ” μ„±μ§ˆ
    • λͺ©μ  : 이미 쒋은 ν•΄κ°€ μžˆλŠ” μœ„μΉ˜ 주변을 μ§‘μ€‘μ μœΌλ‘œ νƒμƒ‰ν•˜μ—¬ λΉ λ₯΄κ²Œ 수렴
    • 쒋은 ν•΄λ₯Ό λΉ λ₯΄κ²Œ 찾을 수 있고 μ„±λŠ₯이 μ•ˆμ •μ μ΄λ‚˜, μ§€μ—­ μ΅œμ ν•΄μ— κ°‡νž μœ„ν—˜μ΄ 있음
  3. 탐색과 ν™œμš©μ˜ κ· ν˜•

    • μœ μ „ μ•Œκ³ λ¦¬μ¦˜μ—μ„œ μ€‘μš”ν•œ 건 탐색과 ν™œμš©μ˜ κ· ν˜• 쑰절
    • 탐색은 멀리, λ„“κ²Œ λ³Έλ‹€μ˜ κ°œλ…μ΄κ³ , ν™œμš©μ€ κ°€κΉŒμ΄, 깊게 λ³Έλ‹€μ˜ κ°œλ…
    • 두 μš”μ†Œλ₯Ό 잘 μ‘°μ ˆν•΄μ•Ό μœ μ „ μ•Œκ³ λ¦¬μ¦˜μ΄ 효율적으둜 μ „μ—­ μ΅œμ ν•΄μ— μˆ˜λ ΄ν•  수 있음