점화식 (Recurrence Relations)
Recurrence Relations, 점화식, 재귀 관계, 마스터 정리, 생성함수 풀이, 특성 방정식
정의
점화식 (Recurrence Relation) 은 수열 의 번째 항을 앞선 항 (또는 몇 개) 로 표현하는 관계식입니다.
초기 조건 과 점화식이 함께 있으면 수열의 모든 항을 순차적으로 결정 가능.
예: 피보나치 , .
컴퓨터 과학 응용: 재귀 알고리즘의 시간 복잡도, 자료구조의 크기 분석, 동적 계획법의 상태 전이.
유명한 점화식
1. 피보나치 수열
값:
2. 팩토리얼
3. 하노이 탑
판을 옮기는 최소 이동 수:
풀이: .
4. 병합 정렬 시간 복잡도
풀이 (마스터 정리): .
5. 이항 계수
6. 카탈란 수
값:
시각화: 재귀 트리
예: 의 재귀 트리.
n
/ \
n/2 n/2 (합 = n)
/ \ / \
n/4 n/4 n/4 n/4 (합 = n)
...
...
1 1 1 ... 1 (n 개의 잎)
레벨 수 = . 각 레벨의 합 = . 총 = .
선형 점화식 풀이
형태
는 상수, . 차 선형 동차 상수 계수 점화식.
특성 방정식
이라고 가정. 대입:
이 방정식의 해 가 특성근.
일반해 (서로 다른 특성근)
는 초기 조건으로 결정.
예: 피보나치
.
특성 방정식:
(황금비), .
초기 조건 대입:
(Binet의 공식)
중복근
특성근 이 중근이면 항:
예: .
특성 방정식: . (중근).
일반해: .
비동차 (비선형 항 있음)
이면 비동차.
일반해 = 동차해 + 특수해
특수해 형태는 형태에 따라 시행. (다항식 × 지수) 이면 특수해도 유사 형태.
예:
동차해:
특수해 시도: . 대입:
일반해:
마스터 정리 (Master Theorem)
분할 정복 재귀:
- : 하위 문제 수
- : 크기 축소 비율
- : 분할/병합 비용
세 경우:
- ():
- :
- 이고 정규 조건:
알고리즘 예
| 알고리즘 | 점화식 | 결과 |
|---|---|---|
| 이진 탐색 | ||
| 병합 정렬 | ||
| 카라추바 곱셈 | ||
| Strassen 행렬 곱 |
생성함수 (Generating Functions)
수열을 함수로.
예: 피보나치
. 점화식 로:
부분 분수 분해 -> 의 닫힌 공식.
유용성
- 조합 항등식 증명
- 확률 생성 함수
- 재귀 관계 해결
- 점근 분석
자세한 것은 생성함수 참조.
유용한 점화식 표
| 점화식 | 해 |
|---|---|
컴퓨터 과학 응용
알고리즘 분석
재귀 알고리즘의 시간 복잡도 = 점화식.
- 이진 탐색:
- 병합 정렬:
- 퀵 정렬 (worst):
동적 계획법
DP 는 근본적으로 점화식.
- 피보나치
- LCS:
- 배낭:
자료구조
- B-tree 높이: ( = 분기)
- 힙 삽입/삭제:
- AVL 트리: 회전 균형
확률
- 랜덤 워크의 재귀:
- 랜덤 알고리즘의 기댓값 분석
함정
1. 초기 조건 개수
차 점화식은 개의 초기 조건 필요. 는 필요.
2. 특성 방정식 근
중복근 처리 잊지 말 것. 이면 곱한 항.
3. 마스터 정리 경우 3
정규 조건 (regularity): (). 대부분 성립하지만 확인 필요.
4. 지수 vs 다항
는 (지수 ). 는 (분할 대신 감소).
두 형태 구분 필수.
관련 위키
이 글의 용어 (8개)
- 그래프 이론 기초 (Graph Theory)discrete-math
- 정의 그래프 (Graph) $G = (V, E)$ 는 정점 (vertex) 의 집합 $V$ 와 간선 (edge) 의 집합 $E$ 로 이루어진 이산 구조입니다. 간선은 정점의 쌍 …
- 마스터 정리 (Master Theorem)algorithm
- 정의 마스터 정리 (Master Theorem) 는 분할 정복 알고리즘의 시간 복잡도를 표현하는 점화식을 닫힌 형태 (closed form) 로 풀어주는 공식입니다. 적용 대상:…
- 이산수학 (Discrete Mathematics)discrete-math
- 정의 이산수학 (Discrete Mathematics) 은 이산 (discrete, 셀 수 있는) 대상을 다루는 수학의 분야입니다. 연속 (continuous) 대상 을 다루는 …
- 조합론 기초 (Combinatorics)discrete-math
- 정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세거나 배열하는 방법을 다루는 수학 분야입니다. "경우의 수 계산" 과 "구조의 존재/구성" 이 핵심 주제. 컴퓨…
- 증명 기법 (Proof Techniques)discrete-math
- 정의 증명 (proof) 은 명제가 참임을 논리적으로 확립하는 절차입니다. 컴퓨터 과학에서는 알고리즘 정확성, 자료구조 불변식, 암호 안전성, 형식 검증 등에 필수. 이 문서는 …
- Catalan Number: C_nalgorithm
- 정의 Catalan number 는 조합론에서 자주 등장하는 수열. 닫힌 형식(closed form): $$ Cn = \frac{1}{n+1} \binom{2n}{n} = \fr…
- DP Optimization: CHT, D&C, Knuth, SMAWKalgorithm
- 정의 일반 DP 를 O(N²) 또는 O(N³) 에서 O(N log N) 또는 O(N) 으로 낮추는 여러 최적화 기법의 총칭입니다. 모두 특정 조건 (monotone, concav…
- Generating Functionalgorithm
- 정의 Generating Function (생성 함수) 은 수열 를 형식 멱급수 (formal power series) 으로 인코딩한 것. 수열의 산수 를 다항식 / 멱급수의 대…
💬 댓글