문득 이런저런 생각이 떠오를 때가 있다. 그럴 때마다 플래너에 기록해 놓는 편이다. 내가 쓰는 프랭클린 플래너 CEO 트윈링은 매달 조그만 한권의 수첩을 쓰도록 되어있는데, 작년부터 쓰기 시작해서 책상 한켠에 어느 덧 17권이 쌓여있다. 온라인 버전의 일정관리나 메모 툴도 물론 유용하고 더 편한 면도 있는 것 같기는 한데, 아직 완전한 ubiquitous 환경이 갖추어 지지 않는 (나의) 환경에서는 오프라인이 최적인 것 같다. 노트를 해 놓은 것 중에 생각을 좀더 정리해보고 싶은 내용들이 꽤 된다. 종강도 한 마당에 생각 정리 좀 해보아야겠다. 논문은? 응?
5/12 메모에서 발췌.
Randomness in Life
고인 물이 썩듯 삶에도 적절한 randomness 가 필요하다. Randomness는 이질감과 혼란을 가져다 주기도 하지만 각성과 refreshment 를 제공해 주는 고마운 존재이기도 하다. 이러한 randomness 의 중요성을 반영하고 있는 이론이 바로 Evolutionary Computation (EC) 이다. EC는 문제 해결에 있어 유전학적 요소들을 도입하여 접근하는 하나의 해답을 찾는 서치 과정이라 할 수 있다. 문제는 곧 ‘환경’이고, 가능한 해답의 후보들은 ‘Individual’, 해답의 질은 ‘Fitness’ 로 표현된다.
광활한 공간 속에서 우리는 나름대로 최적의 해답을 찾아내려 노력하고 있다. 내가 보는 세계에서의 최선은 ‘local optimum’으로, 누구나 개인의 local optimum 을 가지고 있다. 그러나 세상에는 내가 알고 있는 optimum 보다 훨씬 뛰어난 global optimum 이라는 것이 존재할 가능성이 농후하다. 그럼 어떻게 내가 안주하고 있는 local optimum 을 버리고 global optimum 을 찾아 (아무 보장없이) 떠날 수 있을까?
EC에서는 진화에서와 마찬가지로 mutation 과 crossover 등의 요소를 통해 현재의 세대에서 다음 세대로 넘어가는 과정에서 randomness 를 부여한다. Mutation 은 그야말로 ‘뜬금없이’ 바뀌는 것이다. 내가 가지고 있는 답이 100010 인데 100110 으로 바뀌는 것이 Mutation 이다. 엉뚱한 생각, 이유없이 뒤집어서 생각하기 등이 내 생각에 mutation 을 발생시키는 방법이 아닐까. 반면 crossover 는 10 과 01 이 교배를 하여 11 과 00을 낳는 것이다. 다른 사람의 생각과 내 생각을 조합해 보고 나눠보고 짜맞춰 보는 것과 유사하다. 이와 같이 나의 서치 공간에 randomness 가 추가되면 나의 local optimum 을 뛰어 넘어 global optimum 을 발견할 가능성이 높아진다.
물론 보장된 것은 없다. 아무 것도 안 나올지도 모른다. 그러나, 그냥 그대로인 내가 될 것인가, 아니면 한번 발전을 위한 몸부림을 쳐볼 것인가를 놓고 하나를 선택하라면 나는 그래도 한번 도전해 보는 편이 낫지 않을까 싶다. 그 하나의 도전이 두달 후 시작된다.