brunch

You can make anything
by writing

C.S.Lewis

by 솔찬 이규봉 Aug 06. 2021

12.비선형오차와나비효과

f(x+y) ≠ f(x)+f(y), 장기 기상 예측 불가

선형과 비선형 관계


   남주는 시간당 12000원을 받고 편의점 알바를 한다. 단 공휴수당은 없다. 그래서 그가 1주일에 10시간 일하면 12만원, 15시간 일하면 18만원, 20시간을 일하면 주급으로 24만원을 받는다. 즉, 시간에 비례해서 주급도 일정하게 변한다. 이럴 경우 t 시간을 일하고 받는 주급을 y라고 하면 남주가 받는 주급과 시간의 관계는 다음과 같다.


y=1.2t(만 원)


   하영이는 자동차 판매를 한다. 월급은 기본급 100만 원에 판매수당으로 그 전 달의 매출 총액의 5%를 일시불로 받는다. 그렇다면 하영이가 전 달에 1억 원의 매출을 올리면 그의 월급은 600만원이 된다. 즉, 매출액에 비례해서 월급이 일정하게 변한다. 이를 식으로 표현해 보자. 그 전 달 매출액을 s, 그리고 월급을 y라고 하면 하영이가 받는 월급은 다음과 같다.


y=0.05s+1000000(원)


   남주가 받는 주급은 시간 t에 따라서 변하며 같은 시간을 일했음에도 때에 따라 시급이 달라지는 경우는 절대 없으므로     에 관한 함수이다. 마찬가지 이유로 하영이가 받는 월급도 매출액 s에 관한 함수이다. 왜냐하면 함수가 안 된다는 뜻은 같은 시간을 일했어도 또는 같은 매출을 올렸어도 사장 마음 내키는 대로 지급한다는 것으로 일관성이 없고 또한 공평하지 않기 때문이다. 함수가 되면 일관성이 있고 공평하여 정확히 예측할 수 있다.  

   주급을 y=f(t)라고 하면 f(t)=1.2t이다. 상수 a에 대하여 1.2(at)=a(1.2t)이고, 임의의 시간 u와 v에 대해 1.2(u+v)=1.2u+1.2v이므로 다음 관계가 성립한다.


f(at)=af(t)와 g(u+v)=f(u)+f(v)


   하영이가 받는 월급을 y=g(s)로 나타내면 g(s)=0.05s+1000000이 된다. 직접 대입하면 위의 관계가 성립하지는 않지만, 상수 1000000은 매출액 s와 관계없는 것으로 이것을 제외하면 역시 위의 관계가 성립한다. 이와 같이 위의 두 관계가 성립하는 관계 또는 함수를 선형관계(또는 선형함수)라 한다. 선형관계의 특징은 하나가 조금 변하면 그에 대응되는 관계도 같은 비율로 조금 변하는 것이다. 그러나 선형관계가 성립되지 않으면 조그만 차이가 나중에 대폭 큰 차이로 나타날 수도 있다.

   다음과 같은 경우를 살펴보자. 1밀리미터의 두께를 가진 A4 복사용지가 있다. 이 종이를 반으로 자르고 나온 두 장을 포개면 그 두께는 2밀리미터이다. 다시 또 포개진 종이를 반으로 자르고 포개면 그 두께는 4밀리미터이다. 다시 또 포개진 종이를 반으로 자르고 포개면 그 두께는 8밀리미터이다. 이러한 과정을 50번 반복하여 나온 종이를 모두 쌓으면 그 높이는 얼마일까?

   한번 자를 때마다 두 배가 되므로 반복해서     번 잘라 쌓으면 그 높이는 2^n 밀리미터가 된다. 따라서 n번 잘라 쌓은 종이의 높이를 h(n)이라고 하면 h(n)=2^n이 된다. 이 경우  h(n+m)≠h(n)+h(m)이 된다. 따라서 h(n)=2^n은 선형의 조건을 만족하지 않으므로 비선형관계가 된다. 

   참고로 이 종이를 30회 반복하여 잘라 쌓으면 2^30 =1073741824이므로 높이는 1073741824밀리미터, 이것은 약 107374182센티미터, 이것은 약 1073741미터, 이것은 약 1073킬로미터가 된다. 같은 방법으로 40회 반복하면 1백만 킬로미터, 50회 반복하면 10억 킬로미터나 된다. 물론 종이는 가루가 되었겠지만 이론적으로는 그렇게 된다.


