피로도
전에도 한 번 쓴 적 있는 거 같은데
대략 하루의 피곤한 정도는 communication을 한 정도랑 비례하는 것 같다.
피로도 ~ 받은 메일 개수 * 보낸 메일 개수
오늘 받은 메일 23개, 보낸 메일 14개. 피곤...
by 호빵 | 2009/01/29 16:09 | 트랙백 | 덧글(0)
사상누각
최근 수학 복습 프로젝트에서 Linear Algebra 책을 다른 책 보면서 힘들 거 같아서 MIT OpenCourseWare 강의로 대체를 하고 있다. 그런데 아무리 학부생 강의라고 하지만 Matrix multiplication에 50분 강의에 절반 가량을 할애한다. 헉... 그런데 더 웃긴 건 Matrix Multiplication에 4 가지 방법 (혹은 뷰)가 있고 내가 아는 방법은 단 하나!!!
그러고 보니 이전 대학원 때 Linear Algebra 책을 공부했던 게 생각난다. 절반 이상 뭐 이딴 걸 이렇게 많은 장수를 할애하지? 고등학교 때 다 배웠던 거잖아? 역시 우리 나라 수학이 짱이야. 하고 우습게 보다가 나중 부분을 하기 힘들었떤 기억이 난다. 가우스 소거법, 행렬 곱셈 등 고등학교 때 정석으로 모두 다 배웠던 거지만 오히려 그런 것들이 독이 돼어서 "아는 줄 착각"하게 만든다. 사상누각이라고 하면 좀 심하겠지만 그런식으로 해서 대학원이나 그 이후의 고급 내용을 이해하는 데 오히려 방해가 되는 거 같다. 이 겉거죽을 긁어내는 작업이 참 힘들다.
by 호빵 | 2008/12/30 15:30 | 트랙백 | 덧글(0)
데이트 장소 변천사

연애 초반: 까페, 레스토랑
연애 중반: 맛집
연애 종반: 밥집
결혼 후: 마트

by 호빵 | 2008/12/25 17:52 | 트랙백 | 덧글(0)
Probability and Computing

이 책은 현재 보고 있는 Randomized Algorithm의 보조 겪으로 보고 있는 책이다. 사지 않았던 이유 중 하나는 amazon의 review가 상당히 별로였다. 그런데 우연히 빌려서 보고 있는데 이 책은 전혀 나쁘지 않다. 설명이 너무 없고 theorem들 위주로 되어 있다고 불평하는 사람도 있고 이 책에 있는 내용은 다른 책(Motwani)도 다 있으니 차라리 그 책을 사라는 독자도 있는데 내가 보기엔 이 책도 그 책에 못지 않게 깔끔한 책이다. 이 책의 특징을 띄엄띄엄 본 상태에서 말하자면
- 설명은 적지만 어떻게 보면 읽기가 더 편하다. 훨씬 덜 dense 하다. 전개가 깔끔하다.
- 말은 적지만 실제 내용은 오히려 훨씬 더 자세하다.
- 결론적으로 Motwani의 책에 비하여 적은 내용을 더욱 자세하게 다뤘다고 말할 수 있을 거 같다.
예를 들면 Motwani의 책을 읽고 나서 정리가 안된 내용 중의 하나가 Chernoff bound 이다. 쓰는 장소에 따라 그 폼과 증명이 틀려서 상당히 햇갈려 하고 있었는데 다음 한 줄을 보고는 카~
"While the value of t that minimizes E{e^tX} / e ^ta gives the best possible bounds, often one chooses a value of t that gives a convenient form. Bounds derived from this approach are generally referred to collectively as Chernoff bounds."
!!!
이 책을 좀 보다 보니 또 지름신이 강림하신다... 흐... 참자... 그냥 보조 교재로 빌려서 보고 필요한 내용만 정리해 놓자...
by 호빵 | 2008/12/23 17:37 | | 트랙백 | 덧글(0)
Randomized Algorithms

