예전에 했던 이야기
[글쓴이 주]
이 글은 제가 같은 제목으로 10년도 전에 적었던 글입니다. 최근에 확률(Probability 혹은 Stochastic)에 대한 관심을 가져 주시는 분들이 계셔서, 이렇게 다시 정리 합니다. 기존에 적었던 내용을 되도록이면 원문 그대로 옮겨 적는거라, 어투나 문장들이 매끄럽지 않을 수도 있으니, 이 점은 널리 양해 부탁드립니다.
우리가 사는 자연 현상을 기술하는 언어를 흔히 "수학"이라고 칭합니다. 자연과학이나 공학을 전공하신 분들은 이 수학이 영어만큼이나 사람을 괴롭히기도 하죠.
일반적으로 자연 현상을 수학적으로 표현하는 방법은 사물을 관찰하고, 거기에 맞는 자료를 모은 다음, 그 자료를 토대로 방정식이 형태로 표현하는 모델링의 과정을 거칩니다. 이 모델링 방법은 크게 두가지로 나누어 집니다. 하나는 결정론적방법(Deterministic Method)과 확률론적인 방법(Stochastic Method)이 그것인데요. 어떤 방법을 쓰든지 가장 이상적인적인 모델링은 단순히 주어진 자료를 표현할 뿐만 아니라, 그 자료를 모은 계의 일반적인 상태를 다 표현 할수 있는 방정식을 뜻합니다. 이 말인 즉은, 우리가 과거의 자료들을 가지고 모델링을 했더라도, 그 모델을 가지고, 현재 혹은 미래의 해(Root)를 계산할수 있다는걸 의미합니다.
예를 들어, 물체가 자유낙하를 할시에는 등가속도 운동을 합니다.
즉, 자유 낙하는 물체의 속도는 V = a*t(a=9.8m/s)의 형태가 되죠. 이식은 과거의 실험을 통해 만들어진 모델(혹은 방정식)입니다. 자, 여러분이 이제 실험을 합니다. 물체를 떨어뜨리는거죠. 2초후의 이 물체가 가지는 속도는? 물론, 실험을 통해서, 직접 값을 찾아 낼수도 있지만, 우리는 주어진 식(V=a*t)을 이용하여, 2초 후의 물체 속도를 추측할수 있다는 겁니다. 근데, 문제가 있죠. 위의 식이 아주 이상적인 해라면, 2초뒤 이 물체의 속도는 틀림없이 2*a가되어 합니다만, 실제로는 그렇게 나오지 않죠.
일단, 식자체서 문제가 있습니다. 자유낙하시 영향을 주는 중력가속도는 정확하게 9.8이 아닙니다. 조금 차이가나죠. 두번째 문제 위의 식은 공기저항을 생각하지 않은 모델입니다. 즉, 공기중의 자유낙하 실험에서는 공기마찰력에 의해 생기는 저항을 넣어 줘야 한다는 겁니다. 이렇게 될 경우 새로 만들어진 식은 V = a*t - g(t)와 같은 형태가 됩니다.
또 하나, 일반적으로 모든 함수는 시리즈의 형태로 표현이 가능합니다. 흔히, 변환이라고 불리는 이러한 방법의 예가 바로, 테일러, 라플라스, 풀리에시리즈 등이죠. 또 다시 한번 예를 들어 봅시다. 여러분은 x축과 y축이 있는 종이에 어떤 줄로 표시된 그래프가 있다고 합시다. 여러분은 이 그래프(마구 잡이로된)를 함수로 표현하고 자합니다. 이 그래프가 직선임이 확실하다면, 여러분은 y=f(x)=a*x+b의 형태로 놓고, 그래프가 지나가는 두 포인트를 잡고, 저 식에 넣어서 a 와 b를 구하면 되겠죠.이건 종이에 있는 그래프가 "직선"일 경우에 그렇습니다. 만약,마구 잡이(?) 그래프라면 어떻게 할까요? 시리즈의 형태로 풀 수 밖에 없죠. 그렇지만 여기서부터 문제가 생깁니다. 일단, 함수의 텀(Term) 무한대이기 때문에 실질적으로 모든 Term의 계수를 정해준다는건 애시당초 불가능 하죠.
그렇지만, 어느정도 오차범위 허용한다면, 일정 범위내에서는 상당히 정확한 함수 즉, 종이에 그려진 그래프와 유사한 함수를 만들어 낼수가 있죠. 위의 물리 실험과 방법은 비슷합니다. 범위를 좁게 한다음, 계수를 정해주고, 한 차수 높은 텀(Term)넣어준다음, 계수정해줘서 튜닝하고...여기까지가 바로 지금까지 그리고, 아직까지 쓰이고 있는 Deterministic Method(결정론적 기법)입니다.
요즘은 컴퓨터의 발달로 Numerical Method(수치해석)적인 기법은 너무나 보편화 되어 있죠. 그렇지만, 이거이 가지고 있는 문제가 있습니다. 즉, 위의 대 전제는 일단, 이상적인 함수가 만들어졌을 경우, 변수값이 정해지면, 그에 해당되는 함수값은 정해져 버립니다. 아까 수학예를 봅시다.
종이에 그려진 그래프가 y=f(x)=3*x+1이라고 합시다.즉, 우리가 아주 이상적인 함수를 알고 있다고 했을경우, x가 정해지면, y값은 정해져 버리죠. 예를 들어 x가 10이라고 한다면, y는 31이 되어버리는거죠.
수학에서는 가능합니다. 어떤 함수가 그래프의 가장 이상적인 함수라고 한다면, 그 함수의 출력값은 항시 정확하다...이겁니다. 근데, 이 함수가 어떤 자연현상의 모델링을 표현한거라고 한다면... 여기서 문제가 생기는 겁니다. 자연현상은 수학만큼 투명하지 못 하거든요. 즉, 그 함수를 구하기 위해 사용된 자료(데이터)자체가 그 현상을 모두 표현하기에는 너무 부족하다는 겁니다. 위의 자유 낙하 현상의 예를 봅시다. 어떻게 어떻게 해서 이상적인 V=f(t)를 만들었다고 합시다. 자, 우리는 똑같은 실험을 합니다. 저식이맞는지 알아보기 위해서 말이죠. 근데, 바람이 불면 어떻게 하죠? 만약, 날씨가 갑자기 흐려지면요? 혹, 지나가던 새가 부닺히면 어떻게 될까요?...^^; 여기서 우리가 접근할수 있는 방법은 크게 두가지 입니다.
처음 방법은 실험을 할시에는 부는 "바람도 없고, 부딪힐만한 새도 없다. 오로지 자유낙하하는 물체와 공기만(그것도 밀도가 똑같은)이 있을 뿐이다" 라고 실험을 제한하는 방법(이게 기존에 쓰는 방법입니다.) 아니면, 새가 날아 오는 패턴 계산하고, 날씨가 흐려지는 패턴 계산하고, 이것까지도 원래 함수식에 넣어 버리고 계산을 하는 겁니다.
즉, 이렇게 되면, 원래 이상적인 함수식에서 "새" Term과 "날씨" Term이 추가된 새로운 함수식(혹은 방정식)이 만들어 지는 겁니다. 후자의 경우가 쥐라기 공원으로 유명해진 혼돈(Chaos)이론 입니다. 컴퓨터의 눈부신 발전으로 인해, 이 이론은 비선형 동력학 부분에서는 가장 각광을 받는 분야가운데 하나가 되었죠. 그러나, 이것 역시 문제가 있습니다. Term이 많아지는건 컴퓨터가 해결한다고 쳐도, 이것 또한 Deterministic이라 함수값말고 나머지 경우는 전부 무시를 해버리 때문에, 미래를 계산하고자 한다면 현재뿐 아니라 과거 전체를 싸그리 알고 있어야 정확한 계산을 할수 있습니다.
아까 자유낙하 문제에서 "날씨" Term을 넣을 경우, 정 반대쪽에 있는 나비가 날았나 않 날았나까지 관찰을 해야된다는 겁니다.(쥐라기 공원에 보면, 그런 이야기 나오죠. 아시아에 날으는 나비한마리가 미국에 비를 내리게 한다구요.) 그러니, 자유낙하 실험을 하기 위해서는 정 반대쪽에 있는 나비가 떴는지 안떴는지 까지 관찰해야되죠. 근데, 이게 가능할까용?
그럼, 확률모델에서는 어떻게 다룰까요? 확률모델은 모든걸 정확하게 결정짓지를 않습니다. 마치, 블랙박스 같다고 해야될까요? 즉, 결정론적 모델에서는 일단, 하나의 값을 취하게 되면, 나머지의 값들을 버려야 하지만,확률모델의 경우는 하나의 값을 취하더라도, 취하지 않은 나머지 부분들의 확률은 그대로 가져 오는거죠. 이해가 어려우시다구요? 그렇다면, 예를 들어 들이지요. 5층짜리 엘레베이터가 있는 건물이 있습니다. 이 엘리베이터는 1인용입니다. 우리는 엘리베이터 타는 사람들을 관찰합니다.
처음 온 사람은 2층을, 그 다음은 사람은 5층을, 그 다음 사람은 3층을, 그 다음사람은 2층을, 그 다음 사람 3층을...이렇게 하루를 기준으로 카운 트를 한다고 칩시다. 다음날, 우리는 어제의 데이터를 기준으로 추측을 할려고 합니다.
즉, 1번째 엘레비이터를 탄 사람은 몇층을 갈것인가?
두번째 엘레베이터를 탄 사람은 몇층을 갈것인가?
우리는 이걸 모델링 할려고 합니다.
먼저, 결정론적 모델을 이용해 봅시다. 몇번째 사람인 파라메터를 주면, 우리는 그에 대한 결과값(층수)을 볼수 있습니다. 함수값에 인자를 대입 해 주면 결과값을 주는것과 마찬가지죠. 이 엘레베이터 모델의 경우,
첫번째 엘레베이터를 탄 사람은 2층을 갈 것이며,
두번째 탄 사람은 5층을 갈것이고,
그 다음 사람은 3층을 갈 것 입니다.
그런거죠. 몇 번째냐에 따라 몇층으로 갈것인지가 정해져 버리는거죠. 우리가 만든 모델(과거를 기준으로)은 첫번째 사람은 2층에 두번째 사람은 5층을 가야 합니다.
하지만, 어제 처음 엘레베이터 탄 사람이 2층을 갔다고 해서, 그 다음날 처음 엘레베이터를 첨 탄 사람이 2층을간다고는 아무도 보장을 못하죠. 이 말인즉은,"어떤 날에 처음 엘레베이터를 탄 사람은 2층을 갈수도 있고, 안 갈수도 있다."가 되는 겁니다. 하지만, 결정론적 모델의 경우는 "2층을 간다" 즉,
"첫번째 온 사람은 반드시 2층을 간다."라고 확정
이 되어 버리는 것이지요. "안갈 수" 있는 이 부분이 완전히 무시가 되어 버리는거죠. 그럼, 확률 모델에서는 어떨까요? 확률모델은 또 다른 스페이스를 요구합니다. 스페이스 나오고 하면, 저두 헷갈리고..쿠큭~~
그냥, 아까 예로 설명을 드릴께요. 우리가 기준으로 삼았던 모델(하루전)에선 첫번째 엘레베이터를 탄 사람이 2층을 가긴 했지만, 3층을 갈 확률도 있고, 4층을 갈 확률도 있고, 5층을 갈 확률도 있다는 겁니다. 즉, 실제로 이 사람이 들어간 층수가 중요한게 아니라, 그 상황(여기서는 첫번째 엘레비이터를 타는 상황)에 따른 확률이 중요하다 이겁니다. 만약, 첫번째 온 사람이 2층을 갈 확률은 .2이고, 3층을 갈 확률은 .7이라고 합시다. 그럼, 그 다음날 첫번째 온 사람이 엘레비어터를 올라갈 층수는? 이라고 했을때, 비록 어제는 2층이였지만, 확률적으로는 3층을 갈 확률이 크죠. 일단, 정해진 값(과거)에 대해서는 확률이라는 것은 무의미 합니다.
방금 예에서 처럼, 3층으로 갈 확률이 아무리 0.7이라고 해도, 어제 첫번째 올라간 사람은 2층을 갔습니다. 2층을 간게 3층으로 간걸로 될수는 없죠. 그런, 갈수도, 안갈수도 있는 그 부분을 "확률"이라는 개념을 통해서, 커버(?)를 해준다는 겁니다.
확률을 이용한 모델의 경우, 수치가 가진 잠재적인 부분까지 계량적으로 표현이 가능합니다. 즉, 결정론적 모델의 경우, 우리가 값을 취하게 될 경우 그 값 이외의 값들은 다 버려야 되죠.
예를 들어, f(2)=5 라는 식이 있다면, 입력값 2에 대한 함수값은 무조건 5가 나와야합니다. 즉, 5을 제외한 나머지 값들은 버려집니다. 확률론에서 따질때는 저 계와는 다른(다른 스페이스를 쓴다고 말씀드렸죠?) 계를 하나 더 사용합니다. 수식적으로 표현을 하자면, P[f(2)=5] = xx 즉, "f(2)=5"라는 사건이 일어날 확률계를 하나 더 가집니다. 여기서 xx의 값은 0~1사이의 값을 가지고, 모든 확률계의 전체 합은 1이 됩니다. 이부분은 기초확률론이라는 과목을 들으시면 자세히 배우실수 있습니다.
결정론적 방법은 확률론적 방법의 특수한 경우에 해당됩니다. 즉, 다른 사건이 일어난 확률은 0이고, 어떤 특정한 사건이 일어날 확률은 1인 경우를 말합니다. 아까 들었던 예, f(2)=5의 경우, 확률계의 값은 P[f(2)=5] = 1, and P[f(2)<>=5]=0 로 표현하실수가 있죠. 결정론적 방법과 확률론적인 방법은 전혀 관계없는 혹은 상반되는 이론이 아니라, 결정론적인 방법은 확률론적 방법의 특수한 형태로 정의 될수가 있습니다.
즉, 확률론적 방법이 결정론적 방법보다 큰 영역을 차지 하죠. 처음에 결정론적 방법 설명드릴때, 가장 많이 쓰이는 방법이 수치해석적방법(Numerical Method)이라고 설명 드렸었죠? 확률론적 방법에서도 수치해서석적인 방법이 쓰입니다. 결정론적 모델을 사용하기위해 사용되었던 모든 툴(Tool)들은 조금만 수정을 하면, 확률론적 모델을 풀기위한 툴로도 사용 가능 합니다. 실제로 깔끔한 형태로 나타나기 힘든 큐잉모델들은 수치해석을 이용해서 근사값을 취하거나, 시뮬레이션을 통해서 모델을 분석하기도 합니다.
아~ 그렇다고, 헷갈리지는 마세요. 같은 수치해석 방법을 쓴다고 해서, 구하는 해가 같은건 아니니까요. 결정론적 모델의 경우는 실제 함수값에 관심이 있는 반면, 확률론적 모델에서는 실제값보다는 그에 따르는 확률계의 값들에 관심이 있으니까요(둘이 초점을 두는 곳이 다릅니다.)
세상의 모든 자연현상을 가만히 관찰해보면, 모든 이치를 "수학"를 이용해 표현할수 있슴을 아실겁니다. 물체의 크기나, 자동차의 속도, 전구의 밝기, 벌집의 구조, 지구의 크기, 행성간의 거리... 소위 말해서 갖다 붙이면(?) 표현이 가능하죠.
자연현상을 100%완벽하게는 표현할수는 없지만, 어떠한 특정한 방향으로는 얼마든지 표현이 가능합니다. 인간이 자연현상을 가장 잘표현한 언어가 바로 이 수학입니다. 여러분은 지금 수학의 또 다른 분야를 접하시고 있습니다. 자연현상을 조금만 더 관찰해보면, 모든 이치를 "확률"로 표현하실수가 있다는걸 아시게 될겁니다. 행성의 흐름, 교량에서의 자동차 흐름, 양자역학, 물 분자의 운동, 비의 낙하운동..등등.. 수학이 가지는 표현능력에 확장성을 더 해주는 동시에,
"세상에 완벽한건 없다"는 절대 진리를 수용한 언어가 바로 이 "확률"
이니까요. 이 작은 글이 여러분에게 조금더 열린 사고를 하실수 있는 계기가 되기를 바라면서 글을 마칠까 합니다. 긴글 끝까지 읽어주셔서 감사합니다.
[끝]