미래를 바꾼 아홉 가지 알고리즘 - 컴퓨터 세상을 만든 기발한 아이디어들 (존 맥코믹, 2012)

과학/과학-미래-FUTURE|2022. 12. 25. 14:00

책소개
오늘날 우리는 궁금한 것이 있으면 인터넷 검색엔진에 검색어를 입력하고, 필요한 물건이 있으면 인터넷 쇼핑몰에서 구입한다. 일상생활의 모든 활동을 컴퓨터로 하고 있다고 해도 과언이 아니다. 그렇다면 우리가 컴퓨터를 사용할 때, 컴퓨터 안에서는 무슨 일이 일어나고 있을까?

존 맥코믹은 이를 가능케 한 아홉 가지 위대한 알고리즘 이면의 기본적 아이디어를 다양한 비유와 예를 활용해 쉽고 정확하게 설명한다. 독자들은 이 아홉 가지 알고리즘에 관한 설명에서 검색엔진, 데이터 압축, 암호화, 오류 정정, 패턴 인식 등 우리가 매일 이용하는 컴퓨터 기술의 이론적 아이디어를 흥미진진하게 이해할 수 있다.


목차
1장. 시작하며: 컴퓨터를 움직이는 위대한 아이디어들
2장. 검색엔진 인덱싱: 세상에서 가장 큰 건초 더미에서 바늘 찾기
3장. 페이지랭크: 구글을 출범시킨 기술
4장. 공개 키 암호화: 공개 엽서에 비밀을 적어 아무도 모르게 보내는 방법
5장. 오류 정정 코드: 데이터 오류를 스스로 찾아 고치는 마법
6장. 패턴 인식과 인공지능: 사람처럼 학습하고 생각하는 컴퓨터
7장. 데이터 압축: 책 한 권을 종이 한 장에 담기
8장. 데이터베이스: 일관성을 향한 여정
9장. 디지털 서명: 진짜 누가 이 소프트웨어를 작성했을까
10장. 계산 가능성과 결정 불가능성: 컴퓨터로 모든 문제를 해결할 수 있을까?
11장. 마치면서: 미래의 알고리즘과 진화하는 컴퓨터


출판사 제공 책소개


★ 이 책에 쏟아진 각계의 찬사 ★
십대 시절 호킹과 파인만의 책 이후 이 책만큼 나를 다시 흥분시킨 책은 없었다. 이 책 덕분에 내가 컴퓨터를 사랑하는 이유를 다시금 떠올릴 수 있었다. 맥코믹은 알고리즘의 실제 작동 원리에 관한 진짜 이야기를 이해하기 쉽게 풀어 놓았다. 그저 칭찬받을 책 정도가 아니라 반드시 기념해야 하는 책이다.
- 앤드류 피츠기번(Andrew Fitzgibbon), 에미상 수상 카메라 소프트웨어 'Unwrap Mosaic' 고안자이자 엑스박스 360 키넥트 고문

'내 컴퓨터 안에서 무슨 일이 일어나고 있을까'라는 질문을 한 번쯤 품어본 이들이 꼭 읽어야 할 책이다. 맥코믹은 수억 명이 매일 이용하는 아홉 가지 알고리즘을 명료하게 설명한다. 단순히 연산이나 정렬 같은 단순한 알고리즘이 아니라, 웹페이지의 중요도 결정, 컴퓨터를 통한 제삼자와의 대화를 신뢰할 수 있는 이유, 컴퓨터로 해결할 수 없는 난해한 문제 등과 같은 복잡한 사안들을 다룬다. 강력히 추천하는 바이다.
- 척 대커(Chuck Thacker), 2010년 튜링상 수상자

오늘날 컴퓨터에 필수불가결한, 아홉 가지 아름다운 알고리즘에 관한 즐거운 탐험이다. 맥코믹은 기발한 비유를 들어 인류가 매일 사용하는 기술과 컴퓨팅의 지적 토대에 관한 위대한 지식을 제공한다. 맥코믹은 위대한 알고리즘을 이해하는 수학자의 인식과, 매혹적인 방식으로 설명하는 교육자의 스킬을 두루 겸비한 인물이다.
- 샤론 펄(Sharon Perl), 구글

