brunch

You can make anything
by writing

C.S.Lewis

by 솔바람 Jun 15. 2022

나비 효과 대 갈매기 효과

초기 조건의 민감성이 결정론의 종말을 고하다! (복잡계 이야기)

과학의 법칙을 개인적으로 공부하다 보면 그 법칙에 담겨있는 참뜻을 깨닫기 어려운 경우가 많다. 여러 지인과 얘기를 하다 보면 혼돈현상을 나비효과 하나로만 이해하고 있는 경우를 종종 볼 수 있다. 나비효과는 혼돈현상의 가장 큰 특징 중의 하나이지만 더 심오한 뜻이 있다. 이제 나비효과를 발견한 얘기를 해보자. 나비효과의 발견은 컴퓨터의 발전 때문이라고 해도 과언이 아니다. 컴퓨터가 개발되던 초기에 대부분의 컴퓨터는 진공관(vacuum tube)을 수천 개 이상 연결하여 만든 진공관 컴퓨터였다. 1951년 쇼클리가 발명한 샌드위치 형태의 접합 트랜지스터가 만들어지면서 반도체 기반 컴퓨터의 발전 급속히 일어났지만 1950~1960년대에는 진공관 컴퓨터와 반도체 컴퓨터가 공존했다. 지금은 반도체의 이점을 진공관이 따라갈 수 없기 때문에 모든 컴퓨터가 반도체 기반으로 만들어진다. 인류를 정보사회로 이끈 반도체 얘기는 나중에 다루어 보겠다.


   1963년에 기상학자인 에드워드 로렌츠(Edward Lorenz, 1917-2008)는 표층 대기에서 공기 순환에 의한 기상 변화를 묘사하는 방정식을 유도하였다. 그가 유도한 방정식은 대기의 상태를 묘사하는 세 개의 변수(variable)를 가지고 있는 세 개의 비선형 일차원 결합 미분방정식(coupled differential equation)이었다. 세상의 많은 시스템이 미분방정식으로 묘사된다. 공중에 던진 물체의 운동이나, 지구가 태양 주위를 돌고 있는 운동 역시 미분방정식으로 묘사할 수 있다. 일차원 미분 방정식은 일차 미분만 들어 있다는 뜻이고 결합된 방정식은 한 변수를 결정할 때 다른 두 변수가 영향을 준다는 뜻이다. 비선형 방정식은 한 변수의 시간에 따른 변화율(미분)이 두 변수의 곱하기와 같은 비선형 함수에 의존한다는 뜻이다. 로렌츠의 기상 방정식을 로렌츠 방정식(Lorenz’s Equation)이라 한다. 로렌츠 미분방정식이 궁금한 사람은 로렌츠 방정식으로 구글링해보면 식을 볼 수 있을 것이다. 로렌츠의 방정식은 세 개의 상수를 포함하고 있는데 이러한 상수를 조절 맺음 변수(control parameter)라 한다. 조절 맺음 변수는 상수이므로 우리가 처음에 값을 지정해 주어야 한다. 대기 상태의 조건을 규정한다고 할 수 있다. 마치 열대지방의 기상조건과 한 대 지방의 기상조건이 다르기 때문에 기상현상을 묘사하는 맺음 변수는 서로 다를 것이다.


   로렌츠는 이 간단한 세 개의 결합된 미분방정식을 손으로 풀어보려고 하였다. 그 당시까지 알려져 있던 모든 수학 방법을 동원해 보았지만 해를 구하는데 실패했다. 왜 해를 구할 수 없었을까? 대개 비선형 항을 포함하고 있는 미분방정식은 손으로 답을 구할 수 있는 해석적 해(analytic solution)를 구할 수 없는 경우가 많다. 로렌츠 방정식이 바로 그런 경우였다. 손으로 답을 구할 수 없으면 다음 방법은 무엇일까? 로렌츠는 다행히 그 당시 첨단 연구소였던 벨연구소(Bell Lab)에서 일하고 있었다. 벨연구소는 전화기를 발명한 그레이엄 벨을 기려서 설립된 연구소이며 통신과 기초과학 연구를 광범위하게 수행하고 있다. 통신회사의 연구소였지만 과학자들이  물리학, 화학, 기상학 등의 기초과학을 마음껏 연구할 수 있었다. 벨연구소에서 노벨 물리학상과 노벨화학상을 수상한 과학자가 10명이 넘는다. 당시 벨연구소에는 진공관 컴퓨터가 설치되어 있었다. 로렌츠는 진공관 컴퓨터를 이용하여 자신이 발견한 로렌츠 방정식을 수치적으로 풀어 보았다. 미분 방정식을 컴퓨터 코딩으로 딱 풀기 좋은 문제였다.     

