[알고리즘] 파라메트릭 서치(Parametric Search)

Doorbals·2023년 1월 30일
0

알고리즘

목록 보기
4/11

1. 파라메트릭 서치(Parametric Search)란?

  • 최적화 문제를 결정 문제로 바꾸어 푸는 기법
    • 최적화 문제 : 결과값을 최소화 또는 최대화 해야하는 문제
      (ex. f(x) = True가 되는 x의 최댓값을 구하시오.)
    • 결정 문제 : '예' 또는 '아니오'로 답하는 문제
      (ex. 어떤 값 x에 대해서 f(x) = True인가?)
  • 주로 특정 조건을 만족하면서 동시에 가장 적합한 변수값을 찾아나가는 문제에서 활용
  • 이진 탐색(Binary Search)을 이용해 구현

2. 파라메트릭 서치 사용 조건

  • 특정 조건을 만족하는 최댓값 또는 최솟값을 구하는 형식의 문제여야 한다.
  • 최댓값을 구하는 문제의 경우 어떤 값이 조건을 만족하면 그 값 미만의 값도 모두 조건을 만족해야 한다.
    최소값을 구하는 문제의 경우 어떤 값이 조건을 만족하면 그 값을 초과하는 값도 모두 조건을 만족해야 한다.
  • 답의 범위가 이산적이거나 허용 오차 범위가 있어야 한다.
    • 이분탐색으로는 연속적 범위에서 정답에 한없이 가까워질 수는 있지만 완전히 정확한 값은 구할 수 X

3. 이진 탐색과 파라메트릭 서치의 차이점

  • 이진 탐색 : 주어진 일련의 값들 중 원하는 조건과 일치하는 값을 찾아내는 알고리즘
    • ex. [1, 3, 4, 5, 8, 10]의 값들 중에서 3이라는 값 찾아내기
  • 파라메트릭 서치 : 주어진 일련의 연속적 범위 내에서 원하는 조건에 가장 일치하는 값을 찾아내는 알고리즘
    • ex. 1 ~ 9 범위 내에서 3을 초과하는 가장 큰 값을 찾아내기
  • 결정 문제인지 아닌지가 가장 큰 차이점.

4. 예시 문제


👁️‍🗨️ 참고
https://heytech.tistory.com/97
https://velog.io/@sorzzzzy/Algorithm-이진탐색-파라메트릭-서치

profile
게임 클라이언트 개발자 지망생의 TIL

0개의 댓글