최악의 경우, 평균적인 경우 외에 다른 종류의 실행 시간 분석?


22

알고리즘의 실행 시간을 분석하는 방법은 다음과 같습니다.

1) 최악의 경우 분석 : 최악의 인스턴스에서 실행 시간.

2) 평균 사례 분석 : 임의 인스턴스에서 예상 실행 시간.

3) 상각 분석 : 최악의 인스턴스 순서에서 평균 실행 시간.

4) 순조로운 분석 : 최악의 무작위 교란이 발생한 인스턴스에서 예상 실행 시간.

5) 일반적인 사례 분석 : 인스턴스의 작은 하위 집합을 제외하고 최악의 시간에 실행 시간.

내 질문 : 이것은 완전한 목록입니까?


2
이런 종류의 목록은 결코 완전한 것이 아닐 수 있습니다.
Ito Tsuyoshi

답변:


8

인스턴스 최적 성은 알고리즘의 매우 흥미로운 속성입니다. 인스턴스 최적의 개념을 일반화하고 최악의 경우와 평균 사례를 포함하는 놀랍도록 흥미로운 개념을 생각해 낼 수 있습니다.

비록 전통적인 알고리즘 분석의 범위에 속하지는 않지만, 그 자체로는 흥미 롭습니다. 기하학적 알고리즘에 대해 논의한 Afshani-Barbay-Chan (FOCS '09)의 논문은 알고리즘 성능이 입력 순서 (특정 문제와 관련이 있음)를 모르는 것으로 간주합니다.

모든 알고리즘에 대해 입력을 동등성 클래스로 나누고 알고리즘 성능을 각 동등성 클래스의 평균 성능에 대한 집단 통계로 간주하십시오.

최악의 분석은 단순히 입력을 개별 동등성 클래스로보고 최대 실행 시간을 계산합니다. 평균 사례 분석은 모든 입력을 구성하는 단일 클래스 인 사소한 동등성 클래스를 살펴 봅니다. Afshani-Barbay-Chan 논문에서, 입력이 순열 클래스로 분할되는 경우 (즉, 순서가 분명하지 않은 성능) 알고리즘이 최적입니다.

이것이 새로운 알고리즘 분석 패러다임을 이끌어 내는지 확실하지 않습니다. Tim Roughgarden의 과정 에는 훌륭한 동기 부여 예제가 있으며 알고리즘 분석을위한 다양한 방법을 다룹니다.


아난 트, 팀의 과정과 관련해 주셔서 감사합니다. 바로 내가 찾던 것입니다.
umar

14

나는 목록에 대해 두 가지가 더 있는데, 다소 비슷합니다.

  1. Parameterized Analysis는``매개 변수 ''라고 불리는 입력에 대한 추가 정보를 사용하여 실행 시간을 하나의 값 대신 두 값의 함수로 표현합니다. 예를 들어 Independent Set 문제가 있습니다. 일반적인 경우에 가장 적합한 실행 시간은 상수 경우 입니다 . 이제 그래프의 트리 폭을 매개 변수로 취하고이를 매개 변수 나타내면 독립 세트는 시간 으로 계산 될 수 있습니다 . 따라서 트리 폭 가 그래프 의 전체 크기에 비해 작 으면 이 매개 변수화 된 알고리즘이 훨씬 빠릅니다.영형(기음영형(1))1<기음<2케이영형(2케이영형(1))케이

  2. 영형(로그+케이)케이


8

영형(로그)

다항식 시간 알고리즘에 대한 매개 변수화 된 분석처럼 보이며 출력에 민감한 분석이이 범주에 속하는 것으로 보입니다.


Serge, Glencora의 블로그 게시물에 대한 링크와 많은 흥미로운 의견에 감사드립니다.
umar

7

" 높은 확률 "분석 (무작위 알고리즘의 경우)도 있는데, 어떤 경우 든 알고리즘이 대부분의 시간 동안 얼마나 잘 수행되는지에 대해 걱정하지만 시간의 일부를 완전히 포기할 수 있습니다. 이것은 학습 이론에서 일반적입니다.


4

알고리즘에 임의성을 추가하고 위의 모든 것과 결합 할 수 있습니다. 그러면 최악의 예상 실행 시간 (최악의 인스턴스이지만 알고리즘에서 임의의 가능한 임의의 동전 뒤집기 시퀀스에 대한 평균)과 확률이 높은 최악의 실행 시간 (다시 최악의 인스턴스, 그러나 알고리즘에서 임의의 동전 뒤집기 확률).


3

Bijective 분석 은 두 가지 알고리즘을 비교하는 방법입니다 (Spyros Angelopoulos, Pascal Schweitzer : Bijective 분석에서 페이징 및 목록 업데이트. J. ACM 60, 2013) : 대략적으로 알고리즘 A는 길이 n의 입력에서 알고리즘 B보다 낫습니다. 길이 n의 입력의 f를 f로하여 A가 입력 x에 대해 f (x)의 B보다 적어도 우수하게 수행되도록한다.



0

경쟁 분석 페이지 대체 알고리즘 에서 한 가지 방법은 적은 페이지 누락으로 다른 방법을 과체중합니다. 적은 페이지 누락은 "더 적은 실행 시간"을 나타냅니다. 또한 경쟁 분석은 두 가지 방법을 비교하는 방법입니다. Allan Borodin의 "온라인 계산 및 경쟁 분석"을 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.