Optimization Problems


image

  • 목적함수를 설정하고 함수에 max값 또는 min값을 찾아가는 과정
  • 최적화 모델의경우 목적함수를 최대화 또는 최소화하는 동시에 조건을 만족시켜야함 image
  • 담을 수 있는 최대 무게가 정해진 배낭과 함께 각각의 무게와 가치가 주어진 아이템의 집합이 주어짐
  • 배낭에 담은 아이템들의 가치의 합이 최대가 되도록 하는 아이템들의 부분집합을 찾는 문제 image
  • 벡터 V는 아이템의 사용유무를 알려주는 벡터 (만약 아이템i를 사용했다면 V[i]=1)
  • 벡터 I는 아이템의 value와 weight정보가 들어있는 벡터 image
  • 배낭문제의 예시를 들어보자
  • 음식의 따른 선호도가 존재한다.
  • 음식에는 칼로리가 있으며 최적화 조건을 칼로리로 설정한다.
  • 조건을 만족하면서 선호도가 가장 높게 합이 설정된 set을 구한다. image
  • value는 선호도를 의미
  • 각 음식에는 해당하는 칼로리가 표시 image
  • 배낭문제를 Brute Force 알고리즘으로 조합이 가능한 모든 아이템 set을 구한 후 가장 최적의 결과를 구하는것이 정확하겠지만 계산량의 문제로 좋은 방법은 아니다.
  • Greedy알고리즘으로 구하는것은 최적의 결과를 항상 보장해주는것은 아니지만 근사값을 구할 수 있다.

image

  • Greedy알고리즘이 복잡도의 효율성은 NlogN이다
  • 정렬을 퀵 정렬을 사용(NlogN)+for문(N)




© 2021.11. by zziny

Powered by zziny