실생활에서 공간벡터의 활용

2015. 12. 20. 15:50Nature

반응형

 벡터(vector)란 크기와 방향을 가진 양으로 선형 대수학에서는 행렬을 일컫기도 한다. 일반적으로 벡터는 화살표를 사용하여 그 크기와 방향을 모두 나타낼 수 있다. 벡터의 활용은 무궁무진한데, 그 중 시시콜콜한 물리 문제 따위를 푸는데 사용되는 벡터가 아닌, 조금 더 어렵고 심오한 벡터 활용의 예를 찾아보았다. 내가 조사한 것은 벡터장(vector field)로 벡터 개념의 확장이라고 할 수 있다. 벡터장은 유클리드 공간의 각 점에 벡터를 대응시킨 것이다. 수학적으로 벡터장은 다양체 위의 ‘접다발의 단면’으로 정의된다. 주로 각 점에서의 크기와 방향을 나타낼 때, 예를 들면 유체의 흐름이나 중력장 등을 나타내기 위해 사용된다.

 

 수학적으로 엄밀한 정의를 살펴보자. 벡터장에 앞서서 먼저 스칼라장(scalar field) 또는 스칼라함수(scalar  function)을 알아보자. 집합

에서 정의된 함수

의 함숫값

가 특정한 좌표계의 선택에 관계없이 점 p의 위치에 의해서만 결정될 때 함수를 집합

에서의 스칼라장이라고 한다. 흔히 일정한 영역의 온도분포함수, 전위분포함수, 밀도함수 등이 스칼라장으로 분류된다.

 

 반면에, 벡터장(vector field)은 집합

의 각 점 p에 벡터

를 대응시키는 벡터함수를 말한다. 우리 주위에서도 벡터장을 접할 수가 있다. 예를 들어 공간에서 운동하는 질점이 만드는 곡선 C의 함수

가 미분가능한 벡터함수라고 하자. 이때 곡선 C 위의 각 점에서

, 즉 속도벡터가 정의되므로 이는 곡선  C 위에서 정의된 벡터장이다. 또한 지구의 질량에 의해 생기는 중력장 역시 벡터장이다. 한편으로는 유체에서의 각 지점에서 물의 속도에 대응되는 벡터를 생각할 수도 있고, 매 순간마다 유체의 흐름을 나타내는 벡터장을 생각할 수도 있다. 이처럼 벡터장은 역학 및 전자기학, 유체역학 등에서 유용하게 사용된다.

 

 그렇다면 평면에서 정의된 벡터장

는 어떻게 표현될까?

 

 

 평면의 모든 점에 대응되는 벡터를 표현하는 것은 사실 불가능하다. 따라서 원점이 중심이고 반지름이 r인 원 위에서

임을 이용하여

일 때 점

,

의 점에서 벡터를 표현해보면 위 그림과 같이 나타낼 수 있다.

 

 그렇다면 벡터장을 적분할 수 있을까? 물론 있다. 먼저 스칼라함수의 선적분부터 알아보자. 곡선 C 위의 점

를 곡선의 시점(initial point)라 하고, 점

를 종점(terminal point)라고 하자. 이때,

인 곡선을 닫힌 곡선(closed curve)라 하며 특히 시점과 종점 외의 점에서 다른 점과 자기 자신과 만나지 않는 닫힌 곡선을 단순(폐)곡선(simple closed curve)라고 한다. -C는 역방향곡선으로 시점과 종점이 반대인 곡선을 말한다.

 

 스칼라함수

가 매끄러운 곡선

을 포함하는 영역에서 정의되어 있다. 곡선 C 위의 유한개의 점

 (0,1,…m)으로 곡선이 나누어진다고 생각하자. 이때, 곡선의 각 부분에서 점

를 임의로 하나씩 선택하여 다음과 같은 합을 생각하자. 이때, m을 무한대로 보내면 각 부분의 길이는 0이 되고 위의 합의 극한이 존재하면, 이는 적분으로 표현된다. 

 

 

 이를 곡선 C에서의 스칼라함수

