jm_p_op

수치해석 - 피벗 본문

수학/알고리즘

수치해석 - 피벗

jm_p_op 2024. 3. 20. 17:47

[a,b]구간 안에서 특정조건(최대,최소,등등)을 찾기 위해 중간에 임의의 지점(pivot)을 확인하여 범위를 줄이는 작업

이때 피봇하는 양을 최대한 줄이는것이 핵심이다.


f'(x)>0이고 f(x)>=m을 만족하는 x를 찾는다고 할때, 탐색 구간의 중간을 기점으로 m이 존재하는 공간을 탐색해 간다면, m에 가까워 질것이다. (이때 오차 범위를 dx,dy, 등등 여러가지 방법으로 잡을수 있다.)


아래로 볼록 형식에서 최소값을 찾기 위하여, [a,b,c1,c2]의 값을 구한후, a,b중 가장 큰것을 제거하고 새로운 c를 추가 하는 방식으로 범위를 좁히는 방식


자르는 구간이 랜덤하다면, 결국 목적지까지 피봇되는 횟수가 운에 따라 엄청 많아질것이다.

첫 피봇팅 후, 다음 피봇을 할때 전의 데이터를 유지한다면 비용이 많이 줄것이다.

c1,c2중 하나는 다음 c가 될테니, x^2+x=1을 만족해야 된다.

(5^(1/2) ± 1)/2 지점을 피폿팅 하면된다.