수학을 알면 좋은 일이?


   옛날 어느 마을에 한 영특한 젊은이가 있었다. 그는 그 마을 부잣집의 딸을 사모했다. 그러나 너무 가난했기에 혼인이 성사되기는 힘들다는 것을 잘 알고 있었다. 마침 그 부잣집에서 계약제 머슴을 구한다고 해서 꾀를 내었다. 급여를 일당으로 받기로 하고 머슴살이하기로 했다. 단 계약조건은 하루 8시간 일하며 일당은 첫날엔 쌀 한 톨, 다음날엔 쌀 두 톨, 그리고 그다음 날엔 쌀 네 톨 등 매일 그 전 날의 두 배에 해당하는 쌀알을 받기로 했다. 단 계약기간은 1년이며, 만일 그 이 전에 계약을 파기하면 그 집 딸하고 혼인을 시켜주는 조건이다. 우직한 주인은 “아니, 이거 바보 같은 놈이네! 쌀 몇 톨만 주면 된다고?” 속으로 생각하며 거의 인건비를 들이지 않고 실컷 부려 먹을 수 있을 것 같아 조건을 수락했다. 

  다음날부터 젊은이는 열심히 일했다. 그리고는 쌀 한 톨을 받아 나왔다. 그럼에도 싱글벙글하며 매일같이 부지런히 일했다. 첫날 한 톨이 다음 날은 두 톨, 그다음 날은 4톨, 또 그다음 날은 8톨 등등. 그래서 10일째 되는 날에는     으로 쌀 512톨을 받았고, 일한 지 3주가 되는 21일째 되는 날에는     으로 약 100만 톨을 받았다. 

   계산하기 편하게 쌀 한 톨의 부피를 1 입방 밀리미터라고 하고 한 홉의 부피를 1000 입방 센티미터라고 하자. 즉 쌀 한 톨의 크기는 가로와 세로 그리고 높이가 모두 1밀리미터이고 1홉은 모두 10센티미터이다. 1센티미터는 10밀리미터이므로 1 입방 센티미터는 1000 입방 밀리미터이다. 따라서 1홉은 1백만 입방 밀리미터로 쌀 1백만 톨과 같다. 따라서 21일째 되는 날에 이 젊은이는 쌀 한 홉을 일당으로 받은 것이다.

   그러면 그다음 날인 22일 째는 두 배니까 두 홉을, 23일째 되는 날은 쌀 네 홉을 받았다. 따라서 한 달째 되는 31일 되는 날에는 1024홉의 쌀을 받았다. 한 되는 열 홉이고, 한 말은 열 되이며, 한 가마니는 열 말이므로  1024홉은 한 가마니에 해당한다. 즉 그 젊은이는 한 달 되는 날에는 일당으로 쌀 한 가마니를 받은 것이다. 이제 그 부잣집 주인은 뭔가 잘못되어 감을 느꼈다. 하루 일당에 쌀 한 가마니라니? 이건 말도 안 되게 높은 것이다. 그런데 그다음 날인 두 달째 시작하는 32번째 되는 날에는 쌀 두 가마니를 주어야 할 판이다. 그것도 단 하루 일한 품삯으로 말이다! 

   이상을 수학으로 살펴보자. 1일에 1톨, 2일에 2톨, 3일에 4톨 등등을 일반화하면 k번째 되는 날에는 2^(k-1)알이 된다. 즉 일한 대가로 받은 일당을 s라고 하면 s는 k에 관한 함수로 s=2^(k-1)이 된다. 좀 더 단순화하면 s=2^k로 이 함수는 비선형함수이며 기하급수적으로 증가한다. 즉 처음엔 조금씩 증가하다가 갈수록 점점 많이 증가한다.

   이 젊은이를 계약대로 1년간 부렸다가는 전 재산을 다 내주어도 모자랄 판이었다. 그렇다고 계약을 파기하고 모른 척할 수도 없었다. 이미 계약 내용은 온 마을에 알려져 있고 법적 효력이 있기 때문이다. 그런데 그 젊은이가 그동안 열심히 일하는 것을 보아온 부잣집 주인은 비록 그가 가난하지만 성실해 보여 딸의 좋은 배필이 될 것 같다고 생각했다. 결국 그 젊은이는 원하는 대로 부잣집 딸하고 결혼하게 되었다. 수학을 잘 알면 이런 좋은 일이 생긴답니다.


