알고리즘은 만병통치약 #1

by 전익진

http://www.yes24.com/Product/Goods/91614222


알고리즘


'알고리즘을 무엇이라 생각하십니까?'

알고리즘은 주어진 문제를 해결하고 풀어가기 위해 절차를 정의한 것이다.

여기서 핵심은 주어진 문제일까? 해결하고 푸는 과정일까? 아니면 절차를 정의한 것일까?

핵심이야 무엇이든 주어진 문제를 해결하는 ‘신의 한 수’가 바로 알고리즘이다.

0021.jpg

우리에게는 정해진 환경과 상황이 모두 같을 수 없다. 그렇기 때문에 무엇보다 알고리즘은 중요하다. 모든 사람이 받아 든 문제가 동일할 수 없기에 스스로 주어진 문제를 해결하는 방법을 익혀 나갈 필요가 있는 것이다.

간혹 알고리즘이 컴퓨터의 한 분야로 인식되는데 나는 조금 다르게 생각한다. 알고리즘은 단순히 컴퓨터의 한 분야가 아닌 다양한 환경과 분야의 핵심적인 기본 소양이다.

알고리즘에 강하면 문제 해결 능력이 상승하고 문제 해결 능력이 뛰어나면 소속된 조직의 적응에도 많은 도움을 준다.

이제부터 우리는 알고리즘이 단순히 프로그래밍 능력을 향상하기 위해 필요한 덕목으로 인식하지 말자.

누구에게나 상황에 따라 해결해야 할 문제는 반드시 닥친다.

그러니 알고리즘은 코딩이라는 일반적인 시각에서 벗어나 보자.

문제를 해결하고자 할 때 보다 효율적으로 접근하는 방법을 통칭해 알고리즘이라고 하자.

논리적으로 생각할 수 있는 힘 그것이 알고리즘이다.

학생들이 수학 문제를 푸는 과정도, 프로그래머가 프로그램을 코딩하는 순간도, 데이터 분석가가 데이터를 분석하는 과정도, 글을 쓰는 과정도 모두 알고리즘에 의해 움직인다.

알고리즘은 합리적인 체계를 구축해가는 과정이다.

문제를 합리적 체계에 따라 접근해 풀어가는 과정이 모두 알고리즘에 속한다.




창작의 고통


데이터 과학자가 되기 위해 알고리즘의 중요성을 강조하는 이유는 나만의 독창적인 문제 해결 과정을 수립하라는 의미다. 그것은 어쩌면 오래전 어느 가수가 말했던 것처럼 ‘창작의 고통’을 겪는 것과도 같을 것이다.

나만의 독창적인 문제 해결 과정이 수립되려면 수없이 많은 문제를 받아야 하고 이를 해결하기 위한 합리적 체계를 반복적으로 수립해 보아야 할 것이다.

시간과의 싸움이며 반복적인 훈련의 효과이다.

알고리즘 능력은 반복적 수행 결과에 비례한다.

어렵게 해결된 문제일수록 그 해결 과정을 꼼꼼히 분석하고 기록하여 반복적으로 풀어보아야 한다.

0022.jpg

지금 이 시간부터, 꼭 데이터 과학자가 되지 않더라도, 어떤 문제를 해결했다면 어떤 과정에서 그 문제를 해결했는지 기록하는 나만의 노트를 가져보자. 분명 그 노트가 어느 순간 당신의 등대가 되어줄 것이다.

역시 기록의 중요성은 무시할 수 없다.

이제 우리는 알고리즘에 대한 몇 가지 핵심 사항을 살펴볼 것이다.

‘단순함이 가장 아름답다’는 말이 있다.

바로 그 단순함을 찾아가는 과정, 그것은 바로 알고리즘으로부터 나온다.




프로세스


그렇게 중요한 알고리즘을 통한 문제 해결 능력을 향상하기 위해서 우리는 무엇을 훈련해야 할 것인가?

알고리즘의 과정은 문제를 파악하고 그 해결 방안을 찾아가는 과정을 의미한다. 따라서 앞서 말한 ‘주어진 문제’는 알고리즘의 범위에 포함시키지 말자. 알고리즘을 위한 시작점일 뿐이다.

그렇다고 문제를 인식하는 과정이 덜 중요하다는 이야기는 아니다.

주어진 문제를 인식하는 과정은 내가 누차 강조하는 ‘색다른 시선’, 즉 비판적 사고이다.

0023.jpg

그러면 핵심이라 지목된 세 가지 중 두 가지가 남게 된다. ‘해결하고 푸는 과정과 그것을 정의한 절차’다.

여기서 또다시, 문제를 해결하고 풀기 위한 절차를 정의해 나가는 과정이 곧 알고리즘에 대한 훈련이 되므로, 결국 두 핵심 과정을 하나로 묶어 알고리즘 훈련을 하면 된다.


가. 문제 인식 → 데이터 수집 → 데이터 분석 → 결과 도출 → 가치 발견 ( X )


나. 문제 인식 → 문제 해결 방안 모색 → 해결 과정에 대한 절차 수립 → 데이터 수집 → 데이터 분석 → 결과 도출 → 가치 발견 ( O )

매거진의 이전글언제나 비판적 시각으로 접근하라 #4