[그림 1] 로렌츠 방정식의 상수인 맺음 변수 값을 특정한 값으로 고정하고 컴퓨터를 이용하여 로렌츠 방정식을 수치적으로 풀었을 때 세 변수 (x, y, z) 중에서 z의 변화 모습. 날씨를 예보하는 변수의 값이 매우 불규칙하게 변한다.     


   1960년대의 진공관 컴퓨터는 거대한 장치였지만, 성능은 현재의 핸드폰에도 미치지 못하였다. 그러나 컴퓨터가 발전하던 초창기에 과학자들에게는 아주 중요한 기계였다. 1963년에 로렌츠는 적당한 맺음 변수와 세 개의 변수에 대한 초기값을 입력하여 로렌츠 방정식을 컴퓨터로 풀어보았다. 로렌츠는 상수인 맺음 변수의 값을 바꾸어 가면서 수치해(numerical solution)을 구하고 결과를 프린터로 출력해 보았다. 그러던 어느 날 그는 출력해 두었던 결과의 중간 정도의 한 값을 선택하여 그 값을 다시 초기값으로 하여 계산을 다시 해 보았다. 계산과정에서 일어나는 상세한 변화를 관찰하고 싶었다. 새로 입력한 값은 z=96.8530이었다. 새 입력값으로 컴퓨터 계산을 실행시켰다. 그런데 컴퓨터가 계산을 끝마치는데 상당한 시간이 결렸기 때문에 로렌츠는 잠시 커피를 마시러 아래층으로 갔다가 한 시간 후에 되돌아와서 컴퓨터 계산 결과를 확인해 보았다. 컴퓨터는 약 2달 정도의 날씨를 계산해 냈다. 이렇게 과학자는 잠시 여유 있는 시간을 가질 때 세린디피티(serendipity)가 일어난다.


   로렌츠는 예전에 출력해 두었던 결과와 새로 계산한 결과를 비교해 보았다. 계산한 결과의 초반부 값은 서로 일치했다. 그런데 얼마 후에 출력 값의 마지막 자리에서 차이를 보이기 시작했다. 그 차이는 4일이 지날 때마다 2배씩 커지더니, 2달 후에는 완전히 다른 값이 되었다. 두 계산 결과는 똑같아야 했지만, 결과는 완전히 달랐다. 뭐가 잘못되었을까? 1963년에 로렌츠가 사용하던 컴퓨터는 진공관 컴퓨터였고, 계산을 많이 하면 진공관이 뜨거워져서 컴퓨터가 가끔 잘못된 계산을 해내곤 했기 때문에 로렌츠는 진공관 컴퓨터의 잘못이 아닐까 하고 의심했다. 전에도 컴퓨터의 계산 결과가 예상한 값과 다르게 나온 적이 여러 번 있었고 그 이유가 컴퓨터의 과열로 진공관이 비정상적으로 작동했기 때문이었다. 


   로렌츠는 서비스 센터의 엔지니어들에게 컴퓨터가 오작동했는지 확인하러 가기 전에 좀 더 세심하게 자신의 계산을 살펴보았다. 로렌츠는 이러한 계산의 차이를 준 원인을 살펴보다가 새 계산을 할 때 입력해 주어야 하는 값은 출력해 둔 z=96.8530이었지만 6자리를 모두 입력하는 것이 귀찮아서 반올림해서 z=96.8로 입력한 사실을 깨달았다. 소수점 이하 몇 자리는 버려도 큰 차이를 주지 않을 것이라고 생각했다. 그런데 그것이 오산이었다. 컴퓨터 엔지니어에게 확인한 결과 컴퓨터에는 아무 이상이 없었다. 로렌츠는 입력값의 작은 차이 0.0530이 계산이 진행되는 동안에 큰 차이를 가져왔다는 사실을 깨달았다. 로렌츠가 계산했던 결과의 차이를 그림 2에 나타내었다. 시간이 지나면서 초기값의 작은 차이가 크게 증폭하여 시간이 더 지나면 전혀 다른 값이 되었다. 두 계산 값은 전혀 다른 미래 기후를 예보하고 있었다. 예를 들어 한 값은 2달 후에 맑은 날씨를 예측하지만 다른 값은 비가 오는 날씨를 예측하는 식이었다. 로렌츠는 다른 변수들의 값에 작은 차이를 두어 여러 번 계산해 보았지만 같은 패턴을 관찰할 수 있었다. 사실 이러한 결과는 선형 시스템에서는 예상할 수 없는 현상이었다. 기후는 초기값에 극도로 민감하다는 것을 깨달았다. 선형 시스템에서 초기값의 작은 차이는 시간이 지나더라도 그 차이가 계속 유지되거나 줄어든다. 자식의 잘못된 행동에 대한 부모의 반응이 선형적이라면 잘못된 행동의 크기에 따라서 부모의 반응도 따라서 커질 것이다. 그러나 가끔은 부모의 반응은 선형을 벗어나서 크게 폭발하데 그러한 반응은 비선형적인 반응이다. 그런데 로렌츠 방정식은 비선형항을 포함하고 있는 비선형 시스템이어서 선형 시스템과 전혀 다르게 행동했던 것이다. 로렌츠가 방정식을 풀 때 고정한 상수인 맺음 변수가 마침 비선형 동력학 시스템이 초기 조건에 민감하게 반응하는 영역에 놓여 있었다. 어떤 면에서 로렌츠는 참 운이 좋았다고 할 수 있다. 또 사람은 가끔 사소한 게으름이 있어야 하나 보다. 로렌츠는 초기값을 반올림해서 나머지를 버리지 않았던가! 그렇게 열악한 진공관 컴퓨터를 이용해서 이런 결과를 얻었으니 말이다. 로렌츠는 이 결과를 1963년 “대기과학회지(Journal of Atmospheric Sciences)”에 “결정론적 비주기 흐름(Deterministic Nonperiodic Flow)”이란 제목으로 출판하였다.         


