최근의 독서에서 느낀 점은 컴퓨터의 언어의 중요성이 커지는 데에도 불구하고, 나는 이에 대한 지식이 전무하다는 것이었다. 그러니, IT부분의 혁신이 우리 삶을 확연하게 달라지게 한다는 것이 막연하게만 느껴졌다. 어떤 원리로 컴퓨터는 인간보다 더 뛰어나져서 인간의 전문적인 지식 노동까지도 대체하게 되는 걸까. 인지할 수 없는 위험에 대해 과대망상하기 마련이다. 하나씩 배워나가자.
초등학교 때부터 컴퓨터에 지속적인 관심을 가져서 C언어를 영어처럼 친숙하게 다뤘던 어떤 친구는 지금 창업 준비를 하고 있다. 그 친구는 1-2년 후에 그럴듯한 회사를 운영하게 될지도 모른다. 나는 그 친구에게 알고리즘 관련한 대중서 한 권을 추천해 달라고 했다. 그래서 추천해준 책은 <뇌를 자극하는 알고리즘>(박성현 저, 한빛미디어)이다. 그가 아주 쉽게 써졌다고 언급하며 흐뭇한 미소와 함께 추천한 도서인데, 나는 몇 장 넘기지 않아서 읽기를 포기해야 했다. 읽을 수가 없었다. 공대생이 아무리 쉽게 써져있다고 한들 내게는 암호문일뿐이였다. 그래서 책 읽기를 포기하며, 망연자실하고 있었다. 그런 나를 위해 다른 친구가 관련 서가를 기웃거리더니 대중서를 찾아왔다. C언어가 가득한 책을 보다가 한글이 써진 책을 보니 이렇게 반가울 수가! 나는 이 책을 읽어보기로 했다.
컴퓨터 세상을 만든 기발한 아이디어들, <<미래를 바꾼 아홉가지 알고리즘>>(존 맥코믹 지음, 민병교 옮김, 에이콘, 2013)
![](https://t1.daumcdn.net/cfile/tistory/25617A4456F8DF0217)
이 책은 컴퓨터 과학자이자 교육자인 저자가 썼다. 그는 컴퓨터 세계에서 큰 변화를 가져온 아홉 개의 알고리즘을 소개한다. 알고리즘이란 문제를 푸는 데 필요한 단계의 순서를 명시하는 구체적인 계산법으로서 컴퓨터를 이루는 기본 토대다. 인간의 단순한 작업을 효율적으로 처리하기 위해 개발된 초기의 알고리즘을 보면 일차방적식처럼 구성이 비교적 단순하다. 그런데 알파고를 만든 데미스 하사비스처럼 소수의 천재적인 금손들에 의해 알고리즘이 놀랍게 발전한다. 그 결과 컴퓨터는 큰 파일을 몇 초 만에 암호화할 줄 알며, 복잡한 계산을 짧은 시간에 할 수 있다. 그리고 혁신을 점점 거듭하더니, 결국 그 영역을 확장해서 인간의 고유 능력까지 넘보고 있는 중이다. 인공지능은 인간처럼 얼굴이나 대상들을 인식하고, 인간의 말도 알아듣을 수 있다. 이 역사의 과정을 보면 언젠가 인간을 닮은 또 다른 개체가 등장하는 것도 크게 놀랍지 않다. 뇌 과학자가 숨겨진 인간의 뇌의 비밀을 밝히고, 이 뇌 지도를 컴퓨터 공학자가 복사해 알고리즘화에 성공시킨다면.
저자는 지금의 알파고가 등장하기까지 존재했던 수많은 알고리즘 중에서 9개만을 선별하여 우리에게 보인다. 엄선한 기준은 3가지 잣대가 적용되었다. 많은 사람이 일상생활에서 쓰는 알고리즘일 것, 또한 구체적이고도 실제적인 문제를 다뤄야 한다는 것, 마지막으로 하드웨어가 아니라 컴퓨터 과학 이론에 관한 것이어야 한다는 것이다. 저자는 9개의 알고리즘을 통해 작동 과정, 실제 우리 생활에서 활용되는 예를 보여주며 이 매커니즘을 이해시키려고 노력한다. 하지만, 나는 이 책 또한 제대로 읽는데 실패했다. 저자가 서문에서 의도했던 '알고리즘의 아름다움'을 느끼지 못했던 것은 물론이고 작동 방식이 여전히 어렵게만 다가왔다. 나의 지식이 부족해 컴퓨터 용어가 낯설게 느껴졌기 때문일까? 아니면 저자의 설명에 친숙한 비유가 부족해 전공의 문턱을 넘기가 어려웠던걸까? 이 책보다 더 쉬운 알고리즘에 대한 대중서가 나오기를 기대한다.
그래서 나는 몇 개의 흥미로운 알고리즘을 중심으로 기초적인 원리를 이해해보기로 했다. 목차를 살펴보니, 구글에 대한 이야기가 궁금하다. 구글을 탄생시켰던 페이지랭크 기술에는 어떤 원리가 숨어 있을까? 구글의 창업자 페이지와 브린은 구글에서 사람들이 무언가를 검색할 때 그 정확성을 높이기 위해 '페이지 랭크 기술'을 만든다. 내가 검색하는 것에 대해서 다른 사람들이 많이 방문했던 페이지나 그 정보에 대해서 신뢰할만한 사이트를 구글 검색 결과 상단에 먼저 실어주는 것이다. 이 아이디어에서 출발해 200개의 기술이 포함해 알고리즘을 만든다. 두 젊은 창업자는 이 알고리즘 덕택으로 경쟁업체들보다 4년 정도 늦게 창업했음에도 구글을 일약 스타 검색 엔진으로 만든다. 그리고 현재 미국을 넘어서 전 세계의 이용자를 연결하고자 하는 목표를 달성하고 있는 중이다.
컴퓨터의 수많은 데이터들을 다른 사람에게 어떻게 효율적으로 보낼까? 컴퓨터에 수많은 정보를 저장해놓고서도 오류를 최소화 시키는 방법은 무엇일까? 우리가 알게 모르게 사용하고 있는 알고리즘은 이러한 질문들을 통해서 탄생했다. 물론, 컴퓨터에 대해서 무식한 나로서는 여전히 C언어는 또 다른 외국어이기에 내가 품은 어떤 궁금증을 풀어줄 또 다른 알고리즘을 개발하는 것은 불가능에 가까울 것이다. 하지만, 내 미래 일자리를 위협할지도 모를 알고리즘이기에 이에 대한 관심은 필요하다고 느낀다. 비전공자가 읽는 첫 책이기에 어려웠지만, 이 또한 또 다른 책이 도와줄 것이라고 생각한다.