[작성자:] snowall

  • 에너지 절약


    h


    ttp://www.newsis.com/ar_detail/view.html?pID=10400&cID=10401&ar_id=NISX20110610_0008426533

    등유 가격보다 전기요금이 더 싸면, 당연히 “비용 절감” 관점에서는 전기를 더 사용하게 되어 있다. 즉, 현재 상황에서 “온실가스 배출량 줄이기”와 “비용 줄이기”는 모순의 관계에 있다.

    비용절감을 외치지 말든가, 등유가격을 더 낮추든가, 전기요금을 올리든가.

    웬만하면 서민을 위해서 등유 가격을 낮추자. 정부가 원하는 것은 “전기요금 현실화”라는 이름으로 전기요금을 올리는 것이겠지만. 비용절감을 포기할 생각은 없나?

  • 라플라스 방정식을 컴퓨터로 풀기

    라플라스 방정식은 아주 유명한 2차 편미분 방정식 중의 하나이다. 라플라시안 연산자는 n차원 공간에서 잘 정의된 어떤 함수 f를, x로 두번, y로 두번, … 등등 같은 방향으로만 2번 미분하여 그 편도함수들을 모두 더한 함수로 보내는 연산자이다.

    라플라시안 연산자를 L이라고 하자. 그럼 L[f] = 0 을 만족하는 함수 f를 찾는 것이 라플라스 방정식을 푸는 방법이다. 만약 1차원 라플라스 방정식이라면, 이 문제는 2번 미분해서 0이 되는 함수이므로 직선의 방정식을 찾으면 되고, 직선을 유일하게 결정하기 위해서 이 직선이 지나는 점 2개를 결정하면 된다는 사실을 알 수 있다.

    2차원 라플라스 방정식이라면, 이제 문제가 심각해 진다. 가장자리가 점이 아니라 곡선이 된다. 심지어 n차원 라플라스 방정식이라면 n-1차원의 초곡면이 가장자리를 이루게 된다. 이것을 어떻게 풀 것인가?

    일단, 적어도 하나의 해가 있다고 가정하자. 그냥 있다고 치자. 그럼, 만약 어떤 라플라스 방정식에 대해서 2개의 해를 찾을 수 있을까? 가령 f와 g가 둘 다 라플라스 방정식의 해라고 하자. 그럼 L[f]=0이고 L[g]=0이다. 라플라시안 연산자는 선형 연산자이므로 당연히 L[f-g]=0이 성립한다. 그런데 f-g=h라고 가정해보자. f와 g는 완전히 임의의 함수이므로 경계를 포함한 모든 점에서 h=0일 수밖에 없다. 따라서 f=g이다. 우리가 해를 여러가지 방법으로 찾아도, 주어진 경계조건을 만족하는 해는 하나밖에 없다는 걸 알 수 있다. 다시 말해서, 수단과 방법을 가리지 않고 하나를 찾으면 그게 바로 정답이라는 것이 확실하다. 이에 대한 엄밀한 증명은 생략한다.

    그렇다면, 이것을 어떻게 컴퓨터로 풀 것인가?

    이에 대해서 Relaxation method라는 것이 있다. 라플라스 방정식을 통째로 가우스 적분 하게 되면, 그 내부에서의 함수값이 그 주변에서의 함수값들의 평균값과 같아지는 성질을 이용한 것이다. 즉, 모든 점에서 라플라스 방정식이 만족될 때 까지 계속해서 평균을 내면서 진행하는 것이다.

    가령, 격자를 9칸으로 잘라서

    123

    456

    789

    라고 해 보자. 그럼, 5번에 해당하는 값 f[5] 는 모르니까 처음에 0이라고 하자. f[2]=1, f[4]=5, f[6]=3, f[8]3이라고 해 보자. 그럼, 만약 저 9칸의 공간에 주어진 함수 f가 라플라스 방정식을 만족한다면, f[5]=3이어야만 한다. 그리고 그렇게 찾아낸 f[x]는 반드시 그 라플라스 방정식의 해이다. 수단과 방법을 가리지 않고 어떻게든 찾아내기만 하면 되니까. 이 방법을 더 큰 공간으로 확장해서 풀게 되면 문제를 잘 풀 수 있게 된다. 이 방법을 반복적으로 적용해서, 경계조건으로 주어진(=정해진) 값들은 계속 고정시켜 놓고서, 나머지 부분의 값들을 계속해서 평균을 내면서 바꿔가다보면, 경계조건의 값이 사방으로 퍼져 나간다. 하지만 충분히 여러번 반복하다보면, 거의 값이 바뀌지 않는 정도로 수렴하게 되는데, 이때가 바로 “답”이 된 상태이다. 이제 함수값들을 잘 읽어다가 “정답”이라고 생각하면 된다. 모든 점에서 “근처값들의 평균과 그 안에 있는 함수값이 같은” 상태가 되었기 때문에, 이 상태는 라플라스 방정식을 만족하는 상태이다.

    그리고 앞에서 말했듯이, 아무튼 답을 찾기만 하면 그 답이 정답이 맞다.


    http://tutorial.math.lamar.edu/Classes/DE/LaplacesEqn.aspx



    http://rugth30.phys.rug.nl/potentiaal_eng/relaxatiemethode_hoe.htm

    답을 찾기 위해 수단과 방법을 가리지 않는 것이 바로 수학의 정신이랄까.

  • Pidgin 2.8.0


    http://sourceforge.net/projects/pidgin/files/Pidgin/2.8.0/pidgin-2.8.0.exe/download

    공식 홈페이지에서 로드맵은 2.8.0이 완성 된걸로 나오는데 다운로드 링크가 변경되지 않아서 계속 헤메고 있었다.

    소스포지로 직접 찾아들어갔더니 되더라.

  • 간만에 유입경로 분석


    http://snowall.tistory.com/1077

    2년전에 했던 유입 경로 분석을 다시 해보자.

    2008년 11

    2011년 6

    위에는 2008년 11월, 아래는 2011년 6월까지의 그래프이다.

    참고로, 위에는 선형 스케일이고 아래는 로그 스케일이라는 점에 유의하자.

    일단, 다음,네이버, 구글이 1~3등인건 변함이 없다. 네이버가 구글보다 앞서는건 같은데, 네이버가 1등, 구글이 2등으로 올라서고 다음이 3등으로 내려왔다. 우리나라에서 인기있는 포털 순위 그대로인 것 같은 느낌이다.

    야후는 4등 그대로다.

    전반적으로, 다음, 네이버, 구글에서 들어오는 숫자는 4배 정도 증가했고, 그 외에는 거의 비슷한 수준을 유지하고 있다.

    티스토리는 대체로 3천건 정도로 꾸준하다. 이올린은 뭐 망했으니 당연히 없어지는 거고. ExtraD님의 블로그에 댓글 열심히 달 때는 리퍼러에 나올 정도로 많이 왔었는데 요새는 별로 없다보니 유입경로에서 사라졌다.

    kldp 활동을 좀 많이 했더니 유입자수가 많이 늘었다. 흥미로운건, 수시아님의 블로그(docean.egloos.com) 유입자가 꽤 된다는 건데, 이건 수시아님의 “찌질열전” 중 이재율에 관한 글로부터 유입되는 것으로 분석된다. (

    http://docean.egloos.com/4669937

    이 글이다)

  • 문득…

    다음주까지 실험 결과를 분석하기 위해서 어떤 프로그램을 만들어야 하는데, 이번에도 기획, 개발, 테스트, 디버그를 나 혼자 한다. 다행(?)히도 사용은 다른 사람들이 할 예정이다. 왜 이게 다행이라는 생각이 드는건가.

    프로그램의 핵심 알고리즘과 핵심 코드는 만들어 놨는데, 이제 이걸 사용해서 UI를 예쁘게 만들고 사용하기 편하게 원하는 기능을 집어넣는게 문제다.

    내가 프로그램 만드는 것도 할줄 알고, 좋아하고, 만들고 싶은건 맞는데, 코딩하다보면 문득 – 내가 왜 하고있지? – 하는 생각이 든다. 사실 그래서 “코드를 쓰면 작동하는” VB.net을 좋아하긴 했지만. VB.net은 개발툴이 유료니까. 이제 그걸 Python으로 바꾸려고 하는데, 정말 쉽지가 않다. 그리고 마감은 바로 다음주. 두둥!

    물론 개발에 올인할 수 있는 여건이 안된다. 이것 말고도 “나밖에 할 수 없는” 일들 몇가지의 마감이 바로 다음주. 두둥!

    그렇다고 내가 미친듯이 열심히 하는건 아니지만. 이번주부터는 일단 열심히 해야겠다.

  • MFC, VB.net, wxPython

    윈도우즈용 GUI프로그램을 만드는 난이도는 MFC가 가장 어렵고, VB.net이 가장 쉽다. wxPython은 그 사이에 있다.

    (주관적 평가임.)

    VB.net은 그림 그리고 클릭해서 그 부분이 처리할 코드를 쓰면 된다.

    wxPython은 그림을 코딩하고 그 부분이 처리할 코드를 쓰면 된다.

    MFC는 그림을 코딩하고 그 부분이 처리할 코드를 쓰면 되는데, C/C++로 써야 한다.

    VB.net이 과학기술계산용으로 강력한 라이브러리를 갖고 있었으면 좋았겠지만, GSL이나 numpy같은 것들이 VB용으로 나오질 않았다. (.net Fx 위에서 돌아가는 것 자체가 이미 계산용으로서는 성능이 나오지 않는다는 거지만.)

    그래서 요새는 wxPython을 쓰는 중. 리눅스에서도 그냥 돌아가니까 더 맘에 든다.

    MFC랑 VB.net은 그냥 돌아가지 않으므로 곤란하다. (리눅스에서 내가 지금 만드는 프로그램을 돌릴 일은 없겠지만)

  • 사소한 개념 오류


    http://twitter.com/#!/sci_bot/status/77291175178018816

    과학봇 트윗을 구경하다가

    “공을 휘어던질 수 있는 것은 베르누이 정리 때문입니다”

    라는 트윗을 보았다.

    틀렸다.

    정확히 말하려면, “공을 휘어지도록 던질 수 있는 것은 공기와 공의 상호작용 때문이며, 이 상호작용을 베르누이 정리를 사용하여 잘 설명할 수 있다.” 라고 표현해야 한다.

    이와 비슷한 오류를 핵무기와 원자력 에너지의 발달사에서 가끔 볼 수 있는데, “아인슈타인의 물질-에너지 정리에 의해 우리는 엄청난 원자력 에너지를 사용할 수 있다”는 표현이 가끔 등장한다. 이것도 틀렸는데, 정확히 말하면, 우리는 원래 원자력 에너지를 사용할 수 있었고, 그것을 아인슈타인의 공식이 잘 설명하는 것 뿐이다.

    이론은 어디까지나 세상을 설명하는 방법 중의 하나이지, 그 이론 때문에 세상이 작동하는 것이 아니다. 초끈 이론도 그렇고 뉴턴 역학도 마찬가지다.

  • 최초의 남자

    Y염색체는 남자에게만 있다. 따라서 Y염색체를 추적하면 남자들로 이루어진 가계도를 알 수 있다. 그래서 추적해서 찾아낸 “Y염색체 아담”은, 아프리카에 살았었다.

    원제는 “Journey of Man”인데, 아무래도 1등만 기억하는 더러운 세상이다보니 “최초의 남자”로 번역서 제목을 지은 것 같다.

    “이브의 일곱 딸들”에 이어 인류의 계보도를 추적하는 매우 흥미로운 여행이다. 매우 쉽게 씌여져 있고, 유전학 뿐만 아니라 지리학, 문화학, 언어학, 고고학, 고인류학 등 다양한 분야의 증거들을 함께 결합하여 서술하고 있다.

    누구에게나 추천할만한 책이다.

  • 민증을 보자


    http://news.chosun.com/site/data/html_dir/2011/06/06/2011060600106.html

    혹시 2007년생 아니신지 확인해봐야할듯. 아, 2007년생이면 민증이 없구나…