08 29 - nolsigan/nolsigan.github.io GitHub Wiki

Algorithm - νƒμš•λ²•

νƒμš•λ²•μ€ κ°€μž₯ 직관적인 μ•Œκ³ λ¦¬μ¦˜ 섀계 νŒ¨λŸ¬λ‹€μž„μ΄λ‹€. νƒμš•λ²•μ„ μ‚¬μš©ν•˜λŠ” κ²½μš°λŠ” 크게 두 κ°€μ§€λ‘œ μ œν•œλœλ‹€.

  1. νƒμš•λ²•μ„ μ‚¬μš©ν•΄λ„ 항상 μ΅œμ ν•΄λ₯Ό ꡬ할 수 μžˆλŠ” 문제의 경우, νƒμš•λ²•μ΄ 동적 κ³„νšλ²•λ³΄λ‹€ μˆ˜ν–‰ μ‹œκ°„μ΄ 훨씬 λΉ λ₯΄κΈ° λ•Œλ¬Έμ— μœ μš©ν•˜λ‹€.
  2. μ‹œκ°„μ΄λ‚˜ 곡간적 μ œμ•½μœΌλ‘œ 인해 λ‹€λ₯Έ λ°©λ²•μœΌλ‘œ μ΅œμ ν•΄λ₯Ό μ°ΎκΈ° μ–΄λ ΅λ‹€λ©΄ 근사해λ₯Ό μ°ΎλŠ” μš©λ„λ‘œ 쓰인닀.

νƒμš•λ²•μ˜ 증λͺ…

  1. νƒμš•μ  선택 속성 (greedy choice property)

ν˜„ μƒνƒœμ—μ„œ λ‹΅μ˜ λͺ¨λ“  뢀뢄을 κ³ λ €ν•˜μ§€ μ•Šκ³  νƒμš•μ μœΌλ‘œ μ„ νƒν•˜λ”λΌλ„ 항상 μ΅œμ ν•΄λ₯Ό 찾을 수 μžˆμŒμ„ 증λͺ…ν•΄μ•Όν•œλ‹€. μ„ νƒν•œ 방법과 λ‹€λ₯΄κ²Œ μ΅œμ ν•΄λ₯Ό ꡬ할 수 μžˆλ‹€κ³  κ°€μ •ν•˜κ³  μš°λ¦¬κ°€ μ„ νƒν•œ 방법이 μ΅œμ ν•΄μ— 포함됨을 증λͺ…ν•˜λŠ” 방식을 주둜 μ‚¬μš©ν•œλ‹€.

  1. 졜적 λΆ€λΆ„ ꡬ쑰 (optimal substructure)

λΆ€λΆ„ 문제의 μ΅œμ ν•΄μ—μ„œ 전체 문제의 μ΅œμ ν•΄λ₯Ό λ§Œλ“€ 수 μžˆμŒμ„ 보여야 ν•œλ‹€. ν˜„ μƒνƒœμ—μ„œ λ‹€μŒ μƒνƒœλ‘œ λ„˜μ–΄κ°„ 후에도 νƒμš•λ²•μ„ 톡해 μ΅œμ ν•΄λ‘œ λ‚˜μ•„κ°ˆ 수 μžˆμ–΄μ•Όν•œλ‹€.