비선형오차와 나비효과


   더 구체적으로 비선형함수에 대하여 살펴보자. 상수 a에 대하여 함수 y=ax는 선형함수이고, 지수함수 y=a^x는 비선형함수이다. 선형함수와 비선형함수가 초기에 약간의 오차를 갖고 출발하면 나중에 어떻게 달라지는지 비교하여 보자. 예를 들어 a=3이라고 하자. 

   다음 표는 a=3을 기준으로 했을 때 a가 2.99, 3.00, 3.01일 때, 즉 0.01의 차이가 있을 때 x에 따른 함수 y=ax의 변화량과 상대적인 크기를 백분율(%)로 각각 나타낸 것이다.

   위 표를 보면 초기 0.33%의 오차가 함숫값의 오차에도 그대로 반영되어 같은 오차를 보여주고 있다. 이처럼 y=ax와 같은 선형관계인 경우 a가 변한 것에 따른 함숫값의 변화량은 위 표에서 보듯이 변한 양에 비례하고 상대오차는 항상 같다. 즉 초기에 조금 변하면 나중에도 그 정도 변한다는 뜻으로 예측이 충분히 가능하다.

   비선형관계 y=a^x에서도 위와 같은 경우를 적용하여 보자. 다음 표 역시 a=3을 기준으로 했을 때 a가 2.99, 3.00, 3.01일 때, 즉 0.01의 차이가 있을 때 x에 따른 함수 y=a^x의 변화량과 상대적인 크기를 백분율(%)로 각각 나타낸 것이다.

   위 표를 보면 초기 0.33%의 오차가 선형관계와 다르게 x가 커짐에 따라 그 차이는 엄청 커진다. 즉 초기에는 0.01(또는 0.33%)의 차이가 x가 160이 되면 그 차이는 약 70.31%나 된다. 선형의 경우 x에 관계없이 그 오차가 유지되나, 비선형의 경우는 x가 커질수록 점점 더 큰 오차를 유발한다. 즉, 비선형함수는 작은 오차를 매우 큰 차이로 부풀리는 속성을 갖고 있다.

   나비효과(butterfly effect)란 말이 있다. 베이징에 있는 한 나비가 날개를 한 번 더 퍼덕인 것이 베이징의 대기에 영향을 아주아주 조금 주었는 데 이 조그만 영향이 중국 대기에 조금 영향을 주고, 한참 시간이 지난 후 미국 뉴욕을 강타하는 폭풍을 몰고 오는 엄청난 결과를 가져올 수 있다는 것이다. 그 나비가 가만히 있었으면 뉴욕에 오지 않았을 폭풍이 한 번 더 날개를  퍼덕이는 바람에 폭풍이 왔고, 이것이 실제 가능하다는 것이다.

   베이징에 있는 한 나비가 가만히 있을 때와 날개 한 번 퍼덕인 것과의 차이는 극히 미세한 차이이다. 하지만 비선형 관계에서는 이 아주 작은 차이가 엄청 큰 변화를 몰고 올 수도 있다는 것이다. 앞에 보았듯이 0.33%의 오차가 200배가 넘는 70.31%나 되는 차이로 변화하듯이 작은 사건 하나에서 엄청난 결과가 나온다는 뜻이다. 지구는 모두 연결되어 있다. 그래서 지구 생태계에는 국경이 없다. 한쪽의 자연현상이 언뜻 보면 아무 상관이 없어 보이는 먼 곳의 자연과 인간의 삶에 커다란 영향을 미친다. 아마존 열대우림이 파괴되는 현상이 브라질의 문제가 아니라 전 세계에 영향을 미치는 세계적인 문제가 된다. 체르노빌이나 후쿠시마의 핵발전소의 사소한 문제가 결국 큰 사고로 이어져 당시 소련과 일본만의 문제가 아니라 전 지구에 영향을 미친다. 아직 정확히는 밝혀지지 않았지만 중국 우한의 한 아주 조그만 사건이 전 세계에 벌써 2년째나 코로나19를 전파하여 영향을 주듯이 말이다. 만일 이 조그만 실수가 없었다면 코로나도 없었을 것이니 얼마나 큰 차이를 유발했는가? 

   이처럼 선형적인 관계에서는 처음에 조금 다를지라도 그것이 나중에 미치는 영향은 그렇게 크지 않지만 비선형적인 관계에서는 처음에 생긴 아주 작은 차이라도 그로 인해 생기는 미래의 결과는 예측하기 힘들 정도로 크게 변한다. 자연은 선형적이기보다는 비선형성을 지니고 있으므로 초기치를 산정하는 과정에서 극미한 오차가 한순간 엄청난 크기로 증폭될 수 있다. 따라서 여러 가지 요소에 의하여 결정되는 기상예보의 경우 대표적인 비선형성을 가지므로 기상조건이 완전히 똑같은 날은 있을 수가 없다. 또한 장기간의 기상을 예측하는 것은 불가능할 뿐 아니라 당장 내일의 예보도 정확하지 않을 수 있다. 그래서 기상예보를 할 때 단정하지 않고 확률을 도입한다. “내일은 비가 오니 우산을 꼭 준비해주시기 바랍니다”가 아니라 “내일은 비 올 확률이 75% 정도이니 우산을 준비하는 것이 좋겠습니다”와 같이.


