jm_p_op
수치해석 - 피벗 본문
[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 지점을 피폿팅 하면된다.
'수학 > 알고리즘' 카테고리의 다른 글
itertools 만들기,재귀, 경우의수 (0) | 2024.03.22 |
---|---|
백준 연구소 - 완전탐색 & 설계 (0) | 2024.03.21 |
A*알고리즘 - 최단경로 알고리즘 (0) | 2024.01.29 |
python a,b 값 바꾸기 (0) | 2023.08.25 |
알고리즘 - 과일장수 (시간복잡도 줄이기) (1) | 2023.05.09 |