Prunning

컴퓨터로 각종 문제를 풀어내는 알고리즘이라는 분야를 살펴보면 Prunning이라는 단어가 나온다. 사전에서 찾아보면 ‘가지치기’라는 의미지만, 실제 이 분야에서 쓰이는 의미는 싹수가 노란 놈은 먼저 잘라낸다는 뜻이다. 실제로 문제를 풀때 이런 답이 좋을까? 저런 답이 좋을까? 가능한 답 모두를 생각하지 말고 간단하게 정답이 아닌 것을 알 수 있는 답들은 미리 제거를 하고 나머지들만 가지고 이것 저것 따져보겠다는 것이다. 물론 시간 절약을 위해서 쓰는 방법. 100개 중에 하나 고르는 문제라면 뭐 하나하나 정답일지 따져 볼 수 있겠지만 100이 100번 곱해진 수만큼 가능한 답이 있으면 어느게 정답인지 찾는 문제는 아무리 컴퓨터라도 우주가 끝날때까지 못푼다에 돈을 걸어야 한다. 컴퓨터로 뭘 해보겠다는 사람들에게는 흔하디 흔한 것이 이런 커다란 문제들이다.

스쿠터가 펑크난 이야기를 해야겠다. 보통 때보다 무거워서 그런지, 맨홀을 밟아서 그런지, 바람이 원래 없어서인지. 잘 타고가다가 갑자기 흔들흔들 하면서 뒤가 푹 꺼져버렸다. 처음 겪는 상황이라 바퀴에 뭐가 붙었나 했는데 황급히 세우고 바퀴를 보니 마음 아프게 기운없이 쪼그라든 모습. 이를 어쩌나. 집에까지 끌고가는것도 큰일이지만 내일도 타야되는 스쿠터가 망가진 것이 문제요, 집 근처에 적당한 수리 센터를 알지 못하는 것도 곤혹스럽고, 게다가 단골 수리센터는 스쿠터를 밀고 고개를 넘어야 한다는 것이 걱정이었다. 저번에 고생고생해서 끌고 넘었던 기억이 다시는 경험하기 싫은 사건으로 남아있고 게다가 이번에는 바람마져 빠진 뒷바퀴라 더욱더 무겁게 느껴질텐데. 어찌해야될까. 컴퓨터가 다루는 문제 만큼은 아니지만 내 머리가 다루기에는 꽤나, 정말로 꽤나 큰 문제다.

내 스스로 고칠지 수리 센터에 맡겨야 할지, 스스로 고친다면 어떻게 고쳐야 하고 무엇이 문제인지는 어떤 방법으로 알아야 할지, 수리 센터에서 고친다면 어디로 가야하는지, 단골집에 가면 뭐가 좋을까? 집에서 가까운 곳으로 가면 뭐가 좋을까? 가격은 각각 얼마나 들고 어떤 방법이 가장 저렴하게 해결할 수 있을지. 왠지 머리가 복잡해지게 만드는 문제를 마주칠때면 내가 늘 하는 것처럼 나는 하나하나 가능한 답들을 찾아가고 우위를 비교했고, 내심 속으로는 이러한 과정을 즐기고 또 시간을 오래 소비했다. 아, 내가 고치는게 더 좋을 것 같고, 장비는 어떤 것을 사야하고, 언제 고치면 그 동안 스쿠터를 못 이용하는데 드는 비용은 어느 정도겠다. 적당히 곱하기와 더하기를 이용해서 괜찮을 것 같은 해결책을 하나 골랐고, 편히 잠들 수 있었다. 물론 이것저것 따져보느라 기운을 빼기는 했지만.

유감스러운 것은 이러한 문제가 계산으로는 측정할 수 없는 변수를 항상 포함한다는 것이다. 이번 사건도, 결국 주말에 예상치 못한 약속으로 스쿠터를 써야 할 일이 생겼고 금요일에 주문해 놓은 수리 공구가 도착하기 전에 근처 센터에 가서 고쳐야 했으며, 무려 바가지를 썼으나 울며 겨자먹기로 고쳐야했고, 도착한 수리 공구는 별 쓸모가 없어진채로 그냥 택배 상자에 담겨있다는 것이다. 괜히 머리를 너무 많이 굴렸고, 또 쓸모 없는 방향으로 굴러갔다. 이럴 것이면 그냥 금요일 아침, 집 앞에 있는 센터에 끌고 가서 적당한 돈을 주고 고치는 것이 최선의 해결책이었다. 이건 가장 단순하게 생각해서 나올 수 있는 답이다. 아니 생각을 별로 하지 않고도 나올 수 있는 답이겠다. 분석적으로 사고하는 사람들은 항상 이게 문제다.

