피라미드의 합

오일러 프로젝트의 18번과 67번 문제다.


3



7

5

2

4

6

8 5

9

3

위와 같은 숫자로 된 피라미드가 있다. 가장 위쪽에서 가장 아래까지 한칸씩 움직이면서 내려온다. 그리고, 내려오면서 그 경로에 있는 숫자를 모두 더한다. 위에 빨간색으로 표시된 길은 그 합이 최대가 되는 경로에 해당한다.

문제. 다음 숫자 피라미드의 꼭대기에서 밑바닥까지 내려갈 때, 합이 최대가 되는 경로를 지난다고 하면, 그 합의 값은 얼마인가?

75

95 64

17 47 82

18 35 87 10

20 04 82 47 65

19 01 23 75 03 34

88 02 77 73 07 63 67

99 65 04 28 06 16 70 92

41 41 26 56 83 40 80 70 33

41 48 72 33 47 32 37 16 94 29

53 71 44 65 25 43 91 52 97 51 14

70 11 33 28 77 73 17 78 39 68 17 57

91 71 52 38 17 14 91 43 58 50 27 29 48

63 66 04 68 89 53 67 30 73 16 69 87 40 31

04 62 98 27 23 09 70 98 73 93 38 53 60 04 23

해설에 의하면, 위의 피라미드는 겨우 16단이고, 따라서 가능한 경우가 16384가지밖에 없다. 따라서 모든 경로를 모두 테스트 하는 것이 가능하다. 그런데, 67번 문제는 좀 더 막장이다.



펼치지 마세요

이건 100줄짜리인데, 2의 100제곱 만큼의 경로가 있다. 이걸 모든 경로를 다 해본다는 것은 사실상 불가능하다. -_-;

즉, 그보다 좀 더 똑똑한 방법을 생각해야 한다.

물론 난 두 문제 모두 알고리즘으로 풀었으므로 이 해설을 쓸 수 있는 거다. 알고리즘만 잘 짜면 펜티엄3 800MHz로도 0.1초만에 답이 나오게 할 수 있다.

힌트

1. 이 문제는 해결한 사람이 매우 많다. 이것은 굉장한 힌트가 된다.

2. 모든 경로를 다 해보는 것은 불가능하다는 사실을 이미 알려주고 있다. 이것으로부터도 많은 것을 깨달을 수 있다.


풀이는 접어둔다.

아무튼, 한번에 2문제를 풀었으니 된거다.

reflexion

cranky의 곡이다.


http://www.rave-slave.com

재미난 놀이기구

Vortx라는 놀이기구가 있다.

http://www.teachersource.com/Energy/FantasticRides/TheVortx.aspx

참고로 이 기구의 좀 커다란 버전은 혜화동에 있는 국립서울과학관에 전시되어 있다. 실제로 실험을 해볼 수도 있다.

위에서 동전을 굴려주면 깔때기를 타고 가장자리를 돌다가 점점 속도가 줄어들어서 가운데로 빠져들어가는 거다.

이걸 초등학교 5학년 애들에게 분석하라고 시키는, 대충 그런 느낌의 교재를 개발하는데…

자. 나의 임무는 이것을 물리적으로 분석해서, 동전이 떨어지지 않도록 하려면 어떻게 해야 하는지를 알아내야 한다.

동전이 떨어지는 이유는? 당연히 마찰력 때문이다. 만약 마찰이 없다면 높이는 변할지 몰라도 적당한 궤도를 그리며 잘 돌아갈 것이다.

그럼, 에너지를 써 보자.

$E=T+U$

운동에너지 $T$는

$T=\frac{1}{2}m (r^2 \dot(\theta)^2 +\dot{r}^2 + \dot{z}^2)$

위치에너지 $U$는

$U=mgz$

여기서 $z$는 위쪽 방향, $r$은 회전축에서 나가는 방향, $\theta$는 위에서 보았을 때 반시계방향으로 회전하는 방향이다.

마찰이라는 것은 원래는 보존되었어야 할 에너지인 $E$를 줄이는 역할을 한다. 일단 질량 $m$은 불변이라고 치자. 그럼, 줄어드는 $E$를 보전해 주려면 운동에너지나 위치에너지 중의 하나, 또는 둘 다를 늘려줘야 한다. 가장 쉬운 방법은 위치에너지 $U$를 늘리는 것이다. 어떻게? 중력가속도 $g$를 인위적으로 키워줄 수 있기 때문이다. 그저 위로 확 들어올리면 된다.

다시 원래대로 전체 에너지가 되돌아 가게 되면, 운동에너지와 위치에너지는 서로 변환되면서 원래의 궤도를 만들어 줄 것이다.

두번째 문제는, 시간이 지남에 따라 회전 속도를 알아내야 한다는 것이다.

이번엔, 에너지가 줄어들게 되는 문제를 생각해 보자. 가만히 놔두면 시간이 지남에 따라 전체 에너지가 줄어든다. 그럼 어차피 운동에너지와 위치에너지는 서로 변환되므로, 위치에너지가 최저인 상태에서의 회전 속력을 생각해 보자. 그런데, 전체적으로는 에너지가 줄어들지만, 속력이 줄어들어서 아래쪽으로 내려오게 되면 반지름이 작아진다. 반지름이 작아지면 구심력을 유지하기 위해서는 좀 더 빠른 속력으로 움직여야 한다. 따라서 회전 속도는 점점 빨라지게 된다.