의 선적분(line integral)이라 하고 곡선 C를 선적분의 적분경로(path of integration)이라 한다. 우리가 주목해야 할 것은 벡터장이므로, 벡터장에서의 선적분 또한 알아보자.

 

 곡선 C를 각 부분의 길이가 충분히 작게 m개의 부분으로 나누면, 점 와  사이의 곡선 부분을 직선으로 생각할 수 있다. 벡터장의 하나인 힘장 F(force field)가 곡선 C가 존재하는 영역

에 존재한다고 하자. 각 직선의 길이가 매우 작으므로 힘 F가 곡선의 각 점에 작용하는 힘을 로 생각할 수 있다. 이때, 점

에서 

까지 힘 F가 한 일의 양은

  (k=1,2...m)로 근사할 수 있고 점 p에서 점 q까지 한 일의 양은

이 된다. 이제 앞의 방법과 마찬가지로 m을 무한대로 보내면 각 부분의 길이는 0이 되고, 위 식의 우변의 극한이 존재하면 그 극한은 곡선 C를 따라 점 p에서 q까지 벡터장 F가 한 일의 양이 된다. 이때,

로 설정하면,

 

 이를 곡선  C 위에서의 벡터장 F의 선적분, C를 적분경로라고 한다. 유한개의 매끄러운 곡선

 (j=1,2,...m)가 합쳐진 곡선 에서 연속인 벡터장 의 선적분은 존재하고 다음이 성립한다.

 

