« Previous : 1 : ... 51 : 52 : 53 : 54 : 55 : 56 : 57 : 58 : 59 : ... 66 : Next »

지난 8월 4일에 전쟁 기념관에서 열린 <북한 실상 바로 알기> 특별 교육 프로그램 시리즈 중 하나에서 강의를 들은 내용을 요약하고 나의 의견을 추가하였다.

0. 들어가는 말

- 전반적으로 신앙 간증 집회 분위기 반, 예비군 가서 듣는 안보 강연 같은 분위기 반이었다.
- 탈북자들이 하나같이 중국을 거쳐서 먼 길을 우회한 끝에 한국으로 들어오는 이유는 당연히... 대놓고 휴전선을 넘어서 남하하기란 불가능하기 때문이다. (아니면 전투기 째로 휴전선 넘어서 귀순하든가)

1. 북한 내부 사회 구조

- 북한군은 병이 10년이고 간부는 그보다도 더 긴 어마어마한 의무 복무 기간을 자랑하는데, 군생활 동안 일반 정기 휴가가 없다... 캐안습. (포상 휴가만 있음)
- 북한에도 투표가 있긴 하다. 김 일성· 김 정일 얼굴 액자가 놓여 있는 투표소에 들어가는데, 투표 용지에다 투표자의 이름과 생일을 적고 투표를 해야 한다. ㅋㅋㅋㅋㅋㅋ 익명 비밀 투표 따윈 없다.
- 북한에서는 평양 거주 핵심 계층이 아니면, 통행증 없이는 시· 도도 못 드나든다. 비행기, 열차 같은 교통수단은 사실상 고위 간부 가족이나 외국인 전용이다.
- 김 대중· 노 무현 정권이 퍼 줬던 어마어마한 양의 물자들은 전부 다 핵 실험 자금으로 간 건 아니겠지만, 군대로만 갔지 어쨌든 굶주리는 주민들에게 간 건 절대 아니라고 한다. (북한에는 굶주리는 주민들에게 물자를 시골 구석구석까지 보내 줄 도로 인프라도 없다.)
- 평민들은 총칼과 폭력으로 악랄하게 통제하고, 간부들끼리는 정치 장교를 둬서 서로 밀고와 배신이 가능하게(= 단합을 못 하게) 아주 마귀적인 시스템을 잘 갖춰 놨다고 한다. 북한이 내부 사정이 저렇게 막장인데도 호락호락 혁명이나 봉기가 안 일어나는 이유가 이것 때문임.

2. 북한 사람들의 심리

- 북한 사람들이 김씨 부자를 찬양하거나 애곡하면서 오버액션 하는 건 한 80%는 진심이고, 20%만이 생존하기 위해 마음에 없는 연기를 하는 거라고 한다. 남한이 자기네보다 잘 산다는 정보도 이미 퍼져 있지만, 뼛속까지 세뇌된 거짓 교리의 힘도 만만찮다고 한다.
- 당에서 하도 “미제를 죽입시다 미제는 나의 원쑤”만 세뇌시키니까 한 탈북자가 어렸을 때 자기 어머니에게 “왜 그래요? 미국 사람도 다 나쁘지는 않지 않나요?” 이렇게 진짜 궁금해서 질문을 했는데... 곧바로 귀싸대기가 날아오고 맞아 죽을 뻔 했다고-_-;;. 주체사상 앞에서는 천륜이고 뭐고 없다.
- 그래도 북한도 변화가 아주 없는 건 아니어서 이불 뒤집어쓰고 몰래 한국 가요와 한국 드라마를 접하는 북한 사람도 적지 않다고 한다.
안 그래도 국가가 국민들을 제대로 먹여 살리지도 못하니, 젊은이들을 중심으로 '당보다 나' 생각이 퍼지고 있고, 북한 당국은 주민들이 남한 사정에 대해 잘 알게 되는 것을 무척 불편하게 여긴다.

3. 대학 교육

- 북한의 대학은 고등학교 졸업 후 바로 진학하는 건 한정돼 있고, 먼저 군대나 직장 근무 후에 재교육 차원에서 들어가는 비중이 높다고 한다.
- 아무나 대학에 못 가고 출신 성분과 계급이 중요하지만, 김일성대 리과대학이나 김책 공업 종합 대학 같은 일부 이공계 대학은 오로지 실력만으로 들어갈 수 있다고 한다. 역시 공돌이는 어디서나 필요하니까 말이다. -_-;; 북한에서 핵 무기와 미사일을 연구하는 사람이 누구이겠는가?
- 일단 대학에 가면 개인이 떠안는 등록금 부담은 없지만, 거의 전원 기숙사 생활, 학급제, 모든 수업에 지정 좌석제 때문에 사실상 고등학교 생활의 연장선이다.
- 학생들은 방학 때는 수시로 군사훈련이나 각종 행사에 동원된다. 과거에 우리나라에도 있었던 교련 과목 따위와는 스케일이 넘사벽 급. 매스게임이나 90도 다리 꺾기 제식 훈련을 하는 애들도 군인만 있는 게 아니라 상당수가 학생들이라고.
- 학비 부담 없고 개인 자유도 없는 건 무슨 사관학교 같은 컨셉이다..? -_- 그럼 거기는 진짜 사관학교는 어떤지, 그리고 대학원 진학은 어떻게 하는지가 궁금해졌으나 분위기 상 연사에게 차마 더 물어 보지는 않았다.

4. 결론

- 나라 없는 설움은 겪어 본 사람만이 안다. 그리고 자유의 소중함도 두 말할 나위가 없다. 북한은 정말 말 그대로 자유가 없는 나라이다(집회와 결사, 사상과 종교, 거주지 이동 등). 자유는 공짜가 아니다.
- 국내에서 활개를 치고 있는 '빨갱이' 종북주의자들을 보는 탈북자들의 심기도 편할 리가 없다.
- 연사들은 이런 주제에 관심을 갖고 들으러 찾아온 사람들에게 무척 고마워하면서 관심을 호소했다. 많은 사람들이 이 북한의 현실을 알고 남에게 전해 주고 경각심을 가지면 좋겠다고.
- 참석자 중에는 내가 젊은 나이에도 불구하고 북한에 대해 굉장한 관심을 갖고 질문을 진지하게 하고 오후 강의까지 듣는 것을 대견스럽게 여기는 분이 계셨다.

5. 추가 잡설

- 6· 25뿐만이 아니라, 강화도 조약 이래로 시작된 우리나라의 수난의 근· 현대사에 대해서 다시 생각하는 계기가 되었다. 북한이든 일본이든 맨날 외세를 탓하고 원망만 해서는 아무 발전도 이룰 수 없을 것이다. 그러나 아무 일도 없었다는 듯이 과거사를 존재감 없이 묻어 두고만 살 수도 없는 노릇. 가끔 이렇게 옛날에 있었던 끔찍한 비극에 대해서 자극 충전을 받는 날도 필요하다.
- 그런 의미에서…
6· 25 이전부터 북한이 남한의 건국을 방해하고 좌익 불순분자들을 선동하여 온갖 추악한 난동을 저지른 건 싹 외면하고, 6· 25 때 미군이나 국군이 민간인을 일부 오인해서 죽인 것만 들추면서 역사를 왜곡하는 불순한 부류들이 성경 변개자만큼이나 더욱 싫어진다. ㅡ,.ㅡ;;

Posted by 사무엘

2012/09/16 19:33 2012/09/16 19:33
, , , , ,
Response
No Trackback , 7 Comments
RSS :
http://moogi.new21.org/tc/rss/response/733

우리는 학교에서 산수를 배우면서 덧셈을 가장 먼저 배우고, 그 뒤 이들을 묶은 형태인 곱셈을 배운다. 그리고 나중에는 곱셈을 묶은 거듭제곱이라는 걸 배운다. 그런데 덧셈이나 곱셈과는 달리, 거듭제곱은 같은 수를 곱하기를 반복한다는 직관적인 정의만 적용해서는 정수가 아닌 형태의 거듭제곱을 생각하기가 쉽지 않다.

지수법칙이 있으니 유리수 승까지는 그래도 괜찮다. 정수 승과 정수 제곱근으로 설명이 가능하기 때문이다. 하지만 이를 초월하여 2^sqrt(2)처럼 임의의 실수 승은 어떻게 해야 계산하고 표현할 수 있을까?

거듭제곱을 모든 실수 범위에서 정의함으로써 지수함수라 불리는 연속인 함수의 형태로 영역을 확장하는 데는, '연속'이라는 개념에서 알 수 있듯, 미분의 도입이 큰 기여를 했다. 자연상수 e가 발견되고 로그 함수라는 게 생기면서 지수함수는 로그의 역함수로서 정체성을 확립하게 되었다.

이 글에서 수학적으로 엄밀한 디테일을 다 말할 수는 없지만, e는 임의의 수에다 제곱근을 반복하면서 지수가 0에 가까워지고 원래 수가 1에 한없이 가까워질 때 그 수의 소숫점, 다시 말해 숫자에서 1을 뺀 값이 지수와 어떤 비례 관계가 있는지를 규명하는 과정에서 발견되었다. (1+1/n)^n에서 n의 무한대 극한이라는 원론적인 정의가 바로 거기서 유래되었으며, 사실, (1+x/n)^n라고 해 주면 그냥 exp(x)를 바로 구할 수 있다.

exp(x)는 0인 지점에서 기울기가 1이다. 그리고 미분해도 도함수가 자기 자신과 같다는 매우 중요한 특징이 있다. 즉, y=exp(x)에 있는 점 (x, y)의 기울기는 곧 y라는 뜻. 그럼 이놈의 역함수는 어떻게 될까? 본디 함수와 그 역함수는 y=x에 대해 대칭이므로, 점 (y, x)의 기울기는 곧 1/y여야 한다.

미분하면 1/x가 되는 함수를 찾아보니 다름아닌 ln x이다. 복잡한 거듭제곱을 곱셈으로, 곱셈은 덧셈으로 바꿀 수 있는 놀라운 함수 말이다. 그래서 exp는 로그의 역함수인 고로 그 정체가 e^x인 지수함수라는 결론이 도출되고, 그래서 로그와 지수의 함수 관계가 완성될 수 있었다.

a^b = e^(b ln a)이다. ln a^b는 b ln a이므로 양변에 자연로그를 씌우면 아주 자연스럽게 유도 가능하다.

또한 굳이 밑이 e가 아닌 임의의 a인 로그를 생각하더라도, log[a] b = ln b / ln a이다. 이것은 지수보다는 약간 연상이 쉽지 않을지 모르나, 이 경우를 생각해 보자. 로그의 정의상 당연히 a^(log[a] b) = b이다. 이 식 자체에다가 자연로그를 씌우면 log[a] b * ln a = ln b가 되고, 그 후의 논리 전개는 생략. ㄲㄲ

이건 굉장히 유용한 특징이다. 이 덕분에 exp와 ln만 있으면 우리는 임의의 지수의 값도 구할 수 있고, 임의의 로그의 값도 구할 수 있게 된다.
그럼 이 함수의 값을 실제로 컴퓨터로 어떻게 계산하면 좋을까?

이걸 연구하는 분야는 기호, 순수함, 추상성만을 좋아하는 전통적인 수학에서 벗어나 일면 '지저분한 이단아'처럼 보일 수도 있는 수치해석 쪽으로 가게 된다. 컴퓨터에서 exp, ln, cos, sin 같은 기초적인 초월함수의 값을 조금이라도 더 빠르고 정확하게 구하는 기법은 이미 천재 컴덕후, 수학자, 공학자들이 연구할 대로 다 연구해서 소프트웨어 정도가 아니라 아예 하드웨어에 회로에 다 코딩되어 있을 정도이다.

그러니 내가 거기에 뭔가를 더 기여할 게 있다고 여겨지지는 않는다. 단지 본인은 핵심적인 아이디어만 직접 짜 보고 넘어갈 생각이다.
초월함수들의 근사값을 계산하는 아이디어도 미분에서 유래되었다. 단순히 1차함수 접선을 구하는 것을 넘어서 곡선과 가장 가까운 n차 근사 다항식을 구하는 것으로 생각을 확장하면 '테일러 근사 다항식'이라는 걸 구할 수 있고, 무한히 미분 가능한 함수에 대해서는 무한합인 그 이름도 유명한 테일러 급수라는 걸 유도할 수 있다.