이 문제를 Analytic하게 풀어보려고 했는데, 2차 비선형 상미분 방정식이 등장하는 바람에 풀 수가 없었다. Numerical하게 풀어볼 수도 있긴 하겠지만 시간이 없다. 다음 기회에…

티스토리 새관리 개선을 위해

티스토리가 새관리로 바뀐지 어언 1개월쯤 지난 것 같다.

그동안 여러가지 버그도 고치고 개선이 된 것 같긴 한데.

가장 큰 문제는 역시 “속도”다. 로그인 하려고 비밀번호 입력하고 로그인 버튼 누르면 5초에서 10초 정도 후에 관리 페이지가 뜬다.

개인적인 의견이긴 하지만…

티스토리 새 관리 화면은, 심지어 다른 좋은 기능들을 포기한다 하더라도, 속도 개선을 반드시 이루어야 한다.

누군가 자신의 명예를 훼손한 글을 막는 걸 요청한다면…

다음, 네이버, 티스토리 등등.

이용자들이 자기 맘대로 블로그에 글을 올릴 수 있는 곳에서는 항상 신고가 들어오면 그 신고를 한 사람의 명예를 지키기 위해서 이용자들의 글을 막아 버린다.

여기에는 치명적인 헛점이 있는데, 이것이 오히려 기업이나 정치인들의 무분별한 신고를 통하여 악용될 수 있다는 점이다.

가령, 내가 어떤 정치인의 이중적 행태에 대해 비판하는 글을 썼는데 그것을 명예훼손이랍시고 고발하면 그 글은 티스토리 관리자에 의해서 차단될 것이다. 그리고 30일 이내에 신고한 사람이 그 내용을 증명하지 못하면 다시 풀린다.

하지만 인터넷이라는 곳은 시시각각 변하는 곳인데, 30일이나 지난 후에는 그 글은 아무 의미가 없다. 삭제되어도 괜찮은 글이 된다.

따라서, 이를 막기 위한 최소한의 장치가 필요하다.

내 생각에, 가장 좋은 것은 차단된 글 내용 대신에 그 위치에 신고한 사람이 “왜 명예훼손인가?”에 대한 나름의 이유를 써서 적어두도록 하는 것이다.

1.거기에 아무 것도 적혀 있지 않으면 실지로 아무 명예도 훼손하지 않은 것이고, 내역이 없으므로 관리자들 역시 블로그 주인의 요청에 의해서 바로 풀어주어도 괜찮을 것이다. 실제로 아무것도 없는데, 그건 따라서 증명할 내용도 없다는 뜻이다.

2.반박이 적혀 있다면, 블로그 주인은 그것에 대해 반박하면 된다. 실제 근거를 들어서 반박하고 있고, 그것이 공익에 부합되는 내용이라면 관리자는 그 글의 차단을 풀어주어도 될 것이다. 만약 신고한 사람이 그것조차 명예훼손이라 생각하면 경찰에 고발하면 된다. 만약 그것이 실제로 명예훼손이라는 것을 증명하지 못한다면, 신고한 사람은 무고죄를 받게 된다.

30일동안 신고한 사람이 그 글의 부당함을 증명할 때 까지 기다려야 하는가? 만약, 어디가 어떻게 부당하게 작성된 글인지 밝힌다면 그 글이 부당하지 않음을 블로그에 글 쓴 사람이 먼저 밝힐 수도 있을 것이다.

이정도 조치도 취하지 않고, 무조건 신고한 사람의 명예를 보호하기 위해서 무조건 30일간 차단한다면, 우리나라의 인터넷은 100년 전으로 퇴보한다. 100년 전에? 인터넷은 커녕 전화도 없던 시절이다.

현실 인식의 한계


http://h21.hani.co.kr/arti/special/special_general/23546.html

아…답답하다.

정보 격차가 소득 불균형을 만드는 건 맞다고 쳐도, 어째서 그것이 IT를 줄여야 하는 이유가 되는가.

IT기술이라는 것은 본질적으로 접근하기 어렵다. 컴퓨터? 인터넷? 그건 원래 젊은이들의 전유물이다. 그런데, 그것이 바야흐로 기술이 발전하여 이제는 나이가 있으신 어르신들도 어느정도 쉽고 편하게 쓸 수 있는 기계가 되었다. 이것은 IT 기술이 발전했기 때문에 가능했다.

IT 기술은 어쨌든 기술이므로 상품을 만들어 낸다. 본질적으로 그것을 이용할 수 있는 사람들은 소수에 불과하기 때문에, 그 시장은 매우 좁다. 이것을 더 많은 사람들에게 판매하고 수익을 내기 위해서는 이용할 수 있는 사람들의 숫자 그 자체를 늘려야만 한다. 따라서 IT 기술이 발전하면 발전할 수록 더 많은 사람들이 그 기술을 이용할 수 있게 되고 그로 인한 ?옜育?가치를 평가하기조차 어려울 정도로 매우 가치가 높다.

