메인화면으로
병참본뜨기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
  • 밴드 공유하기
  • 인쇄하기
  • 본문 글씨 크게
  • 본문 글씨 작게
정기후원

병참본뜨기

[최무영의 과학이야기] <46> 혼돈과 질서 ②

앞에서 물리학의 방법인 동역학을 열심히 공부했습니다. 대표적 동역학인 고전역학, 그리고 양자역학을 논의하였지요. 역학이란 기본적으로 상태의 변화를 기술합니다. 그래서 필요한 예측을 할 수 있지요. 예컨대 공을 던지면 어떻게 날아가고 어디에 떨어질지 예측할 수 있는 것입니다.

역학에서 상태의 변화 또는 운동은 보통 수학적으로 미분방정식 형태로 기술합니다. 여러 번 지적했지만 고전역학의 운동방정식 a=F/m에서 가속도 a는 위치를 시간에 대해 두 번 미분한 2차 도함수입니다. 따라서 이 식에서 구한 가속도를 적분하면 속도와 위치를 구할 수 있습니다. 초기조건, 곧 처음의 위치와 속도가 정해지면 이 방정식으로부터 나중 상태, 곧 임의의 순간에서 위치와 속도가 얻어지지요.

일상경험에서 시간은 연속적으로 흐릅니다. 미분이란 아주 짧은 시간 동안에 변화를 나타내는 수학적 형식이지요. 그런데 간단하게 하기 위해서 시간이 띄엄띄엄하다고 생각해볼까요. 하긴 극히 짧은 시간에 대해서는 잘 모르니까 어쩌면 시간이 마치 전기량처럼 기본양이 있을지도 모르지요. 아무튼
t라는 시간 간격이 있어서 그것의 정수배로만, 처음에 0이고 2
t,3
t,4
t,...일반적으로 n
t, 이런 식으로 시간이 지나간다고 생각해보지요. 그러면 시간을 정수 n(=0,1,2,3...)으로 표시할 수 있고 운동방정식은 결국 n번째 순간에서의 값
에서 그 다음 (n+1)번째 순간의 값
을 구하는 형태로 주어집니다. 그래서 미분방정식이
의 모양, 이른바 뺌방정식(difference equation)으로 바뀌게 되고, 이것을 보통 본뜨기(mapping)라고 부르지요. 처음 값이
라면 그 다음 순간, 시간 1에서의 값은
로 주어지고, 그 다음 값은
, 이런 식으로 변해간다고 생각하자는 겁니다.

예를 들어 보지요. 어느 외딴 섬에 벌레가 사는데 가을마다 b개의 알을 낳고 죽는다고 합시다. 봄이 오면 알이 까서 벌레가 되지요. 그럼 n년째의 벌레의 수를
이라고 하면 거기에 b를 곱한 것이 그 다음 해의 벌레의 수가 되겠죠. 곧
이 됩니다. 따라서 처음에 벌레가
마리였다고 하면,
로 주어지겠네요.

여기서 b는 당연히 1보다는 크겠죠. 그럼 n이 커지면
이 계속 커지고 결국 무한히 커지게 됩니다. 따라서 해마다 벌레 수가 계속 늘어나게 됩니다. 이를 사람에 대해 적용하면 인구가 계속 늘어난다는 것인데 결국 폭발적인 인구 증가로 파국에 이르게 되리라 걱정한 사람이 바로 맬서스Thomas R. Malthus입니다. 그의 저서 ≪인구론(An Essay on the Principles of Population)≫은 널리 알려져 있지요.

그런데 실제로는 이렇지 않을 것입니다. 왜 그렇죠? 우선 섬 안에 먹이가 한정되어 있을 테니까 벌레가 너무 많아지면 먹이가 모자라서 못 살 겁니다. 설령 먹이가 풍부하더라도 좁은 곳에 너무 많이 가두면 끼리끼리 싸워서 서로 죽이고 난리가 나잖아요. 벌레도 그렇고 쥐들도 그렇고 당연히 사람도 그렇지요. 서로 싸우고 먹이도 부족하게 될 테니까 결국 벌레가 무한히 증가하는 게 아니라 어떤 수를 넘어서지는 못하게 됩니다. 섬에서 살 수 있는 벌레 수의 최대값
이 있는데 벌레 수를 이 최대값에 대한 상대적인 크기로 정의하기로 하지요. 다시 말해서 최대값
=1로 놓자는 겁니다. 그러면 n번째 해의 벌레 수는
을 만족하므로 다루기가 편리합니다.

아무튼 벌레가 너무 많으면 오히려 삶의 질이 저하되니까 벌레 수에 단순히 알의 수 b만 곱한 것이 아니라 서로 억제하는 효과를 나타내는 요소
을 추가로 곱해서 다음 해의 벌레 수가 주어집니다. 따라서

