피보나치 수

testwiki
둘러보기로 이동 검색으로 이동

틀:위키데이터 속성 추적

피보나치 수를 이용한 사각형 채우기

수학에서 피보나치 수(틀:Llang)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다.

역사

피보나치 수가 처음 언급된 문헌은 기원전 5세기 인도수학자 핑갈라가 쓴 책이다.

유럽에서 피보나치 수를 처음 연구한 것은 레오나르도 피보나치토끼 수의 증가에 대해서 이야기하면서 이 수에 대해 언급했다. n 번째 달의 토끼 수는

  • 첫 달에는 새로 태어난 토끼 한 쌍만이 존재한다.
  • 두 달 이상이 된 토끼는 번식 가능하다.
  • 번식 가능한 토끼 한 쌍은 매달 새끼 한 쌍을 낳는다.
  • 토끼는 죽지 않는다.

따라서 첫 달에는 새로 태어난 토끼 한 쌍이 있고, 두 번째 달에는 그대로 토끼 한 쌍, 세 번째 달부터는 이 토끼 한 쌍이 새끼를 낳게 되어 토끼가 2쌍이 되고, 네 번째 달에는 3쌍, 다섯 번째 달에는 5쌍이 된다. 이때 n번째 달에 a 쌍의 토끼가 있었고, 다음 n+1번째 달에는 새로 태어난 토끼를 포함해 b쌍이 있었다고 하자. 그러면 그다음 n+2 번째 달에는 a+b 쌍의 토끼가 있게 된다. 이는 n번째 달에 살아있던 토끼는 충분한 나이가 되어 새끼를 낳을 수 있지만, 바로 전 달인 n+1번째 달에 막 태어난 토끼는 아직 새끼를 낳을 수 없기 때문이다.

정의

점화식을 통한 정의

피보나치 수 Fn는 다음과 같은 초기값 및 점화식으로 정의되는 수열이다.

F1=F2=1
Fn=Fn1+Fn2(n{3,4,})

0번째 항부터 시작할 경우 다음과 같이 정의된다.

F0=0
F1=1
Fn=Fn1+Fn2(n{2,3,4,})

피보나치 수의 처음 몇 항은 (0번째 항부터 시작할 경우) 다음과 같다.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, ... 틀:OEIS

일반항

피보나치 수의 일반항은 다음과 같다.[1]틀:Rp

Fn=(1+5)n(15)n2n5=15((1+52)n(152)n)=φn(1φ)n5

여기서 φ=(1+5)/2황금비이며, 5는 5의 음이 아닌 제곱근이다. 이를 비네 공식(틀:Llang)이라고 한다. 이는 레온하르트 오일러1765년 처음 발표했으나 잊혔다가, 1848년 자크 비네에 의해 재발견되었다.

증명

피보나치 수열의 일반항에 대한 증명은 아래와 같다.


a+b=1, ab=-1 인 두 실수 a,b를 가정하자. 그러면 a,b는 이차방정식 x2x1=0 의 두 근이고 이때 판별식 D>0이므로 실수 a,b는 존재함을 알 수 있다.

그러면 피보나치 수열의 점화식 Fn+2=Fn+1+FnFn+2=(a+b)Fn+1abFn 으로 쓸 수 있고,

우변의 aFn+1 을 좌변으로 이항하면 Fn+2aFn+1=b(Fn+1aFn) 이 된다. 즉 양변에 동일한 형태를 만들어주었으므로, 이제 (Fn+1aFn) 을 등비수열로 다룰 수 있게 된다. 이때 초항은 F2aF1 이고, 공비는 b가 된다.

따라서 등비수열의 일반항 공식을 이용해주면 Fn+1aFn=bn1(F2aF1) 이 된다. 그런데 피보나치 수열에서 첫항과 둘째항은 둘 다 1이므로, 다시 써주면 Fn+1aFn=bn ( 식 1)이다(a+b=1에 의해 1-a=b이므로).

그런데 위의 변형된 피보나치 점화식에서 a와 b는 대칭적인 위치에 있으므로, Fn+2=(a+b)Fn+1abFn 에서 우변의 bFn+1 을 좌변으로 이항한 뒤 같은 방식으로 변형해주면 Fn+1bFn=an ( 식 2)으로 써줄 수 있다.

