부분부분 글씨체가 저런 것은 미국드라마 '히어로즈'를 감명깊게 보아서가 맞습니다. T_T
이번 포스터의 주제는 삽질 끝에 필요에 의해서 만들어 내고 전개했던 주제이다. 언젠가부터 '궁금한 것들' 과 '필요한 것들'이 연구 주제의 반씩을 차지하고 있는데, 이 주제는 그 중 후자인 편이다.
복잡계 네트워크쪽으로 광범위한 연구들이 진행되어 있지만 정작 어플리케이션 부분에서는 빠르게 발전하지는 못하고 있다. 크게 두가지 이유가 있는데, 하나는 복잡계 네트워크의 밑바탕이 되는 graph theory로는 동적 시스템을 다루는 것이 힘들다는 점 (많은 수의 수학과 쪽 논문을 보면 analytic하게는 NP임을 증명하는 것들이다), 다른 하나는 measure로 나온 값의 의미를 실용성과 연계하기 힘들다는 점이다.
지난 학기 초에 Information Retrieval 과목을 들으며 distributed storage를 어떻게 구성하는가의 문제에 부딪친 적이 있다. GFS라든지 하는 멋진 시스템의 이야기를 강연회 덕분에 만든 사람으로부터 듣기도 했지만 그건 구름 속의 이야기이다. MapReduce같은 공개되어 있는 솔루션들은 그다지 충분하지 않았다. 우선 사용이 어렵고, 다루기가 귀찮았다. 그걸 자동화 하는 방법이 없을까 생각을 하다가 현재 널리 사용되고 있는 파일 또는 데이터베이스 스토리지의 구조 분석을 하게 되었다.
여기까지만 보면 그게 물리학과 무슨 관계가 있느냐 싶긴 하지만, 그 과정에서 IR쪽 논문을 스키밍 하는 과정에서 3년쯤 전에 제안된 MEDRANK 알고리즘을 보게 되었고, 알고리즘 보다는 그 전개 방식이 마음에 들었다. 원래 (양자 역학쪽만 아니라면) 어려운 전개를 좋아하는... 이걸 구조적 분석과 복잡계 네트워크에 어떻게 연결 지어서 '써먹을 수 있는' 것을 만들지 고민하다, 돌아돌아 오게 된 결과가 이번 포스터의 내용이다.
스토리지를 만들 때, 크기가 커지게 되면 필연적으로 중간에 버퍼 스토리지를 두어야 한다. 그런데 버퍼 스토리지를 어디에 두어야 하느냐? 에 대해서는 산더미같은 ACM 논문들이 있다. 문제는 '최적화된 위치'를 알지만 그 곳에 스토리지를 두어야 할 수 없을 경우이다. 복잡한 기계 속을 들여다보지 않아도 돌아보면 이런 경우들이 많다. 가게를 열어야 하는데, 목 좋은 곳은 남아 있지를 않다. 그러면 2차 후보지, 3차 후보지들을 보게 된다. 문제는 그 후보 장소들 사이에서 "뭘 선택해야 하느냐" 이다. 복잡계 네트워크의 표현으로 하면 '허브'가 어딘지 아는데 그 허브를 사용할 수 없는 경우이다. 여기에 대해서도 많은 논문들이 있는데, 공통점은 전부 "결론이 어렵다."
포스터의 내용은 크게 두 가지이다. 앞부분은 저 질문에 답하기 위해서 복잡계 네트워크의 기본적인 이론 전개를 매우 통계물리학적 아이디어로 관점을 바꿔 '다시' 하는 것이고, 뒷부분은 그렇게 바꾼 관점에서 꺼낸 물리량을 단순화하여 새로운 measure로 제안하는 것이다.
개인적으로는 앞 부분의 전개에 훨씬 애착이 있는데 (orthogonality라든지의 계산 같은...) 연구실 사람들은 뒷 부분만 발표하라는 의견이 지배적이다. T_T 전개는 몇바닥인데 measure나 결론은 한 마디로 요약이 되기 때문이다.
이 공부의 결과를 그대로 써먹어서 프로그램을 하나 짜고 있다. 공부한 결과가 나오면 논문을 정리해야 하는데 논문 정리 전에 그걸 실제로 써 먹는다고 논문 정리를 미루는 이 부분이 문제이다. 교수님께서 이 연구의 앞앞 연구를 정리하라고 하신지 1년이 되기 전에 정리를 해야 하는데, 이미 1년은 임박해오고 마음은 또 다음 관심에 가 있으니 어쩌나 싶다.
명원 선배의 한 마디가 생각난다. "연구는 논문이 나가기 전엔 아무것도 한 것이 아니다." 라는. 정리합시다. T_T
덧) 복잡계 네트워크 관련인데 포스터 세션이 Db가 아니라 Da가 되었다. 남들 세션 교정해 준다고 정작 내 것은 못 봤구나 아이고;