* 이말년 씨리즈와 Taylor series는 서로 느껴지는 포스가 확 다르다. 흠.;;;

exp(x)는 예전에도 글로 썼듯이, 원론적인 정의를 이용해서 값을 구할 리는 절대 없고, 테일러 급수를 쓴다. 아래의 코드는 16항 정도까지 계산했다.

double pseudo_exp(double x)
{
    double v=1.0, p=x,q=1.0;
    for(int i=1; i<=16; i++, v+=p/q, p*=x, q*=i);
    return v;
}

단, 이 급수는 x=0인 지점을 기준으로 구한 것이기 때문에 x가 8~9 정도만 넘어가도 오차가 상당히 커진다. 하지만 컴퓨터 부동소숫점에도 한계가 있으니 항을 한없이 많이 계산할 수도 없는 노릇이고, 큰 수에 대해서는 다른 방법으로 보정이 필요할 듯하다.

한편, 로그는 어떻게 구할까?
자연로그도 다음과 같은 직관적인 형태의 테일러 급수가 있긴 하다.

ln (1+x) = x (+-) x^n/n (n이 짝수일 때는 빼기, 홀수일 때는 더하기)

그런데 이 급수는 x가 -1 초과 1 미만일 때만 유효하고, 따라서 0과 2 사이의 로그값만 구할 수 있다. 나머지 범위는 항을 제아무리 많이 계산해 줘도 아예 원천적으로 원함수와 전혀 일치하지 않게 된다. 테일러 급수가 모든 범위에 대해서 무조건 만능은 아님을 알 수 있다.

하지만 지수함수와는 달리 로그는 ln ab = ln a + ln b라고 큰 숫자를 한없이 쪼개는 마법과 같은 공식이 있다. 그러므로 저것만 있어도 아무 수의 로그라도 구할 수 있다.

즉, ln 2의 값을 미리 갖고 있다가 임의의 수에 대해서 2보다 작아질 때까지 ln 2를 따로 더하면서 계속 2로 나누면 된다. 2는 잘 알다시피 2진법을 쓰는 컴퓨터가 좋아하는 수이기도 하고 말이다. 그래서 주어진 수가 2 이하의 범위에 들어오면 그때 급수를 써서 최종적으로 구한 로그값을 또 더하면 된다.

double pseudo_ln(double x)
{
    #define LN_2  0.693147180559945
    double v=0;
    while(x>2.0) x/=2.0, v+=LN_2;

    double x_min1 = x-1, xm = x_min1;
    for(int i=1; i<=16; i++, xm*=x_min1)
    if(i&1) v+=xm/i; else v-=xm/i;
    return v;
}

단, 이 급수의 아쉬운 점은 x가 0이나 2라는 양 극단에 가까워질 때 정확도가 꽤 크게 떨어진다는 점이다. 이는 계산하는 항의 수를 충분히 크게 잡아도 쉽게 극복되지 않는다.

그래서 성능면에서 실용적인 가치는 별로-_- 없지만, ln이 exp의 역함수라는 점을 이용하여, 기존 exp 함수로부터 방정식 근 찾기 기법을 이용하여 로그를 구하는 방법도 이 기회에 실습하게 되었다. 그게 없으면 무엇보다도 초기에 정확하게 값이 구해진 채 공급되어야 하는 LN_2 내장값은 또 어떻게 구하겠는가?

일변수 방정식의 근을 찾는 기법은 수치해석 교재에서 가장 먼저 다뤄지는 기초 주제이다.
exp(x)는 기복이 없으며 그래프 모양이 워낙 예쁘고 원천적이기-_- 때문에, 근이 존재하는 초기 구간만 잡아 주면, 어떤 근 찾기 알고리즘을 쓰더라도 근을 구할 수는 있다. 단지 얼마나 빨리 수렴하여 구해 내느냐가 문제일 뿐이다. 애초에 지수 함수 정도면 범용적인 방정식 근 찾기 알고리즘이 과분하게 느껴질 정도로 특징이 너무 분명하기도 하고 말이다.

가장 먼저 나오는 것은 이분법(bisect)이다. 이게 자료구조에서는 이분법이라고 하면 이분 검색처럼 log n 시간 만에 문제를 푸는 효율적인 알고리즘이라고 불리는 반면, 수치해석에서는 정수 개의 discrete한 데이터가 아니라 사실상 연속인 구간을 다룬다. 그렇기 때문에 통상적인 이분법조차도 수렴이 느린 비효율적인 방법으로 간주된다.

double solve_bisect( double (*pfn)(double), double v )
{
    double f=-10.0, t=10.0; int nt=0;
    while(1) {
        double d = (f+t)/2.0;
        double p = pfn(d) - v;
        if(fabs(p) < 0.000001) break;
        if(p > 0) t=d; else f=d; nt++;
    }
    return f; //nt는 계산 횟수 counter
}

double pseudo_ln2(double x)
{
    return solve_bisect(pseudo_exp, x);
}

근 찾기 알고리즘 중에서는 뉴턴-랩슨(혹은 그냥 뉴턴) 법이 수렴이 매우 빠른 알고리즘으로 여겨지고 있다. 이 방법은 이분법과는 달리 시작점과 끝점이라는 구간을 잡고 시작하는 게 아니라 시작점에서 해당 방정식의 접선을 그은 뒤, 접선과 x축이 만나는(y=0) 지점을 다음 점으로 잡는다. 이 작업을 방정식의 값이 근인 0과 충분히 가까워질 때까지 반복한다.

사용자 삽입 이미지


방정식 f(x) 위의 점 (x_0, f(x_0))을 지나는 접선의 방정식은 기울기가 f'(x_0)일 테니 y=f'(x_0)*x + f(x_0) -f'(x_0)*x_0이 된다. 그래야 x에다가 x_0을 집어넣었을 때 f'(x_0) 나부랭이는 소거되고 함수값으로  f(x_0)만 남기 때문이다.
이 접선이 y=0을 만족시키는 다음 점 x_1을 방정식으로 풀면 x_1=x_0 - f(x_0)/f'(x_0)이라는 생각보다 깔끔한 식이 나온다. 이를 코딩하면,

double solve_newton( double (*pfn)(double), double (*pfn_prime)(double), double v )
{
    double d = 0.0; int nt=0;
    while(1) {
        double p = pfn(d) - v;
        if(fabs(p) < 0.000001) break;
        d = d - p / pfn_prime(d); nt++;
    }
    return d;
}

double pseudo_ln3(double x)
{
    return solve_newton(pseudo_exp, pseudo_exp, x);
}

뉴턴 법 함수는 도함수의 포인터를 별도로 받는데, exp는 어차피 도함수가 자신과 동일하므로 자신을 한번 더 넘겨주면 된다는 점도 특징이다.

프로그램을 실제로 돌려 보면 알겠지만, 동일 오차 범위를 줬을 때 뉴턴 법은 이분법보다 통상 2~5배나 더 빨리 수렴하는 걸 볼 수 있다. 마치 퀵 정렬이 pivot을 기준으로 자료가 그럭저럭 이미 정렬돼 있을수록 더욱 빨리 동작하고 자료의 상태에 민감하듯, 뉴턴 법은 접선과 가까운 형태의 부드러운 곡선일수록 수렴이 더욱 빨라진다.

자, 지금까지 공대 학부 수준의 아주 허접한 수학 덕질을 감각 유지 차원에서 잠시 복습해 보았다. 각종 공식들이 유도되는 원리를 좀 더 깊이 생각해 보고 싶으나 시간과 여유가 부족하다.

아, 수학에서는 거듭제곱뿐만이 아니라 팩토리얼까지도 자연수가 아닌 실수, 그리고 복소수 범위에까지 정의하고 그 증가폭을 측정하는 방법에 대해 연구가 진행돼 있다. 그 일환으로 ln n!이 n log n - n과 얼추 비슷하다는 스털링의 공식이 있고, 그보다 더 괴랄한 감마 함수라는 것도 있어서 z! = Γ(z+1)이다. 머리 좋은 똘똘이들의 수학 덕질의 끝은 도대체 어디까지인지를 다시 생각하게 된다.

Posted by 사무엘

2012/09/10 19:32 2012/09/10 19:32
, , , , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/731

내가 예전에 교통수단의 동력 메커니즘에 대해서 글을 쓴 적이 있듯, 자동차는 내연기관으로 피스톤을 움직이고 그 힘으로 바퀴를 굴린다. 차체는 지면과의 구름 마찰력을 이용해서 나아간다. 엔진이 차체의 하중(과 그로 인한 정지 마찰력)을 직접 상대하는 부담을 덜려면 변속기가 반드시 필요하다. 그리고 세부적으로는 가솔린 엔진과 디젤 엔진이 모두 쓰인다.

비행기는 제트엔진으로 움직인다. 연료를 공기와 혼합시킨 후 압축· 폭발시키고 내뿜어서 그 반동으로 나아간다. (작용· 반작용의 법칙) 가스 폭발 사고 하나만 나도 주변이 엄청난 파괴력에 얼마나 박살이 나는지를 생각해 보면, 그 힘을 제어하여 자동차와 비행기를 굴리는 걸 상상하기란 어렵지 않을 것이다. 단, 로켓은 아래로 내뿜어서 그 추력 자체로 위로 뜨는 반면, 여타 항공기는 뒤로 내뿜어서 전진만 하고 하늘로 뜨는 건 날개의 양력을 이용한다는 차이가 있을 뿐이다.

항공기의 엔진은 당연한 말이지만 자동차 엔진보다 연료 소모가 많고 후폭풍과 소음도 막대하다. 하지만 결국 엔진이 밀어내는 건 공기일 뿐이기 때문에, 항공기의 엔진은 출력만 높으면 되지 자동차와는 달리 특별히 높은 토크나 동력비 변환 같은 걸 생각할 필요는 없다.

물론 이륙할 때가 비행기에 특별히 힘이 많이 필요하며 순항 중일 때보다 연료가 훨씬 더 많이 소모되는 건 사실이다. 그러나 비행기가 이륙을 위해 활주로를 달릴 때 파일럿이 무슨 1단, 2단 변속을 한다거나 비행기 엔진음이 단계별로 오르내린다거나 하지는 않는다. ^^

항공기의 엔진에 경유-중유 같은 디젤 연료가 쓰이지 않는 이유가 여기에 있다. 항공유는 휘발유와 등유 사이의 등급에 속하며, 액체 연료 로켓에 들어가는 연료도 마찬가지이다. 또한 단순히 뭔가를 돌리기만 하면 되는 게 아니라 연료를 폭발시킨 배기가스 자체를 내뿜어야 하기 때문에, 비행기만은 여타 교통수단과는 달리 '전기 동력화'를 전혀 할 수 없다. (배는 전력 공급 문제 때문에 기름으로 달리지만, 그래도 아예 원자로를 내장하고 전기로 움직이는 원자력 잠수함이 있기도 하다~!)

그렇다면 배가 나아가는 원리를 자동차와 비교해 보면 어떨까? 좀 특수한 상황인 것 같다.
무거운 바닷물 속에서 거대한 스크루를 회전시켜서 추진력을 만들려면 배의 엔진에는 역시 높은 회전수보다는 낮은 회전수에 높은 토크가 필요할 것이고, 이런 상황에는 디젤 엔진이 매우 적합하다. 유원지 가서 보트에서 노를 젓거나 페달 밟아서 오리배라도 몰아 본 분은 아시겠지만, 물에서 배를 움직이는 건 굉장히 힘든 일이다.

그러니 배의 엔진은 자동차 엔진의 확장판이라고 볼 수 있다. 그렇다고 배에 철도처럼 디젤-전기 기관이 쓰이기도 하는지는 난 잘 모르겠다.

다만, 배는 자동차와는 역학적 여건이 다른 점도 분명히 존재한다. 구름 마찰력에 의해 나아가는 게 아니며(스크루는 바퀴가 아니다!), 엔진에 배의 하중이 그대로 걸리는 형태가 아니다. 무게를 직접 받는다면 최하 수백~수만 톤에 달하는 거대한 배는 도저히 나아갈 수 없을 것이기 때문이다.

