수학에서 점화식(漸化式) 또는 재귀식(再歸式, 영어: recurrence relation)이란 수열에서 이웃하는 두개의 항 사이에 성립하는 관계를 나타낸 관계식이다. 즉, 수열
의 각 항
이 함수 f를 이용해서
![{\displaystyle a_{n+1}=f(a_{n})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/47d3faebacf3dc69a01ef7731d48d026bd092325)
처럼 귀납적으로 정해져 있을 때, 함수 f를 수열
의 점화식이라고 하며, 또한, 수열
은 점화식 f 로 정의된다고 한다.
점화식을 푼다는 것은 귀납적으로 주어진 수열
의 일반항
을 n 의 명시적인 식(explicit formula)으로 나타내는 것을 말한다.
인접 2항간 점화식[편집]
수열{an} 이 점화식에 의해서 정의되고 점화식이 변수가 하나인 함수 f에 의해서
- an+1 = f(an)
로 나타내지고 있을 때, 이 점화식은 인접 2항간의 점화식이라고 한다.
인접 2항간 선형 점화식[편집]
인접 2항간 점화식중 f 가 일차식
- an+1 = p(n) · an + q(n) (p, q는 n 의 함수)
일 때, 선형이라고 한다.
계수가 모두 상수인 경우[편집]
계수 p, q가 상수인 2항간 점화식, 즉,
- an+1 = p · an + q (p, q는 n 에 관계하지 않는 상수)
라면, 이 점화식은 다음과 같이 해서 등차수열 혹은 등비수열에 귀착되어 일반항 n 의 식으로 명시적으로 기술할 수 있다.:
p = 1 일 때, 점화식은 an+1 = an + q
이며, 이것은 등차수열을 나타낸다.
p ≠ 1 일 때, 점화식 an+1 = p · an + q 의 특성방정식이라 불리는 x = px + q 의 근을 α 라고 하면, 점화식은
- an+1 - α = p (an - α)
으로 변형할 수 있다. 이것은 일반항이 bn = an - α 로 정의되는 수열{bn} 이 공비가 p 인 등비수열이 된다는 뜻이 되며, bn 을 n 의 식으로 쓸 수 있다. 다시, an = bn + α 이므로, 이것도 n 의 식으로 표현이 가능하다.
예 : 하노이의 탑[편집]
유명한 하노이의 탑(Tower of Hanoi) 문제가 있다.
개의 원판을 이동하는 회수를 수열
으로 정의하자.
개의 원판을 이동시키기 위해서는 그 위쪽
개의 원판을 다른 막대로 이동한 후, 맨 아래쪽 원판을 이동하고 다시
개의 원판을 이동해야 하므로 다음과 같은 점화식이 성립함을 알 수 있다.
![{\displaystyle a_{n}=2a_{n-1}+1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f53c4d622d281b438e850010989bc0eb34fd04b5)
선형 점화식이므로 간단하게 일반항이
임을 알 수 있다.
등차수열·등비수열의 점화식[편집]
등차수열이나 등비수열은 인접 2항간 점화식의 매우 특수한 형태이며, 그 정의에 의해 매우 단순한 점화식을 가진다. 즉,
- an+1 = an + d (d는 상수)
와 같이 된다. 이 등차수열의 점화식에서 상수 d가 공차(공통적인 차이)이다. 이 점화식을 풀면 일반항의 식은 an = a1 + (n - 1)d 이 된다. 마찬가지로
- an+1 = r · an (r는 상수)
이 등비수열의ff,상수 r 이 공비(공통적인 비율)이다. 이 점화식을 풀면 an = rn-1 · a1 이란 일반항을 얻을 수 있다.
계수가 상수가 아닌 경우[편집]
이러한 경우 적절한 변형을 통해 해결이 가능한 형태로 변형해주는 작업이 필요하다. 몇몇 특수한 경우에 풀이법이 잘 알려져 있다.
p(n) = 1 인 경우[편집]
이 경우 계차수열(인접한 두 항의 차로 이루어진 수열)이
이라는 일반항을 알고 있는 상태가 된다. 따라서 그 합을 구하면 즉시 일반항을 알 수 있게 된다. 점화식에 1부터 n까지 차례로 대입하여 다음 식들을 구성한다.
![{\displaystyle a_{2}-a_{1}=q(1)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8c27c8b4f28e9fde9a40e8fd1cb03628c2f996ed)
![{\displaystyle a_{3}-a_{2}=q(2)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2a8b4fe212ea52909e3b04289a23ba7b8605467b)
![{\displaystyle \vdots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/f8039d9feb6596ae092e5305108722975060c083)
![{\displaystyle a_{n}-a_{n-1}=q(n-1)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/12ee5c8603ab532d7dce768ac9c884ce17b5883f)
이므로 변변 모두 더하면 다음과 같은 일반항을 구할 수 있다.
![{\displaystyle a_{n}=a_{1}+\sum _{k=1}^{n-1}q(k)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b7d000f891b112c3f441fd8e5152bb78ebaa5225)
q(n) = 0 인 경우[편집]
이 경우
인 경우와 마찬가지로 점화식에 1부터 n까지 차례로 대입하여 변변 곱하면 다음과 같은 일반항을 구할 수 있다.
![{\displaystyle a_{n}=a_{1}\prod _{k=1}^{n-1}p(k)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a4217b693112a4e938347faf639adbce82a280a5)
p(n)만 상수인 경우[편집]
![{\displaystyle a_{n+1}=pa_{n}+q(n)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/776688c804a35fff942206895f7054b626e78323)
점화식이 위와 같은 경우 양변을
으로 나누면 다음과 같이 식을 바꿀 수 있다.
![{\displaystyle {\frac {a_{n+1}}{p^{n+1}}}={\frac {a_{n}}{p^{n}}}+{\frac {q(n)}{p^{n+1}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3b0a68bfbe3eddb98dac14b60268d8fa94b6ccab)
그러면 일반항이
인 수열은 p(n) = 1인 경우와 동일함을 확인할 수 있다. 계차수열
의 합을 이용하여 일반항을 구한다.
p(n) = (n+1)/n 인 경우[편집]
![{\displaystyle na_{n+1}=(n+1)a_{n}+q(n)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c9d3230aaeca3e7fc7aec5776fb32fe801027147)
점화식이 위와 같은 경우 양변을
으로 나누면 일반항이
인 수열은 p(n) = 1인 경우와 동일함을 확인할 수 있다.
p(n) = n 인 경우[편집]
![{\displaystyle a_{n+1}=na_{n}+q(n)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/72b7b6865eb9d420ae78179724f1af94b5c34a22)
점화식이 위와 같은 경우 양변을
으로 나누면, 일반항이
인 수열은 p(n) = 1인 경우와 동일함을 확인할 수 있다.
인접 3항간 점화식[편집]
수열 {an} 이 점화식에 의해서 정해지며, 점화식이 2 변수 함수 f에 의해서
- an+2 = f(an+1, an)
로 표현될 때, 이 점화식은 인접3항간의 점화식이라고 한다.
인접 3항간 선형 점화식[편집]
인접 3항간 점화식 중 f 가 일차식
(p, q, r 은 n 의 함수)
일 경우 선형이라고 한다.
r(n) = 0 이고 계수가 모두 상수인 경우[편집]
상수 계수 선형 인접 3항간 점화식이 다음과 같다고 하자.
(p, q는 n에 무관한 상수)
이 경우, 특성 방정식(characteristic equation) x2 = px + q 의 근을 이용해 풀 수 있다.
즉, 특성 방정식
의 두 해를
라고 하면, 일반항이
인 수열은 주어진 점화식을 만족하게 된다. 따라서 초항의 값에 따라 미정계수
를 결정하면 된다.
이차 방정식의 두 해가 중근이 될 경우 일반항을
로 두면 마찬가지로 주어진 점화식을 만족하게 된다. 이는 마치 상수계수만을 가진 2계도 선형 제차 미분방정식의 풀이를 연상하게 한다. (본질적으로 동일한 매커니즘이다.)
예 : 피보나치 수열[편집]
피보나치 수(Fibonacci numbers)의 경우 초기값
과 다음과 같은 선형 인접 3항간 점화식으로 정의되어 있다.
![{\displaystyle F_{n}=F_{n-1}+F_{n-2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4fa6d281e7a54e08aeffeef7458ddc0884333686)
이차 방정식
의 두 해는
이므로 초항의 값을 대입하면 다음과 같은 일반항을 얻는다.
![{\displaystyle F_{n}={\frac {1}{\sqrt {5}}}\left\{\left({\frac {1+{\sqrt {5}}}{2}}\right)^{n}-\left({\frac {1-{\sqrt {5}}}{2}}\right)^{n}\right\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/afd515f750b70ffe8b640e63dd208b9a2b5b985d)
계수가 상수가 아닌 경우[편집]
계수가 상수가 아닌 경우에는 각각의 점화식에 따라 다양한 기법을 적용해야 한다. 양변을 적절한 수로 나누는 등의 시도를 해 볼 수 있다.
예 : 완전순열[편집]
완전순열 혹은 교란순열(Derangement)이라 불리는 수열의 점화식은 다음과 같다.
![{\displaystyle d_{n}=(n-1)(d_{n-1}+d_{n-2})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0211c9788c9734ef21ac7e8580ccbfbacee4b852)
이 식은 다음과 같이 변형된다.
![{\displaystyle d_{n}-nd_{n-1}=-\{d_{n-1}-(n-1)d_{n-2}\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e3c6f3845431e43085f1b671c1ec81d51b28cb4e)
그러므로
을 새로운 수열
으로 정의하면, 다음과 같은 점화식이 된다.
![{\displaystyle a_{n}=-a_{n-1}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/55a5f90e67102d28fce9739f1d30db1a976c4fc8)
의 일반항은 즉시 나오므로 다음과 같이 인접 3항간 점화식이 인접 2항간 점화식으로 변형된다.
![{\displaystyle d_{n}=nd_{n-1}+(-1)^{n}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3bed25bf1563a6affa2fc8ccfaadc6e51cb4c587)
이 경우 위에서 다룬 인접 2항간 점화식에서 p(n) = n인 꼴이 된다. 양변을
으로 나누면, 일반항이
인 수열의 일반항을 알 수 있고 이로써
의 일반항도 쉽게 유도된다.
p = - q - 1의 형태인 경우[편집]
p = - q - 1인 경우는 특성방정식을 푸는 번거로운 과정없이 쉽게 답을 구할 수 있다. 점화식은 다음과 같이 변형된다.
![{\displaystyle a_{n+2}-a_{n+1}=-q(a_{n+1}-a_{n})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0167e13ee72a747b29e2620b792a2e7704e59a66)
그러므로 그 계차수열이 공비가 - q 인 등비수열임을 확인할 수 있다. 계차수열의 일반항을 구해 그것으로부터 즉시
의 일반항을 이끌어낼 수 있다.
상수계수의 선형 점화식[편집]
점화식의 계수가 모두 상수인 선형 점화식
![{\displaystyle a_{n}=c_{1}a_{n-1}+c_{2}a_{n-2}+\cdots +c_{d}a_{n-d}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5114b6186f536b05b243e9346c56fbab449a37e1)
의 경우 다음과 같은 특성 방정식의 해를 구하여 일반항을 구한다.
![{\displaystyle x^{d}=c_{1}x^{d-1}+\cdots +c_{d-1}x^{1}+c_{d}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/859ce4d33bb6198f5b3966f7ebe28424f5c2919e)
선형대수학을 이용한 해법[편집]
다항 방정식을 이용한 풀이법도 있지만 선형대수학을 이용할 수도 있다. 다음과 같이 수열의 초기항을 고유기저(eigenbasis)로 표현했다고 하자.
![{\displaystyle {\begin{bmatrix}a_{0}\\\vdots \\a_{d-1}\end{bmatrix}}=b_{1}v_{1}+\cdots +b_{d}v_{d}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/84aa930b0713a378d7180eb0f246712c2eac68b3)
이 경우 조르당 표준형(Jordan normal form)을 이용하여 일반항을 구할 수 있다.
![{\displaystyle {\begin{bmatrix}a_{n}\\\vdots \\a_{n+(d-1)}\end{bmatrix}}=C^{n}{\begin{bmatrix}a_{0}\\\vdots \\a_{d-1}\end{bmatrix}}=C^{n}(b_{1}v_{1}+\cdots +b_{d}v_{d})=\lambda _{1}^{n}b_{1}v_{1}+\cdots +\lambda _{d}^{n}b_{d}v_{d}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/eb134463251b391f88471aebab9903512734a399)
만약 행렬이 대각화(diagonalizable)되지 않으면 해법은 좀 더 복잡하게 된다.
예 : 피보나치 수의 선형대수학을 이용한 해법[편집]
피보나치 수의 점화식을 행렬로 표현하면 다음과 같이 된다.
![{\displaystyle {\begin{bmatrix}F_{n+1}\\F_{n}\end{bmatrix}}={\begin{bmatrix}1&1\\1&0\end{bmatrix}}{\begin{bmatrix}F_{n}\\F_{n-1}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b001602cf05be83cb5076fc3dfa656e90dbf2d4d)
그러므로 일반항은 다음과 같이 된다.
![{\displaystyle {\begin{bmatrix}F_{n+1}\\F_{n}\end{bmatrix}}={\begin{bmatrix}1&1\\1&0\end{bmatrix}}^{n-1}{\begin{bmatrix}F_{2}\\F_{1}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5879a7048941b46221c15aa89978ca53c8964cc7)
이 행렬은 다음과 같이 대각화 된다. 특성방정식의
의 두 해를
라고 두면, 이 두 값이 고윳값이므로
![{\displaystyle {\begin{bmatrix}1&1\\1&0\end{bmatrix}}={\begin{bmatrix}\alpha &\beta \\1&1\end{bmatrix}}{\begin{bmatrix}\alpha &0\\0&\beta \end{bmatrix}}{\begin{bmatrix}\alpha &\beta \\1&1\end{bmatrix}}^{-1}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c86b2128042ecb43296cbafd25571c7a20272271)
그러므로 일반항은 다음과 같이 정리되며 다항방정식을 이용한 풀이와 동일한 일반항을 얻을 수 있다.
![{\displaystyle {\begin{bmatrix}F_{n+1}\\F_{n}\end{bmatrix}}={\begin{bmatrix}1&1\\1&0\end{bmatrix}}^{n-1}{\begin{bmatrix}F_{2}\\F_{1}\end{bmatrix}}={\begin{bmatrix}\alpha &\beta \\1&1\end{bmatrix}}{\begin{bmatrix}\alpha ^{n-1}&0\\0&\beta ^{n-1}\end{bmatrix}}{\begin{bmatrix}\alpha &\beta \\1&1\end{bmatrix}}^{-1}{\begin{bmatrix}F_{2}\\F_{1}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d0d47c8dd92624c42bedafd0198af3a579d6abb7)
Z 변환을 이용한 해법[편집]
Z 변환 페이지 참조.
수열의 합을 포함하는 경우[편집]
점화식 내에 그 수열의 합이 들어있는 경우, 적절한 변형을 하여 인접한 몇 개의 항을 포함하는 점화식으로 바꾸어 준다. 예를 들어,
![{\displaystyle a_{1}+a_{2}+a_{3}+\cdots +a_{n}=f(n)a_{n}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/52737fea7ef6da67c245e5f1023406b1516ce7d8)
점화식이 위와 같이 주어진 경우, 다음과 같이 인접 2항간의 점화식으로 변형한다.
![{\displaystyle f(n-1)a_{n-1}+a_{n}=f(n)a_{n}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9e390fe8ddda36383bb4c217dfd12b100998fbfe)
수열
의
째 항까지의 총합이
인 경우,
임을 활용하여 인접 2항간의 점화식으로 변형가능한 것도 있다.
몇몇 간단한 비선형의 경우[편집]
비선형의 경우 일반적인 풀이법은 없다. 그러나 몇몇 간단하게 해결되는 경우가 알려져 있다.
예1 : 역수에 주목[편집]
![{\displaystyle pa_{n}a_{n+1}=qa_{n}-ra_{n+1}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/63d17d73acf8161ab7e411cc85b6c217fc2354b2)
점화식이 위와 같이 주어진 경우 양변을
으로 나누면 수열 {1/
}이 선형 점화식이 됨을 알 수 있다. 이 선형 점화식의 일반항을 구하여 해결한다.
예2 : 로그를 취하여 해결가능한 경우[편집]
![{\displaystyle a_{n+1}=4a_{n}^{2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/eb422ed93c71ab5c68bb0e519ba67598744b1e9f)
점화식이 위와 같이 주어진 경우 양변에 밑이 2인 로그를 취하면
와 같이 변형되어 수열
이 선형 점화식을 가짐을 알 수 있다. 따라서 선형 점화식을 풀면 쉽게 해결할 수 있다.
예3 : 점화식의 역수를 취해 해결가능한 경우[편집]
![{\displaystyle a_{n+1}={\frac {2a_{n}}{a_{n}+2}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9bd8d65420510fbb9ae64bb16be008aa88378e52)
점화식이 위와 같이 주어진 경우 양변의 역수를 취하면 수열 {1/
}이 선형 점화식을 가짐을 알 수 있다. 이 점화식을 풀면 쉽게 일반항을 구할 수 있다.
예4 : 십진법에 기초한 점화식[편집]
십진법에 기초하여 정의된 수열의 경우 쉽게 일반항을 구할 수 있는 경우가 있다. 예를 들어, 4가 이전의 항에서 하나씩 늘어가는 방법으로 정의된 수열이 있다고 하자. 즉,
- 4, 44, 444, 4444, 44444, .....
이 경우 일반항은 다음과 같다.
![{\displaystyle {\frac {4}{9}}(10^{n}-1)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/12c57326c3727a88b0052aa4c85f05da9358edd6)
기수법이 다른 경우도 마찬가지 방법을 쓸 수 있다.
예5 : 주기형의 경우[편집]
![{\displaystyle a_{n+1}=-{\frac {1}{a_{n}+1}},\;a_{n}\neq -1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5f4b7754a6316241e2c8431bbe4c1bb46dcf8f76)
점화식이 위와 같이 주어진 경우, n에 대한 식으로 표현하기 어렵다. 그러나 몇몇 값을 대입해보면 이 수열은 주기적으로 같은 값이 반복됨을 알 수 있다. 즉,
이 세 수가 반복되어 나타난다.
생성함수를 이용한 해법[편집]
생성함수(generating function)를 이용하여 수열의 일반항을 찾는 것이 가능한 경우가 있다.
예 1[편집]
이고 점화식이 아래와 같이 주어진 수열을 생각해보자.
![{\displaystyle a_{n+1}=2a_{n}+1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e69bc73b01c3cd49e4dd13ab3133f71c8416b73f)
이 수열을 계수로 갖는 다항식
은 다음 등식을 만족해야 한다.
![{\displaystyle {\frac {A(x)}{x}}=2A(x)+\sum _{n=1}^{\infty }x^{n}=2A(x)+{\frac {x}{1-x}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2861f3ea3017774179172e9d8d2af8462ec3e313)
그러므로
를 구할 수 있고 이를 다시 부분분수로 분해하여 무한급수로 표현한다.
![{\displaystyle A(x)={\frac {x^{2}}{(1-x)(1-2x)}}={x}\left({\frac {1}{1-2x}}-{\frac {1}{1-x}}\right)=\sum (2^{n-1}-1)x^{n}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d0c88a3e8182b457a9f4ccc020f68ba77cb2a9e1)
예 2[편집]
이고 점화식이 아래와 같이 주어진 수열을 생각해보자.
![{\displaystyle a_{n+1}=2a_{n}+n}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3a3c873304b5e274b0f13cefcc2356189b819d11)
그런데
이라는 사실을 이용하여
임을 알 수 있으므로, 이 수열을 계수로 갖는 다항식
은 다음 등식을 만족해야 함을 알 수 있다.
![{\displaystyle {\frac {A(x)-1}{x}}=2A(x)+{\frac {x}{(1-x)^{2}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fd43082c010f34788a81c16d96821e0984b222bb)
마찬가지로 부분분수로 분해하여 무한급수로 표현한다.
![{\displaystyle A(x)={\frac {1-2x+2x^{2}}{(1-x)^{2}(1-2x)}}={\frac {-1}{(1-x)^{2}}}+{\frac {2}{1-2x}}=\sum (2^{n+1}-n-1)x^{n}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fc29673214861dc85ed6eb8f26d911318115fee6)
예 3 : 피보나치 수열의 생성함수를 이용한 해법[편집]
번째 피보나치 수를 계수로 갖는 다항식
는 정의에 의해 다음을 만족해야 함을 즉시 알 수 있다.
![{\displaystyle {\frac {F(x)-x}{x}}=F(x)+xF(x)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3fb984f6fb62c0c22d14a3a83a3c552f1eda4878)
그러므로 다음을 얻는다.
![{\displaystyle F(x)={\frac {x}{1-x-x^{2}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fa9454d9083150817e78e219dd1f4e501a58f085)
방정식
의 두 근을
라고 하면 다음과 같이 부분분수로 분해된다.
![{\displaystyle F(x)={\frac {1}{r_{1}-r_{2}}}\left({\frac {1}{1-xr_{1}}}-{\frac {1}{1-xr_{2}}}\right)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/09968cc0aa8515f0455a4e5dbd3ba34a398fce30)
이것을 무한급수로 표현하면 일반항을 얻을 수 있다.
같이 보기[편집]