[그림 2] 로렌츠가 발견한 초기 조건의 민감성. 초기값의 작은 차이는 시간에 따라서 증폭되어 나중에는 전혀 다른 상태가 된다. 이를 나비효과(butterfly effect)라 한다.     


  로렌츠의 발표를 들은 한 기상학자는 “갈매기의 날갯짓 만으로도 날씨의 흐름을 영원히 바꿀 수 있을 것이라고 했다.” 나비효과가 아니라 갈매기 효과(seagull’s effect)라고 할 수 있다. 나비효과(butterfly effect)란 용어는 1972년 로렌츠가 미국과학진흥협회 회의에서 발표할 논문의 제목을 정하지 못하고 있을 때 한 조직위원이 “브라질에서 나비의 날갯짓은 텍사스에서 토네이도를 일으킬까?(Does the flap of a butterfly’s wings in Brazil set off a tornado in Texas?)”라는 제목을 제안하면서 처음 등장하였다. 그 이후 로렌츠가 발견한 초기 조건의 민감성을 “나비효과(butterfly effect)”라 부르게 되었다.


  그림 3은 로렌츠 방정식에서 관찰한 “로렌츠 끌개(Lorentz attractor)”를 보여준다. 로렌츠 방정식의 세 변수인 x, y, z 세 개를 축으로 하는 위상 공간(phase space)에서 궤도의 모습이 마치 나비의 두 날개 모양으로 생겼다. 끌개는 동력학적 궤도가 시간에 따라 발전할 때 궤도를 끌어들이는 점 주변에서 움직이는 궤도들의 모습을 위상 공간에서 그린 것이다. 로렌츠의 연구는 비선형 동력학 시스템에서 혼돈현상의 가장 큰 특징 중의 하나인 “초기 조건의 민감성(initial condition sensitivity)”을 보여준 첫 연구 결과였다.      


        

