피보나치 수열 심화과정1 - n번째 피보나치 수를 바로 계산할 수 있을까? (피보나치 수열의 일반항과 황금비)-

1. 피보나치 수열

 

F1=F2=1F1=F2=1이고 3이상의 자연수 n에 대하여,

 

Fn=Fn1+Fn2Fn=Fn1+Fn2를 만족하는 수열 FnFn을 피보나치 수열이라고 부른다.

 

 

2. 피보나치 수열을 만드는 방법

 

어떤 자연수 n이 주어졌을때, FnFn을 O(1)에 바로 계산할 수 있는가?

 

1,1,2,3,5,...로 더해나가 n번째 피보나치 수열의 항을 구하는 것이 아니라

 

n만 알면 n번째 피보나치 수를 바로 구할 수 있는지?

 

 

3. 선형점화식의 특성방정식(characteristic equation)

 

선형점화식 f(n)=an+k+c1an+k1+c2an+k2+...+ckanf(n)=an+k+c1an+k1+c2an+k2+...+ckan에 대하여, 

 

모든 i = 0, 1, 2, ..., k에 대해 an+ki=xkian+ki=xki라고 정의하자. 

 

그러면 선형점화식은 x에 대한 방정식 xk+c1xk1+c2xk2+...+ck=0xk+c1xk1+c2xk2+...+ck=0으로 바뀐다.

 

이를 선형점화식 f(n)의 특성방정식이라고 부른다.

 

특성방정식의 가장 중요한 성질은 일반항과 관련되어 있는데, 이 방정식의 근이 α1,α2,...,αkα1,α2,...,αk라고 하면, 

 

수열의 일반항 ananαn1,αn2,...,αnkαn1,αn2,...,αnk의 선형결합이다.

 

즉 적절한 상수 A1,A2,...,AkA1,A2,...,Ak에 대하여 가능한 모든 일반항은..

 

an=A1αn1+A2αn2+...+Akαnkan=A1αn1+A2αn2+...+Akαnk

 

여기서 특성방정식의 근이 모두 달라야한다. 중근을 갖는다면 성립하지 않는다고 한다

 

적절한 상수 AiAi는 초기조건 a1,a2,..a1,a2,..에 따라 정해진다.

 

https://namu.wiki/w/%EC%A0%90%ED%99%94%EC%8B%9D

 

점화식 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

 

https://milkclouds.work/%EB%AF%B8%EB%B6%84%EB%B0%A9%EC%A0%95%EC%8B%9D%EA%B3%BC-%EC%A0%90%ED%99%94%EC%8B%9D%EC%9D%98-%ED%8A%B9%EC%84%B1%EB%B0%A9%EC%A0%95%EC%8B%9D%EC%97%90-%EB%8C%80%ED%95%B4/

 

수학 조각글 - 미분방정식과 점화식의 특성방정식에 대해

an+2=an+1+anan+2=an+1+an ¨x=˙x+x¨x=˙x+x 위는 각각 유명한 수열인 피보나치 수열에 대한 점화식, 그리고 어떠한 미분방정식을 나타낸다. (일부러 둘을 비슷한 꼴로 만들었다.) 위의 두 미분방정식과

milkclouds.work

 

왜 맞는지, 직관적으로 설명해주신분이 있어서 첨부해본다

 

선형점화식이라 가능한가보다.

 

특성방정식의 어떠한 해 αn1,αn2αn1,αn2이 특성방정식을 만족시킨다면,

 

선형결합 aαn1+bαn2aαn1+bαn2도 그 방정식을 만족시킨다.

 

따라서 점화식을 구성하는 해공간의 두 원소의 선형결합으로 점화식의 무수히 많은 해공간을 반드시 구성할 수 있다.

 

이렇게 무한히 많은 해 중에서 초기조건 F1=F2=1F1=F2=1을 만족하는 해를 찾는 것이 사람이 찾고자 하는 특정한 일반항이다.

 

 

4. 피보나치 수열의 일반항

 

피보나치 수열의 점화식 Fn=Fn1+Fn2Fn=Fn1+Fn2를 특성방정식으로 변형하면 x2x1=0x2x1=0이다.

 

이 방정식의 두 근을 α,βα,β라 하고 근의 공식을 이용해 구할 수 있다.

 

α=1+52α=1+52

 

β=152β=152

 

따라서 피보나치 수열의 일반항은 Fn=A(1+52)n+B(152)nFn=A(1+52)n+B(152)n

 

초기조건 F1=F2=1F1=F2=1을 이용하면 두 상수 A,BA,B를 구할 수 있다.

 

1=A(1+52)+B(152)1=A(1+52)+B(152)

 

1=A(3+52)+B(352)1=A(3+52)+B(352)

 

식을 변형하면,

 

6=3A3A53B+3B56=3A3A53B+3B5

 

2=3A+A5+3BB52=3A+A5+3BB5

 

