소프트웨어 이야기

구글 검색기술과 페이지랭킹

이현봉 2007. 1. 10. 18:59
작년말 발표했던 구글 검색기술과 페이지랭킹이다.

참고자료들은 프리젠테이션에 나타낸 것과 같다.
wikipedia 가 매우 좋은 출발점이라 생각한다. 
모든 참고자료들은 인터넷에서 구할 수 있다.

대부분의 논문들이 그렇듯이 세르게이와 페이지의 글들도
구글기술의 세부는 밝히지 않고 있다. 그렇지만, 엔지니어링에서는
종종 이런 세부기술의 우월성에서 승부가 판가름 난다.
가령 생각없이 짠 프로그램과 성능이 뭐라는 것을 알고
짠 프로그램의 성능 차이는 1000 : 1 나는 경우도 종종 있다.
내 경우 30대 초반에 spatial convolution이 많이 필요해서
기존 라이브러리에 있는 것을 사용했는데 한번 돌리는데
몇 시간이 걸리곤 했다.  도저히 졸업할 것 같지 않아
이를 FFT로 구현했는데, 이것으로 돌리니 몇 분안에 끝나게
되었다.  Convolution을 FFT로 구현하면 빠르다는 것을
당연히 알고 있었는데도 게을러서 일년을 넘게 참고 쓰다가
못 참을 정도가 되어서야 일을 벌렸다.  

"If it ain't broke, why fix it" 과 "in search of excellence"
간의 갈등이 아니라, 나의 앞의 행동은 미련함 그 이상
그 이하도 아니었다.   

나는 이 발표자료에 현재 인터넷에서 찾을 수 있는 자료보다
더 상세하게 구글 검색 기술과 페이지랭킹 기술을 설명하려
했다. 구체적으로 어떻게 구현하였을 가 궁금하기도 하고 또
감이 들기도 하지만, 이 정도에서... 

주말 즈음 간단히 페이지랭킹 구현한 것을 올리겠음.

* 이 자료는 마음대로 써도 좋음.  그렇지만 가능하면 출처를
밝히는 것이 에티켓임.