[그림 3] 로렌츠가 처음 관찰했던 로렌츠 방정식의 나비효과를 보여주는 그림. 세 개의 변수 공간에서 궤도를 시간이 변할 때 그린 그림이다. 끌개의 모양이 나비 날개처럼 생겼다. 이 끌개의 모양을 보고 나비효과란 용어를 만든 것은 아니다. 나비처럼 생긴 것은 그저 우연이다.


   로렌츠 모형에서 초기값의 작은 차이는 지수함수로 증폭하는데 이것이 혼돈 영역에 있는 비선형 시스템의 가장 큰 특징 중의 하나이다. 사실 혼돈 현상이 일어나기 위해서는 비선형 동력학 방정식의 조절 맺음 변수가 혼돈 현상이 일어나는 영역에 있어야 한다. 비선형 동력학 시스템이더라도 조절 맺음 변수가 혼돈 영역에 있지 않으면 혼돈 현상은 일어나지 않는다. 나비효과의 예를 들면서 “브라질 열대 우림의 나비 한 마리의 날갯짓이 일주일 후에 뉴욕에 폭풍우를 일으킬 것이다”라는 문장은 혼돈 현상에서 초기값의 작은 차이가 지수 함수적으로 증폭된다는 것을 강조하기 위한 문장일 뿐이다. 즉, 나비 날갯짓이 없이 예측한 날씨와 나비 날갯짓을 고려한 날씨 예측은 전혀 다르다는 뜻이다. 그러나 지리적으로 멀리 떨어진 아마존 열대림과 뉴욕시 사이에서 기상 예측 방정식은 단일한 조절 매개변수로 나타나지 않을 것이기 때문에 아마존 밀림에서 나비의 날갯짓이 뉴욕의 날씨를 결정하지 못한다. 즉, 혼돈 시스템이 일관성 있게 유지되지 못하기 때문에 그러한 말은 의미를 갖지 못할 것이다. 그렇더라도 로렌츠가 발견한 초기 조건의 민감성은 혼돈 현상의 문을 활짝 열어 주었다. 동력학 시스템이 무작위 하게 운동하는 현상이 자유도가 많아야 한다는 관점을 깼다. 로렌츠의 방정식은 자유도가 단 3개뿐이지만 비주기적인 운동인 무질서한 운동이 나타났다. 


   초기 조건의 민감성은 실수(real number) 세계에 살고 있는 인간의 한계 때문에 예측의 불가능성(unpredictability)을 말하고 있다. 현실 세계에서 초기값을 결정하려면 변수의 값을 측정해야 한다. 여러분의 키가 얼마인지 알려면 자로 키를 재야 한다. 측정은 항상 측정오차(error)를 수반한다. 줄자로 키를 재더니 내 키가 170.0cm와 170.1cm 사이에 놓인다면, 눈금 1cm 사이에는 눈금이 없으므로 대중해서 키를 170.7cm라고 할 것이다. 그런데 이 측정값은 부정확하다. 다른 사람이 재면 아마 170.3cm라고 할지도 모른다. 줄자는 1cm 정도의 정밀도를 가지고 있는 것이다. 이렇듯 측정 장치는 최소 눈금이 있어서 그 이하는 더 정밀하게 측정할 수 없다. 따라서 우리가 측정하는 측정값은 항상 오차를 포함하고 있으며 이론적으로 참값을 알 수 없으면 진정한 참값은 모른다. 오늘 온도, 습도, 기압 등을 측정하여 기상을 예측할 때, 내 측정값은 실수로 표현될 것이며 측정값의 마지막 자리는 항상 오차를 포함한다. 로렌츠 방정식처럼 동력학 방정식이 초기값에 극도로 민감한 혼돈 영역에 있으며 내 기상예측은 쓸모없을 것이다. 결국 우리는 자연을 묘사하는 결정론적인 미분방정식을 가지고 있지만, 측정에 내재된 본질적 오차(intrisic error) 때문에 예측이 불가능해진다. 혼돈 영역에 있는 시스템에서 결정론은 종말을 맞았다!     


Lorenz, Edward N. (March 1963). "Deterministic Nonperiodic Flow". Journal of the Atmospheric Sciences. 20 (2): 130–141.

작가의 이전글 삼체문제에서 혼돈현상의 씨앗을 보다!
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari