-
-
알고리즘 라이프 - 일상 속 스마트한 선택을 위한
알리 알모사위 지음, 정주연 옮김 / 생각정거장 / 2017년 12월
평점 :
절판
우리는 ‘선택’에 내던져진 존재다. 365일, 24시간, 매 초, 매 순간. 우리는 선택의 기로에 서 있다. 아주 작은 선택에도 뇌는 많은 에너지가 필요하고, 진화적으로 뇌는 최대한 에너지를 절약하기 위해 <관성적 선택>이라는 능력을 키웠다. <관성>은 아주 경제적인 선택이다. 하지만 이 관성 때문에 오히려 비효율적인 상황에 놓이게 되고, 더 효율적이고 더 나은 방법이 있을 것 같은데도 우리는 그 방법을 찾지 못해서 헤맬 때가 많다. 몇 번 애쓰다가, 결국 골 아프고 새로운 방법 찾기가 귀찮아지면, 그냥 ‘에라 모르겠다’ 싶은 마음으로 아무거나 선택하기 일쑤.
하지만 이런 삶의 태도는 좋다고 할 수는 없다. 도피, 일시적 해결은 가능하나, 진심 어린 만족의 삶과는 거리가 멀다.
그런데 세상에는 문제 해결에 재미를 발견하고 즐기는 사람이 있을까?
있다. 세상에는 사람이 많고, 분명 문제 해결을 즐기는 사람들이 있고, 그뿐만 아니라 문제 해결에 자신의 온 인생을 다 건 사람들이 있다. 직업도 문제 해결사다. 그럼, 그들은 누구일까?
바로!! 바로!!! 바로!!!!!!!!
수학자들이다. (이론/실험 과학자들, 공학자들도 포함된다.)
수학자들은 일반 사람들과 많이 다르다. 그냥 다른 것이 아니고, ‘와, 이 사람 외계인이네!’라는 생각이 절로 든다. 수학자는 어떤 사람들일까. 내가 생각하기로는 수학자들은 문제 해결에 특화된 뇌를 소유하고 있다. 보통 수학자들이 문제를 푸는 것을 보고 ‘문제 해결한다’라는 말보다는, ‘수학 문제를 푼다’라고 말하지만, '문제를 풀다'는 조금 ‘문제를 해결하다’로 충분히 말할 수 있다.
수학자는 주어진 문제를 보고 이런 생각을 한다.
1. 주어진 문제의 답을 어떻게 도출할 것인가.
2. 이 풀이 방법 외에 다른 풀이 방법은 없는가.
3. 답 도출 과정을 좀 더 단순하게, 좀 더 간단하게 줄일 수는 없을까.
4. 답 도출 시간 역시 좀 더 단축할 수는 없을까
5. 그리고 풀이 과정이 미학적으로 아름다워야 한다.
이런 생각을 하는 사람이 수학자다. 수학자는 늘 문제를 푸는 사람, 문제 해결사다. 이 문제라는 것이, 우리가 일상에서 맞닥뜨리는 그 ‘문제’와 전혀 다른 문제라는 것만 다를 뿐,
컴퓨터를 처음으로 생각하고 만들어낸 사람, 컴퓨터를 돌아가게 하는 OS를 만든 사람, 그 안에 설치할 소프트웨어를 최초로 만든 사람은 대부분 수학자였다. (아마도요... 전 그렇게 알고 있어요) 수학자가 만들어냈기에, 수학자가 문제를 풀고, 해결하는 방식으로 컴퓨터가 돌아간다. 그러니까 컴퓨터는 수학자 머리와 손에서 태어났고, 그래서 컴퓨터는 철저히 수학자적으로 판단하고, 계산하고, 원하는 값을 도출한다. (그런 의미에서 컴퓨터는 여전히 계산기다.)
컴퓨터는 어떻게 문제를 풀까? 역시 수학자가 문제를 푸는 것과 비슷하다.
1. 주어진 문제의 답을 어떻게 도출할 것인가.
2. 이 풀이 방법 외에 다른 풀이 방법은 없는가.
3. 답 도출 과정을 좀 더 단순하게, 좀 더 간단하게 줄일 수는 없을까.
4. 답 도출 시간 역시 좀 더 단축할 수는 없을까
5. 그리고 풀이 과정이 미학적으로 아름다워야 한다.
우리가 매일 마우스를 클릭하여 원하는 정보를 찾고, 한 번의 터치로 핸드폰 알람이 울리도록 설정하는 것 등 우리가 컴퓨터와 스마트폰을 사용하며 활용하는 모두 것들이 위의 5가지의 의도로 만들어진 것이다.
값 입력부터 원하는 값 도출까지 모든 게 수학적이다.(꼭 수학적 계산이 아니라도) 그리고 그 구현 방식, 구현 순서라는 것이 바로 ‘알고리즘’이다. 알고리즘은 수학 문제 풀 때나 소프트웨어 프로그램 짤 때만 필요한 것일까?
아니, 알고리즘은 아까도 말했듯 문제를 해결하는 방식이다. 문제 해결에 여러 방식이 있고, 따라서 다양한 알고리즘이 존재한다. 이 알고리즘의 방식대로 우리가 일상에서 겪는 많은 문제도 풀 수 있다.
『알고리즘 라이프』는 컴퓨터 공학자가 쓴 책으로, 일반인의 일상생활에 적용 가능한 알고리즘을 설명하는 책이다. 컴퓨터 전문용어(각 알고리즘 이름)가 등장하긴 하지만, 리처드 파인만이 말했듯, 중요한 것은 ‘이름’ 그 자체가 아니다. 바로, '정확하게 이해하는 것'이다. 그러니까 이 책에 등장하는 낯설고 딱딱한 용어에 겁먹을 필요 없다. 물론 저자가 책의 초반에 메모지와 필기도구를 준비하고, 책에 등장하는 용어를 메모하라고 하지만 굳이 메모할 필요는 없어 보였다. (물론 이름을 기억한다면 유식함을 뽐내는데 도움은 되거나, 관련 업계 종사자와 대화하는데 도움이 되겠지만)
저자는 이런 문제를 던진다.
- 산더미처럼 쌓인 양말 짝을 맞춰라!
- 폭탄세일 때 당신 사이즈의 셔츠를 디자인 별로 몽땅 쓸어 담아라.
- 장보기가 귀찮은 당신, 장보기 횟수를 최소한으로 줄여라.
- 빠르게 미로를 탈출하라.
- 쏟아진 우편물을 주소에 따라 정리하라
- 등등...
등장하는 알고리즘 이름은 딱히 괘념하지 말고, 문제 해결에 집중해서 읽으면 꽤나 유용한 문제 해결 방법을 알 수 있다. 어렸을 적 이런 문제를 풀었듯이 말이다. <A에서 출발해 B에 도착하는 최단 거리를 구하라>! 일상의 문제는 대부분 수학적 문제로 바꿀 수 있고, 반대로 수학적 문제를 일상에 적용하는 것도 가능하다. 어쨌든 수학은 군더더기를 너무나 많이 걷어낸 학문이기 때문이기에, 생활에 유리되고 우리와 너무나 먼 것 같지만 알고 보면 우리가 살면서 겪는 아주 사소한 문제도 수학적으로 나타낼 수 있고, 수학적으로 문제를 해결할 수 있다. 이 책, 『알고리즘 라이프』는 바로 이를 알려주는 책이다.
저자는 컴퓨터공학자이지만, 수학에 상당히 매료된 사람으로 보였다. 문제를 인식하고, 그 문제를 해결하는 방식이 수학자다. 어떻게 하면 더 나은 방법, 더 빠른 방법, 기왕이면 더 아름다운 방법을 찾는다. 그런 행위에 재미를 느끼고, 게임을 하듯 미션을 하나하나 클리어 하듯이 즐긴다.
우리도 그렇게 못 할게 뭐 있나. 일상에서 마주치는 문제들을 우리도 흥미와 호기심을 가지고, 어떤 방법으로 해결하는 게 좋을까 궁리하고 탐구한다면 수학자, 과학자, 공학자들이 느끼는 문제 해결(문제 풀이)의 즐거움과 재미를 우리도 느낄 수 있을 것이다. 문제 해결과 성취도 기쁨이고, 그 과정에서 느끼는 몰입과 즐거움도 기쁨이다.
4차 산업혁명으로 인간은 컴퓨터가 아닌, 보다 인간적이고 인간적인 인간이 되어야 한다고 한다. 인간다운 인간은 뭘까. 바로 호모 루덴스! 문제를 해결을 하면서 그 문제 해결을 하나의 놀이로 인식하고, 즐거워하며 결국 문제를 해결하는 것, 이것이 동물과 인간이 갈라진 결정적 지점이다. 그러니까 앞으로 인간은 동물과 인간으로 갈라졌던 그 지점, 호모 루덴스로 돌아가 능동적으로 문제를 인식하고, 가지고 놀았던 그때의 인간으로 돌아가야 한다. 미래학자와 4차 산업혁명을 이끌고 있는 세계적 CEO들이 '4차 산업혁명 시대, 인간은 보다 인간적인 삶을 살아야 한다'라는 것은 이런 의미가 아닌가 싶다.
문제 해결에는 여러 방법이 있지만, 수학적 과정 즉 알고리즘은 정말 유용하고 효과적인 방법 중 하나다. 이를 깨닫는데 이 책이 많은 도움을 줬다. 굳이 컴퓨터 코딩을 하지 않더라도, 수학 문제를 풀지 않더라도 삶을 살면서 겪게 될 산적한 문제를 알고리즘을 풀 수 있음을, 그리고 그 과정을 즐길 수 있음을 알게 되었다.