Numerical Recipes 의 원본 버전에서이 "다운 힐 심플 렉스 알고리즘"에 대한 설명 은 특히 명확하고 도움이됩니다. 따라서 관련 부분을 인용하겠습니다. 배경은 다음과 같습니다.
1 차원 최소화에서 최소한의 브라켓을 만들 수있었습니다. 아아! 다차원 공간에는 유사한 절차가 없습니다. ... 우리가 할 수있는 최선은 알고리즘에 시작 추측을주는 것입니다. 즉, 시도 할 첫 번째 지점으로 독립 변수로 구성된 벡터입니다. 그런 다음 알고리즘은 (최소한 로컬) 최소값에 도달 할 때까지 상상할 수없는 N 차원 지형의 복잡성을 통해 내리막 길을 내 립니다.엔엔
다운 힐 심플 렉스 방법은 단일 점뿐만 아니라 초기 심플 렉스를 정의하는 점 으로 시작해야합니다 . [참고 초기 시작점으로 이러한 점을 취할 수 P 0 과 함께] P 난 = P 0 + λ E I 여기서 E I 의 인 N의 단위 벡터와 여기서 λ는 문제의 특성중인 추측 상수되는 길이 스케일. ...엔+ 1피0
피나는= P0+ λ e나는(10.4.1)
이자형나는엔λ
대부분의 단계는 단순의 반대면을 통해 함수가 가장 큰 단순 점 ( "가장 높은 점")을 아래쪽 점으로 [이동]합니다. ...
이제 당면한 문제에 대해 알고리즘을 종료하십시오. 계정의 일반성에 유의하십시오. 저자는 다차원 옵티 마이저 를 종료 하는 데 직관적이고 유용한 조언을 제공 하고이 알고리즘이이 알고리즘에 어떻게 적용되는지 구체적으로 보여줍니다. 첫 번째 단락은 우리 앞에있는 질문에 대한 답입니다.
종료 기준은 섬세 할 수 있습니다. 우리는 일반적으로 다차원 알고리즘의 하나의 "사이클"또는 "단계"를 식별 할 수 있습니다. 그런 다음 해당 단계에서 이동 한 벡터 거리가 일부 허용 오차보다 조금 작은 경우 종료 할 수 있습니다 TOL
. 대안으로, 종료 단계에서 함수 값의 감소가 일부 공차보다 부분적으로 작을 것을 요구할 수 있습니다 FTOL
. ...
위의 기준 중 하나는 어떤 이유로 든 다른 곳에서는 도달하지 못한 단일 예외 단계에 의해 속일 수 있습니다. 따라서 최소값을 찾은 시점에서 다차원 최소화 루틴 을 다시 시작 하는 것이 좋습니다 . 다시 시작하려면 보조 입력 수량을 다시 초기화해야합니다. 다운 힐 심플 렉스 법에서는, 예를 들어, 재 초기화해야 의 N + 1 개 식으로 다시 단면의 정점 ( 10.4.1 ) 로, P 0 청구 최소의 정점 중 하나 인.엔엔+ 1( 10.4.1 )피0
재시작은 매우 비싸지 않아야합니다. 결국 알고리즘은 재시작 지점으로 한 번 수렴했으며 이제 알고리즘을 이미 시작했습니다.
[페이지 290-292.]
이 텍스트에 첨부 된 부호 수치 조리법 '분별 작은 "의 의미를 명확히 : 차이 값 와 Y (두 값 인수 또는 함수의 값)이 임계 값보다"단편적 작은 "인 T > 0엑스와이티> 0
| x | − | 와이|에프( x , y)= 2 | x | − | 와이|| x | + | 와이|< T(1)
에프( x , y) = ( | x | + | y| ) / 2
( 1 )
참고
William H. Press et al. , 수치 레시피 : 과학 컴퓨팅 기술. 케임브리지 대학 출판부 (1986). 최신 버전은 http://numerical.recipes/ 를 방문하십시오 .