Skip to content

Latest commit

ย 

History

History
39 lines (34 loc) ยท 3.28 KB

File metadata and controls

39 lines (34 loc) ยท 3.28 KB

WEEK 6: ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm, ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜)

์ตœ์ ์˜ ๊ฐ’์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ๋จ
๊ทผ์‹œ์•ˆ์ ์ธ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ๊ฐ ๋‹จ๊ณ„์—์„œ ์ตœ์ ์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ฒƒ์„ ์„ ํƒ ํ•ด ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜์—ฌ ์ตœ์ข…์ ์ธ ํ•ด๋‹ต์— ๋„๋‹ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜.
ํ•ญ์ƒ ์ตœ์ ์˜ ๊ฐ’์„ ๋ณด์žฅํ•˜๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ตœ์ ์˜ ๊ฐ’์˜ ๊ทผ์‚ฌํ•œ ๊ฐ’์„ ๋ชฉํ‘œ
์ฃผ๋กœ ๋ฌธ์ œ๋ฅผ ๋ถ„ํ•  ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ๋“ค๋กœ ๋ถ„ํ• ํ•œ ๋’ค, ๊ฐ ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•œ ์ตœ์ ํ•ด๋ฅผ ๊ตฌํ•œ ๋’ค ์ด๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์ „์ฒด ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ์— ์ฃผ๋กœ ์‚ฌ์šฉ

  • ๊ทผ์‹œ์•ˆ์  ๋ฐฉ๋ฒ•๋ก : ๋‹จ๊ธฐ์ ์ธ ๋ชฉํ‘œ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์ „๋žต์ ์ธ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ์˜๋ฏธ. ์ด ๋ฐฉ๋ฒ•๋ก ์€ ์ฃผ๋กœ ํ˜„์žฌ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์ดˆ์ ์„ ๋งž์ถ”๋ฉฐ, ์žฅ๊ธฐ์ ์ธ ์ „๋ง๋ณด๋‹ค๋Š” ๋‹จ๊ธฐ์ ์ธ ์„ฑ๊ณผ๋ฅผ ์ค‘์š”์‹œํ•จ
  • ๊ทผ์‚ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Approximation Algorithm): ์ตœ์ ์˜ ํ•ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ์—์„œ ๊ทผ์‚ฌํ•œ ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. ๊ทผ์‚ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ•ญ์ƒ ์ตœ์ ํ•ด๋ฅผ ๋ณด์žฅํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” ์ตœ์ ํ•ด์— ๊ทผ์ ‘ํ•œ ๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋…ธ๋“œ์—์„œ ๊ฐ€์žฅ ํ•ฉ์ด ๋†’์€ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ -> ๊ฐ๊ฐ ์ƒํ™ฉ์—์„œ '์ตœ์ '์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒ (์ƒํ™ฉ์—์„œ ๊ฐ€์žฅ ๋†’์€ ์ˆ˜๋ฅผ ์„ ํƒํ•˜๊ธฐ)
    image

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฃผ์š” ์†์„ฑ

2๊ฐ€์ง€ ์กฐ๊ฑด์ด ์„ฑ๋ฆฝํ•ด์•ผ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  1. ํƒ์š• ์„ ํƒ ์†์„ฑ(Greedy Choice Property)
    • ๊ฐ ๋‹จ๊ณ„์—์„œ โ€˜์ตœ์„ ์˜ ์„ ํƒโ€™์„ ํ–ˆ์„ ๋•Œ ์ „์ฒด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ตœ์ ํ•ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ
    • ๊ฐ ๋‹จ๊ณ„์—์„œ ๊ฐ€์žฅ ์ด์ƒ์ ์ธ ์„ ํƒ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ „์ฒด์ ์œผ๋กœ ์ตœ์ ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๊ฒƒ
  2. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ(Optimal Substructure)
    • ์ „์ฒด ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๊ฐ€ โ€˜๋ถ€๋ถ„ ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๋กœ ๊ตฌ์„ฑโ€™๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ
    • ์ „์ฒด ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ๊ฐ์˜ ๋ถ€๋ถ„ ๋ฌธ์ œ์—์„œ ์ตœ์ ์˜ ํ•ด๋ฅผ ๊ตฌํ•œ ํ›„ ์ด๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ „์ฒด ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹จ๊ณ„

  1. ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ •
  2. ๋ฌธ์ œ์˜ ๊ตฌ์กฐ์— ๋งž๊ฒŒ ์„ ํƒ ์ ˆ์ฐจ๋ฅผ ์ •์˜ : ์„ ํƒ ์ ˆ์ฐจ(Selection Procedure)
    • ํ˜„์žฌ ์ƒํƒœ์—์„œ ๊ฐ€์žฅ ์ตœ์ ์ธ ์„ ํƒ์„ ์ˆ˜ํ–‰
  3. ์„ ํƒ ์ ˆ์ฐจ์— ๋”ฐ๋ผ ์„ ํƒ์„ ์ˆ˜ํ–‰
  4. ์„ ํƒ๋œ ํ•ด๊ฐ€ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ : ์ ์ ˆ์„ฑ ๊ฒ€์‚ฌ(Feasibility Check)
    • ์„ ํƒํ•œ ํ•ญ๋ชฉ์ด ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๋Š”์ง€ ํ™•์ธ
  5. ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ํ•ด๋ฅผ ์ œ์™ธ
  6. ๋ชจ๋“  ์„ ํƒ์ด ์™„๋ฃŒ๋˜๋ฉด ํ•ด๋‹ต์„ ๊ฒ€์‚ฌ : ํ•ด๋‹ต ๊ฒ€์‚ฌ(Solution Check)
    • ๋ชจ๋“  ์„ ํƒ์ด ์™„๋ฃŒ๋˜๋ฉด, ์ตœ์ข… ์„ ํƒ์ด ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๋Š”์ง€ ํ™•์ธ
  7. ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹ต์œผ๋กœ ์ธ์ •๋˜์ง€ ์•Š์Œ

DP(๋™์  ๊ณ„ํš๋ฒ•)์™€ ๋น„๊ต

  • DP์™€ ๋‹ฌ๋ฆฌ ์ค‘๋ณต ๋ถ€๋ถ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ X
  • DP๋Š” ๋ชจ๋“  ์ƒํ™ฉ์„ ๊ณ„์‚ฐํ•˜์—ฌ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•˜๊ธฐ์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋งŒ, ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ ๋‹จ๊ณ„์˜ ์ƒํ™ฉ์—์„œ ์ตœ์ ์„ ์„ ํƒํ•˜์—ฌ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•จ

References