맥코믹은 아홉 가지 알고리즘을 선정해 '천재 상'을 수여했다. 아주 좋은 선택이다. 독자는 컴퓨터과학 분야의 천재들이 어떤 모습이었는지 새로운 이해를 얻을 수 있다. 또한 맥코믹은 이 책에서 영감을 받은 미래의 천재가 언젠가 열 번째 목록에 이름을 올릴 것이라는 여지도 남긴다.
- 윌리엄 프레스(William H. Press), 『수 레시피(Numerical Recipes)』의 공동 저자

존 맥코믹은 우리가 날마다 사용하는 많은 알고리즘을 수학 지식이 전혀 없는 사람도 쉽게 이해할 수 있도록 멋지게 설명했다. 나는 특히 페인트 색 혼합 방법을 비유로 든 공개 키 암호화 설명이 가장 마음에 든다.
- 토마스 코먼(Thomas H. Cormen), 다트머스대학교

맥코믹은 복잡한 개념을 아주 간단히 설명하는 작업을 훌륭하게 해냈다. 이 책에 나오는 비유들은 정말 환상적이다. 특히, 친절하고 상세하게 설명한 역사적인 여담들이 매우 재미있었다.
- 에이미 랭빌(Amy N. Langville), 『구글의 페이지랭크와 이를 넘어서(Google's PageRank
and Beyond)』의 공동 저자


★ 추천의 글 ★
컴퓨팅(Computing)은 컴퓨터가 등장하기 전 200년간 물리학과 화학이 일으킨 것만큼 우리 사회를 엄청나게 변화시켰다. 실제로 우리 삶에서 디지털 기술이 영향을 미치지 않거나 혁명을 일으키지 않은 측면은 거의 없다. 이처럼 컴퓨팅이 현대 사회에 끼친 중대한 영향에 비추어, 이런 변화를 가능케 한 근본 개념을 잘 모른다는 사실은 역설적이다. 컴퓨터과학은 이런 근본 개념에 대해 연구하는 학문이고, 맥코믹의 책은 이를 일반 대중에게 소개하는 거의 흔치 않은 책 중 하나다. 컴퓨터과학이 분과 학문으로서 상대적으로 주목받지 못하는 이유 중 하나는 이 과목을 고등학교를 비롯한 중등교육 과정에서 거의 가르치지 않기 때문이다. 물리학이나 화학 같은 과목은 통상적으로 필수 과목이라 생각하지만, 컴퓨터과학은 대학교 수준의 고등교육 과정에서야 개별 과목으로 공부하는 과목이라 간주된다. 게다가 '컴퓨팅' 또는 '정보통신기술ICT, Information and Communication Technology'이라는 과목명으로 학교에서 가르치는 내용은 대개 소프트웨어 패키지 사용법을 훈련하는 기술 정도에 불과하다. 그다지 놀라울 것도 없이, 학생들은 따분해 하고, 컴퓨터과학에는 지적 깊이가 결여됐다고 느끼게 되면서, 놀이와 소통에 컴퓨터 기술을 활용하려는 열정도 금세 사그라진다. 지난 십여 년간 컴퓨터과학을 전공하는 대학생 수가 50%나 감소한 현상의 핵심은 이와 같은 문제에서 기인한다. 현대 사회에서 디지털 기술의 중요성을 감안했을 때, 지금이야말로 대중을 컴퓨터과학의 매력에 다시금 빠져들게 할 가장 중요한 시기다.

2008년, 나는 1826년 마이클 패러데이가 첫 연사로 나선 왕립 연구소 크리스마스 강연(Royal Institution Christmas Lectures)의 180번째 연사로 선발되는 행운을 누렸다. 2008년 당시 나의 강연은 컴퓨터과학이란 주제로 진행된 최초의 강연이었다. 강연을 준비하며 컴퓨터과학을 일반 대중에게 설명할 방법을 고심하느라 많은 시간을 쏟았지만, 활용할 자료가 거의 없고 이런 필요를 다루는 대중 서적 또한 거의 전무하다는 사실을 깨달았다. 따라서 금번 맥코믹의 새 책 출간은 내겐 더욱 환영할 만한 일이다.

