마스터 정리
1. 개요
마스터 정리는 분할 정복 알고리즘의 시간 복잡도를 분석하는 데 사용되는 방법이다. T(n) = aT(n/b) + f(n) 형태의 점화식에 적용되며, 여기서 a는 재귀 호출되는 부분 문제의 수, b는 각 부분 문제의 크기가 감소하는 비율, f(n)은 문제를 분할하고 결과를 결합하는 데 드는 시간 복잡도를 나타낸다. f(n)과 logb a의 관계에 따라 세 가지 경우로 나누어 시간 복잡도를 계산하며, 경우 2는 여러 하위 경우로 확장될 수 있다. 이 정리는 이진 탐색, 병합 정렬과 같은 일반적인 알고리즘의 시간 복잡도를 분석하는 데 활용된다. 하지만 a가 상수(constant)가 아니거나, f(n)과 n^(logb a) 사이에 비다항식적 차이가 있는 경우에는 적용할 수 없다.
-
점화식 -
실베스터 수열
실베스터 수열은 각 항이 이전 항들의 곱에 1을 더한 값으로 정의되는 정수 수열로서, 재귀적으로 정의되며 이중 지수 함수적으로 증가하고, 이집트 분수 및 탐욕 알고리즘과 관련이 있으며, 역수 합은 1로 수렴한다. -
점화식 -
펠 수
펠 수는 0과 1로 시작하여 이전 수의 두 배와 그 앞의 수를 더해 생성되는 수열이며, 제곱근 2의 유리수 근사 및 피타고라스 삼조와 관련이 있다. -
점근 해석 -
섭동 이론
섭동 이론은 정확히 풀리는 문제에 작은 변화가 있을 때 급수로 표현하여 근사해를 구하는 방법으로, 초기 해에 보정항을 더하는 방식으로 고전역학, 양자역학 등 다양한 분야에서 활용되며 섭동 형태와 적용 차수에 따라 구분된다. -
점근 해석 -
점근 표기법
점근 표기법은 알고리즘 효율성 분석에 사용되는 함수의 증가율 비교 방법으로, 빅 오, 리틀 오, 빅 오메가, 리틀 오메가, 빅 세타 표기법 등을 통해 함수의 점근적 상한, 하한, 상한/하한을 나타내며, 컴퓨터 과학과 수학 분야에서 함수 동작을 간결하게 표현하고 비교하는 데 활용된다. -
수학 정리 -
베이즈 정리
베이즈 정리는 조건부 확률을 계산하는 방법으로, 사건 A가 일어났을 때 사건 B가 일어날 확률과 사건 B가 일어났을 때 사건 A가 일어날 확률 사이의 관계를 나타내며 사전 확률과 가능도를 이용하여 사후 확률을 계산하고 다양한 분야에서 활용된다. -
수학 정리 -
중심 극한 정리
중심 극한 정리는 독립적인 확률 변수들의 합이 특정 조건에서 정규 분포에 가까워지는 현상을 설명하는 확률론 및 통계학의 중요 정리로, 통계적 추론, 가설 검정 등 다양한 분야에 활용되며 여러 변형이 존재한다.
2. 일반적인 형태
마스터 정리는 다음과 같은 형태의 점화 관계에 적용된다.
:
여기서 은 문제의 크기, 는 재귀적으로 호출되는 부분 문제의 수, 는 각 부분 문제의 크기가 감소하는 비율, 은 문제를 분할하고 결과를 결합하는 데 드는 시간 복잡도를 나타낸다. 와 는 에 의존하지 않는 상수여야 한다.
이러한 형태의 재귀 관계는 주어진 문제를 동일한 크기의 더 작은 하위 문제로 분할하고, 하위 문제를 재귀적으로 해결한 다음, 하위 문제의 해법을 결합하여 원래 문제의 해법을 제시하는 분할 정복 알고리즘의 수행 시간을 나타낸다.
2.1. 임계 지수
마스터 정리는 문제 분할/재결합 작업 과 임계 지수 의 관계에 따라 세 가지 경우로 나뉜다. 임계 지수는 다음과 같이 정의된다.
:
여기서 는 재귀에서 하위 문제의 수, 는 각 재귀 호출에서 하위 문제의 크기가 감소하는 인자이다.
| 경우 | 설명 | ()와 관련된 에 대한 조건 | 마스터 정리 바운드 | 표기 예시 |
|---|---|---|---|---|
| 1 | 문제 분할/재결합 작업은 하위 문제에 의해 지배된다. (재귀 트리는 리프가 많다.) | 이고 | (분할 항은 나타나지 않으며, 재귀 트리 구조가 지배한다.) | 이고 이면, 이다. |
| 2 | 문제 분할/재결합 작업은 하위 문제와 유사하다. | 이고 일 때 (임계 지수 다항식에 의해 범위가 지정되며, 0개 이상의 선택적 가 곱해짐) | (바운드는 분할 항이며, 여기서 로그는 단일 지수로 증가한다.) | |
| 3 | 문제 분할/재결합 작업은 하위 문제를 지배한다. (재귀 트리는 루트가 많다.) | 이고 일 때 (더 큰 지수 다항식에 의해 하한) | 이고 이고 규칙성 조건이 참이면, 이다. |
경우 2의 유용한 확장으로 모든 값을 처리한다.
| 경우 | ()와 관련된 에 대한 조건 | 마스터 정리 바운드 | 표기 예시 |
|---|---|---|---|
| 2a | 이고 임의의 일 때 | (바운드는 분할 항이며, 여기서 로그는 단일 지수로 증가한다.) | 이고 이면, 이다. |
| 2b | 이고 일 때 | (바운드는 분할 항이며, 여기서 로그 역수는 반복 로그로 대체된다.) | 이고 이면, 이다. |
| 2c | 이고 임의의 일 때 | (바운드는 분할 항이며, 여기서 로그는 사라진다.) | 이고 이면, 이다. |
2.2. 세 가지 경우
마스터 정리는 분할 정복 알고리즘의 재귀 관계에 대해 점근적 타이트 바운드를 제공한다. 이 정리는 다음과 같은 형태의 재귀 관계에 적용된다.
:
여기서 은 입력 크기, 는 하위 문제의 수, 는 각 하위 문제의 크기가 감소하는 인자()이며, 은 재귀의 최상위 수준에서 소요되는 시간이다. 와 는 에 의존하지 않는다.
마스터 정리는 문제 분할/재결합 작업 이 임계 지수 와 어떻게 관련되는지에 따라 세 가지 경우로 나뉜다.
:
| 경우 | 설명 | , 즉 와 관련된 에 대한 조건 | 마스터 정리 바운드 | 표기 예시 |
|---|---|---|---|---|
| 1 | 문제 분할/재결합 작업이 하위 문제에 의해 지배된다. (재귀 트리는 리프가 많다.) | 이고 | (분할 항은 나타나지 않는다. 재귀 트리 구조가 지배한다.) | 이고 이면, 이다. |
| 2 | 문제 분할/재결합 작업이 하위 문제와 유사하다. | 이고 일 때 (임계 지수 다항식에 의해 범위가 지정되며, 0개 이상의 선택적 가 곱해짐) | (바운드는 분할 항이며, 여기서 로그는 단일 지수로 증가한다.) | 이고 이면, 이다. 이고 이면, 이다. |
| 3 | 문제 분할/재결합 작업이 하위 문제를 지배한다. (재귀 트리는 루트가 많다.) | 이고 일 때 (더 큰 지수 다항식에 의해 하한) | 다음 조건을 만족하면, 이다. (합계는 분할 항 에 의해 지배된다.) | 이고 이고 규칙성 조건이 참이면, 이다. |
2.2.1. 경우 2의 확장
Master theorem영어는 모든 값에 대해 일 때, 다음과 같이 세분화할 수 있다.
| 경우 | , 즉 와 관련된 에 대한 조건 | 마스터 정리 바운드 | 표기 예시 |
|---|---|---|---|
| 2a | 이고 임의의 일 때 | ... 그러면 | 만약 이고 이면, 이다. |
| 2b | 이고 일 때 | ... 그러면 | 만약 이고 이면, 이다. |
| 2c | 이고 임의의 일 때 | ... 그러면 | 만약 이고 이면, 이다. |
3. 예시
마스터 정리는 알고리즘의 복잡도를 분석하는 데 사용되는 방법 중 하나이다. 마스터 정리가 적용되는 몇 가지 예시는 다음과 같다.
* 경우 1:
* 경우 2:
* 경우 3:
3.1. 경우 1 예시
:
위 공식에서:
:이고,
:이며, 여기서 이다.
다음으로, Case 1 조건을 만족하는지 확인하면:
:이다.
따라서 마스터 정리의 첫 번째 경우에 해당하므로:
:
(이 결과는 점화식의 정확한 해인 에 의해 확인되며, 을 가정한다).
3.2. 경우 2 예시
위 공식에서 변수는 다음과 같은 값을 갖는다.
:
: 여기서
다음으로, 경우 2 조건을 만족하는지 확인한다.
:이므로, c와 는 같다.
따라서 마스터 정리의 두 번째 경우를 따른다.
:
따라서 주어진 점화식 은 이다.
(이 결과는 점화식의 정확한 해인 에 의해 확인되며, 이라고 가정한다.)
3.3. 경우 3 예시
:
위 공식에서 변수는 다음과 같은 값을 갖는다.
:
:, 여기서 이다.
다음으로, Case 3 조건을 만족하는지 확인한다.
:이므로, 이다.
규칙성 조건도 만족한다.
:, 를 선택한다.
따라서 마스터 정리의 세 번째 경우에서 다음과 같은 결과를 얻는다.
:
주어진 점화 관계 은 이며, 이는 원래 공식의 과 일치한다.
(이 결과는 점화 관계의 정확한 해인 에 의해 확인되며, 이라고 가정한다.)