일상의 문제에 답을 알려주는 11가지 컴퓨터과학 알고리즘

입력 2018-03-02 07:30
일상의 문제에 답을 알려주는 11가지 컴퓨터과학 알고리즘

신간 '알고리즘, 인생을 계산하다'



(서울=연합뉴스) 황희경 기자 = 당신은 비서를 뽑아야 하는 면접관이다. 지원자 중 1명씩 무작위로 골라 면접을 본 뒤 해당 지원자에게 일자리를 제안하면 탐색은 거기에서 끝난다. 반대로 해당 지원자를 채용하지 않겠다고 결정하면 그 지원자는 영원히 잃게 된다. 탐색을 너무 일찍 멈추면 뒤에 남아있는 지원자 중 최고의 지원자를 놓치게 된다. 반면 너무 늦게 멈추면 앞에 있었던 더 좋은 지원자를 놓치게 되는 결과를 낳게 될 수도 있다. 언제 탐색을 멈춰야 최고의 지원자를 채용할 수 있을까.

신간 '알고리즘, 인생을 계산하다'(청림출판 펴냄)는 이처럼 일상에서 부딪히는 문제들을 해결하는 방법으로 컴퓨터 과학의 알고리즘을 제시하는 책이다.

컴퓨터과학과 철학을 공부한 미국의 저술가 브라이언 크리스천과 톰 크리피스 미국 UC버클리 심리학 및 인지과학 교수는 이 책에서 컴퓨터과학에서 문제를 해결할 때 쓰는 알고리즘들을 설명하며 인생의 문제에서 이 알고리즘을 적용해보라고 권한다.

앞서 제시한 '비서 문제'를 해결하는 데는 '최적 멈춤'(optimal stopping)이라는 알고리즘을 적용한다.

지원자가 1명이면 고민할 필요가 없이 그 사람을 채용하면 된다. 지원자가 2명이라면 그중 더 나은 사람을 채용할 확률은 50%, 세 명이라면 확률은 33%가 된다. 이런식으로 지원자가 늘어날수록 살펴보기(탐색)와 뛰어들기(멈춤) 사이에 멈출 최적의 타이밍은 언제인가. 컴퓨터과학의 알고리즘은 이 경우 '37%의 법칙'을 제시한다. 이 법칙을 따르면 지원자 중 처음 37%는 선택하지 않은 채 그냥 죽 살펴보다 지금까지 본 사람들보다 더 나은 지원자가 나오면 면접을 중단하면 된다.

물론 이 법칙을 따라도 최고의 지원자를 뽑을 확률 역시 37%다. 그러나 '최적 멈춤' 알고리즘을 따르면 지원자가 100명이든, 100만명이든 확률은 똑같이 37%다.

저자들은 "대체로 건초 더미에서 바늘을 찾아낼 정도로 가능성이 적다는 것은 분명하지만 최적 멈춤 전략은 건초더미가 아무리 커도 그것에 대처하는 최고의 방어 전략이 된다"는 점에서 가치 있는 전략이 될 수 있다고 설명한다.

책은 이밖에도 탐색/이용, 정렬하기, 캐싱, 일정 계획, 베이즈 규칙, 과적합, 완화, 무작위성, 네트워킹, 게임이론 등 총 11가지 컴퓨터과학의 알고리즘을 소개하고 이를 일상생활에서 적용하는 방법을 설명한다.

"더 폭넓은 차원에서 컴퓨터과학이라는 렌즈를 통해 우리의 일상을 들여다본다면 우리는 인간 마음의 특성, 합리성의 의미, 그리고 모든 의문 중에서 가장 오래된 것인 '살아가는 방법'에 관해 무언가를 깨닫게 될 수 있다. 인지 개념을 환경이 부과하는 근본적인 계산 문제들을 푸는 수단이라는 관점에서 살펴본다면 우리가 인간의 합리성을 생각하는 방식에도 근본적인 변화가 일어날 수 있다"(서문 중).

이한음 옮김. 616쪽. 2만원.

zitrone@yna.co.kr

(끝)

<저작권자(c) 연합뉴스, 무단 전재-재배포 금지>