피보나치 수열

피보나치 수열은 자연의 신비를

보여주는 숫자로 알려져 있습니다.

 

우리가 나선이라고 하는 자연의 아름다움은

피보나치 수열을 시각적으로 느끼게 합니다.

 

수학이나 뭐 과학 이런 것을 몰라도

나선의 아름다움은 누구나 느낄 수 있습니다

(수학을 이해하면 좀더 많이 느낄 수 있습니다)

 

아래 이미지는 피보나치 수열을

도형에 적용하면 그릴 수 있는 나선입니다.

 

피보나치

 

해바라기와 같은 꽃들 중에

피보나치 수열에 따라 씨앗이

만들어집니다.

 

피보나치의 비율은 황금비율(Golden Ratio)를 산출합니다.

 

 

피보나치2

 

보는 것만으로도 매우 아름답죠?

 

그렇습니다. 피보나치 수열은

그냥 수열이 아니라

감성을 느낄 수 있는 수체계입니다.

 

왜 우리가 피보나치에 열광할까?

 

약간 종교적 관점이 들어갑니다.

피보나치 수열의 아름다움은

우주(Universe)가 지적 설계자에 의해

창조되었다는 근거로 종종 인용되곤 합니다.

 

해바라기 꽃은 시계 방향과 반시계 방향의

나선 형태로 이루어지는데 서로 얽히면서

교차하는 형태입니다.

 

 

 

이것들이 특정한 비율에 수렴한다는 사실은

과연 누가 이것을 설계했을까?

자연은 무작위(Random)로 태어난 것이 아닐까?

의문을 갖게 합니다.

 

물론 피보나치 수열에 대한

종교적 철학적인 물음은 풀리지 않았습니다.

 

그럼데오 자연은 피보나치 수열을 사랑합니다.

 

소라의 나선형도 피보나치라고 합니다.

 

식물이 하는 것을 동물도 따라하는 것일까요?

아니면 식물이나 동물이나 자연의 이치에 따르는 것일까요?

 

피보나치

 

은하계를 보면 저렇게 항상

소용돌이 나선을 보여줍니다.

 

은하계는 피보나치 수열로 모인다고 합니다.

 

마이크로 세계에서(해바라기,소라) 보이는 패턴이

은하계에서도 보입니다.

 

여기에는 몇가지 가설이 있는데요.

 

효율성의 가설은 최소의 에너지로

최대의 효율을 내기 위한 이동경로가

피보나치 수열이라는 이야기가 있습니다.

 

하지만 은하계는 너무나 넓고 매우 복잡해서

제대로 검증하는 것은 쉽지 않다고 합니다.

 

칼세이건의 코스모스에 따르면

우리는 별의 후손들이라서
우리의 몸도 은하의 일부라고 합니다.

 

최고의 효율을 달성하는 인간이

희열을 느끼는 것 처럼

피보나치 법칙은 가장 우주다운 느낌이 아닐까요?

 

잘 이해할 수 없어도 은하계가 아름답게 보이고

꽃이 아름다운 것은 어린 아이도 가능한 일입니다.

 

아름다움을 느끼기 위해 수학까지 이해할 필요는 없죠.

 

피보나치-나선은하

 

그래도 뭐 계산을 할려면 숫자를 사용해야 하니까...

 

수학적으로는

 

0 = 0

1 = 0 + 1

2 = 1 + 1

3 = 2 + 1

5 = 3 + 2

8 = 5 + 3

 

처럼 앞의 두 숫자를 더하면

다음 숫자가 됩니다.

 

정수는 무한하기 때문에

이렇게 무한히 수열을 늘릴 수 있습니다.

 

숫자로 보면 약간 재미가 없기 때문에

도형으로 그려 보겠습니다.

 

수열의 면적을 그리다 보면

제곱의 관계도 발견할 수 있습니다.

 

 

 

 

피보나치 수열을 제곱하면 아래와 같은

관계가 성립하는데요.

매우 흥미롭습니다.

 

물론 피보나치의 재미는 이것 뿐만이 아닙니다.

 

 

황금비율이라고 말하는 수는

피보나치 수열의 뒤의 수에서

앞의 수를 나눈 것이 됩니다.

 

이는 수열의 수가 늘어갈 수록 정교해지면

1.618인 무리수입니다.

 

수학자들은 이 수를 매우 좋아하는데요.

아마 이 수열에 우리가 알고 싶어하는

우주의 원리가 들어있다고 믿기 때문일 겁니다.

 

왜 그 숫자를 택했는지 우리는 모릅니다.

자연이 택했는지 신이 택했는지

답을 할 수 없습니다.

 

즉 과학인지 종교인지 알 수 없습니다.

 

후대의 사람들에겐 밝혀질지도 모르는 일이죠.

 

피보나치를 C++ 에서 구현하면 아래와 같습니다.

for 문을 사용하면 간단합니다.

#include <iostream>
using namespace std;
int main()
{
   
    int n, a = 0, b = 1, nextTerm = 0;
    cout << "피보나치 항의 수를 입력하시오. ";
    cin >> n;
    cout << "피보나치 수열 : ";
    for (int i = 1; i <= n; ++i) {
        // 첫번째 숫자 두개
        if (i == 1) {
            cout << a << ", ";
            continue;
        }
        if (i == 2) {
            cout << b << ", ";
            continue;
        }
        // swap
        nextTerm = a + b;
        a = b;
        b = nextTerm;
        cout << nextTerm << ", ";
    }
    return 0;
}
피보나치 항의 수를 입력하시오. 10
피보나치 수열 : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,

 

다음은 피보나치 TED 강연 영상입니다.

 

수학은 역시 청중들의 반응이 시원찮아요;;;

 

이런 자연의 법칙의 뒤에는
아직 우리가 모르는 무엇인가가 숨겨져 있을 것 같습니다.

 

인간은 유한하고 지혜도 영...

우주를 살아가기에 쓸만하지가 않죠.

 

그래도 역시 우주에 대한 해답을 주는 것은

수학과 과학인 것 같습니다.

 

The magic of Fibonacci numbers | Arthur Benjamin - YouTube

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band