먹이공급 법칙


   매년 가을 어느 날(10월 1일이라 하자.) 메뚜기를 잡으러 논에 나간다고 하자. 메뚜기는 지금은 잘 볼 수 없지만 필자가 어린 시절만 해도 가을의 논에 매우 많이 있어서 간식거리로 많이 잡았다.(메뚜기가 무엇인지 잘 모르면 가을 들판의 잠자리로 생각해도 좋다.) 올해 메뚜기가 많으면 그다음 해에도 메뚜기가 많이 생기므로 한 해의 메뚜기 수는 그 전 해의 메뚜기 수에 영향을 받는다. 영향을 받는다는 것은 수학적인 용어로 관계를 뜻하며 이것은 함수로 나타낼 수 있다. n년에 근처 논의 메뚜기 개체수를 s_n이라고 하면 그다음 해인 n+1년의 메뚜기 개체수 s_(n+1)은 그 전 해의 개치수인 s_n의 영향을 받으므로 s_(n+1)은 에 관한 함수가 되어 s_(n+1)=f(s_n)으로 생각할 수 있다. 

      년의 메뚜기 한 마리가 n+1년의 메뚜기 r마리를 만든다고 가정하자. 그러면 n년의 전체 메뚜기 개체수는 s_n이므로 그다음 해인 n+1년의 메뚜기는 rs_n이 되어 


s_(n+1)=rs_n