을 얻는데 이를 병참본뜨기(logistic map)라고 부릅니다. 널리 알려진 식이지요.

이 식에서 n이 0에서 1, 2, 3, …… 으로 계속 늘어나면서
이 어떻게 변해나가는지 매우 흥미롭지요. n이 커지면, 곧 시간이 충분히 지나면
의 거동은 일반적으로 어떠한 상태로 끌려가게 되는데 이를 끌개attractor라고 부르며 그래프를 그려서 살펴보는 것이 편리합니다. 여기서는 직선 y=x와 포물선 y = bx(1-x)를 같이 그려서 두 선이 어떻게 만나는지 조사하면
의 거동을 알 수 있지요. 이는 b의 값에 따라 크게 달라집니다.

일반적으로 b가 작아서 0과 3 사이의 값을 가지면 계는 안정되어 있습니다. 다시 말해서 알을 조금씩만 낳으면 벌레 수는 하나의 값으로 주어지게 된다는 거지요. 그 값은 해마다 똑같고 변하지 않으므로 붙박이점(fixed point)이라고 부릅니다. 이는 병참본뜨기에서
에 해당하고 따라서 위에서 주어진 두 선의 사귐점(교점)으로 주어집니다. 그런데 b가 3보다 커지게 되면 놀랍게도 벌레의 수가 안정되지 않고 주기적으로 변해서 진동을 하는데 이러한 끌개를 끝돌이(limit cycle)라고 부릅니다. 여기서 더 놀라운 것은 b가 커질수록 끝돌이의 주기가 점점 늘어난다는 점입니다. 처음에는 2년 주기로 벌레가 많았다 적었다 많았다 적었다 하다가 b가 더 커지면 4년 주기로 변해요. 더 커지면 8년 주기가 되고, 16년 주기가 되고, 이렇게 변하다가 결국 b가
보다 커지게 되면 주기는 무한히 길어집니다. 주기가 무한히 길면 아무리 기다려도 원래 값으로 돌아오지 않으므로 결국 주기적이지 않다는 뜻이지요. 따라서 벌레 수는 마구잡이처럼 무질서하게 해마다 변하는데 이러한 끌개를 야릇한 끌개(strange attractor)라고 부르며, 이른바 혼돈현상을 보이게 됩니다.
▲ b=0.9의 경우 n에 따른 Xn의 거동(왼쪽): y = x및 y = bx(1-x)의 그래프(오른쪽).n→∞일때 Xn→0임을 알수있다.

특히 b가 0과 1 사이면 그림 1에 보였듯이 포물선과 직선이 만나는 점은 원점밖에 없습니다. 이게 무슨 얘기죠? 처음 벌레 수
가 0.6에서 시작했어도 다음 해
은 줄어들고 이듬 해
는 더 작아지고 계속 줄어드는 단조감소이므로 결국은 0으로 수렴합니다.

사람 사회로 얘기하면, 인구가 계속 감소해서 멸종한다는 겁니다. 벌레와 달리 사람은 남자와 여자가 만나서 애를 만들므로 b의 경계값은 1이 아니라 2가 되겠지요. 그러니 부부가 결혼을 해서 애를 둘보다 적게 낳으면 인구가 계속 줄어든다는 얘깁니다. 지극히 당연하지요. 시간이 한참 지나면 결국 0으로 끌려가게 되므로 이 때 끌개는 0이라는 붙박이점이네요.

그런데 b가 조금 더 커져서 1을 넘어서면 재밌는 현상이 생깁니다. 다음 그림 2에서처럼 b가 1보다 크고 3보다 작으면, 직선과 포물선의 사귐점이 0 말고 하나 더 있습니다. 그림 2와 같이 b=2.8인 경우 처음에
=0.2에서 출발하면 죽 변해가다가 한 값으로 수렴하게 됩니다. 0.65쯤 되나요? 그러니까 나중에 벌레 수 또는 인구가 안정되는 거지요. 수렴하는 붙박이점은 오른쪽 그래프에서 사귐점에 해당하므로 2차방정식
을 풀면
임을 알 수 있습니다.
▲ 1b=2.8의 경우. n→∞ 일때 Xn→1-1/b로 안정된다.

그런데 b가 3보다 커지게 되면 놀랍게도 주기적인 진동을 보입니다. 벌레 수가 해마다 일정하지 않고 변한다는 얘기지요. 그림 3에서 보였듯이 처음 값에서 출발해서 어떤 한 값에 수렴하는 것이 아니라 두 값에서 계속 왔다 갔다 합니다. 이렇게 해서 한 해는 벌레 수가 많고 한 해는 벌레 수가 적고, 많았다 적었다 많았다 적었다 해마다 변하는 거예요. 주기가 2년이 되는 거죠. 붙박이점이 아니라 이렇게 왔다 갔다 주기적으로 변하는 상태의 끌개가 끝돌이입니다.
▲ b=3.52의 경우, 주기 4의 진동을 하게 된다.

여기서 b가 더 커지면 아주 흥미로운 현상이 생겨납니다. b가 조금 더 커져서 3.52가 되면 그림 4에서처럼 4년을 주기로 변하게 됩니다. 이 그림은 조금 복잡한데 이렇게 네 번 왔다 갔다 해서 원래 값으로 돌아가게 돼 있어요. 벌레 수가 아주 많았다가 아주 적었다가 조금 많았다가 조금 적었다가 다시 아주 많았다가 아주 적었다가 이렇게 해서 4년을 주기적으로 바뀝니다. b가 3.52보다 조금 더 커지면 주기가 이제는 8년이 되지요. 더 커지면 주기가 16년이 되고, 이런 식으로 주기가 계속 두 배로 늘어납니다. 처음에
=1이었던
=2게 가 되고, 다시
=4가 되고,
=8,
=16 ,그리고 32, 64, 128,... 이런 식으로 주기가 겹이 되는 거죠.
▲ b=3.8의 경우 주기가 무한히 큰 혼돈현상을 보인다.

이같이 주기가 두 배로 되면서 상태도 두 배로 늘어나는 현상을 주기 겹되기 쌍갈래질(period doubling bifurcation)이라고 부릅니다. 쌍갈래질이란 어떤 방정식의 풀이가 하나에서 둘로 나눠지는 걸 말합니다.
그러면 b값이 정말 커지면 어떻게 되느냐, 예를 들어서b = 3.8 일 때는 그림 5에서 벌레 수의 변화가 해마다 마구 달라져 왔다 갔다 하는데 도대체 주기적이 아닌 것으로 보입니다. 확실하게 하기 위해서 이를 확대해서 어느 한 부분을 자세히 살펴보아도 주기적이지 않음을 알 수 있습니다. 원래 값으로 정확히 돌아오지 않지요. 그러니까 주기적이지 않고 결국 마구잡이처럼 변하는 겁니다.

이것이 바로 혼돈이라고 부르는 현상입니다. 흥미로운 점은 이를 지배하는 식이 매우 간단한 2차식이라는 사실이지요. 정말로 간단한 식이라 처음 값
가 주어지면
이 바로 결정이 됩니다. 이 결정되면 곧바로
가 결정되고, 이런 식으로 모든 것이 완벽하게 결정이 되지요. 그러니까 어떻게 될지 모르는 게 아니라 모든 것이 다 결정돼 있는데 다만 주기적이 아닌 거동이 나오는 겁니다. 앞서 말한 결정론적 혼돈이라는 표현이 바로 이를 뜻합니다. 이 경우 끌개의 모양이 매우 야릇하므로 야릇한 끌개라고 하는데, 우리말로 쪽거리fractal라고 부르는 형태입니다. 쪽거리란 원래 우리 전통문양에 네모에 세모가 있고 계속 반복되는 무늬를 말합니다. 이를 확대해보면 똑같은 모양이 되풀이되지요.

다음 그림 6은 쌍갈래질 그림으로, 가로축의 값에 따라 끌개가 어떻게 되는지 보여줍니다. 먼저 0 < b < 1이면 끌개가 붙박이점 0이라고 그랬죠. 벌레든 인류든 다 멸종한다고 했어요. b > 1이 되면 끌개는 마찬가지로 붙박이점이긴 하지만 0이 아니게 됩니다. b가 커져서 3이 되면
를 나타내는 풀이 선은 놀랍게도 둘로 나눠집니다. 그래서 둘 사이를 왔다 갔다 하게 되고, 주기가 2년이 되는 거지요. 계속 커지면 각각의 풀이 선들이 또 두 개로 갈래를 치는 거죠. 이른바 쌍갈래질을 합니다. 그러다가 b가 대략 3.57 정도인
보다 커지게 되면
는 연속적인 값을 가지게 되지요. 말하자면 범위 내의 모든 값 다 가능해지고, 이에 따라 혼돈 현상이 일어납니다.
▲ 쌍갈래질 그림. 가로축의 b값에 따른 세로축 X∞의 변화

이 기사의 구독료를 내고 싶습니다.

+1,000 원 추가
+10,000 원 추가
-1,000 원 추가
-10,000 원 추가
매번 결제가 번거롭다면 CMS 정기후원하기
10,000
결제하기
일부 인터넷 환경에서는 결제가 원활히 진행되지 않을 수 있습니다.
kb국민은행343601-04-082252 [예금주 프레시안협동조합(후원금)]으로 계좌이체도 가능합니다.
프레시안에 제보하기제보하기
프레시안에 CMS 정기후원하기정기후원하기

전체댓글 0

등록
  • 최신순