맥코믹은 컴퓨터과학의 복잡한 알고리즘들을 대중에게 매우 훌륭히 설명했다. 이런 알고리즘의 상당수는 비범한 아름다움과 우아함을 겸비하고 있어 이것만으로도 주목받을 만한 가치가 있다. 하나의 예를 들어 보겠다. 웹 기반 쇼핑은 신용카드번호 같은 기밀 정보를 비밀스럽고 안전하게 인터넷을 통해 전송할 수 있었기 때문에 폭발적으로 성장할 수 있었다. '열린' 채널에 보안 통신을 설정할 수 있다는 사실은 수십 년간 매우 풀기 어려운 문제로 간주됐다. 그러나 얼마 후, 정말 멋진 해법이 발견됐다. 맥코믹은 이 책에서 컴퓨터과학에 관한 사전 지식 없이도 자신이 선정한 아홉 가지 알고리즘들을 정확한 비유를 이용해 알기 쉽게 설명한다. 책 속에 담긴 이런 보석들의 존재만으로 이 책은 대중 과학 서가에 값진 기여를 한다. 꼭 읽어보길 바란다.

- 크리스 비숍(Chris Bishop), 케임브리지 마이크로소프트 리서치 우수 과학자, 영국 왕립 연구소 부소장, 에딘버러대학교 컴퓨터과학과 교수


★ 출판사 서평 ★
우리는 날마다 컴퓨터를 이용해 놀라운 일을 한다. 간단한 웹 검색은 세상에서 가장 큰 건초 더미인 월드와이드웹에 있는 수십 억 페이지에서 매우 적은 수의 적절한 바늘을 가려낸다. 페이스북에 사진을 업로드하면 오류가 발생하기 쉬운 수많은 네트워크 링크를 거쳐 수백만 조각의 정보를 전송하지만, 이 사진의 정확한 사본은 안전하게 도착한다. 또 우리는 인식조차 못한 채 공개 키 암호화를 이용해 신용카드번호 같은 비밀 정보를 전송하고 디지털 서명을 이용해 방문하는 웹사이트의 신원을 검증한다. 컴퓨터는 어떻게 이런 일을 이토록 쉽게 할 수 있을까?

이 책은 최초로 누구나 이해할 수 있는 언어로 PC, 노트북 컴퓨터, 스마트폰을 작동시키는 비상한 아이디어를 밝혀 이런 질문에 답한다. 존 맥코믹은 아홉 가지 유형의 컴퓨터 알고리즘 이면에 있는 근본적 '트릭'을 생생한 예를 들어 설명한다. 이 아홉 가지 알고리즘 중에는 ('근접이웃 트릭'과 '스무 고개 트릭'을 이용하는) 인공지능, ('무작위 서퍼 트릭'을 이용하는) 구글의 유명한 페이지랭크, 데이터 압축, 오류 정정 코드 등이 있다.
이 혁명적 알고리즘들은 우리 삶을 바꿨다. 그리고 이 책은 이 알고리즘의 비밀을 풀고 컴퓨터가 매일 이용하는 놀라운 아이디어를 낱낱이 밝혀낸다.

★ 옮긴이의 말 ★
컴퓨터와 인터넷은 삶의 양식을 완전히 바꿨다. 오늘날 회사와 각종 기관에서는 컴퓨터를 활용해 일처리를 한다. 뿐만 아니라 우리는 은행 업무나 쇼핑, 신문 구독, 학습, 영화 감상, 독서, 게임 등 일상 생활의 모든 단면을 컴퓨터와 함께한다. 스마트폰과 태블릿의 보급 덕에 우리 몸에서 컴퓨터가 떨어져 있는 시간이 거의 없을 정도다. 심지어 아직 말문도 트이지 않은 유아조차 스마트기기를 능숙하게 이용한다. 내일 갑자기 컴퓨터가 모두 사라진다면 우리 사회가 혼란에 빠지리라는 점은 불 보듯 뻔하다.

이처럼 생활필수품이 된 컴퓨터와 인터넷은 과연 어떤 원리로 작동하는 걸까? 예컨대 인터넷 뱅킹을 이용해 자금을 이체할 때는 도대체 무슨 일이 일어나고 있을까? 과연 내 거래는 어떻게 안전하게 이뤄질까? 검색엔진은 어떻게 적합한 검색결과를 출력할 수 있을까? 어떻게 불안정한 통신망을 통해 데이터를 정확히 전송할 수 있을까? 스마트폰은 어떻게 내 얼굴을 인식할까? 이 책의 저자 맥코믹은 바로 이런 질문들에 관한 답을 찾는 여행으로 독자를 안내한다.