즉, 배는 구동축이 수중에 있기 때문에 공기보다야 엔진에 기본적으로 걸리는 부담이 훨씬 더 크겠지만, 갓 출발할 때이든 순항 중일 때이든 그 부담이 크게 차이가 나지는 않는다. 그렇기 때문에 기본적인 동력비 변환 외에 자동차 같은 다이나믹한 변속이 필요하지는 않을 것이다. 나중에 배를 탈 일이 있으면 엔진 소리가 어떻게 변하는지를 좀 더 주의 깊게 들어 봐야겠다.

자동차도 제트 엔진을 장착한 초음속 자동차가 사막에서 시운전을 하는데 배에도 굳이 내연기관이 아니라 제트엔진을 장착해서 가게 할 수도 있다. 어차피 망망대해에서는 뒤로 공기를 뿜으며 후폭풍을 일으켜도 위험할 게 없기도 하고 말이다. 물론 이 경우 배는 무척 빨리 움직일 수는 있지만 연비도 크게 감소하는 게 불가피하다. 군함 중에는 경제성과 기동성을 겸비하기 위해 내연기관과 제트 엔진이 모두 달린 배가 있다고 한다.

끝으로, 배가 제동은 어떻게 하겠는지를 생각해 보자. 자동차처럼 브레이크를 밟아서 구동축만 붙잡고 있는다고 서는 게 아니며, 주변은 온통 물뿐인데 땅을 붙잡아서 마찰을 일으켜서 설 수도 없다.
배가 제동을 걸려면 정말 엔진의 동력을 뒤로 향하게 하는 역추진을 하는 수밖에 없다. 사실, 초대형 선박은 그 상상을 초월하는 무게 때문에 속도를 바꾸기가 대형 트레일러나 열차보다도 훨씬 더 힘들 거라고 예상할 수 있다.

다음은 관련 추가 잡설들이다.

1. 대형 선박은 자동차처럼 키 꽂고 START만 돌린다고 해서 바로 시동이 걸리는 게 아니며, 시동 걸어서 초기화하는 데만 30분~1시간이 넘게 걸린다고 한다. 무슨 예열 과정이라도 있는지는 모르겠다.  엔진이 얼마나 거대하면 컴퓨터 운영체제의 부팅도 아니고 기동하는 데 그렇게 오래 걸릴 수 있을까?
참고로 디젤 기관차의 시동을 거는 장면은 류 기윤 님 같은 철덕 기관사가 올린 UCC를 통해 본인은 접할 수 있었다. 일반인이 평소에 듣을 수 없는 웽~ 소리가 난다.

2. 전세계의 항구들은 주변 지형과 시설 구조가 완전 제각각이다. 그에 반해 전세계를 누비는 배들은 덩치가 몹시 크고 가감속이 더디다. 그렇기 때문에 이런 배가 항구의 원하는 위치에 제대로 들어오도록 인도하는 일은 매우 몹시 중요하며, 이 일을 하는 사람을 도선사라고 한다.
교통덕이라면 이미 알고 있겠지만 도선사는 교통· 운수업에서는 비행기 조종사에 필적할 정도로 어렵고 중요한 일을 하는 전문직이기 때문에 종사자의 수도 적고 고령이며, 그 업종에서는 가히 최강의 연봉을 받는다. 게다가 도선사는 영어로는 조종사와 동일한 파일럿(pilot)이라고 불린다.

3. 군사 목적으로 수륙 양용차라는 게 있다. 그리고 철도계에서는 도로와 레일 위를 동시에 달릴 수 있는 특수 자동차도 있다. 흠, 이들을 통합하면 물과 육지는 전천후로 달릴 수 있는 교통수단이 나올 수 있을 듯.
다만, 비행기와의 통합은 현실적으로 힘들 것이다. 엔진 구조와 사용 연료가 근본적으로 다르고 날개를 접었다 꺼내는 설비도 필요할 테고... 굳이 무리해서 만든다고 해도 고정익보다는 헬리콥터 같은 회전익 겸용차가 더 승산이 있을지도 모르겠다.

4. 자전거를 타고 평지에서 정지 상태에서 처음으로 전진할 때는, 페달을 밟는 것보다 땅을 발로 뒤로 차는 게 힘이 덜 들 때가 있다. 그렇게 한 다음에는 페달 밟는 부담이 훨씬 줄어들기 때문이다.
배가 물을 박차고 나아가는 것에도 이와 비슷한 차원의 역학이 적용되는 게 있는지 궁금하다.

Posted by 사무엘

2012/08/18 08:18 2012/08/18 08:18
, , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/721

복종

복종
남들이 자유를 사랑한다지마는
나는 복종을 좋아하여요.
자유를 모르는 것은 아니지만
당신에게는 복종만 하고 싶어요.
복종하고 싶은데 복종하는 것은
아름다운 자유보다도 달콤합니다.
그것이 나의 행복입니다.
그러나 당신이 나더러
다른 사람을 복종하라면
그것만은 복종을 할 수가 없습니다.
다른 사람을 복종하려면
당신에게 복종할 수 없는 까닭입니다.


이 시는 잘 알다시피 그리스도인이 전혀 아닌 사람의 작품이다. 그러나 윤 동주의 <십자가> 만만찮게 상당한 영적 통찰력이 엿보이는 것 같다.
시의 각 행에 내가 검색해 낸 관련 성구를 덧붙여 보면 이렇다.

* 복종

남들이 자유를 사랑한다지마는 / 나는 복종을 좋아하여요. (갈 5:13, 벧전 2:16)

자유를 모르는 것은 아니지만 / 당신에게는 복종만 하고 싶어요. (출 21:5-6, 엡 6:5)

복종하고 싶은데 복종하는 것은 / 아름다운 자유보다도 달콤합니다.
그것이 나의 행복입니다.
(몬 21)

그러나 당신이 나더러 / 다른 사람을 복종하라면
그것만은 복종을 할 수가 없습니다.
(출 20:3-6)

다른 사람을 복종하려면 / 당신에게 복종할 수 없는 까닭입니다. (마 6:24, 눅 16:13)

(성구들 직접 다 찾아 보시기 바란다.)
구원받은 크리스천이라면, 특히 KJV라는 당당한 최종 권위까지 있는 크리스천이라면, 저 '당신'이 기꺼이 예수 그리스도, 그리고 당신이 섬기는 교회가 될 수 있겠는가?

KJV 독립 침례 교회들은 바른 지식이 없이 성도들에게 열심과 헌신만 강요하면서 기형적으로 성장한 기성 교회들의 부작용과 폐단을 경험한 사람들로 구성된 경우가 많다. 그래서 성도들을 너무 닥달하지 않고 그리스도 안에서의 '자유', '자율'을 내세우는 경향이 있다.

그런데, 그랬더니 이번에는 반대로 그 자유를 무질서와 방종, 영적 태만을 합리화하는 데 써먹는 사람들이 있다는 소식이 들린다. 비록 사실이 아니길 최대한 기대해 보지만 이는 사역자와 여타 성도들을 힘 빠지게 하고 우울하게 만들 수밖에 없다.
십일조가 신약 교회의 교리가 아니라는 가르침이 성도가 헌금을 안 해도 된다는 가르침으로 와전된다거나,
목사고 교사고 다 필요 없고 아무도 너희를 가르칠 필요가 없다는 이상한 교리가 나온다거나 말이다.

너 혼자 구원받고 너 혼자 성경이고 교리고 다 알긴 하지만, 그게 남에게 끼칠 간증의 영향력을 상실했다면 당신은 영적 전투에서 이미 마귀에게 진 것이다.
구원이 이제 예수님을 닮아 가는 성화로 이어져야 하고 그게 자연스럽듯, 바른 성경에 대한 지식은 바른 교회를 세우고 유지시키는 헌신으로 이어져야 한다.

본인은 이런 영적 진리를 나누고자 이 주제와 관련하여 문득 떠오른 시를 인용했을 뿐이다. 타 종교에도 '구원의 길'이 있고 다같이 화합하는 게 좋다는 식의 주장을 할 의도는 전혀 없으므로 오해 없으시기 바란다.

끝으로, 시의 저자인 만해 한 용운(1879-1944)에 대해 살펴볼 점이 있다. 그는 시는 저렇게 '해요체' 위주의 아주 여리고 부드러운 여성적인 문체로 썼지만, 평소 언행과 성격은 그와 정반대로 독설과 기행이 가득한 열혈 과격파였던 걸로 잘 알려져 있다.

3· 1 운동 후 투옥된 민족 대표 33인 중 일부가 사형이나 무기징역을 선고받을까봐 통곡하고 두려워하자 그는 격분하여 감방 안의 똥통을 뒤엎어 그들에게 뿌리고는 “이 비겁한 인간들아, 울기는 왜 우느냐! 나라 잃고 죽는 것이 무엇이 슬프냐? 이것이 소위 독립 선언서에 서명을 했다는 민족 대표의 모습이냐? 그 따위 추태를 부리려거든 당장 때려치워라!” 하고 호통을 쳤다.

또한 전국의 주지 스님들을 모아 놓고 강연을 할 때는 교계의 부정부패를 비판하면서 “세상에서 가장 더러운 것은 똥이다. 그리고 똥보다 더 더러운 건 썩어 가는 시체이다. 그런데 시체보다도 더 더러운 것은 바로 염불에는 관심이 없고 잿밥에만 관심이 있는 너희 중놈들의 심보이다!”라고 일갈하고 단상을 내려온 일화는 아주 유명하다.

한 용운이 마 23:27-28과 렘 17:9를 알았는지는 난 모르겠다. 그러나 그 과격은 그가 비인격적이고 몰상식해서가 아니라 진짜 국가와 민족과 나름 자기 종교에 애정이 있기 때문에 표출된 과격일 것이다. 또한 딴 사람도 아니고 민족 대표자 정도나 되는 사람들이 비실비실하니까 저렇게 강한 책망을 했고, 일반 민초들이 아니라 주지 스님들 앞에서 당당히 쓴소리를 했다.

예수님도 마찬가지이다. 종교 지도자들 앞에서야 “뱀들아, 독사의 세대여!”라고 한 치의 두려움 없이 호통을 치셨지, 간음하다 붙잡힌 여인은 오히려 용서하고 다독여 주셨다. 그리고 “주여 믿나이다, 나의 믿음 없음을 도와 주소서”라고 애원하는 사람에게는 기적을 통해 믿음을 북돋워 주셨다.
정반대의 “오 믿음이 없고 비뚤어진 세대여, 내가 언제까지 너희와 함께 있으리요? 언제까지 너희를 용납하리요?” 같은 과격한 책망은(마 17:17) 받은 게 충분한데도 아직 성숙을 못 해서 정말로 책망을 받아야 마땅한 제자들에게나 하셨다!

이렇게 온유와 과격, 단호함을 잘 조절하여 때에 적절한 언행이 나오게끔 나의 행실도 돌아봐야 하겠다는 걸 <복종>이라는 시와 저자를 생각해 보면서 느끼게 되었다.

Posted by 사무엘

2012/08/15 19:17 2012/08/15 19:17
, , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/720

기독교 교리에 따르면,
제아무리 흉악범이라도 예수 믿고 구원받으면 하늘로 가며,
제아무리 착한 사람, 불쌍한 사람, 의로운 사람, 법조인, 경찰, 검찰뿐만이 아니라 심지어 흉악범에게 살해당한 피해자라 해도 예수 안 믿고 자기 죄 가운데 죽었다면 지옥에 간다.

그렇다. 그게 사실이다.
그래서 착한 일 많이 하면 구원받는다고 믿는 여타 종교 신자들이나, 자기는 지금까지 남보다 충분히 의롭게 살았다고 생각하는 불신자들은 세상에 그런 법이 어디 있냐며 항변한다. 그리고 복음을 받아들이기를 거부한다. 뭐, 지금 내가 그것에 대한 시비를 가리고 싶지는 않다.

그런데 이거 아는가?
흉악범이 구원받으면 구원받은 흉악범이고, 사형수가 예수 믿으면 구원받은 사형수가 된다.
성경의 법칙대로라면 그들은 하늘로 가더라도 교수형은 당하고 간다. 이 땅에서 법이 규정해 놓은 죄값은 치르고 간다!