… 


 또한 스칼라함수와 달리, 시점과 종점이 있기 때문에 적분경로의 방향이 바뀌면 부호가 반대가 된다. 즉, 곡선 C와 곡선 -C에 대한 선적분의 관계는 다음과 같다.

 


 그렇다면 그 뒤에 나오는 심오한 내용을 건너뛰어서, 벡터장이 어디에 활용되는 것일까? 먼저 그린정리(Green’s Thorem)은 평면 영역에서의 이중적분과, 그 영역의 경계선에서의 선적분 사이의 관계에 대한 정리이다. 이는 스토크스 정리(Stoke’s Theorem)의 특수한 경우이다. 스토크스 정리는 미분다양체 위의 미분 형식의 적분에 관한 정리다. 이에 따라, 미분 형식의 외미분을 다양체에 적분한 값은, 그 미분 형식을 다양체의 경계에 대하여 적분한 값과 같다. 이 두식을 이용하면 가우스의 발산정리(Gauss' divergence theorem), 켈빈-스토크스 정리(Kelvin-Stoke’s Theorem) 등을 증명할 수 있다. 이러한 분야를 연구하는 학문을 벡터 미적분학(vector calculus)라고 한다. 벡터 미적분학은 모든 현대 물리학, 공학의 밑바탕이 되고 있으며 벡터 미적분학 없다면 우리는 비행기를 탈수도, 컴퓨터를 쓸 수도 없다.


 앞서서 벡터 미적분학의 기초만 살짝 다루었는데, 이는 실제적으로 벡터의 활용적인 부분이라고는 하기 어려운 점이 많다. 그 이유는 실제적인 활용으로 들어가면 굉장히 심오하고 어려운 내용이 많아서이다. 이번에는 벡터 공간 모델(vetor space model)에 관해 살펴보자. 어려운 내용을 다루지는 않을 것이지만 조금 더 실용적인 벡터의 활용이라고 생각된다.


 벡터 공간 모델은 이름에는 ‘벡터’가 들어가지만 사실은 정보 검색 시스템의 방법이다. 그러나 놀랍게도 이 방법에는 수학적 개념인 ‘벡터’가 사용된다. 정확한 정의는 ‘텍스트 문서를 단어 색인 등의 식별자로 구성된 벡터로 표현하는 대수적 모델’로 정보 검색, 필터링, 검색 엔진의 색인이나 연관도 순위 등에 사용된다. 우리가 네이버에 뉴스 기사를 검색할 때 알맞은 정보를 필터링 해줄 때 바로 이 벡터 공간 모델이 사용된다. 검색 모델이므로 항상 특정 문서와 질의가 존재한다. 이를 벡터로

,

로 표현할 수 있다. 각각의 차원은 개별 단어에 해당된다. 말하자면 벡터 공간 모델은 이러한 형태로 문서를 벡터로 표현하여 공간에 뿌리는 것으로 빗대어 표현할 수 있다. 이때 필요한 다차원의 공간은 컴퓨터가 계산한다. 여기서는 간단하게 2차원에서 생각해보자.


 2차원 상이고, 세상에는 단 두 개의 단어, ‘banana’와 ‘apple’만이 존재한다고 가정하자. 이때, 위의 표를 해석해보면 문서 1은 <0,3>으로 banana 3 단어로 이루어진 문서이다. 마찬가지로 문서 2는 <2,1>로 apple 2개와 banana 1개로 이루어진 문서이다. 여기서 나와 같은 사용자가 검색을 한다. ‘질의’의 내용은 <2,2>이다. 나는 apple 2개와 banana 2개를 검색하였다. 따라서 위의 표와 같은 2차원 공간 상에는 총 3개의 점이 찍히게 된다.


 이때, 우리의 목적은 질의어와 각 문서들의 유사도를 판단하는 것이다. 직관적으로 생각해보면, 당연히 문서 2가 문서 1보다 질의어에 가깝다는 사실을 알 수 있다. 그렇다면 컴퓨터는 이것을 어떻게 인식할까? 그것은 바로 거리를 계산하는 것이다. 거리가 가까우면 유사도가 높고, 거리가 멀면 유사도가 낮다.

 

 가장 기본적인 거리 개념인 유클리디안 거리(euclidean distance)로 계산해보자. 먼저 문서 1과 질의어 사이의 거리는

이다. 문서 2와 질의어 사이의 거리를 계산하면

이다. 즉, 문서 2와 질의어 사이의 거리가 더 가까우므로 유사도가 더 큰 것임을 알 수 있다. 그러나 과연 유클리디안 거리를 사용하는 것이 합당할까?


 결론은 합당하지 않다. 아래 예를 보면 알 수 있다.

 

 

 다음과 같이, 질의어는 ‘rich poor’이고 각 문서 ‘

’가 있다. 당연히 가장 유사한 문서는

라고 할 수 있다. 그런데 이상하게도, 유클리디안 거리를 계산하면 오히려

가 더 가까움을 알 수 있다. 이는 문서 벡터의 ‘방향성’을 고려하지 않았기 때문이다. 즉, 방향이 훨씬 더 중요한 역할을 한다는 것이다.


 방향만을 고려하기 위해서, 길이를 모두 통일할 필요성이 있다. 이를 위해서는 길이 정규화(length normalization)가 필요하다. 이는 모든 벡터를 크기가 1인 단위벡터로 만들어버리는 것이다.

 

                  
 문서 벡터가 다차원임을 고려하면 이는 쉽게 생각해낼 수 있는 결과이다. 이를 적용한 후 방향의 유사도만 결정하면 된다. 이는 우리가 매우 잘 알고 있는 공식을 사용한다. 두 벡터를 이용하여 그 사잇각의 코사인을 구하는 방법을 우리는 이미 알고 있다.

 


 학교에서 배울 때는 이게 과연 어디 쓰일까하며 푸념을 늘어놓았는데, 알고보니 매일매일 내가 인터넷을 사용할 때마다 사용되는 정말 중요한 방법이었다. 수학이 모든 학문의 근간이라는 사실이 새삼스레 또 한번 느껴진다.

반응형

'Nature' 카테고리의 다른 글

수학의 역사 : 바빌로니아  (0) 2023.02.24
알코올 정량 분석  (0) 2015.12.20
2015년 노벨 물리학상 수상자  (0) 2015.12.20
실험으로 보는 일반 상대성 이론  (0) 2015.12.20
간단한 화학실험  (0) 2015.12.20