-
알고리즘, 인생을 계산하다일상/book 2018. 6. 7. 19:58
<알고리즘, 인생을 계산하다/브라이언 크리스천·톰 그리피스/청림출판>
카르페 디엠.
1989년 영화 <죽은 시인의 사회>에서 가장 기억에 남을 한 장면에서 로빈 윌리엄스는 그렇게 촉구한다. "여러분, 현재를 즐겨요. 자기만의 인생을 살아요."
대단히 중요한 조언이다. 또 어느 정도는 자기모순이기도 하다. 현재를 즐기는 것과 일생을 즐기는 것은 서로 전혀 다른 과제다. "내일 당장 죽을 수도 있으니, 먹고 마시고 즐겨라"라는 말도 있지만, 아마 정반대의 말도 염두에 두어야 할 것이다. "지금도 늦지 않았다. 당장 새로운 언어나 악기를 배우기 시작하고, 낯선 사람에게 말을 걸어라. 인생은 길며, 긴 세월 동안 어떤 즐거움을 만끽하게 될지 아무도 모르니까." 즐기는 경혐과 새로운 경험 사이에 균형을 찾고자 할 때 가장 중요한 점은 그것들을 얼마나 오래 즐길 예정인가 하는 것이다.
―p.69
수익을 추구하는 제약회사와 약을 공급받는 의료계 양쪽은 탐색/이용 트레이드오프의 경쟁하는 수요에 끊임없이 직면한다. 회사는 연구 개발에 투자하여 신약을 찾아내고 싶지만, 한편으로 수익이 나는 현재 제품 공급선을 계속 확대하고도 싶다. 의사는 환자가 필요로 하는 치료를 받을 수 있도록 나와 있는 최고의 약물을 처방하고 싶으면서도, 더 나은 약물을 내놓을 수도 있는 실험적인 연구를 권하고 싶어 한다.
양쪽 사례에서 눈에 띄는 점은 적절한 기간이 어떠해야 하는지가 명확하지 않다는 것이다. 어떤 의미에서 제약회사와 의사 모두 막연한 미래에 관심을 갖고 있다. 회사는 이론상 영구히 존속하고 싶어 하면서, 의학적 측면에서 아직 태어나지 않은 이들을 도울 수 있는 돌파구를 마련하고 싶어 한다. 그러면서도 현재에 더 높은 우선순위를 부여한다. 오늘 치료받는 환자에게 일주일 뒤나 혹은 1년 뒤에 치료받을 환자보다 더 높은 가치를 부여하며, 수익 측면에서도 분명히 그렇다. 경제학자들은 미래보다 현재에 더 높은 가치를 부여하는 이 개념을 '할인'이라는 말로 표현한다.
이전 연구자들과 달리, 기틴스는 다중 슬롯머신 문제를 그런 관점에서 접근했다. 그는 일정한 기간이 아니라, 할인된 형태로 끝없이 이어지는 미래에 걸친 보상을 최대화하는 것이 목표라고 생각했다.
―p.75~76
기본 원리는 이렇다. 물건들을 정렬하는 데 쏟는 노력은 나중에 그것들을 검색하는 데 들어갈 노력을 줄이기 위한 선제공격일 뿐이다. 정확한 균형은 그 상황에 정확히 어떤 요인들이 관여하느냐에 따라 달라져야 하겠지만, 정렬이 앞으로의 검색을 뒷받침해야만 가치가 있다는 생각은 우리에게 놀라운 무언가를 말해준다. 차라리 어질러라.결코 검색하지 않을 것을 정렬하는 건 순전히 시간 낭비다. 결코 정렬하지 않을 것을 검색하는 건 지극히 비효율적이다. 물론 앞으로 쓸지 안 쓸지를 어떻게 미리 추정하느냐 하는 것이 문제다.컴퓨터과학은 어지름의 위험과 정돈의 위험을 정량화할 수 있고, 각각의 비용을 동일한 화폐, 즉 시간으로 측정할 수 있음을 보여준다. 무언가를 정리하지 않고 놔두는 것이 나중으로 미루는 행동이라고 생각할지도 모르겠다. 그 화폐를 미래의 자신에게 넘기는 것과 같고, 미래의 자산은 우리가 선불로 내지 않는 쪽을 선택한 탓에 지연 이자까지 물어야 할 것이라고 말이다. 하지만 전체적으로 보면 이야기는 그보다 미묘하다. 때로는 어지름이 단지 쉬운 선택이 아닐 때도 있다. 그리고 최적 선택일 수도 있다.―p.135~137
많은 동물 사회에서는 자원과 기회가 희귀하며, 어떤 식으로든 누가 그것을 얻을지 결정해야 한다. 짝짓기 기회나 좋은 풀밭을 발견할 때마다 매번 서로 치고받고 하는 것보다는 미리 서열을 정하는 편이 덜 폭력적이다. 비록 우리는 서로를 향해 발톱과 부리를 들이대는 동물들을 볼 때 움찔할지 모르지만, 생물학자들은 '쪼는 순서pecking order'를 폭력을 회피하는 폭력이라고 보는 경향이 있다.
쪼는 순서는 근본적으로 계산문제를 싸움으로 해결하는 방식이다. 말이 나온 김에 덧붙이자면, 이 때문에 농장에서 닭들이 다치지 않도록 하겠다는 좋은 의도로 닭들의 부리 끝을 잘라낸다면, 역효과가 날 수 있다. 개별적으로 싸움을 통해 우열 관계를 정할 수단이 제거되었기에, 닭들이 어떤 정렬 방식이든 선택하기가 훨씬 더 어려워진다. 그 결과 무리 내의 적대적 행동이 사실상 더 증가하는 사례가 많다.
컴퓨터과학의 관점에서 동물의 행동을 살펴보면 몇 가지 시사하는 바가 있다. 한 가지는, 집단이 커질수록 개체가 맞닥뜨리는 적대적인 대결의 횟수는 상당히―적어도 로그 시간, 그리고 아마 2차 시간에 따라―증가할 것이라는 의미다.
―p.150
우리는 스스로를 정렬하려는 집단의 욕망에 수반되는 두 가지 단점을 살펴보았다. 첫째, 대결 횟수가 최소한 선형로그 양상을 띠고, 집단이 커질수록 모두가 살면서 더 많이 싸우게 된다. 둘째, 모든 경쟁자는 계속 변동하고 있다는 다른 모든 이들의 지위를 계속 지켜보아야 한다. 그러지 않으면 불필요하게 더 많이 싸우게 될 것이다. 그러면 몸뿐 아니라 마음도 고생하게 된다.
하지만 꼭 그런 식으로 할 필요는 없다. 희생 없이 질서를 구축하는 방법들도 있다.
이를테면, 한 스포츠 경기에서는 단 한 번의 대회가 열리는 기간에 수만 명의 경쟁자들이 완전히 정렬된다. 유일한 단서 조항은 대회에 소요되는 시간을 가장 느린 경쟁자를 기준으로 정해야 한다는 것이다. 이 스포츠 경기는 바로 마라톤이며, 마라톤은 중요한 점을 시사한다. 경주는 싸움과 근본적으로 다르다는 것이다.
권투 선수와 스키 선수의 차이, 펜싱 선수와 달리기 선수의 차이를 생각해보자. 올림픽 권투 선수는 시상대에 오르기까지 뇌진탕 위험을 O(logn)번, 대개 4~6번 겪는다. 더 많은 운동선수들이 경기를 뛸 수 있도록 한다면, 모두의 건강이 위험에 처할 것이다. 하지만 스켈레톤 선수나 스키 점푸 선수나 하프파이프 선수는 경기장의 크기에 상관없이, 중력과 일정한 횟수의 내기를 하면 된다. 펜싱 선수는 O(logn)번 상대방의 손에 내맡겨지지만, 마라톤 선수는 단 1번의 경주를 견뎌야 한다. 성적을 단순한 수로 측정할 수 있다는 것은 순위를 상수 시간 알고리즘으로 나타낼 수 있다는 의미다. 이렇게 서수에서 기수로 옮겨가면, 짝지어서 비교할 필요가 없이 자연히 정렬이 된다.
―p.152~153
망각을 생각하는 자연스러운 방식은, 그저 우리 마음에 공간이 부족하기 때문이라는 것이다. 인간의 기억에 관한 앤더슨의 새로운 설명에서 배경이 되는 핵심 개념은 저장이 아니라 조직화가 문제일 수 있다는 점이다. 그의 이론에 따르면, 마음은 본질적으로 기억 용량이 무한하지만, 우리가 기억을 검색할 시간은 유한하다는 것이다. 앤더슨은 임의의 길이를 지닌 하나의 긴 서가가 있는 도서관에 유추했다.―p.197
오랜만의 북리뷰다.
<말과 사물>이라는 어려운 책을 읽고 난 뒤에 아직 리뷰를 마무리하지도 못했는데, 마냥 미뤄둘 수가 없어서 먼저 이 책의 리뷰를 정리한다. 사실 이 책은 완독한 책은 아니고 절반을 채 못 읽은 상태에서 덮은 책이다. 더 읽고 싶기는 했지만 나보다 이 책을 더 필요로 할 것 같은 후배녀석에게 일단 이 책을 권했고, 나는 이 책이 아니더라도 읽어야 할 책이 있었기에..요새 통계학에 관심을 갖고 있다. 딥러닝이니 머신러닝이니 빅데이터니 하는 기술용어들이 하도 자주 등장하는 요즘 세태에 수학적인 사고에 부족한 나는 그나마 통계학이라도 기웃거려 보고 싶었지만, 직장인 입장에서 퇴근 후 시간을 이용해 정규수업을 듣는 것도 쉽지 않은 일인지라.. 서점에서 이 책을 봤을 때 제목에 딱 꽂혔고 목차도 괜찮아 보여서 곧장 구매했다'~'관심이 가는 챕터부터 들춰봐도 되는 책이기는 하지만, 은근히 서사가 있는 책이기도 해서 완독하지 않은 상태에서 리뷰가 제대로 될지 모르겠다. 실제 컴퓨터 과학이라고는 해도 단순히 기계적인 언어가 아니라 우리에게 친숙한 사례들을 동원해 논리적으로 관련지식을 풀어놓은 책이다.
가장 흥미롭게 읽었던 챕터는 '캐싱'에 관한 챕터였고, 배워가는 느낌이 있었던 챕터는 '탐색/이용'에 관한 부분이었다.
캐싱 오래된 일을 망각하는 것은 단순히 인간의 지적능력이 부족해서가 아니며, 사고의 구조화를 수월하게 하기 위해 발달된 체계라는 것은 흥미롭다. '캐싱'이라는 컴퓨터과학 속 원리도 이와 마찬가지다. 오랫동안 묵혀진 채로 있는 데이터를 정렬하는 데 굳이 시간과 비용을 소모하지 않는다. 최근에 사용된 빈도가 높은 데이터를 우선순위에 둠으로써 탐색시간을 줄이는 효과를 가져온다.
탐색/이용 우리가 누리는 '현재'를 '지금 이 순간'이라는 일차원적인 방식으로 이해하는 것은 때로 현명하지 않다. 탐색/이용의 관점에서 젊은이에게는 새로운 도전이 의미 있을 수 있지만, 나이든 이에게는 새로운 도전을 지양하는 것이 현명한 것일 수 있다는 해석은 그러한 맥락에서 나온다. 젊은이에게는 남아 있는 생이 길기에 새로운 것을 '탐색'에서 얻을 가치가 있다. 그러나 나이든 이에게는 이미 익숙한 것을 충분히 '이용'하는 것이 새로운 탐색에 소진하는 시간과 에너지에 비해 효율적일 것이다.
결국 컴퓨터과학이 고민하는 선택의 문제들은 곧 인간사와 맞닿아 있다. 어떻게 하면 효과적이고 효율적으로 정렬을 시킬 수 있을까―그럼으로써 데이터를 잘 쓸 수 있을까―하는 질문을 지고(至高)의 과제로 삼는다는 컴퓨터 과학자들도 어떤 면에서는 인간의 사유를 파고드는 철학자와 같지 않나 싶다.
'일상 > book' 카테고리의 다른 글
시뮬라시옹 (0) 2018.06.17 라캉, 환자와의 대화 (0) 2018.06.09 말과 사물 (0) 2018.04.04 잃어버린 시간을 찾아서―꽃핀 소녀들의 그늘에서 II (0) 2018.03.04 구글의 아침은 자유가 시작된다 (0) 2018.02.20