2023. 5. 10. 21:15ㆍBOOK
유튜브에서 자주 보는 댓글. ❝알고리즘이 날 이 영상으로 이끌었습니다. 좋은 영상 보고 갑니다.❞ 그리고 블로거들이 검색 유입이 줄어들면 이런 말을 하기도 하는데, ❝검색 알고리즘이 또 바뀌었나 봅니다. 블로그 유입이 반토막 났어요.❞
자주 쓰면서도 정확하게 뜻을 설명하기 쉽지 않았던 단어 '알고리즘'에 꽂혀서 이 책을 골랐던 기억이 난다. 지금은 절판된 이 책의 한글 제목은 '알고리즘 라이프(Algorithmic Thinking in Everyday Life)'이지만, 원문 제목은 크게 달랐다. Bad Choices(나쁜 선택). 도대체 선택(Choice)과 알고리즘(Algorithm) 사이에 어떤 관계가 있을까?
알고리즘을 검색해 보면 다음과 같은 사전적 의미를 찾을 수 있다.
알고리즘 [algorism]
명. 어떤 문제를 해결할 때, 입력된 자료에서 원하는 부분의 출력을 유도하는 규칙의 집합.
저자가 이 책의 원문 제목을 '나쁜 선택(Bad Choices)'으로 지었던 것은 생활 속에서 만나는 다양한 상황에서 해결 방법을 설명하고 있다. 빠른 것이 항상 좋은 것은 아니지만, 해결해야 한다면 더 효율적인 방법을 고민하도록 알고리즘적 사고방식을 알려준다. 알고리즘을 이용하지 않은 나쁜 선택은 당신의 시간을 빼앗게 될 거라는 의미에서 아마도 나쁜 선택이라고 제목을 붙이지 않았을까.
저자는 책 후기에 다음과 같이 이 책의 필요성을 이야기하며 책을 마친다.
요즘 알고리즘이 사람들의 입에 자주 오르내린다. 몇 년 전 빅데이터가 그랬고 앞으로 딥러닝이 그럴 것이다. 여러분이 이 책에서 알고리즘이 그저 일시적인 유행이기는커녕 그 역사가 아주 깊다는 사실을 알게 되길 바란다. 바빌로니아 점토판 이야기를 기억하고 있을 것이다. 그리고 알고리즘은 시간이 흘러도 그 가치가 변치 않을 중요한 개념이기 때문에 자세히 알아볼 가치가 있다. 무엇보다 알고리즘이 더 영리하게 생각하기 위한 도구로 어떻게 이용되는지 알아볼 가치가 있다는 사실이 중요하다.
P. 157 - 158
책에서는 알고리즘을 고민하기 위한 일상 속 12가지 상황을 제시하고 있다. 어려운 이슈는 아니지만, 그 수가 커지면 고민 없이 단순 반복으로 해결하기 어려운 이슈들이다.
- 산더미처럼 쌓인 양말 짝을 맞춰라
- 폭탄세일 셔츠를 쓸어 담아라
- 장보기 횟수를 최소한으로 줄여라
- 빠르게 미로를 탈출하라
- 쏟아진 우편물을 주소에 따라 정리하라
- 위대한 음악가들을 정복하라
- SNS에서 관심받을 만한 상태메시지를 업로드하라
- 연말 송년회 전에 모든 잔업을 끝마쳐라
- 수제 이니셜 목걸이를 고쳐라
- 분리수거장에서 택배용 빈 상자를 찾아라
- 저자의 이름순으로 책장을 정리하라
- 마트에서 최대한 빠르게 필요한 물건만 쓸어 담기
어떤가? 평소 생각 없이 해결했던 문제들 아닌가? 이런 일상 속 이슈들에서부터 다양한 관점으로 문제를 바라보고 해결할 수 있는 방법을 유추해가는 과정을 이 책을 통해 친절하게 소개하고 있다. 이 책을 읽고 나서 유튜브의 많은 영상 중에 사용자가 더 많은 관련 영상을 보게 하는 '알고리즘'이나 비슷한 주제의 블로그 포스트에서 더 유용한 콘텐츠를 우선 노출하는 '알고리즘'에 대해서도 고민해 볼 수 있었다. 여러분도 그러길 바라며 이 책을 추천한다.
- 지은이 : 알리 알모사위 (Ali Almossawi)
- 제목 : 알고리즘 라이프 - 일상 속 스마트한 선택을 위한 (Bad Choices)
- 옮긴이 : 정주연
- 출판사 : 매경출판 - 생각정거장
- 출판 연도 : 2017. 12.
- 페이지 : 총 175면
들어가기
독자들이 이 책을 통해 살아가는 동안 어떤 결정을 내릴 때 더 현명하게 사고할 수 있고 그 결정에 따른 결과를 더 잘 이해할 수 있게 되기를 바란다. 양말 짝 맞추기 방법처럼 거의 모두가 직관적으로 알고 있는 방법을 가르쳐주려는 것이 아니다. 여러분이 스스로에 대해 이렇게 생각하게 만드는 것이다. "바로 내 양말에 대해 그렇게 생각할 수도 있구나." 알고리즘적 사고방식도 비판적 사고방식과 흡사하게 더 나은 행동을 위한 대단히 유용한 도구다.
P. 14
SNS에서 관심받을 만한 상태메시지를 업로드하라
실제로 우기라 서로 다른 문제해결 방법들을 검토할 때 전형적으로 이런 균형적 시각을 유지한다. 컴퓨터 과학자들은 여러 방법들을 상대적 속도, 즉 수행시간 복잡도 run-time complexity라는 것을 비교하곤 하지만 그 방법들에 얼마나 많은 메모리나 디스크 공간이 요구되는가를 기준으로, 즉 공간 복잡도 space complexity를 비교하기도 한다.
여기서 주목할 것은 방법2가 컴퓨터 작업과 유사하다는 사실이다. 1952년 컴퓨터 과학자 데이비드 앨버트 허프만David A. Huffman은 데이터 저장에 필요한 공간의 양을 감소시키는 방법을 발견했다. 허프만의 방법은 이전의 방법들과 달리 무언가를 없애지 않고 ‘최적화’하는 데에 중점을 두었다. 컴퓨터는 알파벳의 철자에 숫자값 을 부여하여 단어 같은 데이터를 저장한다. 숫자나 다른 문자들도 마찬가지다. 그다음 그 숫자값은 컴퓨터가 이해할 수 있는 이진법binary을 이용해 저장된다.
P. 90
연말 송년회 전에 모든 잔업을 끝마쳐라
주말까지 제출해야 하는 세 과목의 숙제가 있다고 생각해보자. 하나를 아침에 하고 다른 것을 오후에, 또 하나는 저녁에 하면 된다. 그 다음날 아침에 다시 처음 과목을 하고 그 다음에 두 번째를 하는 식으로 숙제를 끝낼 때까지 하는 식이다.
이런 시간 쪼개기 방법은 사실상 최신 운영체계가 여러 가지 작업을 처리할 때 사용하는 것으로 문맥전환(context switching)이라고 부른다. 스케줄러는 현재 어떤 프로세스들이 운영되고 있는지를 보고 그것들에 시간을 쪼개서 할당하고 각각의 프로세스가 각각 배분된 시간 동안 제대로 수행되는지 확인한다. 프로세스들 간의 전환이 너무 매끄러우면 그 운영체계가 마치 여러 프로세스를 동시에 처리하고 있는 것처럼 보일 수도 있다.
P. 101
마지막 생각들
리차드 파인만(Richard Feynman, 미국 물리학자)은 문제를 빨리 해결하는 능력으로 유명하다. 사람들이 어떻게 그런 능력을 가지게 되었느냐고 묻자 파인만은 문제를 아주 여러 가지 방식으로 바꾸어 생각한 덕분이라고 답했다. 그러니까 문제들을 다른 관점으로 보았다는 말이다. 유추를 해볼 수도 있고 동일시를 할 수도 있고 변증법적 방법을 써볼 수도 있다. 쇼맨십이 강한 파인만에게는 청중들을 깜짝 놀라게 해줄 웃긴 얘기를 생각해내는 것도 하나의 방법이었다.
P. 156