조금 더 빨리 결정을 해야하고 그러기 위해서는 많은 수의 답들을 Prunning을 통해 빠르게 솎아내야 한다. 그리고 Prunning 한 결과로 나온 답은 별로 예상치 못한 변수가 없을 만큼 단순한 것이 되어야 한다. 판단에는 최소한의 에너지를 써서 빠르게 결정을 내려야 하고 이러한 결정은 실제 앞으로 벌어질 사실과 크게 다르지 않아야 한다. 너무 오랜기간 동안 답을 추적하고 계획을 세우면 결국 에너지를 너무 많이 쓰고 결정은 늦어지며 현실과는 더욱 더 동떨어진 것을 훌륭한 솔루션 이라고 생각하게 된다. 이를 미소지으며 뽑아들고 베게 밑에 깔고 흐뭇하게 잠이 들게 되겠지만 내일 일어났을 때의 상황은 여전히 더 안좋아지고 있을 뿐이다. 세상은 어제의 내가 계산했던 그것이 아니다.

옳은 결정을 한다는 것, 올바른 답을 찾아낸다는 것은 인간에게나 컴퓨터에게나 참 어려운 일이다. 인간은 컴퓨터가 아니기 때문에 어렵고, 컴퓨터는 인간이 아니기 때문에 어렵다. 그러므로 어설프게 분석적인 방법을 따라하기 보다는 확실한 직관에 의존하는 편이 더 나을 수도 있다. 특히, 지식의 유효기간이 더욱 더 짧아지고, 오늘과 내일이 매번 달라지는 요즘은 더 그런것 같다. 근심없는 일상이 계속되기를 원한다면 오늘과 내일만 계산하자. 모래는 우리의 능력 밖이고 도박이다. 

터널

스쿠터를 달려 학교에서 집까지 오는 길에는 두가지 방법이 있다. 하나는 폭이 넓은 큰길을 하늘을 보면서 달려오는 방법이고, 또 하나는 폭이 좁은 이차선의 도로를 터널을 지나 오는 방법이다. 어느 쪽을 좋아하냐고 누가 물어보면 나는 주저 없이 터널을 지나 오는 길을 좋아한다고 답하고, 또 실제로 그 길을 지나오는 경우가 대다수이다. 여기에 얼마전 누군가가 “왜?” 라는 질문을 했고, 나는 다음 처럼 답했던 기억이 있다.

“일단 터널로 들어가면 꽉 막힌 것 같잖아? 하늘도 보이지 않고, 양옆도 두꺼운 타일로 뒤덮여 있어서 보이는 것은 저 끝의 희미한 밝은 빛이고 뒤로는 돌아갈 수가 없는 거지. 그리고 스쿠터를 타고 달려보면 알겠지만, 웅웅웅 하는 내 엔진소리가 벽에 부딪혀 반사되는 소음에 다른 소리는 잘 들리지도 않아. 오직 앞의 밝은 빛과 다른 모든 소음을 차단시키는 엔진소리만 있고 아무것도 없는 것 같아. 그렇다고 내가 터널 속을 달리는 것을 좋아하는 건 아냐. 내가 가장 좋아하는 것은 바로 터널을 빠져나오는 순간이지. 팬으로 억지로 끌어들인 답답한 터널 속의 공기가 산 속의 청량한 공기로 바뀌고, 순간 하늘이 보이면서 세상이 펼쳐지지. 그리고 가장 드라마틱한 것은 웅웅웅 거리면서 귀를 시끄럽게 하던 소음이 ‘뻥’하면서 순간 고요해 진다는 거야. 나는 이 순간을 좋아하기 때문에 늘 터널을 지나다녀.”

그렇게 내 주위의 모든 것이 한순간에 변화하는 경험을 즐기기 때문인 것 같기도 하고. 또 한편으로 드는 의문은 과연 내가 느끼는 것 만큼의 실제의 변화인가 상상속의 변화인가? 라는 생각이 들기도 하고. 그래서 하루는 실험을 해보기로 작정하고, 여느 때처럼 터널에 진입해서, 좋아하는 터널을 빠져나오기 직전에 살며시 눈을 감고 귀로 들리는 소리에만 집중했다. (매우 위험한 짓이지만;) 기대했던 ‘뻥’하는 순간의 소리는 없었다. 앵콜 공연이 없는 것처럼 서운했지만, 나는 여전히 터널을 통해서 학교를 오간다.