2012년 세계이미지인식대회(ILSVRC)에서 캐나다 토론토대 제프리 힌튼 교수 팀이 혁명을 일으켰다. 2등과 에러율 10%포인트 이상 차이로 우승을 해 딥러닝 열풍을 불렀다. 구글 계열사인 딥마인드는 2016년 알파고로 두 번째 혁명을 일으켰다. 딥러닝을 탐색 알고리즘 틈에 끼워넣어 세계 최고의 바둑기사를 이겼다. 딥마인드는 다음 문제로 게임과 단백질 폴딩 문제를 지목했다. 단백질 폴딩은 단백질의 염기서열이 접혀서 만드는 3차원 구조를 알아내는 문제다. 유명한 난제이고, 오늘 칼럼의 주제다.
노벨상은 대개 주류에서 나온다. 그런 중에 변방에서 튀어나와 승리를 쥐는 사람들이 있다. 캐번디시연구소의 왓슨과 크릭은 DNA 구조 관련 전공자가 아니었다. 킹스칼리지의 윌킨스 그룹이 관찰의 핵심 기술인 X선 분석 데이터를 거의 독점하다시피 하고 있었고, 현대 이론 화학의 아버지라 불리는 칼텍의 라이너스 폴링은 DNA 사슬이 나선 구조를 가질 수밖에 없다는 것을 먼저 알았다.
필자가 적어도 20년 동안 기다리고 있는 책이 있다. 스탠퍼드대학 교수인 도널드 크누스의 『컴퓨터 프로그래밍의 기술』(이하 ‘기술’) 8장이다. 크누스는 1967, 1968, 1972년에 ‘기술’ 3연작을 내놓으면서 컴퓨터 과학계에 충격을 던졌다. 조그만 글자로 총 2050페이지에 이르는 역작인데 그 방대함과 깊이는 상상을 초월한다.