사형 제도는 지극히 성경적이다.
하나님은 인간에게 결혼 제도를 제정한 것만큼이나 사형 제도도 만드셨고,
육식을 허락하신 것만큼이나 세상 정부가 사람을 사형에 처하는 걸 허락하셨다.
(창 9:6)
성경의 지론은 “ ‘살인하지 말지니라’를 어기는 자를 반드시 죽일지니라.”이다. 아멘.

여기서 살인이란 흉계를 품고(주로 자기 이익을 위해) 남을 고의로 죽이는 것을 말한다. 요즘 말이 많은 음주운전으로 인한 사망 사고는 성경으로 치면 출 21:29와 비슷한 맥락의 고의적인 살인으로 간주하여 처벌하는 것이 바람직하다고 여겨진다.

생명이 왔다 갔다 할 수 있는 신성한 영역을 더럽히는 성 범죄도 마찬가지이다. 속도위반 결혼으로라도 수습을 할 수 있는 수준을 넘어섰다면 성경에 따르면 한 치의 자비심 없이, 속죄 헌물도 안 통하고 무조건 사형이다.

다만, 고의성이 없는 과실치사는 성격이 다르며, 비록 처벌이 없는 것은 아니나 사형 정도까지는 아니다. 정당방위도 응당 인정하며, 면책의 범위가 오늘날 근대 국가의 법보다 관대한 편이다(출 22:2).

그리고 국가와 민족이라는 조직을 인정하고 공권력도 인정하는 성경의 특성상, 군인이 지휘관의 명령대로 전쟁터에서 적군을 죽이는 것 역시 그런 살인의 범주에 들지 않는다. (병역 거부는 잘못된 행동이다)

공무를 집행하는 경찰이 폭도들에게 발포하는 것이나, 사형 집행관이 교수대 스위치를 누르는 것도 성경적으로 하나도 잘못된 것이 없으며, 그런 공무원은 전혀 죄책감을 느낄 필요 없다. 오히려 그들은 목사가 교회에서 하나님의 일을 하는 것만큼이나 세상에서 하나님의 사역을 수행하고 있다! (롬 13:4)

전국을 떠들썩하게 하는 흉악 범죄가 터질 때마다 국민들은 분노한다. 인터넷 뉴스 기사에는 피의자를 저주하면서 저런 놈은 이렇게 각을 떠서 죽여야 한다는 식으로 온갖 폭력적인 댓글이 달린다. 그리고 너무 솜방망이(?) 처벌을 내리는 정치인과 법조인들을 욕하면서, 신은 저런 놈 안 잡아 죽이고 뭐 하냐는 식의 댓글도 올라온다.

그 마음을 나도 이해하며 어느 정도는 공감도 한다. 비록 이런 네티즌들의 마음 상태도 건전하다고 보기는 어려우며, 겉으로 표출만 안 되었을 뿐이지 살인자 본성이 남아 있긴 하지만 말이다.

이럴 때일수록 국가가 사형(死刑)이라는 필요악을 공의롭게 잘 집행해 줘야, 시민들이 분을 품고 보복 살인 내지 린치(私刑)를 할 생각을 안 하게 된다. 다시 말해 정부가 사형 집행을 안 하면 다른 시민들이 실족하여 악한 마음에 빠지기 쉽다는 뜻이다. 하나님은 사람이, 그것도 불신자들이 하나님 자신보다도 더 자비로울 거라고는 바라지도 않으며 기대도 안 하신다!

피해자 유족들이 참석한 가운데 사형 집행 장면이 국영 방송으로 생방송 중계된다. 김 길태, 강 호순, 오 원춘 같은 주인공이 교수대에 오른다. TV에서는 근엄한 분위기 가운데에 이들이 저지른 범죄를 다시 보여주고, 피해자 유족을 인터뷰하고 피의자의 마지막 유언을 공개적으로 받는다. 필요하다면 죄수들을 담당한 종교인 성직자의 인터뷰도 한다.
그 뒤 공개적으로 교수대가 작동하고, 잠시 후 법의관이 사형수가 완전히 죽은 걸 확인한다. 이 과정을 온 국민이 지켜보고, 사형 집행 장면이 트위터나 페이스북 같은 SNS로 나돈다.

너무 과격한 상상인가?
난 이렇게까지 하는데 사람들이 죄와 벌과 죽음에 대해서 가볍게 여기게 될지, 모방 범죄가 또 생기고 사람들이 감히 사람을 죽일 생각을 하게 될지에 대해서는 굉장히 회의적이다. 왜 이렇게 시행을 안 하는지 궁금하다. 제아무리 인간말종 흉악범이라 해도, 무슨 독립 운동가의 심정으로 사람을 죽인 게 아닌 이상, 자기 목숨 아까운 줄은 알고 죽음이 두려운 줄은 안다. 그래서 사형 당하기 직전에 어쩌면 복음을 받아들이고 구원받는 경우도 생긴다.

구약 율법 핑계를 대면서 사형 제도를 반대하는 의견이 아주 많다. 구약 율법 중에는 음식 규정이나 안식일 같은 것처럼 경륜의 차이로 인해 오늘날 전혀 무의미하고 적용되지 않는 제도나 규율도 있긴 하다. 그러나 인간에 대한 보편적인 윤리는 오늘날까지도 그대로 유효하고 최소한 그 의도를 되살려 시행했을 때 나쁠 게 없는 게 거의 대부분이다. 가령, 신약 시대라고 해서 짐승과 마음대로 수간해도 괜찮은 건 아니지 않은가? (출 22:19; 레 20:15)

또한 사형 제도는 구약 율법에만 얽매인 것이 아니라 그 전부터 존재했으며, 오히려 성경 전체가 인간의 죄와 벌과 구원 계획에 대해 논하면서 사형 제도를 두 말할 나위 없이 당연히 인정하는 뉘앙스에서 기록되었다고 보는 게 타당하다. (가령, 롬 1:32) 그래서 오죽했으면 바울조차 행 25:11에서 자기가 죽을 죄를 지었으면 기꺼이 사형 당하겠다고 말한 것이다.

우리나라에는 자기 아들을 죽인 흉악범을 용서한 손 양원 목사 같은 유명한 사례가 있다. 그런 사람이 나오기 위해서라도 사형 제도가 있어야 한다. 법대로라면 죽어야 하는데 용서를 하고 탄원을 해서 목숨을 건졌으니 그게 사랑을 실천한 것이다. 당신도 성령 충만한 크리스천이라면, 나라의 법은 공의롭게 요구하고 나서, 자기가 그런 일을 당했을 때에나 원수에게 그런 사랑을 개인적으로 실천해 보아라. 알겠는가?

그런데 이제는 아예 나라의 법이 흉악 범죄자에게 정당한 처벌을 내리지 않으니 오늘날 시국은 전 8:11처럼 되어 가고, 피해자 유족들은 가슴에 피멍이 든다.
오늘날은 정말로 가해자 인권만 있지 피해자 인권은 없다. 그냥 운이 나빠서 당한 것일 뿐이다. 이것만 생각하면 나는 도대체 민주화가 됐다는 요즘이, 옛날의 서슬 퍼런 군사 독재 정권 시절보다 인권이 뭐가 좋아졌다는 건지 도무지 이해를 할 수 없다.

결론을 내리겠다.
기독교 교리의 논리적인 성립을 위해서라도 사형 제도를 부정한다는 건 말이 안 된다.
당신이 불신자나 기독교 안티이고 그저 인본주의 박애주의자여서 사형 제도를 반대할 수는 있다.

그러나 당신이 성경을 믿는 크리스천이라고 하면서 사형 제도를 반대한다는 건 있을 수 없는 일이며, 당신은 지금 살인자 마귀에게 속아서 잘못된 생각을 하고 있는 것이다. 엄한 형벌을 필요하게 만든 것도 죄이지만, 죄에 대한 벌을 공의롭게 집행할 수 없게 만들고 있는 것 역시 인간의 죄이다.

그리고 또 생각을 해 보아라. 역사적으로 억울하게 사형 당하기로는 지금까지 크리스천들만치 많은 순교의 피를 흘린 집단이 또 있었겠는가? 그래도 그들은 사형 제도 자체를 문제삼지 않으며, 그럴 필요도 없다.

성경에 입각한 바른 교리가 세상에 널리 퍼져서 영화 <밀양>에서처럼 “내가 용서를 안 한 가해자를 어떻게 신이 용서해?” 같은 시험에 드는 사람이 이 땅에 없어야 할 것이다. 그리고 크리스천들이 믿는 복음은 그저 막연하고 맹목적이고 몰상식· 비합리적인 게 아니라 지극히 건전하고 이치에 맞는 진리라는 인식이 확산되어야겠다.

Posted by 사무엘

2012/07/31 19:27 2012/07/31 19:27
, , ,
Response
No Trackback , a comment
RSS :
http://moogi.new21.org/tc/rss/response/714

조화평균, 조화수열, 황금비

1. 조화평균과 조화수열

우리는 중등 학교의 수학에서 산술, 기하, 조화평균을 배운다.
물론, 대부분의 일상생활에서 숫자를 다룰 때는 단순히 합계를 자료의 개수로 나누기만 하는 산술평균 하나만 있어도 충분하다. 그러나 다른 개념의 평균이 필요할 때도 있다.

가령, 어떤 수치가 1년 간격으로 예전보다 3배, 4배, 5배씩 증가해서 총 60배가 되었다면, 이를 해마다 4배씩 증가했다고 싸잡아 간주할 수는 없는 노릇이다. 4의 3승은 64이지 60이 아니기 때문이다.

이런 식으로 비율 내지 배율을 좋아하는 계산 분야에서는 기하평균이 필수이다. 앞의 예에서는 (3+4+5)/3이 아니라, 3*4*5의 세제곱근인 약 3.915가 정확한 값이다.

그럼 조화평균은 무엇이며 어떤 용도로 쓰일까?
역수의 산술평균을 또 역수로 취한 값이 바로 조화평균이다. 두 수 a, b의 조화평균을 그 정의대로 구해서 식을 정리하면 2ab / (a+b)가 나온다. 쉽게 말해 곱을 합으로 나눈 셈이다.

자동차가 동일한 길이의 두 구간을 달리는데 한 구간은 시속 30km로, 다른 구간은 시속 60으로 달렸다면, 전체 구간에 대한 자동차의 표정 속도는 30과 60의 조화평균인 시속 40이 나온다. 한 구간의 길이가 30km였다고 생각해 보면 가는 데 시속 30으로 1시간, 시속 60으로 30분이 걸렸을 터이니 전체 60km를 1시간 반 만에 주파하는 속도는 시속 40이기 때문이다.

반대로 길이가 중요하지 않고 소요 시간의 절반을 시속 30으로 달리고 나머지 소요 시간 동안 60으로 달렸다면 자동차의 표정 속도는 응당 산술평균인 시속 45가 될 것이다. 관점의 차이를 이해하시겠는가?

학교에서 조화평균은 병렬 연결된 저항들의 전체 저항값을 구할 때 정도에나 쓰였지만 교통 관련 계산을 할 때 더욱 유용히 쓰일 수 있다.
어떤 노선에 버스가 5분 간격으로 다닌다고 치자. 그런데 5분으로도 모자라서 그 상태에서 3분 간격의 버스가 추가로 더 투입되었다면, 실질적인 배차 간격은 얼마로 좁혀졌다고 볼 수 있을까?

답부터 말하자면 이 값은 5와 3의 조화평균의 절반과 같은 1.875분이다.
5와 3의 최소공배수인 15분이라는 시간을 생각해 보면, 그 동안 5분 간격 버스는 3대가 다닐 수 있다. 그러나 3분짜리 버스는 5대가 다닐 수 있으므로 15분 동안 버스가 총 8대로 늘어난 셈이 된다.

따라서 실질적인 평균 배차간격은 15를 8로 나눈 1.875분이다. 5와 3의 조화평균인 3.75는, 5분 간격 버스와 3분 간격 버스를 합친 것이 3.75분 간격 버스 두 대를 합친 것과 동일한 증차 효과를 낸다는 걸 의미한다.

임의의 동일한 수들에 대해서 기하평균(G)은 산술평균(A)보다 크지 않으며, 조화평균(H)은 기하평균(G)보다 크지 않다는 것이 증명되어 있다. 그리고 아예 H=G^2 / A라는 항등식도 알려져 있다. 어떤 데이터에 대해서 두 종류의 평균값을 알고 있으면 다른 한 평균값은 그로부터 유도해 낼 수 있다는 뜻이 되겠다.

