본문 바로가기
책/과학,수학

알고리즘 라이프 - 알리 알모사위

by dwony26 2020. 12. 7.
반응형

 

'일상 속 스마트한 선택을 위한'이라는 부재를 달고 있는 이 책은 개발자들이라면 잘 알고 있는 알고리즘을 일상생활에 비유해서 설명하고 있다. 얇고 그림도 많아서 금방 읽을 수 있는데 초반부의 내용은 꽤 쓸만하다고 느껴지기까지 한다. 그런데 뒤로 갈수록 일상생활과 멀어지더니 마지막 장에서는 이진 트리를 설명하고 있다. 역시 이동진 작가의 2/3 법칙은 진리인가 보다.

 

산더미처럼 쌓인 양말 짝을 맞춰라

빨래 후에 양말 짝을 찾을 때 어떻게 하는가? 첫 번째 방법은 양말을 하나 꺼내서 짝을 맞추고 다음 양말을 꺼낸다. 반복. 두 번째 방법은 양말을 여러 개 꺼내서 짝을 맞춰보고 빨래 더미에서 따로 분리해 놓는다. 역시 반복. 두 번째 방법을 컴퓨터에서는 캐시라고 하는데 사실 첫 번째 방법으로 짝을 맞추는 사람은 없을 것이다.

 

폭탄세일 셔츠를 쓸어 담아라

백화점에 폭탄세일 셔츠가 끝이 보이지 않을 정도로 걸려 있다. 대신 셔츠는 사이즈별로 정렬이 되어 있다. 내 사이즈에 맞는 셔츠를 찾으려면 어떻게 해야 하는가? 쉽게 생각할 수 있는 방법은 한쪽 끝에서부터 사이즈를 확인하며 전진하는 것이다. 그런데 내 사이즈가 XXL이고 XXS에서부터 찾기 시작했다면 거의 모든 셔츠를 확인해야 할 수도 있다. 이 시간을 줄이려면 적당히 중간부터 찾아 나가면 된다. 이 방법을 이진검색이라고 하는데 이해하기는 어렵지만 우리는 일상생활에서 대부분 이렇게 검색을 하고 있다. 책을 읽다가 책갈피를 끼우지 않고 잠들었을 때, 다음날 읽었던 부분을 어떻게 찾아가는지 생각해 보면 된다.

 

쏟아진 우편물을 주소에 따라 정리하라

우편물을 주소에 따라 정리해야 할 때 가장 쉽게 생각할 수 있는 방법은 가장 앞쪽 주소를 찾아서 꺼내놓는 작업을 반복하는 것이다. 삽입 정렬, 선택 정렬, 버블 정렬 같은 이차 시간 알고리즘이 이 방식을 사용한다고 보면 된다. 이를 더 빨리하기 위해서는 분할 정복법을 사용하면 되는데 우편물을 나눠서 정렬하고 다시 합치는 방식이다. 병합 정렬, 퀵 정렬이 이 방식인데 알고리즘을 보면서 이해하기는 어렵지만 역시 우리는 일상생활에서 이 방식을 쓰고 있다. 학창시절에 분단별로 시험지를 걷어서 합칠 때 썼던 방식을 생각해 보면 된다.

 

이 책을 보면서 역시 인간은 똑똑하고 컴퓨터는 멍청하다는 것을 새삼 느끼게 되었다. 일상적으로 당연하게 하는 방법을 컴퓨터에게 알려주기 위해서 얼마나 고생을 하고 있는 것인지. 내일도 이 멍청이와 씨름하러 가야 하는고만.

 

 
알고리즘 라이프(일상 속 스마트한 선택을 위한)
쇼핑부터 비즈니스까지, 선택의 순간 탁월한 결정으로 이끄는 알고리즘 사고! 대중에게 컴퓨팅 사고력을 재밌고 기발하게 소개한다 - 빈트 서프 구글 부사장 컴퓨터 과학의 기초를 이해하려는 모든 이들에게 완벽한 책이다 - 시자르 히달고 MIT 교수 오늘날 세상을 한 단어로 정의 내린다면 ‘알고리즘’이라 할 수 있다. 검색엔진, 쇼핑, 교통신호, 인공지능, 네비게이션까지 알고리즘은 모든 곳에 있다. 기술이 발달할수록 알고리즘이 활용되는 범위와 중요성은 더욱 커질 것이다. 시스템이 예측 가능하도록 작동하려면 알고리즘이 필요하기 때문이다. 이 책은 복잡한 공식이나 수식 대신 마트나 백화점, 사무실처럼 평범한 공간으로 우리를 초대한다. 그리고 우편물 정리나 양말 개기, 잔업처리와 같은 문제를 해결하는 과정을 통해 알고리즘의 기본 원리를 알려준다. 코딩에 입문한 사람에게 최고의 안내서일뿐 아니라, 컴퓨터나 프로그래밍에 관심 없는 이에게도 유용하다. 알고리즘은 문제를 효과적으로 해결하는 일종의 프로세스다. 알고리즘적 사고방식을 통해 우리는 ‘더 나은 행동’을 선택할 수 있다. 책 속의 인물들이 12가지 문제 상황을 알고리즘 사고로 풀어나가는 과정을 따라가다 보면 당신의 일상도 ‘스마트한 삶’에 한층 더 가까워질 것이다.
저자
알리 알모사위
출판
매경출판
출판일
2017.12.14
반응형

댓글