이 여행에서 독자는 다양한 알고리즘을 감상한다. 사실 컴퓨터는 스스로 판단이나 해석을 할 수 없으므로, 인간에게는 매우 간단해 보이는 문제도 인간이 이를 푸는 정확한 절차와 방법을 제공해야만 해결할 수 있다. 이를 알고리즘이라 하며 지금 여러분 눈 앞에 있는 컴퓨터는 누군가 만들어놓은 알고리즘 덕분에 다양한 일처리를 하고 있는 셈이다. 저자 맥코믹은 오늘날 컴퓨터 세상을 가능하게 한 수많은 알고리즘 중 우리가 늘 이용하고 있을 뿐 아니라 컴퓨터과학에서 가장 중요하고 아름다운 알고리즘 아홉 가지를 선정해 설명한다.

이 책의 가장 탁월한 점은 어렵고 복잡한 알고리즘을 쉽고 재미있게 설명한다는 데 있다. 실제 컴퓨터에서 이용하는 알고리즘을 정확히 이해하고 구현하려면 상당히 높은 수준의 수학 및 컴퓨터과학 지식을 갖춰야 한다. 그렇다면 어떻게 알고리즘을 이토록 쉽게 설명할 수 있었을까? 이 질문에 대한 답은 바로 저자가 이 책에서 설정한 목적에 있다.

이 책의 목적은 컴퓨터에서 실제로 사용하는 구체적인 알고리즘을 있는 그대로 알려주는 데 있지 않고, 알고리즘 이면에 놓인 기본적 아이디어의 이해를 지향한다. 이같은 목적 하에 맥코믹은 복잡한 수식 대신 흥미로운 예와 비유를 다양하게 활용해 오늘날 컴퓨터 작동의 근본 원리를 쉽고 재미있게 전달한다. 공개 키 암호화를 다루는 4장은 저자가 이런 목적을 성공적으로 달성했음을 잘 보여주는 예다. 예컨대 인터넷에서 각종 비밀번호와 신용카드번호 등 기밀 정보를 안전하게 전송하고 수신할 수 있게 해준 알고리즘이 바로 공개 키 암호화다. 저자가 언급하듯 이는 컴퓨터과학 분야에서도 난제였을 뿐 아니라 복잡한 수학을 토대로 한다. 하지만 저자는 모든 대화를 공개적으로 해야 하는 방에서 다른 사람 몰래 두 사람만 같은 색의 페인트 혼합을 만드는 비유를 들어 컴퓨터과학 및 수학 지식이 없는 사람도 이 알고리즘의 근본 개념을 쉽고 정확히 이해할 수 있도록 설명한다. 요컨대 어려운 이론에 관한 쉽고 정확한 설명이란 맥락에서 볼 때 이 책은 『파인만의 물리학 강의』에 감히 비견될 수 있다.

같은 수학 문제를 풀더라도 무작정 예제들을 통해 풀이법만 익힌 사람과 이런 풀이법 이면의 이론을 이해한 사람은 전혀 다르다. 후자만이 같은 이론을 토대로 한 응용 문제를 풀 수 있고 새로운 문제를 제기할 수 있다. 이론적 아이디어란, 건물로 보자면 주춧돌인 셈이다. 이런 맥락에서 컴퓨터과학 및 공학 분야 입문자는 이 책을 반드시 읽어야 한다. 뿐만 아니라 이론적 기초가 약하다고 느끼거나 이를 다시 환기하고 싶은 개발자를 비롯한 컴퓨팅 분야 실무자에게도 이 책은 필독서라 할 수 있다.

저자가 언급하듯 이 책은 기본적으로 대중서이므로 당연히 컴퓨터과학 지식이 없는 대중에게도 매력적이다. 눈 앞에 있는 컴퓨터 안에서 일어나고 있는 일이 한 번이라도 궁금했다면 당장 이 책을 펼쳐 들길 바란다. 이 흥미진진한 여행의 끝에 컴퓨터와 관련된 일상을 새롭게 보는 눈을 얻게 되리라 장담한다.

댓글()