한편, 1/3, 1/4, 1/5 ~처럼 역수가 등차수열을 이루는 수열은 조화수열이라고 한다. A, A와 B의 조화평균, B으로 구성된 세 수는 응당 조화수열이다.
이건 등차나 등비수열도 아니고 도대체 무슨 의미가 있는지 궁금할 것이다. 하지만 자연에서 조화수열은 아주 직관적으로 쉽게 찾을 수 있다. 이름에 괜히 harmonic이 붙은 게 아니다.

일단 우리 눈에 사물이 비쳐 들어오는 원근법이란 게 반비례이기 때문에 조화수열과 관계가 있다. 직선으로 뻗은 도로에 균일한 간격으로 그어진 차선을 보자. 멀리 떨어진 놈일수록 중앙의 소실점에 가까워지고 겉보기 간격이 더욱 조밀해진다. 그 간격이 수학적으로는 바로 조화수열인 것이다.

거시적으로 보면 태양은 달보다 N배나 더 크지만 지구로부터의 거리도 똑같이 N배나 더 멀리 떨어져 있다. 그렇기 때문에 지구에서의 겉보기 크기가 둘이 거의 같으며 일식도 일어날 수 있다.

사람의 뇌는 두 눈이 보내 준 2차원 영상을 합성하여 3차원 공간을 인지하는 능력이 대단히 발달해 있다. 그런데 그 능력은 수학적으로 따지자면, 2차원 조화수열 간극으로부터 3차원 등차수열 간극을 유추하는 게 상당수를 차지하고 있을지도 모른다. 그만큼 조화수열은 우리에게 친숙한 존재이다.

그 다음으로 우리가 조화수열을 시각적으로 볼 수 있는 흥미로운 분야는 음악이다. 실로폰도 그렇고 파이프 오르간이나 하프도 그렇고, 음을 만들어 내는 매체는 저음이 언제나 길고 고음은 한 치의 예외 없이 짧다.

그런데 그 짧아지는 간격이 조화수열이다. 매체를 그런 간격으로 만들면 소리의 파형 주기는 기하급수적으로(=등비수열) 짧아지는 평균율 음계가 나오는가 보다. 어떻게 그게 물리적으로 가능한지는 잘 모르겠다.

2. 황금비

조화수열이라는 말이 나왔으니 말인데, 아름다움이나 조화 같은 걸 수학적으로 설명할 때 빠짐없이 등장하는 건 황금비이다.

기본 발상은 a:b = (a+b):a 비례식을 만족하는 a와 b의 비율이다. 음, 뭔가 심오하지 않은지? 쉽게 말해 긴 변과 짧은 변의 비율이, 긴 변과 짧은 변을 합한 것하고 긴 변과의 비율과 같은 걸 말한다. 이걸 식으로 표현하면 이차방정식으로 귀착되고, 황금비의 값은 (1+sqrt(5))/2, 대략 1.618이 된다.

황금비 상수는 뭔가 심오함이나 신비로움, 괴팍함이 느껴지는 초월수도 아니고, 간단한 이차방정식만으로 값을 구해서 모든 특성을 파악할 수 있는 평범한 대수적 수에 불과하다. 그런데 이게 왜 그렇게 중요한 걸까?

인간이 보편적으로 새벽 2시에 가장 깊이 잠들어 있는지, 저녁 8시에 죄책감 없이 가장 잔인해지는지는 잘 모르겠지만, 저 비율이 인간이 보편적으로 가장 심리적인 안정감과 균형과 조화를 느낀다고 그런다. 오죽했으면 golden ratio라는 이름이 붙었겠는가? 이것 말고 golden이라는 말이 붙은 개념은 “자신이 대접받고 싶은 만큼 남에게도 대접해 줘라”로 요약되는 golden rule 정도밖에 없다.

1 1 2 3 5 8 13 21~ 로 이어지는 그 유명한 피보나치 수열도 현재 항과 이전 항의 비율이 황금비로 수렴한다는 건 잘 알려진 사실이다. 일반항을 구하는 공식엔 응당 황금비 상수가 들어간다.

또한, 0부터 시작해서 x=sqrt(1+x)를 무한 반복해도 x는 황금비로 수렴한다. 계산 과정의 특성상 x는 sqrt(2)도 한 번 거치지만, 궁극적으로는 다른 수로 수렴하게 된다는 게 흥미롭다.
황금비는 역수가 자신에서 1을 뺀 값과 같다는 특징이 있기도 하다. (0.618...) 1/x = x-1인데, 이는 특별한 게 아니라 황금비의 정의의 특성상 당연한 귀결이다.

도형 중에서는 정오각형이 변 길이와 대각선 길이의 비가 황금비이다.
1마일이 대략 1.609km인 건 아무래도 황금비와는 관계가 없고 전적으로 우연인 듯하다.
또한 종래의 4:3 aspect ratio를 깨고 컴퓨터 화면이 가로로 좀 더 길쭉한 추세로 가는 것 역시, 사람들이 황금비를 심리적으로 더 좋아해서인지는 모르겠다.

한편, A4나 B4 같은 용지의 길이 비율은 황금비가 아니라 sqrt(2)이다. 본인은 A4 용지의 크기가 210*297mm인 건 알고 있었지만 그 비율이 sqrt(2)를 표방한 것인 줄은 전혀 모르고 있다가 최근에 알게 되고는 크게 놀랐다. 심심해서 297을 210으로 나눠 봤는데 딱 1.414...가 나왔으니 말이다.

이런 비율의 장점은 우리가 이미 실생활에서 적지 않게 경험한 적이 있지 싶다. 종이를 반으로 접어도 크기 비율이 접기 전과 동일하게 유지된다는 것.
즉, 황금비가 a:b = (a+b):a를 추구했다면, 용지는 a:b = b:a/2를 추구한 셈이다.
황금비가 길이가 1인 정오각형의 대각선 길이라면, sqrt(2)는 길이가 1인 정사각형의 대각선 길이이다.

원래는 조화수열에 대해서만 글을 쓰려고 했는데 어쩌다가 황금비까지 나오면서 얘기가 옆길로 샜는지 모르겠다. 둘은 실용적인 의미가 약간 유사점이 있다 보니 미묘하게 한 글로 엮이게 된 것 같다.

Posted by 사무엘

2012/07/25 08:26 2012/07/25 08:26
, ,
Response
No Trackback , 4 Comments
RSS :
http://moogi.new21.org/tc/rss/response/711

1. 배기량
 
연료를 폭발시켜서 출력을 뿜어 내는 내연 기관 실린더에 들어가는 공기의 부피를 말한다. 실린더는 소형 승용차는 통상 4개, 대형 승용차는 6~8개 정도 있는데, 4기통 2000cc 엔진이라고 하면 실린더 하나에 들어가는 공기 부피가 500cc라는 뜻이 된다.

배기량이 많은 엔진은 연소할 때 공기를 많이 쓰며, 이는 연료도 덩달아 많이 씀을 의미한다. 자연히 연비 역시 하락. 마치 인간의 격투기 스포츠 종목에서 체급을 체중으로 분류하듯, 자동차에는 배기량이 곧 자동차의 덩치를 법적으로 분류하는 잣대이다. 자동차세는 엔진의 배기량에 따라 달리 부과되며, 경차의 조건도 크기와 더불어 엔진의 배기량이 명시되어 있다. 오토바이도 몇백 cc를 넘는 대형 차종은 더 상위 등급의 면허가 있어야 운전할 수 있고 등록세가 더 올라간다.
 
한국의 자동차세 체계는 몇백 cc ‘이상’ 단위로 등급이 올라간다. 그래서 가령, 2000cc급으로 통용되는 중형차도 실제 제원을 보면 배기량이 199x cc 이렇게 돼 있는데, 이것은 2000cc에 아슬아슬하게 도달하지 않아서 법적으로 2000cc보다 소형차에 해당하는 세금 부과 대상으로 분류되게 하기 위한 자동차 제조 회사의 꼼수이다. 정말이다.
 
오토바이는 50cc~100cc부터 시작해 경주용 최고급 오토바이는 1000cc가 넘어가는 것도 있고 승용차는 700cc짜리 경차부터 시작해 3000cc가 넘는 대형도 있다. 자동차 기술이 끊임없이 발전한 덕분에, 작은 배기량만으로 옛날에는 더 큰 배기량에서나 가능했던 출력과 연비가 나오는 것이 요즘 추세이다.
 
특히 21세기로 들어서면서 SOHC보다 구조가 복잡하지만 흡· 배기 효율이 뛰어난 DOHC 방식이 보편화되면서 동일 배기량당 엔진의 출력이 더욱 향상될 수 있었다. 개인적으로 엔진의 오버헤드 캠샤프트 구조는 생물학에서 2심방 2심실 이런 걸 보는 느낌이다.

고급 승용차의 엔진명에 흔히 ‘V6’ 내지 ‘V8’이라는 타이틀이 붙는 경우가 있는데, 이건 엔진 공간 효율을 위해서 4개를 넘어가는 많은 개수의 실린더를 반반씩 V자 모양으로 마주보게 배치했음을 의미한다.

2. 최대 출력과 최대 토크

이 세상에 마찰이란 게 없다면 힘과 운동을 기술하기란 정말 간단하고 쉬울 것이다. 얼음판이나 스키장을 생각해 보자. 마찰이 없다면 아무리 무거운 물체라도 톡 쳐서 밀기만 하면 무진장 느릴지언정 움직이긴 한다. 물론 무거운 물체보다 훨씬 더 가벼운 자신은 반작용 때문에 뒤로 더 빠르게 밀려나겠지만. 심지어 돌을 뒤로 던져도 자신은 서서히 앞으로 가게 될 것이고, 총을 쏜다면 반동이 더 말이 필요 없을 것이다.
 
그러나 현실엔 물질과 물질 사이의 마찰이라는 게 있다. 그 중 정지 마찰력은 좋게 말하면 물체가 미끄러져서 사고가 나는 걸 방지해 주는 한편으로, 나쁘게는 정지 상태에 있는 물체가 움직이기 시작하는 걸 꽤 어렵게 한다(큰 힘이 필요함).
 
그런데 교통수단의 관점에서도 마찰을 다 나쁘다고만 할 수는 없는 것이, 바퀴를 굴리는 육상 교통수단들은 전적으로 구름 마찰력에 의지하여 움직이기 때문이다. 이런 마찰이 존재하지 않으면 바퀴는 도로 위를 헛돌기만 할 뿐 차체를 가게 할 수가 없다. 구름 마찰은 작용· 반작용 효과를 어느 정도 스스로 받아 줌으로써, 교통수단이 뒤로 뭔가를 반드시 뿜어내는 후폭풍이 없이 적은 연료로 정숙한 이동이 가능하게 해 준다.
 
비행기나 로켓의 엔진은 공기만 밀어내면 되기 때문에 닥치고 무조건 배기량과 출력만 세게 만들면 될 것이다. 페달을 최대한 빠르게 밟아서 ‘지표면에 닿지 않고 떠 있는’ 바퀴를 빠르게 돌리기만 하면 되는 운동 기구를 생각하면 되겠다. 내가 배기가스(또는 공기)를 내뿜는 건 추진력을 얻기 위함이다. ㄲㄲㄲㄲ

그러나 현실에서 나의 무게를 받치고 있는 자전거를 몰 때는 상황이 다르다. 정지 상태에서 출발할 때 발에 힘을 주는 방식이 다르며, 빨리 달리는 자전거를 더 가속하려 할 때 힘을 주는 방식이 다르다.
 
엔진의 일률(출력)이 같더라도 이것에서 빠른 속도(m)가 차지하는 비중이 더 큰지, 아니면 실질적인 힘(F)이 차지하는 비중이 더 큰지를 나타내는 잣대는 바로 토크이다. 자동차의 성능 제원에서 마력 다음으로 토크가 반드시 뒤따르는 이유가 이것 때문이다. 오토바이는 엔진의 출력에 비해 토크가 자동차보다 훨씬 더 허약하다.

토크는 쉽게 말해 회전력, 모멘트이다. 팔씨름은 팔의 최대 토크가 더 큰 사람이 이길 수 있다. 자전거로 오르막을 오를 때 운전자가 일어서서 발에다 체중을 한데 실어서 힘껏 페달을 밟는 것도 특별히 속도보다는 토크를 올리기 위한 행동이라고 풀이할 수 있다.