이 책은 한국에서 Amazon으로 산 것으로 기억 난다. 꽤 오래 가지고 있었던 것 (석사 때 언젠가 산 듯) 같은데 항상 봐야지 봐야지 하고 있다가 올해 봄에 시작을 하게 되었다. 처음 한 챕터를 읽으면서 바로 '바이블 격이 될 만한 책'이라는 느낌이 확 들었다. 왜, 무슨 동기로 샀는 지는 기억이 안나는데 현재 내가 부족하다고 느끼던 부분을 시원하게 긁어주는 그런 느낌이었다. 1-epsilon 이 들어간 증명이나 각종 guarantee들을 해주는 논문들을 보면 분명 내가 아는 확률들을 쓰고 있는데 전혀 다른 나라의 언어로 말하고 있는 느낌이 들 때가 많았다. 그리고 다음과 같은 황당한 질문들에 대한 답을 보면 정말 어떻게 저런것들을 증명하나... 하는 생각을 자주 했다.
- 이 문제에서 어떤 randomized algorithm도 최소 얼마의 시간이 걸린다.
- 이런 이런 문제에서 이런 이런 성질을 만족하는 답이 존재한다.
- 어떤 deterministic 알고리즘도 최소 이 정도의 시간이 걸린다. 우리 알고리즘은 이 만큼 잘한다.
젠장...&*#%#$%#*

이 책은 여러 radmonized algorithm들에 자주 쓰이는 기법, 중요한 아이디어들을 grouping하여 중요한 알고리즘과 예를 보여주는데 Textbook의 확률과 실제 논문에 쓰이는 것들의 갭을 이어준다고나 할까. 아주 약간 예를 들면 교과서에 (정석 레벨) 에서 다음과 같은 기본을 배운다고 치면
- 까만공 3, 빨간 공 4에서 두 개를 뽑을 때 두 개 다 빨간 공일 확률
이 책에서 어떻게 다음과 같은 질문에 접근하는 지를 설명해 준다.
'm개의 공을 n개의 bin에 랜덤하게 던질 때'
- 매우 높은 확률로 어떤 bin도 k개 이상의 공을 가지진 않는다.
- 빈 bin의 갯수의 평균(expectation) 은 얼마이고 이 값에서 얼마 이상 벗어날 확률은 매우 작다.

내가 무척 어렵다고 생각했던 논문들이 어려운 것도 있겠지만, 그 이전에 내가 그런 논문을 읽을 기본이 좀 덜 되 있었다고나 할까... 그런 생각이 든다. 어떤 기본 가락이랄까, 많이 쓰는 toolkit들 자체를 모르고 있었던 듯한 느낌.

책을 보는 건 좋은데 문제는 시간이 정말 오래 걸린다는 것이다. 책은 여러 개념들을 아주 자세하게 설명하고 있고 어려운 theorem 등을 원래 논문보다 좀 더 간략하게 하여 보여주는 데, 그렇다고 절대 만만치 않다. 자세하지만 아주 dense하다. 우연히 옆의 포닥이 Probability and Computing이라는 책을 가지고 있어서 빌렸는데 지금 내가 지금 1/4 조금 넘게 본 상태에서 보니 웬만한 그 책의 목차에 있는 내용을 다 커버했다. -.-;; 가끔 그냥 증명이 없는 단 한줄짜리 기술이나 corollary, 또는 "Clearly,..." 이런 문장 하나가 빡 돌게 만든다. 같이 공부하는 사람이 있는 것도 아니고, 웹에 답이 있는 것도 아니고... 가끔 웹에 강의 노트에 생략된 부분을 좀 더 보충해 놓은 경우를 찾는 경우가 있는데 이 때 보면 핫 이런 간단한 것을 이럴 때도 있지만. 허거덕... 하는 경우도 많다. 정확하게 '정석 II' 처음으로 보는 느낌이 들고, 그 정도의 시간이 들 것 같다. (정석은 해설집이라도 있었지. 쩝...)