인 관계가 성립한다. 즉, 함수 f(s_n)=rs_n이 된다. 여기서 r은 상수이다. 만일 r=1이면 그다음 해의 개체수는 변함이 없고, 0<r<1이면 감소하며, r>1이면 개체수는 증가한다. 

   이 관계식대로이면 자연에서의 메뚜기는 기하급수적으로 늘어날 것이나 실제로는 제한된 논에서 생산되는 벼는 한정되어 있으므로 이것을 제대로 먹지 못한 많은 수의 메뚜기는 결국 굶어 죽게 되어 개체수가 다시 줄어들게 된다. 이와 같은 조건을 첨가하면 다음 해의 개체수는 올해의 개체수에 비례하지만 그만큼 죽는 개체수도 비례하여 늘어나므로 전체적인 개체수는 새로 태어나는 수에서 죽는 수만큼 빼야 할 것이다. 그러므로 g(s_n)=(r-bs)n)s_n과 같은 관계식이 된다. 죽는 것이 없다면 b=0이다. 식을 단순화하기 위하여 x_n =b/r s_n으로 대신하면 다음과 같은 식으로 표현된다.


x_(n+1) = r(1-x_n)x_n


이 식을 살펴보면 개체수의 비를 나타내는 x_n이 1에 가까워지면 반대로 1-x_n은 0에 가까워지므로 x_n과 1=x_n이 서로 견제하여 개체수의 증감을 조절하게 된다. 이러한 법칙을 로지스틱 법칙이라 한다. 개체수의 범위를 멸종일 때 0으로 하고 최대의 개체수일 때 1로 하면 먹이공급 법칙을 나타내게 된다.

   x_(n+1) = r(1-x_n)x_n에서 x_n이 n이 점점 커짐 따라 일정한 상수 a로 가까이 가면(또는 수렴하면) a는 다음을 만족한다.


a=r(1-a)a


g(x)=r(1-x)x라고 정의하면 a는 x=g(x)를 만족하며 이와 같은 점을 g(x)의 고정점(fixed point)이라 한다. 즉, x_n이 수렴하면 그 값은 g(x)의 고정점이 되어야 하며 고정점이 아니면 수렴하지 않음을 알 수 있다. g(x)의 고정점은 x=r(1-x)x을 만족하므로


x=0 또는 x=1-1/r


이다. 이것은 n이 점점 커짐에 따라 개체수가 수렴한다면 메뚜기가 멸종한다든지 아니면 일정한 수 1-1/r로 가까이 감을 의미한다. 그러나 모든 r에 대하여 다 수렴하는 것은 아니고 r에 따라서 수렴하지 않을 수도 있다.

   예를 들어보자. r=1이면 매년 개체수의 증가는 일정하나 죽는 것이 있으므로 결과적으로 점점 개체수가 줄어들게 된다. 초기 개체수를 0.7이라 하면 다음 표에서 보듯이 해가 지날수록 점점 감소되어 결국 0이 된다.

즉 개체수의 증가율이 1이면 자연 발생적으로 죽는 개체가 생겨 결국에는 멸종한다는 것이다. 그러므로 부부가 젊어서 서로의 인생을 더 즐겁게 하기 위해서 또는 점점 살기 어려워지는 세상에 자식이 고생하기를 원치 않는다는 명목으로 아이 낳기를 게을리하면 결국 그 민족은 소멸된다고 볼 수 있다.

   r=2이면 매년 개체수의 증가는 두 배 정도로 증가하나 죽는 것이 있어 일정한 개체수로 수렴한다. 그 개체수는 방정식 x=2(1-x)x를 만족한다. 초기 개체수를 0.1이라 하면 다음 표에서 보듯이 해가 지날수록 다음과 같이 0.5로 수렴한다.