토크는 자동차의 가감속 성능과 등판능력하고 직접적인 관계가 있다. 일명 제로백이라고 불리는 0-to-100 km/h 가속도 토크가 큰 차여야 빨리 달성할 수 있다. 힘의 결과가 곧 가속이니 이는 당연한 귀결이라 하겠다.
 
토크가 시원찮은데 속도만 높게 설정된 엔진으로는 마찰이나 저항이 큰 곳에서 그 속도가 제대로 발휘될 수가 없으며, 조금만 오르막을 올라도 엔진 회전수가 확 오른다. 그런 환경에서 변속이 시원찮으면 엔진에 과부하가 걸려 시동이 꺼져 버린다.
 
토크는 개념적으로는 일이나 에너지와 동일하지는 않지만, 단위의 차원이 힘과 거리의 곱으로 J의 그것과 일치한다. 자동차의 토크로는 통상 kgf(중)· m과 함께 최대 토크가 나오는 엔진 회전수가 명시되는데, 휘발유 엔진은 보통 4000rpm대이다. 최대 출력보다 낮은 회전수에서 어서 최대 토크가 나오는 엔진이 고성능 엔진이라 할 수 있다. 디젤 엔진은 휘발유 엔진보다 더 적은 엔진 회전수로도 큰 토크가 나온다.
 
3. 변속기와 기어비
 
자동차의 엔진이 아무리 강력하다 하더라도, 시동 유지를 위한 최소 회전수로만 돌고 있는 엔진에다가 최하 1톤이 넘는 차의 하중을 받는 바퀴의 회전축을 바로 연결하여 가게 하는 것은 엔진에 많은 부담을 끼친다. 그러면 엔진은 터덜털털거리다가 시동이 꺼짐. 급한 경사는 빗면을 만들어서 거리를 늘려 천천히 오르는 방법이 있듯, 이런 상황에서는 동력비를 조절해서 엔진의 부담을 더는 방법이 있다.
 
동력비를 조절하는 가장 고전적이고 확실한 수단은 톱니바퀴이다. 자전거에도 톱니바퀴 기어가 달려 있다. 엔진이 통상적으로 내는 토크보다 더 큰 힘이 필요할 때는 엔진 회전수가 바퀴의 회전수보다 더 많게 하고(저단 기어), 나중에 딱히 큰 힘이 필요 없이 빨리 주행만 하면 될 때는 고단 기어로 바꾸면 된다. 이 일을 하는 자동차 부품은 바로 변속기이며, 변속기는 자동차의 성능과 직접적인 관계가 있는 매우 중요한 부품이다.
 
지금 평지를 달리든 오르막을 달리든 상관 없이 엔진은 언제나 ‘지표면에 닿지 않고 떠 있는’ 바퀴를 빠르게 돌리면 되고, 그러면 그 힘으로 차가 알아서 가게 되는 게 변속기의 존재 목표이다.
 
통상 승용차의 기어비는 1단이 4.0 안팎이다. 엔진이 4회전할 때 바퀴가 1회전하기 때문에 시속 4~50km정도까지만 올려도 엔진 회전수는 3~4000rpm에 달한다. 정지 마찰력만 극복한 뒤엔 어서 고단 기어로 바꿔야 할 것이다.
 
기어비는 차츰차츰 낮아져서 일반적으로 4단이 되면 동력비 교체가 없는 직통인 1.0에 근접하게 되고, 5단 이상이 오버드라이브인 0.7~0.9 사이가 된다. 즉, 엔진 회전수보다 바퀴의 회전이 1.2배가량 더 빠른 고속 주행이 된다는 뜻이다.
 
각 단별 기어비는 자동차의 취급 설명서 뒷부분 제원표에 나와 있으나, 그 값의 범위는 같은 종의 자동차들 사이에서는 그럭저럭 대동소이한 편이다. 차를 더 빠르게 몰고 싶어하는 사람은 차를 튜닝하면서 변속기의 기어비를 바꾸는 경우가 있다.

톱니바퀴가 아닌 변속기 오일을 이용한 유압 변속기는 엔진의 부하를 유체가 대신 받아 주는 방식이라 할 수 있다. 자동차에서는 자동 변속기에서 쓰이고, 또 초기에 톱니바퀴의 크기만으로는 도저히 만들 수 없는 월등히 더 큰 기어비가 필요한 대형 기계(철도 차량 같은) 중에도 유압 변속기가 쓰이는 경우가 있다.

말이 나왔으니 말인데, 자동 변속기는 운전자가 클러치 밟을 필요가 없고 실수로 시동 꺼뜨릴 일도 없으니 운전을 여러 모로 편하게 만들어 준 고마운 기계 장치임이 사실이다. 비싸고 연비가 수동보다 좀 더 열악하다는 게 단점으로 꼽히는 정도였으나, 요즘은 또 자동 변속기와 연계되는 컴퓨터 장비의 오동작 때문으로 추정되는 급발진 사고가 종종 보고되어, 안전에 의구심을 받고 있다.
 
완전 기계식 수동이라면 사람이 가속 페달을 밟지도 않았는데 급발진 같은 건 원천적으로 불가능할뿐더러(아니 땐 굴뚝에 연기 나랴?), 만에 하나 차가 진짜 정신줄을 놓았더라도 클러치만 지그시 밟고 있으면 엔진의 동력 공급이 끊어질 텐데. 편안함을 담보로 위험이 더 증가한 건 아닌가 모르겠다. 참고로 시동을 꺼 버리면 가속은 멈추겠지만, 핸들과 브레이크도 동작을 멈추기 때문에 역시 만만찮게 위험하다. 시동을 끄는 것만이 능사는 아니다.
 
정해진 기어비 중 하나가 아니라 기어비 자체가 유연하게 정해지는 무단 변속기, 그리고 피스톤 운동으로부터 원운동을 따로 만드는 게 아니라 아니라 자체적으로 원운동을 만들어 낸다는 로터리 엔진 같은 건 아직까지도 떡밥인가 보다.

Posted by 사무엘

2012/07/07 19:11 2012/07/07 19:11
, , , , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/704

간단한 고전역학 이야기

1. 공간, 물질, 시간 단위
 
과학, 특히 물리학에서 공간(길이 m)과 물질(질량 kg)과 시간(초 s)은 그야말로 기본 중의 기본 필수 개념이다.
그리고 물리학에서 쓰이는 단위는 자연으로부터 얻어진 연속적인 물리량을 인간이 비교하고 계산할 수 있는 수치로 양자화(quantify)하는 매개이다.
 
가장 먼저 1초는 세슘-133 원자에서 방출된 특정 파장의 빛이 91억 9263만 1770번 진동하는 데 걸리는 시간이라고 정의되어 있다. 32비트 범위도 벗어나는 저 엄청난 횟수를 기술적으로 측정 가능한지가 신기할 따름이다.
그리고 1m는 빛이 진공에서 2억 9979만 2458분의 1초 동안 진행하는 거리라고 정의되었다. 즉, 길이의 단위는 시간의 정의에 의존적이다.
 
문제가 되는 건 잘 알다시피 질량의 단위이다. 얘만 혼자 kilo라는 접두사가 붙은 것부터가 특이한데, 그뿐만이 아니라 질량의 정의만 좀 엄밀하지 못하다. 어디서나 동일하게 측정과 재연이 가능한 자연 현상이 아니라, 인간이 만든 킬로그램 원기에 의존하는 정의가 100년이 넘게 쓰여 왔다. 언제 변질되거나 훼손될지 모르는 인간의 조형물의 질량이 곧 1kg이라니, 이건 무슨 “짐이 곧 법이다”, “나를 두고 맹세한다” 급의 독재 왕정 사고방식도 아니고 굉장히 비과학적인 정의가 아닐 수 없었다.
 
나름 최대한 안정적이고 변화가 없는 원소로 킬로그램 원기를 최첨단 기술을 동원해 만들었다지만, 킬로그램 원기의 질량은 시간이 흐르면서 밀리그램 단위로나마 변하기 시작했고, 복사본들끼리도 질량이 차이가 벌어지기 시작했다.
 
이런 문제로 인해 21세기가 되어서야 킬로그램 원기는 드디어 퇴출이 확정되었으며, 그 대신 무엇을 킬로그램의 대안으로 삼을지는 2014년에 도량형 총회를 통해 결정될 예정이라 한다. 이것은 지난 2006년에 명왕성이 행성에서 제외된 것에 맞먹는 과학계의 큰 사건이 될 것이고 대중적으로 끼치는 여파도 클 것 같다. 특정 조건에서 무슨 원자 n개의 원자량을 질량의 절대 기준으로 정의하는 게 가장 정확할 것 같지만, 정확한 측정 방법이 여의치 않아서 지금까지 그게 쓰이지 못했지 싶다.
 
질량은 만유인력을 일으키는 굉장히 오묘하고 추상적인 물리량이다. 우리가 일상생활에서 질량의 존재를 중력이라는 힘을 통해 느끼곤 하지만, 질량과 무게는 위상이 원래 서로 다른 개념이다. 무게는 물체의 질량뿐만이 아니라 천체의 질량까지 가미되어 나타나는 힘이기 때문에 지구에서의 값이 다르고 달에서의 값이 다르다. 그러나 지구에서나 달에서나 동일한 질량은 디지털 저울이 아니라 얄짤없이 양팔 저울로 추를 달아서 측정하는 것이다.
 
2. 힘, 일, 에너지
 
물리학에서 힘이라는 개념은 질량을 가진 물체의 속도를 바꾸는 존재이다. 힘을 받지 않은 물체는 계속 정지해 있거나, 이미 가지고 있는 속도를 등속으로 유지하면서 끝없이 움직이게 된다. 그 이유는 두 말할 나위도 없이 관성 때문이다.

질량이 1kg인 물체의 속도를 1초에 초속 1m(시속 3.6km)꼴로 변화시키는(가속이든 감속이든 방향은 중요하지 않음) 양의 힘을 1뉴턴(1N)이라고 부른다. 중학교 과학 시간에서부터 배웠던 f=ma 기억하시는가?
다시 말해 힘의 단위는 가속도에다가 질량을 곱한 단위이며, 1N = 1kg·m/s^2 가 된다. 그리고 1kg라는 질량은 지구 표면에서 지구의 중력 가속도를 받아서 약 9.8뉴턴의 중력을 갖는다.
 
참고로 질량을 배제하고 가속도만을 기술하는 단위(m/s^2)도 있다. 지구의 중력 가속도인 9.8m/s^2를 나타내는 1G라는 단위가 있는데, 이것은 어떤 기계 제품이 고장 나지 않고 견딜 수 있는 외부 진동의 한계치를 나타낼 때 쓰이고, 전투기 조종사나 우주 비행사가 비행체 안에서 짓눌리는 정도를 나타낼 때도 쓰인다.
 
다시 힘으로 돌아오면, N은 힘이 작용되는 어느 한 순간· 찰나· 단면만을 나타낸다. 이 힘이 지속적으로 축적되어서(수학적으로는 적분) 물체를 이동시키면 물리학적으로 일을 한 것으로 간주된다.

1N에 해당하는 질량과 가속도를 받은 물체가 그 질량과 가속도를 균일하게 축적하면서 1m 이동이라는 일을 할 때까지 필요한 힘의 양을 1J(줄)이라고 한다. 이 정의대로라면 물체는 1m를 이동할 때까지 속도가 균일하게 증가하게 될 것이다. 마치 추락하는 물체처럼 말이다.
 
1J는 1N에다가 거리가 추가로 곱해져서 1kg· m^2/s^2가 된다. 거리의 제곱에 비례하기 때문에 10미터에서 떨어지는 물체에 맞는 것보다 20미터에서 떨어지는 물체에 맞는 게 2배가 아닌 4배 더 위험한 것이다.
 
그리고 힘과 일에 이어, 에너지라는 개념이 있다. 에너지란, 질량을 가진 물체가 잠재적으로 일을 할 수 있는 능력을 말한다. 비록 지금 당장은 힘을 받고 있지 않아서 그냥 등속 운동을 한다 하더라도, 더 무겁고 더 빠르게 움직이는 물체는 이미 받아 놓은 에너지가 많기 때문에, 자신과 부딪치는 다른 물체를 더 멀리 옮기거나 더 크게 파괴할 수 있다.
 
이런 운동 에너지는 질량과 속도의 곱(mv)에서 속도를 적분함으로써 구할 수 있다. 힘 자체가 질량과 가속도의 곱으로 정의되었고, 가속도는 물체의 질량을 바꾸는 게 아니라 말 그대로 속도를 바꾸기 때문에 속도가 적분 변수가 된다. 물체의 운동 속도와 질량이 서로 간섭을 하는 건 광속에 근접한 상황에서 상대성 이론에 근거해서나 가능한 소리이기 때문에 뉴턴 고전 역학과는 문맥이 다르다. 현실에서 가속이 더 어려워지는 건 공기 저항이나 마찰, 또는 동력 기관의 기계/화학적 한계 때문이다.
 
뭐 어쨌든, 적분으로부터 얻은 운동 에너지 공식은 그 이름도 유명한 1/2 mv^2이다. 그런데 속도라는 게 단위 시간 당 거리인데 에너지의 단위의 차원을 생각해 보면 kg· (m/s)^2이므로 kg· m^2/s^2와 동일하다. 그래서 힘을 적분하든 속도를 적분하든 일과 에너지란 서로 동등한 개념임이 성립된다. (m의 의미가 mass라는 변수명일 때와 meter라는 단위명일 때를 분간 잘 하도록 하시고..)
 
운동 에너지에서 제곱의 의미는 운전을 해 보면 알 수 있다. 바로 자동차의 제동 거리가 속도의 제곱에 비례하기 때문이다. 자동차의 주행 속도가 두 배로 늘면, 그 자동차가 가진 운동 에너지 내지 자동차가 물리적으로 할 수 있는 일은 네 배로 뻥튀기된다. 따라서 자동차가 하는 일이 보행자를 친다거나 앞 차를 들이받는 불행으로 이어지지 않게 운전자는 각별히 조심해야 한다. -_-;;
 
일과 에너지의 단위인 J는 약방의 감초 같은 매우 유용한 단위이므로 물리를 잘하려면 단위의 차원의 의미를 제대로 숙지하는 게 필수이다. 열역학에서는 온도를 높이는 데 필요한 에너지라는 개념으로 칼로리라는 단위도 J과 연계되어 쓰인다.
 
3. 일률

J에는 시간이 크게 감안되어 있지 않다. 이런 질량을 가진 물체가 이 정도 힘을 받아서 이 정도 이동을 했을 정도이면, 소요 시간은 그런 변수로부터 자동으로 결정되는 상황이기 때문이다. J는 시간이 아닌 이동 거리 관점이다.
그러나 실생활에서는 일을 하는데 시간이 얼마나 걸렸는지도 따져야 할 때가 있기 때문에 1초 동안 1J만치 일을 한 것을 1W(와트)라고 표현한다. 곧 1W = 1J/s. 와트는 일률의 단위이며, 전력의 단위이기도 하다.
 
일률이란 도대체 무슨 개념인 걸까?
지구에서의 중력이 1N짜리인 물체(즉, 100g을 약간 넘는 가벼운 질량)가 공기 저항을 무시하고 지표면의 4.9m 높이, 즉 건물의 3층쯤 되는 곳에서 자유 낙하를 하면 1초 만에 바닥에 닿는다. 떨어지는 순간에 물체의 속도는 초속 9.8m가 될 것이고, 이 물체가 중력으로 말미암아 떨어지면서 쭈욱 한 일은 1N에다가 이동 거리 4.9를 곱한 4.9J이 된다. 일률은 그대로 4.9W가 되겠다.
 
일을 구하는 1N * 4.9m뿐만이 아니라, 운동 에너지를 구하는 방식으로 1/2 mv^2에다가 1/9.8 kg과 9.8m/s를 집어넣어 봐도 동일하게 4.9J가 산출된다. 일과 에너지는 동일한 개념임을 여기서도 다시 확인할 수 있다. 100그램은 200ml짜리 우유팩 하나보다도 가벼운 무게이긴 하다만, 딱딱한 재질의 이런 작은 물체가 3층 높이에서 떨어진 걸 지나가는 사람이 맞았다고 생각하면 그 일의 위력을 얼추 짐작할 수 있을 것이다.
 
같은 물체가 네 배 높이인 19.6m에서 자유 낙하를 하면 2초 만에 바닥에 닿으며, 19.6J과 9.8W의 일률이 산출된다. 일률이라는 건 시간이 개입되다 보니, 동일한 일을 해도 속도가 빠를 때 더 커지며, 힘에 의한 가속을 오래 받을수록 더 올라감을 알 수 있다. 자동차의 최대 출력 잣대로 쓰이는 마력이 바로 일률의 단위이다. 통상적인 휘발유 엔진 소· 중형 승용차의 경우 엔진 회전수가 5~6000rpm대일 때 통상 150~200마력대의 최대 출력이 나오며, 단위 시간당 출력이 높아야 차의 최대 속력도 더 높게 나올 수 있다.
 
일률 단위는 전기 에너지와 연계되어서도 더 많이 쓰인다. 1암페어(A)에 해당하는 전류가 1볼트(V)의 전위차에서 흐를 때 단위 시간당 할 수 있는 일률이 1W이기도 한데, 1V라는 전압이 바로 1W에 의존적으로 정의되어 있다.
전기는 실시간으로 생산되어서 곧바로 소비되어야 하는 에너지이다 보니, 단위 시간당 전기 생산 규모와 예비 전력량을 나타내는 단위로 일률인 W가 쓰인다.

와트에다가 도로 1시간이라는 시간을 곱해 주면 와트시(Wh)라는 단위가 된다. 1W의 일률로 1시간 동안 하는 일의 양으로, 결국 비례상수만 다를 뿐 J와 같은 차원의 에너지 단위이다. 와트시는 전기 요금의 책정 단위이기도 하다.
 
지금까지 소개한 물리 개념들을 한데 요약하면 다음과 같다.
  • 초(s): 시간의 단위로, 현재는 특정 원자가 특정 횟수만치 진동하는 데 걸리는 시간을 기준으로 정의됨
  • 미터(m): 길이의 단위로, 빛이 진공에서 어느 시간 만치 진행한 거리로 정의됨
  • 질량(kg): 물질의 고유 단위로, 두 질량과 질량 사이에는 만유인력이라는 서로 당기는 힘이 작용하여 이것이 곧 중력이 됨
  • 속도(m/s)와 가속도(G; m/s^2): 각각 단위 시간 동안 이동한 거리, 그리고 단위 시간 동안 속도의 변화량을 의미한다.
  • 힘(F; kg·m/s^2): 물리학에서 힘이란 질량을 가진 물체의 속도를 순간적으로 변화시키는 정도이다.
  • 일 또는 에너지(J; F·m): 힘이 계속 작용하는 동안 해당 물체가 일정 거리를 이동하는 것이 바로 ‘일’이 된다. 운동하고 있는 물체가 가지고 있는 에너지도 일과 등가인 개념이다. 칼로리와 와트시도 이와 동급의 단위이고, 전기 요금의 책정 단위인 전력량 역시 이것이다.
  • 일률(W; J/s): 단위 시간 동안 일을 하는 양이다. 마력도 이와 동급이고, 전력의 단위도 이와 동급이다.
다음번엔 자동차의 성능을 측정하는 도구로서의 물리 얘기를 계속하도록 하겠다.

Posted by 사무엘

2012/07/05 08:40 2012/07/05 08:40
,
Response
No Trackback , 6 Comments
RSS :
http://moogi.new21.org/tc/rss/response/703

최소자승법에 의한 그래프 근사

수치로 표현된 실험 데이터로부터 규칙를 추출하여 추세를 예측하는 것은 과학과 공학에서 아주 유용하게 쓰이는 통계 기법이다.
“input이 x1과 x3일 때 실험으로부터 얻어진 output이 각각 y1과 y3이었으니, 중간에 직접 실험을 해 보지 못한 x2에서는 결과가 아마 y2가 될 것이며(내삽), 더 나아가 범위를 벗어난 x5일 때는 결과가 y5 정도로 나올 것이다(외삽).”

n개의 실험 데이터 (x_1, y_1) 부터 (x_n, y_n)이 있다고 치자. x는 input이요, y는 output을 가리킨다. x_1...n은 꼭 균일한 등차수열 간격으로 분포해 있을 필요는 없다.
우리는 이 실험 데이터의 추세를 잘 나타내는 함수 F(x)를 얻고 싶다. F는 간단히는 그냥 직선을 나타내는 일차함수일 수도 있고 이차나 삼차, 혹은 임의의 계수를 지니는 지수나 로그 함수일 수도 있다.

그 디테일이 어떠하든 F(x_1)은 y_1과 최대한 비슷한 값이 나오고 그런 식으로 1부터 n 사이에 있는 자연수 i에 대해서 F(x_i)는 y_i와 최대한 비슷한 값이 나오면 된다. 그럼 그 F는 실험 데이터의 특성을 잘 나타내는 좋은 함수로 여겨질 것이며 내삽과 외삽에 활용될 수 있다.

최대한 비슷하다는 걸 수학적으로 어떻게 엄밀하게 표현할 수 있을까? i=1...n에 대해,  함수값과 실제 데이터의 차이인 F(x_i)-y_i가 작아야 할 것이다. 오차라는 건 양이든 음이든 절대값이 중요한데 절대값은 미분 같은 수치해석적인 처리가 어려운 연산이니 이럴 때 제곱이 쓰인다. 데이터의 분산을 구할 때와 같은 접근 방식이다. 결국 문제는

각 데이터들에 대한 오차들의 제곱의 합 = (F(x_1)-y_1)^2 + (F(x_2)-y_2)^2 + (F(x_3)-y_3)^2 … (F(x_n)-y_n)^2

이것을 최소화하는 F를 구하는 것으로 귀착된다.
그래서 이 계산법의 이름이 최소자승법/최소제곱법(least square method)인 것이다.

최소자승법이 하는 일은, 그 F(x)가 여러 함수들의 합으로 이뤄질 때, 각 함수들에 들어가는 적절한 계수를 구해 준다.
가령 F(x)가 계수가 3개 존재하는 2차함수여서 a*x^2 + b*x + c 의 형태라면, F(x) = a*f(x) + b*g(x) + c*h(x) 의 세 계수를 생각할 수 있다. 하지만 f, g, h가 실제로 무슨 함수인지는 최소자승법에서 중요하지 않다.

오차의 제곱의 합 함수를 이를 기준으로 다시 써 보면,
∑ i=1..n에 대해 ( a*f(x_i) + b*g(x_i) + c*h(x_i) - y_i )^2 가 된다.

이 식을 전개하면 제법 복잡한 항들이 줄줄이 나오겠지만, 겁먹을 필요 없다.
f, g, h는 언제든지 값을 집어넣어서 계산할 수 있는 함수이고, x_i와 y_i는 전부 상수일 뿐이다.
식에서 변수는 a, b, c이며, 제곱 버프 덕분에 오차의 제곱의 합은 a, b, c에 대한 이차식이 된다.

식의 값이 최소가 되려면, a, b, c에 대해 제각기 따로 생각했을 때, 해당 이차식의 미분계수가 0이 되는 지점에 a, b, c가 있어야 한다. 이것이 우리가 구하고자 하는 F(x)의 정체이다.
가령, x^2 + 2*x - 3 이라는 이차식을 생각해 보면, 이건 (x-1)(x+3)으로 인수분해가 되기 때문에 식의 값을 0으로 만드는 근은 1과 -3이다. 그러나 식을 x에 대해 미분하면 2*x+2가 되고 1과 -3의 중간 지점인 -1이 바로 도함수의 값을 0으로 만들어서 최소값 -4를 만들어 낸다.

우리가 풀고자 하는 문제가 다루는 식은 a, b, c 같은 여러 변수들이 존재하기 때문에, 동일한 식을 각 변수별로 편미분을 해야 한다. 그러면 다음과 같이 규칙성이 있는 3개의 연립 일차방정식이 완성된다. 세 개의 변수의 계수에 다른 변수가 포함되어서 서로 얽혀 있기도 하기 때문에, 각 변수별로 미분계수를 모두 0으로 만들 수 있는 변수들의 값은 이런 방정식을 풀어야 구할 수 있다.