증명을 따라 가기 어려운 경우가 많아서 (이해는 된다. 중요한 개념 설명에 그런 것들까지 세세하게 하면 책 두께가 흘...) 별 다섯개에 다섯개는 주기 힘들 것 같다. 사실 지금 방금 5.5 The Lovasz Local Lemma의 4페이지를 근 며칠 만에 끝내고, 정말 또 하나 긴 터널을 지난 느낌이 들어서 이 글을 그적거리고 있었는데 아마존에 가서 review를 읽다 보니 혼자가 아니라는 느낌이 든다.

Overall, the authors explain core concepts, the examples and the possible applications well. However, the readibility of their proof is far from that of the above three. Honestly some proofs should be re-written completely.

For example, in page 116, they try to use the induction method to prove Lova(')sz Local Lemma. After reading that page many times, I still didn't understand the structure of their proof.

I was TA for under-grad level algorithm course, got A+ in advanced Calculus II and A in intro. to PDE (both in under-grad level), really knew something about induction method and a little bit about algorithm. I am not smart, but far from stupid.

In the end, I google the internet and found a 3-page proof for the same thing. That's easy to catch in few minutes, and then, I understand the 1-page proof in the book. Is it ironic?

푸할할... 이게 사실 내가 정확하게 밟은 길이었다. induction으로 증명을 했는 데 그 구조가 정확하게 파악이 안돼 해매고 있었는데  빌린 'Probability and Computing'에 아주 자세하게 나와 있어서 그 챕터를 다 읽고 다시 봤더니 이해가 됐었다. 이러니 한 챕터 시작하기가 겁난다.

다음 review가 정확하게 이 책을 요약한 것 같고 약간의 희망을 준다.

 An enciclopedia for randomized algorithms., July 20, 2001 The book has an exoustive amount of algorithms. Not everything is proved. Sometimes the proof contains to few steps to be understood. There are many algorithms explained well. After reading this book it is easy to create your own randomized algorithms.
by 호빵 | 2008/12/07 17:22 | | 트랙백 | 덧글(0)
아는 사람들끼리 친구
가끔 아는 사람들끼리 서로 아는 걸 발견하는데 오늘 facebook에서 내가 각자 전혀 다른 루트로 아는 4명이 사람이 한 데 모여서 찍은 사진을 보니 좀 황당하다.
인물 1: 친구의 ex (여친)
인물 2: 같은 기숙사에 있었음
인물 3: 지나가다 몇 번 본 녀
인물 4: 인물 1 친구와 전혀 상관 없는 다른 친구의 현 여친

사진 발견 경로: 인물 1의 친구의 facebook wall에 누가 메세지를 남겨서 클릭해 봤더니 인물 3으로 연결됨. 문제의 사진 발견 후 한참 내가 어떤 경로로 왔는 지 햇갈림.
by 호빵 | 2008/11/28 05:21 | 트랙백 | 덧글(0)
책 큐

처음 컴퓨터에 관한 책들을 많이 읽었던 때가 병특때였다. (사실 그 이전엔 뭔 제대로 읽은 책이 없다). 회사에서 언어, 시스템 상관없이 무조건 우리들을 팔았기 때문에 닥치는 데로 일을 해야 했고 그 때마다 또 새로운 책들을 아주 빠른 시간에 독파해야 했다. C++ Language, Windows Programming, MFC 책 부터 시작해서 pattern, Unix, network, Java, shell, Oracle, perl, cgi 등등 정말 많이, 아주 빨리 읽어 바로바로 써야 했다. 바이블 격으로 정독 하고 두 번 세 번 읽고 참조하던 책도 있고 그냥 관련 부분만 재빨리 찾아보기도 했고, 사서도 보고, 빌려도 보고 그랬다.

어느 정도 짬밥이 들고 난 이후에도 뭔가 부족하다고 느끼던 부분이 컴퓨터 전공 서적이었다. 프로그래밍에 관한 한 누구한테도 뒤지지 않는 다고 자부하게 된 후에도 정식으로 각종 텍스트들을 공부하지 않은 건 컴플렉스로 남아 있었는데 이런 책들을 쭉 공부한 시기가 대학원 들어갈려고 공부할 때. 어차피 컴퓨터로 할 거 기본 서적들을 읽자고 한 서너달 동안 도서관에 다니면서 OS, 컴퓨터 구조, Algorithm, Automata, AI, Graphics 등 각종 기초 서적들을 쭉 봤다. 그 중 특히 어려웠던 게 컴파일러로 기억이 난다.

박사 과정에 들어와서 요새 내 책장에 쌓이고 있는 책들을 보니 전부 수학책이다. 논문들을 읽다 보니 뭔가 부족한 것들을 있었는데 근본적인 뭔가를 채우려고 하나씩 둘씩 사다 보니 결국 수학류 책들로 선반이 가득차 버렸다. 문제는 이 책들은 시간이 정말 오래 걸린다는 거다. 이 놈들을 정복하지 않는 이상 이해는 해도 그런 논문들은 쓰기 힘들 거 같은 느낌이 강하게 들고  읽지 않고 졸업을 하면 점점 더 읽기 힘들어 질 거(사실상 안 읽을 걸)라는 생각이 든다. 현재 큐에 쌓이 놈들을 정리해 본다.
- Randomized Algorithm (***)
- Probability and Measure (***)
- Concrete Mathematics (***)
- Approximate Algorithm (***)
- Linear Algebra and Its Applications (**)
- Numerical Optimizations (**)
- Contemporary Abstract Algebra (*)
- The Elements of Statistical Learning (*)
- Pattern Recognition and Machine Learning (*)
- Applied Statistics and Probability for Engineers (**)
- Principles of Mathematical Analysis (**)
여기에 내년에 나올
- Complexity Theory: A Modern Approach (*)
- Machine Learning: A Probabilistic Approach (**) 까지 합하면... ㅎㅎㅎ 한 몇 년 걸리겠다.

by 호빵 | 2008/11/26 19:49 | | 트랙백 | 덧글(0)
code search
오늘 검색하다 보니 코드 검색도 있더라는...

http://www.google.com/codesearch?q=printf&hl=en&btnG=Search+Code

    22: #undef printf

    26: int
printf (const char *format, ...)
{
   253:   def printf( *args )
stream_check!
@dest << sprintf(*args)
nil
github.com/payalgupta/todo-list.git - MIT - Ruby - More from todo-list.git »
   137: printf ("%hhu", 257) = 1
printf ("%hu", 65537) = 1
--- Should be no further output. ---
EOF
cmp - ${common_objpfx}stdio-common/tst-printf.out > /dev/null 2>&1 ||

by 호빵 | 2008/11/20 08:52 | 트랙백 | 덧글(0)
화장실에 책
어렸을 때 부터 화장실에 갈 땐 항상 책 한권씩을 가져갔던 것 같다. 여기에서도 화장실에 작은 독서실을(변기 앞에 작은 탁자 + 영어 사전 + 책 몇 권 ㅋㅋ) 하나 셋팅해 놓았는데 개인적으로 아주 마음에 든다. 나름 영어 공부 해볼려고 회화책, 단어책 이런 것들도 놓아 봤는데 역시 술술 읽히는 책이 짱! 최근에 David Suzuki의 자서전을 하나 끝냈는데 어떨 땐 한 두문장, 어떨 땐 두세 페이지, 이렇게 거의 일년이 걸린 거 같다. 전공 서적을 제외하고 완독한 책으로는 겨우 세번째 정도 되나? (첫번째는 해리포터 1권, 두번재는 다빈치코드).

David Suzuki는 캐나다에서는 꽤 알아주는 환경운동가이다. UBC에서 교수도 하고 TV에 과학 다큐 프로그램 같은 것들도 진행하고 이후에는 각종 환경 운동의 중심에서 활동하는 사람인데, 역시나 미국 사람들한테 물어보면 모른다. 나도 전에 랩메이트가 강연회 갈래? 해서 뭐 저런 사람 강연회를 다 가나... 했었다. 어느 날 bookstore에서 누구 만날 약속이 있어서 안에서 기다리고 있었는데 우연히 그 날 그가 거기에서 사인회를 하고 있는게 아닌가. 아. 들어본 기억이 나서 그냥 사서 사인을 받았고 다 읽을 거라곤 생각치 않았는데 지금 보니 내 여러 가지 이념에 꽤 많은 영향을 미친 것 같다. (사실 밴쿠버 살아서 이런 영향을 받게 되었다고 해도 틀린 말은 아닌 듯)


처음에 그가 어린 시절 받았던 인종 차별 얘기부터 확 빠져들어서 어떻게 노력해서 학생 회장까지 하게 되고 연구에 빠진 교수 생활을 하다가, 다시 인디언, 환경등의 문제에 관심을 갖게 되고 어떻게 노력을 해왔는가...가 간략한 요약인데 그 역동적인 삶이랑 자연주의적 관점에 공감이 간다. 책을 읽을 때에는 이것 저것 쓸 말이 정말 많았는데 역시 글로 쓴다는 건 나에겐 꽤나 많은 노력이 필요한 일이다. 결국 쓰고 싶었던 수십가지 얘기 중 하나만 간략하게 소개하는 걸로 책 하나 읽은 기록. (기억나는대로 ㅎㅎ)

Severn suzuki는 David suzuki의 딸로 다음 비데오는 1992년 UN 무슨 환경 summit에서 각국 대표들 앞에서 12살의 나이에 연설을 하는 모습이다. 자서전에 그 장면에 관한 일화가 나오는데 처음에 UN 환경 summit이 있어서 David도 NGO로서 참여를 할 준비를 하고 있었다. 그런데 그 얘기를 듣고 Severn이 자기 elementary school에서 자기가 만든 환경 클럽도 참여하고 싶다는 것이다. 큰 NGO 단체들도 각국 대표들이 모여서 실질적인 회의를 하는 장소에는 못 들어가고 주위에서 으쌰으쌰 집회하는 겨우 그 정도인데 하물며 애들이 갈 수라도 있을리가 없어서 David도 그냥 웃고 넘겼는데, 이 꼬마들이 정말 갈려고 마음을 먹고 각종 모금 운동을 하는 것이었다. 50달러, 100달러 이렇게 모으다가 결국은 소문이 나서 어느 사업가가 큰 돈도 기증하고 해서 이 꼬마들이 결국은 브라질에 학생 두 명과 인솔교사 한 명이 갈 돈을 모으고야 만다. 그런데 간다고 해서 뭐 이미 세계 각구의 UN 대표들이 참석하는 여러 회의에 이런 꼬마들이 들어갈 수 있을리가 없다. 각국 대표가 묵는 비싼 중심가에서 멀리 떨어진 변두리에 숙소를 구하고는 고작 길거리에서 자기네들이 만든 전단을 나눠주고 자기네들이 말을 하는 게 할 수 있는 최선... 그런데 마침 Severn이 회의장 근처 길거리에서 사람들에게 연설을 하고 있었는데 어느 UN 관계자가 그 모습을 보고 기억에 남았었는데 마침 프로그램 순서에 펑크가 나서 그는 Severn에게 그 대신 연설을 하겠냐는 파격적인 제안을 하게 된다. 망설임없이 그 제안을 받아들이고 회의장에 가는 택시 안에서 연설문 작성하고 밖에서 한 번 읽고는 그 12살 꼬마는 각국 대표 앞에서 연설을 하게 된다. 연설은 아래 비디오를 보면 알 것이고 연설이 끝나자 각국 대표 (Canada 대표 포함)들이 이 꼬마에게 악수를 청하고 지원을 약속하고 나중에 컨택을 했다고 한다. 내가 나중에 우연히 매 해 UN에서 그 해 가장 영향력 있었던 사람들 리스트를 뽑은 리스트를 봤는데 1992년엔 Severn Suzuki의 이름이 들어 있었다.

by 호빵 | 2008/11/17 05:17 | | 트랙백 | 덧글(0)


< 이전페이지 다음페이지 >