“정보화 시대에는 IT(정보기술) 접하는 사람은 소득이 높고 접하지 못하는 쪽은 소득이 낮기 때문에 소득 격차가 벌어집니다. IT 기술은 일자리를 계속 줄였습니다.”

이건 우리 민족의 지도자인 이명박 옹이 하신 말씀이다.

IT기술이 일자리를 줄였다는 것은, 그 현실인식이 딱 거기까지이기 때문이다. 자, 위의 단 한 문장으로 많은 것을 알아낼 수 있다. 철저히 분석해 보자.

IT를 접하는 사람은 소득이 높고, 접하지 못하는 쪽은 소득이 낮다. 따라서 소득 격차가 벌어진다. 그리고 그 다음 말이 IT 기술이 (다른) 일자리를 계속 줄였다. 만약 IT기술의 일자리를 계속 늘렸다고 말하려면 주격 조사가 “은”이 아니라 “이”가 나왔어야 한다. 따라서 IT기술이 다른 일자리를 줄였다는 뜻으로 해석된다.

그래서. 이명박 옹의 숨은 뜻은? IT 기술에 대한 집착을 버리자, 줄이자, 뭐 이런 뜻이다. 따라서 IT를 접하는 사람이 줄어든다. 이명박 옹의 가정에 의하면, 소득 격차가 줄어든다. 참고로 아직까지 이해 못한 사람을 위해서 덧붙이자면, 그 격차가 줄어드는 방식은 “하향 평준화” 다. 즉, 소득 격차는 줄어들어서 상대적 빈곤 등은 줄어들겠지만 배고프긴 여전히 배가 고프고 심지어 배고픈 사람이 더욱 늘어난다는 것이다.

대표적인 ‘친이’ 의원으로 꼽히는 공성진 의원은 지난 5월 정보통신 쪽 인사들이 주최한 포럼에 연사로 참여해 이렇게 말했다고
한다. “우리나라는 반도이기 때문에 원천기술 확보보다 융합이나 복합된 기술에 더 관심을 갖는 게 좋다. IT 강국이 된
우리나라는 이젠 IT 및 소프트웨어를 일부 특정 분야로 한정시켜 별도의 산업으로 육성한다는 것은 시대에 맞지 않는다.”

난 이런 …….한 사람이 어떻게 …. 모르겠다.

반도이기 때문에 원천기술 확보보다 융합이나 복합된 기술에 더 관심을 갖는게 좋다. 이것은 일단 논리가 맞지 않는다. 반도인거랑 기술의 관심 방향이랑 뭔 상관관계가 있는가? 반도 국가인 이탈리아는 융합 기술에 관심이 있는가? 아니면 반도 국가가 아닌 나라에서만 원천기술을 확보해야 한다는 경제학 법칙이라도 있는가?

세계에서, 기술 강국이라고 부르는 나라는 전부 원천 기술 팔아서 먹고 산다. 우리가 핸드폰 살때마다 퀄컴은 앉아서 돈을 번다. 실제로 생산할 필요조차 없다. 그냥 팔리면 돈을 떼어가면 된다. 왜? 원천기술을 만들었으니까. 그게 특허이고 그게 계약이고 그게 로열티다.

복합기술? 자, 핸드폰을 예로 들자. 우리나라 핸드폰은 세계적으로 인정받는, 참 예쁜 핸드폰이다. 근데 한대 팔리면? 퀄컴이 돈 떼어간다. 억울하면 지는거다!

마이크로소프트? MS 윈도우즈의 제품 단가는 얼마일까요? DVD값 1천원, 사용 설명서 제작에 1만원, 포장 및 배송에 1만원, 아주아주 비싸게 쳐도 5만원 안쪽이다. 근데 1 패키지에 10만원 이상 수백만원까지도 간다. 그리고 그것이 전 세계적으로 수천만 카피가 팔린다. 그럼 매출이익은? 순이익은? 경상이익은? 공 의원님, 따져 볼 줄은 아십니까? 이것은, 소프트웨어 산업의 특성상 일단 한번 제작만 해 두면 계속해서 복사해서 팔면 되기 때문에 가능한 것이다.

바로 그것, 날로 먹을 수 있는 알짜배기 산업을 “별도의 산업으로 육성한다는 것은 시대에 맞지 않는다”는 의견이야말로 시대에 맞지 않는다. 공성진 의원은 빌 게이츠 아저씨의 그 엄청난 돈이 부럽지 않은가보지? 뭐…국민 세금이 자기 쌈짓돈이라고 생각하면 자기 용돈이랑 빌 아저씨 재산이랑 비슷비슷하니까 전혀 부럽지 않을 수도 있다는 생각도 든다.

외국 사람들에게 Buy Korea라고 외쳤다는 노무현 전 대통령 시절의 구호를 “매국”으로 알아듣는, 아직도 노무현 전 대통령의 그늘에서 벗어나지 못한 깜찍쟁이들. 아유…귀여워서 아주 그냥 콱 깨물어 주고 싶네.