Skip to content

Latest commit

Β 

History

History
55 lines (26 loc) Β· 2.69 KB

greedy.md

File metadata and controls

55 lines (26 loc) Β· 2.69 KB

Greedy Algorithm

Greedy μ•Œκ³ λ¦¬μ¦˜ μ΄λž€?

그리디 μ•Œκ³ λ¦¬μ¦˜(μš•μ‹¬μŸμ΄ μ•Œκ³ λ¦¬μ¦˜, Greedy Algorithm)μ΄λž€ "맀 μ„ νƒμ—μ„œ μ§€κΈˆ 이 μˆœκ°„ λ‹Ήμž₯ 졜적인 닡을 μ„ νƒν•˜μ—¬ μ ν•©ν•œ κ²°κ³Όλ₯Ό λ„μΆœν•˜μž" λΌλŠ” λͺ¨ν† λ₯Ό κ°€μ§€λŠ” μ•Œκ³ λ¦¬μ¦˜ 섀계 기법이닀.

Greedy μ•Œκ³ λ¦¬μ¦˜ 예제

5개의 λ„μ‹œκ°€ μ‘΄μž¬ν•˜κ³  1λ²ˆλ„μ‹œμ—μ„œ 5λ²ˆλ„μ‹œκΉŒμ§€ κ°€λŠ”λ° λ„μ‹œλ“€μ„ ν•œλ²ˆ μ”©λ§Œ 거쳐 κ°€λŠ” 경우 각 κΈΈμ—λŠ” λΉ„μš©μ΄ μ‘΄μž¬ν•œλ‹€κ³  ν•˜λ©΄ μ΅œμ €μ˜ λΉ„μš©μœΌλ‘œ 5λ²ˆλ„μ‹œλ‘œ κ°€λŠ₯ λΉ„μš©μ„ κ΅¬ν•˜λ €κ³  ν•œλ‹€.

μ΄λŸ¬ν•œ 경우 그리디 μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜λ©΄ 1번 λ„μ‹œ λΆ€ν„° μ—°κ²°λ˜μ–΄ μžˆλŠ” λ„μ‹œ 쀑 κ°€μž₯ λΉ„μš©μ΄ 적은 길을 μ„ νƒν•˜μ—¬ λ‹€μŒ λ„μ‹œλ‘œ 이동 ν•œλ‹€. μ΄λŸ¬ν•œ 과정을 λ°˜λ³΅ν•˜μ—¬ 5λ²ˆλ„μ‹œ κΉŒμ§€ μ΄λ™ν•œλ‹€.

μ—¬κΈ°μ„œ μ„ νƒλœ κΈΈλ“€μ˜ λΉ„μš©μ΄ 1 - 1 - 1 - 100 이라고 ν•  λ•Œ, 이것이 κ³Όμ—° 졜적의 닡이냐고 λ¬Όμ–΄λ³Έλ‹€λ©΄ κ·ΈλŸ΄μˆ˜λ„ 있고 아닐 μˆ˜λ„ μžˆκ³ μ΄λ‹€. 즉 각 μˆœκ°„μˆœκ°„μ˜ 졜적의 닡을 κ΅¬ν•œλ‹€κ³  무쑰건적으둜 전체에 졜적의 λ‹΅μ΄λΌλŠ” 것은 보μž₯ν•  수 μ—†λ‹€λŠ” 것이닀. 예λ₯Όλ“€λ©΄ μˆœκ°„μˆœκ°„μ˜ 졜적의 닡을 κ΅¬ν•œ 1 - 1 - 1- 100 이 μ•„λ‹Œ 3번째 길을 λ‹€λ₯Έ 길을 μ„ νƒν–ˆλ‹€λ©΄ 1 - 1 - 10 - 10 μ΄λΌλŠ” λ”μš± 졜적의 닡이 λ‚˜μ˜¬ 수 μžˆλŠ” 것이닀. 즉 3번째 길을 μˆœκ°„μ˜ 졜적이 μ•„λ‹Œ λ‹€λ₯Έ 길을 μ„ νƒν–ˆλ”λ‹ˆ λ”μš± 졜적의 κ²°κ³Όκ°€ λ‚˜μ˜¨ 것이닀.

Greedy μ•Œκ³ λ¦¬μ¦˜ μ‚¬μš©

μœ„μ™€ 같이 μˆœκ°„μ˜ μ΅œμ μ„ κ΅¬ν•œλ‹€κ³  쒅합적인 μ΅œμ μ„ ꡬ할 수 μžˆλ‹€κ³  보μž₯ ν•  수 μ—†λ‹€λ©΄ ν•΄λ‹Ή μ•Œκ³ λ¦¬μ¦˜μ€ μ–Έμ œ μ–΄λ–»κ²Œ μ‚¬μš© ν•΄μ•Ό ν• κΉŒ? λ‹€μŒκ³Ό 같은 κ²½μš°μ— μ‚¬μš© ν•  수 μžˆλ‹€.

  • νƒμš• 선택 속성(greedy choice property)
  • 졜적 λΆ€λΆ„ ꡬ쑰(optimal substructure)

νƒμš• 선택 μ†μ„±μ΄λž€ ν•œλ²ˆμ˜ 선택이 λ‹€μŒ 선택에 μ•„λ¬΄λŸ° 영ν–₯을 λΌμΉ˜μ§€ μ•ŠλŠ” 것을 λ§ν•œλ‹€.

졜적 λΆ€λΆ„ κ΅¬μ‘°λž€ λ§€μˆœκ°„μ˜ μ΅œμ ν•΄μ˜ 집합이 전체 λ¬Έμ œμ— λŒ€ν•œ μ΅œμ ν•΄μ—¬μ•Ό ν•˜λŠ” 것을 λ§ν•œλ‹€.

Greedy μ•Œκ³ λ¦¬μ¦˜ μ‚¬μš© μ˜ˆμ‹œ

  • AI에 μžˆμ–΄μ„œ κ²°μ • 트리 ν•™μŠ΅λ²•(Decision Tree Learning)
  • ν™œλ™ 선택 문제(Activity selection problem)
  • κ±°μŠ€λ¦„λˆ 문제
  • μ΅œμ†Œ μ‹ μž₯ 트리 (Minimum spanning tree)
  • μ œμ•½μ‘°κ±΄μ΄ λ§Žμ€ λŒ€λΆ€λΆ„μ˜ 문제
  • λ‹€μ΅μŠ€νŠΈλΌ μ•Œκ³ λ¦¬μ¦˜
  • ν—ˆν”„λ§Œ μ½”λ“œ
  • 크루슀칼 μ•Œκ³ λ¦¬μ¦˜

Greedy μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ μ΅œμ ν•΄λ₯Ό ꡬ할 수 μ—†λŠ” 문제

  • μ™ΈνŒμ› 순회 문제 (TSP, Traveling Salesperson Problem)
  • λ°°λ‚­ 문제 (Knapsack Problem)

Reference λ‚˜λ¬΄μœ„ν‚€(그리디 μ•Œκ³ λ¦¬μ¦˜)