알고리즘의 계산 노력


9

엄격하게 볼록한 제한되지 않은 최적화 문제하자 고유의 최소값을 표시하고 x_0 에 지정된 초기 근사치 X_ \ 텍스트 {옵트}. 우리는 벡터가 호출 X \ 엡실론 의 솔루션 닫기 \ mathcal {O}를 하는 경우 \ 시작 {식} \ FRAC {|| X - X _ {\ 텍스트 {옵트}} || _2} {|| x_0 - X_ \ 텍스트 {opt} || _2} \ leq \ epsilon. \ end {식}영형: =엑스아르 자형에프(엑스).엑스고르다엑스0엑스고르다.엑스ϵ영형

||엑스엑스고르다||2||엑스0엑스고르다||2ϵ.

다음과 같은 특성을 가진 \ mathcal {O}엡실론 닫기 솔루션 을 찾기 위해 두 개의 반복 알고리즘 1\ mathcal {A} _2 이 있다고 가정합니다 .2ϵ영형

  1. 어떤을 위해 ϵ>0, 총 계산 노력, 즉 노력을 반복 당 필요한 × 반복의 총 번호, 찾을 수 ϵ 가까운 솔루션은 알고리즘에 대해 동일합니다.
  2. 반복을위한 노력이 당 A1O(n), 의 동안, 말 A2O(n2).

하나의 알고리즘이 다른 알고리즘보다 선호되는 상황이 있습니까? 왜?

답변:


14

반복적으로 병렬화되는 병렬 버전의 반복 알고리즘을 구현하는 것은 불가능하지는 않지만 일반적으로 매우 어렵습니다. 한 번의 반복 완료는 자연스러운 시퀀스 포인트입니다. 하나의 알고리즘에서 반복 횟수는 줄어들지 만 반복 당 더 많은 작업이 필요한 경우이 알고리즘을 효과적으로 병렬로 구현할 수 있습니다.

이것의 예는 선형 프로그래밍인데, 여기서 초기 이중 배리어 (interior point) 방법은 일반적으로 매우 큰 문제에 대해 수십 회 반복을 사용하지만 반복 당 작업은 상당히 광범위합니다. 이에 비해 다양한 버전의 심플 렉스 방법은 일반적으로 훨씬 더 많은 반복이 필요하지만 반복 당 작업은 적습니다. 실제로, 내부 포인트 방법의 병렬 구현은 단순한 방법의 병렬 구현보다 훨씬 더 나은 병렬 효율성을 보여주었습니다.


7

몇 가지 가능성을 생각할 수 있습니다.

두 알고리즘 모두 반복 할 때마다 오류를 단조롭게 줄이면 반복을 중지 할시기에 대해 더 많은 선택권을 제공하므로 더 저렴하고 더 저렴한 반복을 갖는 것이 바람직 할 수 있습니다.

만약 A1 이다 O(n) 일과 시간이지만 O(nk) 기억, 당신은 선호 할지도 모릅니다 A2 만약 k 크다. k=2 선택하기에 충분할 수도 있습니다 A2 메모리 사용으로 인해 여기가 더 제한 될 수 있기 때문입니다.

이것은 아마도 우리가 최적화 또는 다른 종류의 반복 문제에 대해 이야기하고 있는지 여부에 관계없이 적용됩니다.


공간 제약과 관련하여 귀하에게 동의합니다. 시간 복잡성에 근거하여 사례를 만들 수 있는지 궁금합니다.
Suresh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.