그리디(greedy) 알고리즘
1. 그리디 알고리즘 개요
그리디 알고리즘(Greedy Algorithm)은 최적화(optimization) 문제를 해결하는 데 사용되는 알고리즘입니다.
"탐욕적 알고리즘" 또는 "탐욕적 기법"이라고도 하며, 다음과 같은 특징이 있습니다.
개념
- 입력 데이터 간의 관계를 고려하지 않고, 각 단계에서 탐욕적으로(최소/최대값) 선택
- 부분 문제의 최적해(locally optimal solution) 를 구해가며 전체 최적해(globally optimal solution) 를 찾음
최적해란? 가능한 가장 적은 수의 부분 집합을 선택해서 전체 집합 U를 모두 커버하는 해답
수행 과정
- 근시안적인 선택을 통해 부분 최적해를 찾음
- 부분 최적해를 모아 전체 최적해를 도출
- 가장 작은 값 또는 가장 큰 값을 반복적으로 선택
장점
- 알고리즘이 단순하고 해법이 빠름
응용 사례
- 구글 지도, 경영공학 운영 연구, 내비게이션, 로봇공학, 네트워크/통신, 교통공학, 무선 모바일 네트워크, 산업공학 등