0.5는 g(x)=2(1-x)x의 고정점이다. 이 표가 뜻하는 바는 개체수의 증가율이 2 정도이면 자연 발생적으로 죽는 개체와 더불어 결국에는 일정한 개체수가 된다는 것이다. 

  r=3.3이면 매년 개체수의 증가는 세 배 이상으로 증가하나 죽는 것이 있어 일정한 두 개체수로 반복하여 움직인다. 

위 표를 보면 0.823와 0.479에 가까이 있는 두 수에 반복적으로 왔다 갔다 하는 것을 볼 수 있다. 이러한 경우 수렴한다고 하지 않는다.

   r=4이면 매년 개체수의 증가는 네 배로 증가하고 죽는 것이 있으나 어디로 갈지 예측하기가 불가능하다. 

위 표를 보면 어느 점으로 수렴하는지 그 형태가 전혀 보이지 않는다. 이와 같은 상태를 카오스(혼돈, chaos)라고 한다.


비선형오차와 카오스


   비선형오차를 그래프로 보기 위하여 고정점을 그래프로 살펴보자. 함수 g(x)의 고정점은 x+g(x)가 성립되는 점이라고 했다. 이 점을 구체적으로 살펴보면 두 함수 y=g(x)와 y=x의 교점이 된다. 

   위 그림에서 초기값 x_0에 대하여 x_1=g(x_0)이므로 점 (x_0 ,g(x_0 ) )에서 x축에 평행한 선을 그었을 때 y=x와 만나는 점의 x 좌표가 x_1이 된다. 같은 방법으로 x_2 =g(x_1)이므로 점 (x_1 ,g(x_1 ) )에서 x축에 평행한 선을 그었을 때 y=x와 만나는 점의 x 좌표가 x_2가 된다. 

   r=1인 경우 아래 그래프를 보면 0으로 수렴함을 알 수 있다.

   r=2인 경우 아래 그래프는 고정점 0.5로 수렴함을 보여준다.

   r=3.3인 경우 아래 그래프는 두 점 사이를 반복하여 움직임을 보여준다.

   r=4인 경우 아래 그래프를 보면 예측하기 어려움을 알 수 있다.

   이 그래프에서는 전혀 반복하는 점을 찾아볼 수 없다. 로지스틱 함수에서 상수     에 대하여 주기적으로 반복하는 점의 개수는 다음 표와 같이 알려져 있다. 편의상 소수점 아래 두 자리까지만 나타냈다.

   이 표에 근거하여 r과 고정점 또는 반복점과의 관계를 그린 그래프는 다음과 같다. r이 0과 1 사이에 있으면 고정점은 0 하나뿐이고, 1과 3 사이에서도 고정점은 1-1/r 하나로 수렴한다. 그러나 r이 3보다 크면 고정점의 개수가 2의 거듭제곱으로 늘어나다 4가 돼서는 혼돈으로 빠져 버리는 것을 보여준다.


   다음 그림은 r=4일 때 초깃값이 x_0 =0.6, x_0 =0.6001일 때 각각의 경우 n=50까지의  x_n의 값을 보여주는 그래프이다. 초깃값이 아주 조금 차이가 날지라도 그 결과는 완전히 달라질 수 있음을 보여준다. 초기값이 x_0 =0.6, x_0 =0.6001일 때 각각의 그래프는 처음 거의 10번까지는 큰 차이가 없어 보이나 점차로 차이가 커져 예측할 수 없게 된다. 즉, 초깃값에 매우 민감함을 알 수 있다.

   이처럼 비선형 관계에서는 초기에 조그만 차이가 예측할 수 없을 정도로 결과 달라진다. 연인 사이에 아무것도 아닌 조그만 차이가 나중에 파국으로 갈 수도 있음과 같다. 그 이유는 연인 사이의 감정은 비선형관계이기 때문이다. 길 가다 기분 나쁘다고 깡통 걷어차지 마라. 잘못하면 이 사소한 행위가 먼 훗날 재앙으로 닥칠 수 있기 때문이다.

작가의 이전글 14. 정수비와 음계
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari