★★★★★ 미국 ㆍ 일본 아마존 베스트셀러, [포브스] [가디언] [커커스리뷰] 극찬
일상의 모든 문제를 풀어나가는 최적 인생 계산 도구, 알고리즘 11
“나는 인생의 모든 답을 컴퓨터과학에서 배웠다!”
수많은 오류가 넘치는 세상, 틀린 답을 피해가는 가장 똑똑한 방법
* * * * *
● “집을 사려고 할 때, 몇 채의 집을 본 후에 계약하는 것이 좋을까?”
● “이 사람과 결혼하는 것이 최선일까? 더 나은 사람이 어디선가 날 기다리고 있지는 않을까?”
● “어디쯤 내 차를 주차할 공간이 있을까? 목적지에서 가까운 곳? 아니면 적당히 먼 곳?”
● “한창 주가를 올리고 있는 S전자 주식, 언제 팔아야 손해 보지 않고 최대 이익을 얻을까?”
컴퓨터과학의 알고리즘이 일상에서 발생하는 사소하고도 다양한 문제 해결의 실마리가 될 수 있다면? 컴퓨터를 위해 개발한 알고리즘은 우리가 부딪히는 문제들을 해결하는 데에도 도움이 될 수 있다. 브라이언 크리스천과 톰 그리피스가 저술한《알고리즘, 인생을 계산하다》는 인생의 거의 모든 문제를 해결하는 데 도움을 주는 11가지 알고리즘을 친절하게 알려준다.
“알고리즘은 절대 후회하지 않는다!”
: 평생의 짝을 찾는 일부터 주차장의 빈자리를 알아보는 방법까지,
복잡한 인생을 쉽게 계산하는 컴퓨터과학의 힘
우리는 한정된 시간과 공간의 제약을 받고 살아간다. 그리고 그 속에서 수많은 문제들이 생겨난다. 우리는 무엇을 해야 하고, 무엇을 하지 말아야 할까? 내 공간의 느슨하고 흐트러진 모습을 얼마나 용납할 수 있을까? 새로운 것(사람)과 기존의 친숙한 것(사람) 사이에 어떻게 균형을 잡아야 가장 만족스러운 삶을 살 수 있을까?
이런 문제들이 인간만의 것으로 보일지도 모르지만 사실은 그렇지 않다. 컴퓨터도 똑같은 제약들에 속박되어 있다. 프로세서가 최소한의 시간과 비용으로 사용자들이 요구하는 모든 과제를 수행하려면 어떤 식으로 ‘주의(intention)’를 배분해야 할까? 과제 사이의 전환은 어떻게 해야 하고, 애초에 과제를 얼마나 많이 떠맡아야 할까? 한정된 기억 자원을 활용하는 최선의 방법은 무엇일까? 자료를 더 모아야 할까, 아니면 이미 가지고 있는 자료를 토대로 행동해야 할까?
촉망받는 기술과학 관련 베스트셀러 저자이자 컴퓨터공학자, 철학자인 브라이언 크리스천과 UC버클리대학교 인지심리학 교수인 톰 그리피스는 기존의 문제 해결 구조와는 전혀 다른 새로운 사고의 구조인 ‘컴퓨터과학의 알고리즘’을 우리의 선택 문제에 대입한다. 연산의 충돌 문제, 빠른 처리 능력을 위한 최적의 선택, 집중, 자원 분배, 타이밍 등을 고려해 만들어진 컴퓨터과학의 알고리즘 구조야말로 우리가 다양한 환경 속에서도 최적의 선택을 하고 문제를 해결할 수 있는 적절한 해답을 도출할 수 있도록 도와준다고 주장한다. 저자들은 “알고리즘은 절대 후회하지 않는다”고 말하며 컴퓨터과학의 힘을 믿어보라고 권한다. 컴퓨터과학의 알고리즘이 우리의 복잡한 인생에 산적해 있는 문제들을 단숨에 해결해줄 것이라고 말하면서 말이다.
“0과 1로 만들어지는 세상, 우리에겐 심리치료사보다 알고리즘이 필요하다”
: 컴퓨터를 위한 알고리즘 설계에서 사람을 위한 알고리즘 활용까지
우리가 일상을 보낼 때 주변에 보이는 근심 걱정이 가득한 모든 사람들-자신이 가진 비용에서 최적의 집을 구해야 하는 임차인, 주차장을 찾는 운전자, 평생의 짝을 찾아 헤매는 구혼자 등-은 모두 주어진 시간 안에서 최적의 선택을 하기 위해 노력하고 있다. 그러다 보니 스트레스를 받고 이상 행동을 보이기도 한다. 심리치료사는 그들에게 충동적인 태도를 멈추고 생각을 많이 하지 말 것을 권유하며 적절하면서도 편안한 마음의 균형을 찾으라는 애매모호한 말로 위로한다. 그러나 알고리즘은 단호하게 말한다. 그 균형이 바로 37%라고 말이다. 이처럼 매일 선택의 기로에 놓이는 우리에게 필요한 것은 심리치료사가 아니라 알고리즘이다. 정말 알고리즘을 인간의 삶에 적용하는 게 가능한 일일까?
오늘날의 컴퓨터는 단순한 산수 문제를 뛰어넘어 사람과 대화하거나 손상된 파일을 고치거나 사람과의 바둑에서 이기는 일을 해내는 것을 도전 과제로 삼고 있다. 이런 과제들은 규칙이 명확하지 않거나, 필요한 정보 중 일부가 빠져 있거나, 정답을 찾으려면 천문학적인 수의 가능성들을 찾아봐야 하는 문제들이다. 그리고 연구자들이 가장 어려운 부류의 문제들을 풀기 위해 개발한 알고리즘이 쓰이면서 컴퓨터는 철저한 계산에 극도로 의지하던 양상에서 점점 더 벗어나왔다. 우연을 받아들이고, 정확성을 희생시켰지만, 대신에 시간을 단축하고 근삿값을 사용하면서 풀어야 하는 현실세계의 과제들을 다루는 쪽으로 발전해 오늘날 인간의 삶에 적용할 수 있게 되었다. 그렇다면 알고리즘은 어떻게 우리 문제를 해결해줄 수 있을까?
“이제 철학의 시대는 끝났다! 디지털 세상을 살아가기 위한 또 하나의 지혜!”
: 가장 빠르게, 합리적인 선택을 만드는 알고리즘 사용설명서
이 책은 ‘알고리즘 설계’라는 개념을 제안하며, 복잡한 문제를 가장 빠르게 해결하고 합리적인 선택을 만드는 방법을 알려준다. 책에서 소개하는 11가지 컴퓨터과학의 알고리즘은 다음과 같다.
ㆍ 최적 멈춤 : 시간의 흐름이 모든 의사 결정 문제를 최적 멈춤 문제로 바꾼다. 어떤 선택도 두 번 다시 할 수는 없다. 그럴 때 바로 ‘최적 멈춤’이 필요하다. 최적 멈춤은 우리가 살펴볼 때는 언제이고 뛰어들 때는 언제인지 알려준다.
ㆍ 탐색/이용 : 자신에게 남은 시간이 얼마나 되는지 예민하게 의식하게 될 때, ‘탐색/이용’이 필요하다. 탐색/이용은 왜 우리가 노인의 조언을 받아들여야 하는지도 알려준다. 수십 년에 걸친 탐색을 통해 모은 보석 같은 정보이기 때문이다.
ㆍ 정렬하기 : 정렬하기는 사무실을 어떻게 정리할지, 양말 짝은 어떻게 맞춰야 할지, 도서관의 책들을 어떻게 꽂아야 할지 알려준다. 어떤 문제라도 기준을 정하면 정렬을 확장하는 계산 문제로 바뀌면서 풀린다.
ㆍ 캐싱 : ‘캐싱’은 컴퓨터의 기억 구조에서 중요한 역할을 하며 인간 삶의 온갖 저장 체계와 기억 은행을 보는 새로운 관점을 제시한다. 나이를 먹을수록 무언가를 떠올리는 데 시간이 걸리기 시작할 것이다. 안심하라. 시간 지연의 길이는 당신이 얼마나 많은 경험을 했는지 알려주는 지표이기도 하니까.
ㆍ 일정 계획 : 생산성을 올리고 여유로운 삶을 위해서 꼭 필요한 것이 바로 ‘일정 계획’이다. 시간을 배분하는 다양한 알고리즘을 통해 우리는 일과 인생의 균형을 맞춰갈 수 있다.
ㆍ 베이즈 규칙 : ‘베이즈 규칙’이란 한 사건이 발생했을 때 이 사건을 근거로 알고자 하는 사실의 가능성을 추측하는 것이다. 우리는 베이즈 규칙을 써서 사람들의 기댓값을 알아냄으로써 세계에 관한 간접적인 조사를 수행할 수 있다.
ㆍ 과적합 : 가장 단순한 것이 최고의 계획일 수도 있다. 우리의 기댓값이 불확실하고 자료에 잡음이 많을 때, 최선의 방안은 폭넓게 생각하는 것이다. 이렇듯 ‘과적합’ 상태에 놓인다면 생각을 덜해야 한다.
ㆍ 완화 : 아무리 기술이 발달해도 본질적으로 완벽한 해결책에 도달할 수 없는 문제 유형들이 있다. 최적 해법에 도달할 수 없는 문제들에 접근하는 최선의 방식은 바로 ‘완화’이다. 우리는 완화를 통해 현실과 실제로 타협할 수 있게 되며 완벽함을 추구하느라 하염없이 세월을 보내지 않을 수 있다.
ㆍ 무작위성 : 무작위 알고리즘은 때로 모든 결정론적 알고리즘보다 더 빨리 어려운 문제의 좋은 근사적 해답을 내놓을 수 있다. 인생도 마찬가지다. 때로 철저히 추론하여 답을 얻으려고 하기보다 그저 우연에 맡기는 것이 어떤 문제에 대한 최고의 해답일 수 있다.
ㆍ 네트워킹 : 메시지가 전달되고 있는지 어떻게 알 수 있는가? 네트워킹 버퍼가 가득 차면 모든 패킷을 그냥 거부함으로써 사실상 삭제한다. 우리 인생도 마찬가지다. 누군가의 기다림이 길어지게 하지 말라. 기다릴 수 있을 만큼만 줄을 세워라. 기다릴 수 없을 것 같다면 거부하라. 그래도 달라지는 것은 없다.
ㆍ 게임 이론 : 모든 게임에는 경쟁자가 있다. 우리는 경쟁 상대의 반응을 고려해 자신의 최적 행위를 결정해야 하는 상황에서 의사 결정을 내려야 한다. 컴퓨터과학의 게임 이론은 말한다. “전략을 바꾸어도 도움이 되지 않는다면 게임 자체를 바꾸려고 시도하라.” 무엇보다 정직이 우선인 게임을 찾는 것이 가장 좋다.
삶은 어려운 문제들로 가득하다. 그리고 사람들이 저지르곤 하는 실수는 사람 뇌의 오류 가능성보다는 그 문제가 지닌 어려운 측면들에 관해 더 많은 것을 알려주곤 한다. 이제 이런 문제들을 철학으로 해결하는 시대는 저물어가고 있다. 세상은 알고리즘으로 움직인다. 알고리즘 관점에서 세상을 바라보고, 우리가 직면한 문제의 기본 구조와 그 해결책의 특성을 알아낸다면, 우리는 자신이 실제로 얼마나 문제를 잘 해결하고 있는지를 간파하고, 자신이 어떤 오류를 저지르는지 더 잘 이해할 수 있을 것이다.
이 책은 알고리즘을 통해 우리가 어떻게 하면 직감을 더 향상시킬 수 있는지, 일을 우연에 내맡겨야 할 때가 언제인지, 선택의 여지가 지나치게 많은 상황에 어떻게 대처할지, 남들과 관계를 맺는 좋은 방법은 무엇인지 등을 설명한다. 평생의 반려를 찾는 일부터 주차 공간을 찾는 일에 이르기까지, 이메일을 정리하는 방법에서 기억의 작동 방식을 이해하기에 이르기까지, 컴퓨터과학에서 얻은 지혜를 삶을 살아가는 전략으로 탈바꿈해보자. 컴퓨터과학의 알고리즘을 통해 얻은 깨달음이 우리의 일상을 바꾸고, 다른 사람의 마음은 물론 자신의 마음을 이해하는 데 큰 도움을 줄 것이다.
《알고리즘, 인생을 계산하다》에 쏟아진 찬사들
“놀라운 책. 알고리즘을 파헤쳐보고 싶다면 반드시 읽어야 할 것이다.”_[포브스]
“더 나은 문제 해결의 방식과 인간의 마음에 대한 더 깊은 통찰력을 보여준다.”_[커커스리뷰]
“흥미진진하기 이를 데 없는 이 책에는 시간, 공간, 노력을 더 효율적으로 쓰는 방법에 관한 현실적인 조언들이 가득하다. 자신의 할 일 목록을 최적화하거나, 옷장을 정리하거나, 사람의 기억을 이해하고 싶다면 이 책을 읽어보기를.”_찰스 두히그Charles Duhigg, 《습관의 힘》 저자
“놀라울 만치 명쾌하고 재미있고 시선을 떼기 힘든 이 책은 우리가 컴퓨터로부터 얼마나 많은 것을 배울 수 있는지를 보여준다. 이 책은 알고리즘이 작동하는 방식, 자신의 삶에서 더 나은 결정을 내릴 수 있도록 그것을 활용하는 방식을 탁월하게 설명한다.”_앨리슨 고프닉Alison Gopnik, 《요람 속의 과학자》 저자
“컴퓨터 모형과 인간의 심리를 융합하는 책이 나오기를 나는 손꼽아 기다려왔다. 그리고 이 책은 내가 기대한 모든 것을 뛰어넘었다. 컴퓨터과학이 우리 세계를 움직이고 있으며, 더 나아가 그것이 우리 삶에 어떤 의미가 있는지를 누구든 이해할 수 있도록 쉽게 쓴 놀라운 책이다.”_데이비드 이글먼David Eagleman, 《더 브레인》《인코크니토》저자