2*f(x_i)*f(x_i)*a + 2*f(x_i)*g(x_i)*b + 2*f(x_i)*h(x_i)*c - 2*f(x_i)*y_i = 0 (a에 대해서)
2*g(x_i)*f(x_i)*a + 2*g(x_i)*g(x_i)*b + 2*g(x_i)*h(x_i)*c - 2*g(x_i)*y_i = 0 (b에 대해서)
2*h(x_i)*f(x_i)*a + 2*h(x_i)*g(x_i)*b + 2*h(x_i)*h(x_i)*c - 2*h(x_i)*y_i = 0 (c에 대해서)

변수가 3개보다 더 많더라도 결국은 이런 패턴의 식이 나온다! _i로 표현된 건 합계를 다 해 줘야 한다는 걸 잊지 말고.
고맙게도 양변은 2로 나눠 버리기 딱 좋게 돼 있으며, 상수항은 음수로 나와 있으니 우변으로 옮기기도 좋다.
위의 식은 결국 다음과 같은 Ax=b 꼴의 행렬로 너무나 깔끔하게 나타낼 수 있다. (행렬은 전치행렬과 자신이 서로 동일한 대칭행렬이다.)

[ F*F F*G F*H ] [ a ]   [ F*y ]
[ G*F G*G G*H ] [ b ] = [ G*y ]
[ H*F H*G H*H ] [ c ]   [ H*y ]

그리고 우리가 구하고자 하는 계수 벡터 x는 A의 역행렬에다가 b를 곱하면 구할 수 있다. 참 쉽죠?

이것이 행렬의 힘이다.
<날개셋> 타자연습에서 타자 속도 그래프를 얼추 비슷한 곡선 함수로 표시해 주는 기능,
그리고 엑셀에서 추세선을 그어 주는 기능들도 다 이 최소자승법 알고리즘을 써서 구현되어 있다.

아래의 그림은 지난 5년간 <날개셋> 한글 입력기의 전체 소스 코드 라인 수의 증가 추이와, 이를 토대로 최소자승법으로 구한 추세선(직선) 그래프이다. 2009년 상반기에 5.3 버전이 개발되었을 때 약간 가파르게 소스 코드가 증가했지만, 그 후로는 증가가 비교적 원만했음을 알 수 있다. 1년에 약 4천 줄 꼴로 코드가 증가한 것인지?

사용자 삽입 이미지

Posted by 사무엘

2012/06/21 08:41 2012/06/21 08:41
,
Response
No Trackback , 8 Comments
RSS :
http://moogi.new21.org/tc/rss/response/698

1.

수학에서 원주율 pi와 자연상수 e는 가장 유명하고 친근한 상수임이 틀림없다. 이들은 유리수를 계수로 가지는 대수방정식의 근이 되지 않는 초월수임이 증명되어 있고, 이들의 정의나 다른 특성에 따라 값을 구하는 식이 여럿 존재한다.

pi = 4(1/1 - 1/3 + 1/5 - 1/7 + 1/9 ... )
e = lim (1 + 1/n )^n (n → 무한대)

pi의 저 공식은 정말 이보다 더 쉬울 수 있을까 싶을 정도로 너무 깔끔하고, 저게 도대체 파이와 어떻게 관계가 있을까 하는 생각이 들기도 한다. 사실, 저것은 arctan(tan의 역함수) 함수의 테일러 급수에다가 1을 대입하여 얻은 식이다. 45도일 때 기울기(=탄젠트)가 딱 1이 되니, 저 값은 pi/4가 나오고, 따라서 pi를 구하기 위해 4를 곱한 것이다.

e의 경우, 숫자를 무한대로 띄우는 n승과, 그 지수 연산의 발산 효과를 무효로 만드는 1/n (1에다가는 아무리 큰 지수 연산을 해도 그대로 1..)의 극한이 저렇게 가까워지는 게 신기하기 그지없다.

그러나 위의 두 공식은 둘 모두 n 값이나 항의 개수가 100000이 넘어가도 소숫점 겨우 네댓 자리까지밖에 일치하지 않을 정도로 수렴이 대단히 느린 게 흠이다. 이 방식으로는 소숫점 n째 자리까지 일치하려면 계산량이 n의 지수함수 형태로 증가해야 한다. 알고리즘으로 치면 엄청나게 비효율적인 알고리즘이다.
그래서 실제로 pi나 e의 값을 계산할 때는, 매 회에 좀 더 복잡한 계산이 수행되더라도 적은 횟수로도 더 빠르게 수렴하는 다른 식을 찾아 쓴다.

자연상수 e는 exp(x), 즉, 미분해도 자신과 동일한 함수의 테일러 급수로부터 얻은 식을 이용해 값을 구할 수 있다. 바로 n팩토리얼의 역수의 무한합인데, 직관적일 뿐만 아니라 수렴 속도도 아주 빠르다. 물론 팩토리얼이 숫자를 폭발적으로 키우는 연산이긴 하지만, 그만큼 정확도도 커져서 14!까지만 계산해도 소숫점 8~9자리까지 정확한 값이 나온다. 그래서 이걸로 끝이고 다른 계산법을 찾을 필요가 사실상 없다.

자연상수라는 이름엔  '자연'이라는 단어가 괜히 붙은 게 아니다. 얘는 수학의 입장에서는 특성이 매우 자연스럽고 직관적이고 사랑스럽기까지(!) 한 수이기 때문에, 초월수라는 증명도 상당히 초창기에 이뤄졌다. 리우빌 상수--10진법 기준 n!에 속하는 소숫점 자리만 1이고 나머지는 0인 좀 괴랄한 0.110001000… --처럼 초월수의 존재를 증명하기 위해 일부러 설정된 수가 아닌 수 중에서는 초월수라는 게 증명된 최초의 수가 바로 자연상수이다.

pi는 e보다 더 오묘한 수여서 초월수 증명도 10년 남짓 더 늦게 나왔으며, 더욱 복잡하고 다양한 유도식들이 존재한다. 특히 컴퓨터가 발명되고 원주율 계산이 컴퓨터의 성능을 측정하는 잣대로 통용되기 시작한 뒤부터는 컴퓨터의 입장에서 더욱 계산하기 쉬운 형태의 식이 연구되기 시작했다. 그래도 어느 것이든 e만치 형태가 간단하면서도 빨리 수렴하는 식은 존재하지 않는 것 같다.

비록 컴퓨터 시대에 발견된 식은 아니지만,
sqrt(2) / 2 라는 분수에서 시작하여
sqrt( 2+ sqrt(2) ) / 2와 같은 식으로 분자에다가만 x → sqrt(2 + x)로 변환을 하면서 생성된 수들을 계속 곱하면 2/파이 (파이의 역수의  두 배)에 수렴하는데,
이것도 e만치는 아니지만 계속되는 곱셈과 제곱근 버프 덕분인지 수렴 속도가 빠른 편이다.

2.

1부터 n까지 자연수가 있고 이들의 역수를 나열하면 조화수열이 된다. 조화수열의 무한합은 비록 무지막지하게 느리지만 무한대로 발산한다는 것이 알려져 있다.
한편 n!의 역수의 무한합은 아까 말했듯이 e가 되는데,
그럼 n^2의 역수의 무한합은 무엇이 될까?

거듭제곱의 지수가 1보다 커지는 순간부터 역수의 무한합은 유한한 값으로 수렴하긴 한다. 그러나, 그 수렴값의 특성을 알아내는 건 아주 어려운 일이어서 지금까지도 알려진 게 그리 많지 않다.
n^x의 역수의 무한합을 일반적으로 x에 대한 리만 제타 함수값이라고 한다.

그리고 그 x가 짝수일 때는 놀랍게도 pi와 관련이 있는 값으로 수렴한다는 것이 천재 수학자 오일러에 의해 밝혀졌다. 가령, 2일 때는 이렇다.

1 + 1/4 + 1/9 + 1/16 + 1/25 ... = pi^2 / 6

그러니 이것도 응당 파이를 구하는 데 쓸 수 있는 공식이다.
비록 이것 역시 아까의 1/3 1/5 1/7 공식 만만찮게 수렴 속도가 몹시 느리기 때문에 실용성은 떨어지지만 말이다.

여기서 갑자기 pi가 튀어나오는 것도 신기하지만, 이 수의 진짜 놀라운 면모는 또 다른 곳에 있다.
바로 이 수는 자연수에 존재하는 소수의 분포와 관계가 있다.

1부터 N 사이에 있는 임의의 두 자연수를 뽑았을 때 이것이 서로 소일 확률은 N이 커질수록 바로 저 수, 다시 말해 (pi^2)/6의 역수로 수렴한다! 그 확률은 대략 60.8%이다.

아니, 리만 제타 함수에서 파이가 왜 조건부로 튀어나오며, 게다가 미적분· 해석학하고는 아무 관계가 없는 정수론과 관련된 의미가 왜 이런 데서 발견되는 걸까? 이걸 알아 낸 사람도 오일러이다.

2를 포함해서 리만 제타 함수의 짝수승의 값은 그래도 pi가 얽혀 있으니 초월수라는 건 확실히 인증이다만 홀수승의 값들은 무리수인 것만 알려져 있지 다른 특성은 알려진 바가 없다. 초월수일 게 거의 확실시되고 있긴 하나, 그조차도 정식으로 증명되지는 못했다.

3일 때의 값은 '아페리 상수'라 하여 일부 공학 분야에서도 쓰인다. 이 수가 무리수라는 증명을 1978년에 한 프랑스의 수학자 아페리의 이름을 딴 것이다. 정의대로 각 자연수들을 3승한 뒤 역수를 구해서 더하면 값을 구할 수 있지만, FM 방식은 역시 수렴이 더디기 때문에 훨씬 더 복잡하지만 더 빨리 수렴하는 별도의 급수 전개를 써서 값을 구한다.

그런데 이 값의 역수는 임의의 세 자연수가 서로 소일 확률이라고 한다. 마치 가위바위보에 참여하는 인원이 많아질수록 무승부가 나올 확률이 치솟듯, 세 자연수는 두 자연수일 때보다 서로 소일 확률이 올라가서 그 값은 약 83.1%에 달한다.

작은 범위에서라도 정말 얼추 그렇게 되는지는 프로그램을 짜서 간단히 확인해 볼 수 있다.
1부터 N까지 3중 for 문을 작성해서 모든 숫자 조합에 대해서 최대공약수를 구해서 1이 나오는 경우를 세면 되는데, N이 몇천 정도만 돼도 3중 for 문은 오늘날의 최신 컴퓨터에서도 버벅대는 작업량이다.

3.

그래서 본인, 이 기회에 멀티코어 프로그래밍을 실습해 봤다.
i5 쿼드코어답게 CreateThread 함수로 스레드를 4개 만들어서 뺑뺑이를 돌리는 분량을 인위로 분할한 뒤, 계산 결과를 취합했다. 그랬더니...

809615629/973620600 0.831551 (7753)
809615629/973620600 0.831551 (3448)

코어 하나밖에 못 쓰고 고로 CPU를 최대 25%만 쓰던 싱글스레드 오리지널 코드는 7.8초가 걸린 반면,
스레드를 여러 개 만드는 코드는 CPU를 95% 가까이 점유하면서 제 속도를 내더니, 싱글스레드의 절반이 채 안 되는 3.5초 남짓한 시간 만에 처리를 다 끝내는 걸 알 수 있었다. 실제로 서로 소인 조합이 전체의 83.1%가량을 차지하는 것도 사실이었다.

요즘 세상에 CPU를 70% 이상 한꺼번에 점유하는 프로그램을 내 손으로 직접 만들 일은 없었는데 참 오랜만에 보는 광경이었다. 요즘은 단일 프로그램이 CPU 성능을 제대로 활용하려면 이런 식의 테크닉을 동원해야 한다는 걸 더욱 절실히 느끼게 됐다.

Posted by 사무엘

2012/06/07 08:21 2012/06/07 08:21
, ,
Response
No Trackback , 9 Comments
RSS :
http://moogi.new21.org/tc/rss/response/692

« Previous : 1 : ... 51 : 52 : 53 : 54 : 55 : 56 : 57 : 58 : 59 : ... 66 : Next »

블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2026/07   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Site Stats

Total hits:
3940988
Today:
1656
Yesterday:
2118