이제 식1과 식2를 변변끼리 빼주면, (ba)Fn=bnan , Fn=(bnan)/(ba)이다. 이때 앞선 이차방정식 x2x1=0 을 통해 a와 b를 직접 구해주면 둘 중 하나가 황금비가 나오는데, a와 b 중 어떤 것을 황금비로 설정하든 결과는 같다. a와 b는 대칭적인 위치에 있기 때문이다. b를 황금비라고 치면, b=φ , a=1φ 이므로 Fn=φn(1φ)n5 이 된다.

성질

항등식

다음과 같은 항등식이 성립하며, 카시니 항등식(틀:Llang)이라고 한다.

Fn+1Fn1Fn2=(1)n

다음과 같은 항등식이 성립하며, 이를 도가뉴 항등식(틀:Llang)이라고 한다.[1]틀:Rp

Fm+n=Fm1Fn+FmFn+1

다음과 같은 항등식이 성립한다.[1]틀:Rp

φn=Fnφ+Fn1

피보나치 수를 점화식을 통해 음의 정수에까지 확장할 수 있다. 이 경우, 비네 공식이 여전히 성립하며, 또한 다음이 성립한다.[1]틀:Rp

Fn=(1)n+1Fn

급수 공식

처음 몇 피보나치 수의 합,[1]틀:Rp 교대합,[1]틀:Rp 제곱합,[1]틀:Rp 세제곱합[1]틀:Rp은 다음과 같다.

k=0nFk=Fn+21
k=0n(1)k+1Fk=(1)n+1Fn1+1
k=0nFk2=FnFn+1
k=0nFk3=F3n+2+(1)n+16Fn1+510

처음 몇 피보나치 수의 홀수째,[1]틀:Rp 짝수째,[1]틀:Rp 3의 배수째[1]틀:Rp 항의 합은 다음과 같다.

k=1nF2k1=F2n
k=0nF2k=F2n+11
k=0nF3k=F3n+212

피보나치 수의 역수의 합은 수렴하며, 또한 다음 항등식들이 성립한다.[1]틀:Rp

n=11Fn=3+n=1(1)nFnFn+1Fn+2=411232n=11FnFn+1Fn+2Fn+3Fn+4=1174952806011n=1(1)nFnFn+1Fn+2Fn+3Fn+4Fn+5Fn+6

홀수 위치에서 피보나치 수의 역수의 합은 다음 값을 갖는다:

n=11F2n1=5πλ*[16arsinh(1/2)2/π2]K{λ*[16arsinh(1/2)2/π2]}

λ*은 모듈러 람다 함수이다.

K는 제 1 종 완전 타원 적분이다.

생성 함수

피보나치 수의 생성 함수는 다음과 같다.[1]틀:Rp

n=0Fnxn=x1xx2

피보나치 수의 역수생성 함수는 다음과 같이 나타낼 수 있다.[1]틀:Rp

n=11Fnxn=n=1xn5φn+n=1(1)nxnFnφ2n=x5φx+n=1(1)nxnFn(F2nφ+F2n1)=x5φxx5φ3+x+n=1xnFnφ4n=x5φxx5φ3+x+x5φ5x+n=1(1)nxnFnφ6n

점근 공식

이웃하는 피보나치 수의 비

이웃하는 피보나치 수의 황금비로 수렴한다.

limnFn+1Fn=φ

또한, 다음과 같은 부등식이 성립한다.[1]틀:Rp

φn1/n5Fnφn+1/n5

수론적 성질

피보나치 수열은 서로 인접한 항끼리 서로소이다. 이는 귀납법으로 간단히 증명할 수 있다.

소스 코드

피보나치 수열은 아래와 같이 함수의 재귀적 용법으로 구현할 수 있다.

def fib(n):
    if n == 0 or n == 1:
        return n
    
    return fib(n-2) + fib(n-1)

위 코드는 메모이제이션을 통해 성능을 개선할 수 있다.

memo = {}

def fib(n):
    if n == 0 or n == 1:
        return n
        
    if n not in memo:
        memo[n] = fib(n-2) + fib(n-1)
    
    return memo[n]

같이 보기

틀:위키공용분류

각주

틀:각주

외부 링크

틀:금속비 틀:전거 통제