그러면, 

 

A+B=0A+B=0이므로, 1=A(1+52)+B(152)1=A(1+52)+B(152)에 대입하면, 

 

2=2A52=2A5이고, 그러므로 A=15A=15

 

A+B=0A+B=0이므로, B=15B=15

 

따라서 F1=F2=1F1=F2=1인 피보나치 수열 FnFn의 일반항은...

 

Fn=15((1+52)n(152)n)Fn=15((1+52)n(152)n)

 

피보나치 수열의 모든 항이 자연수임에도 불구하고 일반항에 무리수가 들어간다는 점이 상당히 놀랍다.

 

특히 피보나치 수열의 일반항 FnFn을 Binet의 공식이라고 부른다.

 

만약 자연수 n이 주어지면 일반항 FnFn만으로 O(1)에 n번째 피보나치 수를 바로 구할 수 있다...

 

 

https://mathpeak.tistory.com/447

 

피보나치 수열의 일반항 구하기

피보나치 수열의 유래 : 레오나르도 피보나치(Fibonacci ; 1174~1250)가 1202년에 저술한 주산서(Liber Abbaci) 12장에서 "어떤 사람이 사방이 벽으로 둘러싸인 장소에 토끼 한 쌍을 놓았다. 만일 매달 각 쌍

mathpeak.tistory.com

 

 

이론상 O(1)이긴 한데 사실 이 공식은 수학적으로 의미있지 프로그래밍적으로는 아무 의미없는게

 

floating point error때문에 n = 71부터 실제 값과 오차가 난다고 함

 

 

5. 황금비(golden ratio)

 

임의의 한 선분의 길이를 두 부분 A,B로 나누었을때, A > B라고 한다면, A+B: A = A : B가 되도록 분할할때,

 

ABAB 또는 A+BAA+BA를 황금비라고 부른다(golden ratio)

 

비례식 A+B : A = A: B로부터 A2=AB+B2A2=AB+B2이 만들어지고, AB=φAB=φ라고 하자.

 

그러면 방정식은 (φ)2φ1=0(φ)2φ1=0

 

이 방정식의 근을 근의 공식을 이용해 구한다면, 비율은 양수이므로 φ=1+52φ=1+52

 

이를 황금비라고 부르고 보통 φ=1.6180339887....φ=1.6180339887....로 나타낸다.

 

참고로 인터넷 검색을 해보면 황금비는 수학적으로만 의미 있을뿐,

 

일반적으로 알려진 "미학적으로 아름답다" 등등은 모두 근거 없다고 함

 

https://namu.wiki/w/%ED%99%A9%EA%B8%88%EB%B9%84

 

황금비 - 나무위키

성질 1 : 황금비의 정수 거듭제곱은 항상 황금비의 정수배와 정수의 합으로 나타낼 수 있으며, 그 계수는 피보나치 수열이다.φn=Fnφ+Fn−1\varphi^n = F_n\varphi + F_{n-1}φn=Fn​φ+Fn−1​(단, FnF_nFn​은 피

namu.wiki

 

 

6. 피보나치 수열과 황금비

 

1+521+52는 어디서 본것 같은 값인데, 피보나치 수열의 일반항에도 나오는 값이다.

 

피보나치 수열의 일반항 FnFn에 대하여, 

 

limnFn+1Fn=φlimnFn+1Fn=φ

 

인접한 두 항의 비가 n이 커질수록 황금비에 수렴한다

 

이건 좀 놀랍네

 

1φ=152=(φ)라고 나타내면,  피보나치 수열의 일반항은..

 

Fn+1=(φ)n+1((φ))n+15

 

Fn=(φ)n((φ))n5

 

두 식을 나누면, Fn+1Fn=(φ)n+1((φ))n+1(φ)n((φ))n

 

여기서, 1<(φ)<1이므로, ((φ))n의 n에 대한 극한값은 0이다.

 

https://j1w2k3.tistory.com/761

 

[미적분01 03탄] 등비수열의 극한

01. 등비수열의 극한을 시작하며… 먼저 기본적인 등비수열의 극한의 수렴과 발산에 대해서 알아보고 어떻게 문제로 변형되어 나오게 되는지 알아보도록 하겠습니다. 비교적 계산 문제 위주로

j1w2k3.tistory.com

 

따라서, limnFn+1Fn의 값은...

 

limnFn+1Fn=(φ)n+1(φ)n=φ

 

비슷한 방식으로 다음을 알 수 있다.

 

limnFnFn1=(1φ)

 

limnFn+mFn=(φ)m

 

-----------------------------------------------------------------------------------------------------------------------------------------------

 

알고리즘과는 상관없지만

 

오직 수학적 유희를 위해..

 

다음편부터는 알고리즘적으로 중요하니 계속

 

https://www.youtube.com/watch?v=RgjLmjDQQww 

 

 

728x90