“컴퓨터과학 근본에 관한 명쾌한 답”
컴퓨팅 혁명의 시대,
‘원천’ 아이디어에서 AI시대 변혁의 실마리를 찾다
출간 이후 10년 넘게 컴퓨터공학과 필독 기본서로 꼽히며 영재고, 과학고 추천도서, 세특 보고서 추천도서 등으로 사랑받아온 『컴퓨터과학이 여는 세계』의 개정증보판이 문학동네에서 출간되었다. AI가 모든 것을 만들어가는 시대다. 인간이 직접 코딩하는 시대는 끝났다는 말도 들려온다. 정말 AI가 인간을 대체하게 될까? 2016년 알파고 대전 이후 컴퓨팅 혁명기라 할 정도로 인공지능의 성장은 급속도로 빨라졌다. 기술 격변의 시대에 휩쓸려 앞으로의 경쟁력을 고민하는 이들에게 서울대학교 컴퓨터공학부 이광근 교수는 무엇보다 ‘원천’의 중요성을 강조한다. 이럴 때일수록 근본의 중요성을 되새겨야 한다며 지난 100년 동안 컴퓨터 기술을 움직여온 ‘원천’ 아이디어에 주목한다.
서울대학교에서 비전공 학생들을 대상으로 한 인기 교양 강의를 토대로 집필된 이 책은 단순한 프로그래밍 문법이나 코딩 방법론을 다루지 않는다. 대신 컴퓨터의 탄생과 성장, 그리고 미래에 이르는 과정을 통해 컴퓨터과학의 본질과 ‘생각의 틀’의 중요성을 짚어낸다. 생각을 기계에 맡기게 된 시대에 어떻게 하면 인공지능과 팀워크를 이루며 살아갈지에 대한 답이 이 책에 담겨 있다. 이번 개정증보판은 컴퓨터과학의 변하지 않는 원리와 아이디어를 차근차근 짚은 뒤, 인공지능 기술 관련 내용까지 보강하여 어떤 상황에서도 뚝심 있게 자신만의 그림을 그려갈 기본기를 쌓게 이끈다. 기술 격변의 시대지만 컴퓨터과학의 근본 원리를 단단하게 쌓아줌으로써 전공자뿐 아니라 인공지능 혁명의 시대를 헤쳐갈 모든 이에게 든든한 지침서로 자리매김한다.
컴퓨터 이야기다. 근본이 무엇이고, 어떻게 탄생했고, 소프트웨어의 세계는 어떤 세계인지. 컴퓨터가 우리의 지능과 본능과 현실을 어떻게 확장시키는지. 그래서 우리가 지금 기대고 있는 디지털 세계를 어떻게 바라볼 수 있는지. 독자들은 궁금해할 것이다. 이 책이 내게 어떤 도움이 될까? 이 책은 두 가지 성격으로 독자들과 만날 듯하다. 컴퓨터 세계의 근본이 궁금할 때 누구나 펼쳐볼 수 있는 과학 교양서적으로, 혹은 컴퓨터 전문가의 기본을 준비시켜주는 ‘예과’ 입문서로. _‘펴내면서’에서
코딩 문법이 아닌
‘마음의 도구’를 다루는 생각의 틀을 배우다
현대인의 생활은 컴퓨터 기술과 떼려야 뗄 수 없다. 인류는 도구를 통해 능력의 한계를 늘 확장해왔지만, 그중에서도 컴퓨터라는 도구는 좀 독특하다. 물리적인 근육을 쓰는 여타 도구와 달리, 컴퓨터는 언어로 다루는 ‘마음의 도구’이기 때문이다. 언어로 작성된 텍스트(소프트웨어)를 컴퓨터 메모리에 실으면 컴퓨터는 그 텍스트가 표현한 무궁무진한 일을 하나씩 수행해간다. 인간의 현실을 획기적으로 확장하고 경계를 뛰어넘게 하는 컴퓨터. 어떻게 이런 일이 가능해진 걸까? 컴퓨터과학은 어떻게 탄생했고 지금까지 무엇을 밝혀냈을까? 『컴퓨터과학이 여는 세계』는 바로 그 질문에서 출발한다.
컴퓨터는 20세기 수학자들의 큰 꿈이 철저히 좌절되는 과정에서 나온 부산물이었다. 앨런 튜링은 괴델의 ‘불완전성 정리’에서 영감을 받아, 수학의 모든 문제를 기계적으로 해결할 수 있는 방법은 없다는 사실을 증명하고자 특별한 가상 기계를 상상했다. 그렇게 탄생한 기계가 바로 보편만능의 기계, 즉 컴퓨터다. 모든 문제를 완벽하게 풀 수 있을 것이라 믿었던 수학자들의 환상을 깨기 위해 고안한 ‘튜링 머신’이 아이러니하게도 21세기 정보혁명의 주인공이 된 셈이다. 튜링이 컴퓨터의 청사진을 제시한 뒤, 스위치 회로가 부울 논리(boolean logic)라는 날개를 달아 ‘디지털 논리회로’로 만들어졌고 인류는 컴퓨터 구현에 차근차근 가까워져갔다.
컴퓨터는 특별하다. 인류 역사에 유례가 없던 도구다. 다른 도구와는 근본적으로 다르다. 칼, 바퀴, 냉장고, 자동차 등을 보자. 칼은 자르고 찌르는 데만 쓰고, 바퀴는 구르는 데만 쓴다. 냉장고는 얼리고 식히는 데만 쓰고, 자동차는 이동하는 데만 쓴다. 반면 컴퓨터는 쓸모가 많다. 한계가 없다. 컴퓨터 하나로 할 수 있는 일을 보자. 인공지능도 돌리고, 문서도 편집하고, 인터넷도 하고, 동영상도 본다. 게임도 하고, 쇼핑도 한다. 소문도 퍼뜨리고, 전화도 건다. 로켓도 날리고, 핵발전소도 돌린다. 컴퓨터가 인공지능을 돌리면서 온갖 문답도 이뤄지고, 자동차 운전도, 로봇 운전도, 미지의 과학 실험도, 받아쓰기와 정리도, 번역도, 문서 요약도, 비평도, 그림이나 동영상 제작도, 모든 시험문제 풀이도, 그리고 소프트웨어 제작까지도 한다. 모두 컴퓨터 하나로 할 수 있는 일들이다. 그래서 컴퓨터를 보편만능의 기계(universal machine)라고 부른다. 좀더 정확하게 표현하자면 컴퓨터는 ‘기계적인 일은 뭐든 돌릴 수 있는 기계’다. _27쪽
알고리즘과 언어로 세운
소프트웨어의 단단한 토대를 살피다
컴퓨터를 만능으로 만드는 것은 소프트웨어다. 사람은 소프트웨어를 만들고, 컴퓨터는 이를 실행한다. 그렇다면 소프트웨어를 잘 만들 방법은 무엇일까? 이에 대해 컴퓨터과학은 두 갈래의 원천 아이디어를 제시한다. 소프트웨어가 일하는 방도인 ‘알고리즘’과 이를 표현하는 방식인 ‘언어’에 대한 탐구다. 어떤 알고리즘으로 소프트웨어가 일하도록 해야 좋은지, 어떤 언어로 소프트웨어를 표현하는 게 좋은지, 이 두 줄기의 기둥이 소프트웨어 세계의 기초를 이룬다.
이광근 교수는 이 책에서 알고리즘과 언어라는 두 축을 중심에 두고 핵심 아이디어를 전개한다. 컴퓨터가 따라 할 문제풀이법인 알고리즘에 관해서는 책 읽기, 패스워드 해킹, P클래스 및 NP클래스 문제 등 다양한 난이도의 예를 들어 친절하게 설명한다. 이를 통해 불가능한 계산 문제의 존재, 가능하지만 계산 비용이 너무 큰 문제, 어렵고 쉬운 문제의 경계 및 판별 등 알고리즘의 실전 기본기를 누구나 쌓게끔 이끈다. 프로그래밍 언어에 관해서는 Coq, Python, Java 등 상위·하위 언어의 생김새부터 각 언어의 표현력, 언어 간 자동 번역, 람다계산법, 논리 거울과 프로그램 검진까지 기본 개념을 차근차근 짚는다. 나아가 컴퓨터가 어떻게 인간 지능, 인간 본능, 인간 현실을 확장하는지 그 응용까지 발을 넓힌다. 기계학습, 깊은 신경망 인공지능(deep neural net), 인간 유전자 염기서열, 커넥톰 프로젝트, 지식 검색, 암호기술 등 실생활과 밀접한 연결고리를 통해 컴퓨터 기술의 과거, 현재, 미래를 잇는다. 컴퓨터과학을 구성하는 아이디어가 결국은 ‘논리’이며, 컴퓨터는 그 논리를 레고 블록처럼 조립하는 과정임을 깨닫게 하는 이 책은, 독자들에게 과거의 유산을 바탕으로 새로운 문제를 해결할 탄탄한 실마리를 제공해준다. 단순한 공학 기술서가 아니라 디지털 시대를 살아가는 현대인의 필수 소양을 다룬 교양서로서, 기술 격변의 소용돌이 속에서 컴퓨터과학이 인간의 지능과 현실을 어떻게 확장하는지 거시적인 안목뿐 아니라 미래를 예측할 생각의 틀까지 제시한다.
컴퓨터 분야는 이미 모든 게 이루어진 성숙한 분야가 아니다. 겨우 먼동이 튼 옥색의 새벽, 첫 웃음을 막 터뜨린 아기. 이 정도가 아닐까. 탄생하고 이제 겨우 70여 년이 흘렀기 때문이다. 미래에 이루어질 거대한 변화에 비하면 지금까지의 컴퓨터 분야의 성과는 시작일 뿐이다. 비유하자면 지금은 ‘뉴턴’과 ‘갈릴레오’와 같이 살아가는 초창기일 뿐이다. 그러므로 선무당일 수 있다. 정보 과학 기술이 어떻게 펼쳐질지를 예측하거나 특정 분야의 선택과 집중에 대한 논의는 섣부를 수 있다. 확실한 것은 컴퓨터 분야의 성과를 통해서 인간의 지능/본능/현실은 나날이 확장될 것이라는 점이다. 마치 생명과학의 성과를 통해서 인간 수명이 연장되고, 물리학의 성과를 통해서 에너지원이 확장되듯이. 이럴 때 근본을―혹은 문제의 전말과 선택의 경위를―잘 이해하는 게 긴요할 수 있다. 미래에 나타날 많은 것을 손쉽게 커버하는 방법은 원리에 집중하는 것이다. 근본을 꿰뚫는 시각을 튼튼히 할수록 다양한 응용의 한계와 가능성을 쉽게 파악할 수 있고, 남들이 미처 보지 못하는 곳을 볼 수 있기 때문이다. 지금까지의 응용은 어쩌면 아기의 설익은 춤, 앞으로 펼쳐질 영토는 지나온 지형보다 넓고 비옥할 것이다. 근본적인 기초를 튼튼히 갖추지 못하면 예측불허의 기회를 앞장서 감지하고 개척하는 인재는 나올 수 없거나 나온다 해도 수명이 짧을 수 있다. _289~290쪽