2015. 3. 22. 02:36 Daily lives
파인만이 말하는 연습문제를 푸는 이유
RT) 드립도 마찬가지입니다. 점점 더 참신한 드립을 하다 보면 언젠가는 아무도 하지 않은 드립을 할 수도 있음.. pic.twitter.com/KDdDYTJtn2
— 조승연 (@Kivoloid) March 20, 2015
해당 내용을 '어디에선가 읽었었는데 어디지?'하다가 계산이론 강의록을 뒤져봤는데 발견해서 저렴하게(...) 번역해봤습니다. pdf에는 원문도 수록(저작권에 걸리진 않겠지?)
이제 두 가지 방법으로 이 주제들에 대해 이해도를 높일 수 있어요. 하나는 큰 그림을 잡은 후 집에 가서 어떤 명령들이 필요한지 생각해보면서 하나도 빠뜨리지 않도록 하는겁니다. 명령어들을 줄이거나 늘인 뒤 아무 문제나 풀어보면서 좋은 점과 나쁜 점을 이해합니다. 전 이런 성격을 가졌기 때문에 이렇게 할겁니다! 이건 제가 공부하는 방법입니다 — 작업을 해 보면서 이해하는, 다르게 표현하자면, 만들어 내면서 이해하는 것이죠. 당연히 백 퍼센트 만들어내지는 못합니다; 가야 할 방향에 대한 힌트는 취하되 사소한 부분은 잊습니다. 그런 부분들은 직접 만들어내는 것이죠.
마찬가지로 가치있는 다른 방법은 다른 사람이 어떻게 했는지 주의깊게 읽는 것입니다. 제게는 기본 아이디어를 이해했을 땐 첫 방법이 더 맞더라구요. 막히면 다른 사람이 어떻게 했는지 알려주는 책을 봅니다. 페이지를 넘기고 "아, 그 부분을 잊었네"하고 책을 덮은 뒤 계속 진행하죠. 어떻게 했는지 알아낸 뒤에는 다른 사람들이 어떻게 했는지 읽은 후 내 해답이 얼마나 멍청하며 그들의 답이 얼마나 똑똑하고 효율적인지 알게 되죠! 이 방법을 쓰게 되면 그들이 내놓은 아이디어의 똑똑함과 문제를 생각하는 틀을 이해할 수 있게 됩니다. 제가 누군가가 내놓은 해답을 곧장 읽게 되면 지루하고 재미없게 느껴지면서 모든 것이 한 눈에 들어오질 않습니다. 최소한 그게 제 방식이예요!
놀아볼만한 문제들을 책 전반에 걸쳐 제시할 예정입니다. 이 문제들을 건너뛰고 싶으실지도 몰라요. 너무 어렵다면 괜찮습니다. 몇몇 문제들은 상당히 어렵거든요! 누군가가 이미 했을텐데 이걸 할 이유가 있나 생각하실 수도 있겠죠. 당연히 이미 누군가에 의해 풀린 문제들입니다! 그래서 뭐? 재미를 위해서 하세요. 이것은 무언가를 해야 할 일이 생겼을 때 그것을 하는 방법을 익히는 요령입니다. 한 가지 예를 들어보죠. 다음과 같은 수열의 합을, 예컨대 62까지라고 해 보죠, 구하고 싶다고 해 봅시다.
1 + 2 + 3 + 4 + 5 + 6 + 7...
당연히 어떻게 하는지는 아시겠지요; 하지만 이런 문제들을 어떻게 하는지 모르는 어린 아이일 때 접하게 되면 . . . 어떻게 하는지 알아내는 것이 즐겁습니다. 자라나면서 이것 저것을 발견할 수 있다는 자신감을 기르게 되지요; 하지만 이미 누군가가 그것들을 발견했다고 해서 주눅들어서는 안됩니다. 한 바보가 할 수 있는 것은 다른 바보도 할 수 있는 것이고, 어떤 바보가 당신을 이겼다고 불편해하는게 아니라 무언가를 발견했다고 즐거워해야죠. 이 책에서 제시할 많은 문제들은 이미 여러 사람들이 풀은 것들이고, 수많은 천재적인 해법들이 개발되었습니다. 하지만 남들이 한 것들을 계속 풀어보면서 자신감을 쌓고 해의 복잡성을 쌓아가다 보면 — 단지 재미를 위해서 — 어느 날 뒤돌아보며 아무도 풀지 못한 문제를 푼 자신을 보게 되겠죠! 이렇게 컴퓨터과학자가 되는 겁니다.
제 경험에서 우러나오는 사례를 하나 보여드릴께요. 위에서는 자연수를 더하는 문제를 말했죠. 여러 해 전 저는 이런 문제들을 일반화하는 방법에 관심을 갖게 되었습니다: 제곱수, 세제곱수, 그리고 그 이상의 지수들에 대해서 $m$까지 $n$승들의 합을 구하는 공식을 찾고 있었죠. 결국엔 여러 흥미로운 관계식들을 찾아내면서 문제를 깼습니다. 끝났을 땐 각 $n$의 합에 대해서 숫자들을 이용한 식이 나왔지만, 그 숫자들에 대한 식은 구할 수 없었죠. 흥미로운 점은 그 숫자들이 $n$=13까지는 정수였다는 것입니다 — 13에서는 아니었죠 (691을 조금 넘었습니다)! 매우 놀랍죠! 재미있기도 하구요.
어쨌든 이 숫자들이 1746년에 이미 알려졌다는 것을 시간이 지난 뒤에 알게 되었습니다. 제가 1746년까지 따라잡은 것이죠! "베르누이 수"라고 불리더군요. 구하는 식은 상당히 복잡하고 간단히 말하면 알려지지 않았습니다. 저는 이전 것으로부터 다음 것을 구하는 점화식은 구할 수 있었지만, 임의의 숫자를 찾지는 못했습니다. 이런 식으로 살다가 1889년에 처음 발견된 것을 찾고, 다음엔 1921년에 발견된 것을 찾고 . . . 결국엔 제가 찾은 날과 같은 날 발견된 것을 찾았습니다. 제가 이런 과정에서 큰 즐거움을 느끼기 때문에 비슷한 방법으로 즐거우실 분들이 계실 거라 생각해서 즐길 문제들을 제시해드리는 겁니다.(물론 사람들은 각자의 방식으로 즐거움을 느끼죠) 제가 드릴 말씀은 두려워하지 말고 누군가 이미 했다고 피하지 말라는 겁니다. 옛 것들을 많이 연습해보지 않고는 새 것을 발견할 수 없을 뿐더러, 재미있는 관계들과 흥미로운 것들을 갖고 놀면서 많은 재미를 느끼실 거라는 겁니다. 그리고 다른 바보가 한 일을 읽게 되면 그게 얼마나 어려운지 (혹은 아닌지), 그가 무엇을 하려는지, 무엇이 그의 문제인지 등등을 알 수 있게 되지요. 답을 읽기 전에 그것들을 가지고 장난을 쳐 봐야 훨씬 쉽게 이해할 수 있습니다. 이 모든 이유에서 한 번 시도해보시는 것을 추천합니다.
'Daily lives' 카테고리의 다른 글
YITP School (0) | 2016.03.06 |
---|---|
이런저런 이야기 (0) | 2015.09.08 |
수식 렌더링 실패 관련 (0) | 2015.03.04 |
근황. 짤막하게 (0) | 2015.02.24 |
영원의 하루 (0) | 2015.01.01 |