less than 1 minute read

πŸ“˜ Greedy Algorithm (νƒμš• μ•Œκ³ λ¦¬μ¦˜)μ΄λž€

λ‹€μŒμ€ Greedy Algorithm의 사전적 μ •μ˜μ΄λ‹€.

νƒμš• μ•Œκ³ λ¦¬μ¦˜μ€ μ΅œμ ν•΄λ₯Ό κ΅¬ν•˜λŠ” 데에 μ‚¬μš©λ˜λŠ” 근사적인 λ°©λ²•μœΌλ‘œ, μ—¬λŸ¬ 경우 쀑 ν•˜λ‚˜λ₯Ό κ²°μ •ν•΄μ•Ό ν•  λ•Œλ§ˆλ‹€ κ·Έ μˆœκ°„μ— 졜적이라고 μƒκ°λ˜λŠ” 것을 선택해 λ‚˜κ°€λŠ” λ°©μ‹μœΌλ‘œ μ§„ν–‰ν•˜μ—¬ μ΅œμ’…μ μΈ 해닡에 λ„λ‹¬ν•œλ‹€.

Greedy 즉 νƒμš•μŠ€λŸ½κ²Œ λ°”λ‘œ μ•žμ˜ μƒν™©λ§Œ λ³΄λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€.
즉, Greedy Algorithmμ΄λž€ 맀 λΆ€λΆ„μ˜ μ΅œμ ν•΄λ₯Ό μ°Ύμ•„μ„œ 결둠을 λ„μΆœν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€.
ν•˜μ§€λ§Œ 1μ°¨, 2μ°¨ν•¨μˆ˜λ₯Ό μ œμ™Έν•œ λ‹€λ₯Έ ν•¨μˆ˜λ“€μ€ 극값이 곧 μ΅œλŒ€/μ΅œμ†Œκ°’μ΄ μ•„λ‹ˆλ“―, κ·Έλ¦¬λ“œ μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ λ‚˜μ˜¨ 결과값도 항상 κ·Έ 문제의 μ΅œμ ν•΄λŠ” μ•„λ‹ˆλ‹€.

λ”°λΌμ„œ Greedy Algorithm이 잘 μž‘λ™ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ‹€μŒ 두가지 νŠΉμ§•μ„ λ”°λΌμ•Όν•œλ‹€.

  • Greedy choice property
  • Optimal substructure


πŸ“Œ Greedy Choice Property

각 λΆ€λΆ„μ—μ„œμ˜ μ΅œμ ν•΄κ°€ κ²°κ΅­ μ΅œμ’… 닡을 κ΅¬ν•˜κΈ° μœ„ν•œ μ΅œμ ν•΄μΈ 경우

πŸ“Œ Optimal Substructure

λ¬Έμ œμ— λŒ€ν•œ μ΅œμ ν•΄κ°€ ν•˜μœ„ λ¬Έμ œμ— λŒ€ν•œ μ΅œμ ν•΄λ₯Ό ν¬ν•¨ν•˜λŠ” 경우


image

μœ„μ˜ κ·Έλ¦Όμ—μ„œμ™€ 같이 aκ°’μ—μ„œ μ‹œμž‘ν•œν›„ κ°€μž₯ y값이 높은 곳을 μ°Ύμ„λ•Œ, κΈ°μšΈκΈ°κ°€ κ°€μž₯ κ°€νŒŒλ₯Έ μ™Όμͺ½μœΌλ‘œ κ°„λ‹€λ©΄ κ²°κ΅­μ—λŠ” μ΅œμ’…μ μœΌλ‘œλŠ” κ°€μž₯ 높은 y값을 얻을 수 μ—†κ²Œλœλ‹€.

λ”°λΌμ„œ, Greed Algorithm을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” 이 μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ 해결이 λ˜λŠ” λ¬Έμ œμΈμ§€ κ²€ν† ν•΄ λ³΄λŠ” 것이 μ€‘μš”ν•˜λ‹€.


πŸ”— κ΄€λ ¨ μ˜ˆμ‹œ

tag:Greedy



개인 곡뢀 기둝용 λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
ν‹€λ¦¬κ±°λ‚˜ 였λ₯˜κ°€ μžˆμ„ 경우 μ œλ³΄ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.😁