
알고리즘(Algorithm)이라는 단어는 구글 검색, SNS 분석, 특정 작업을 수행하는 프로그램, AI 개발 등 삶에 필수불가결하다. 누구나 한번쯤 들어봤을 알고리즘이라는 단어는 어디에서 유래했을까.
알고리즘 개념은 9세기 페르시아에서 활동한 과학자 무함마드 이븐 무사 알콰리즈미가 발명한 것으로 여겨진다. 알콰리즈미는 서기 780년에서 850년 사이에 살았던 이슬람 과학자로 대수학의 아버지 혹은 컴퓨터 과학의 조부로 불리기도 한다. 그가 살았던 시대는 이슬람 제국에서 과학이 비약적으로 발전한 이슬람 황금기 초기로 알콰리즈미 자신도 고전 지도서를 수정하고 태양, 달, 행성 운행을 계산하는 등 수학, 지리학, 천문학, 삼각법에 중요한 기여를 했다.
그 중에서도 알콰리즈미 업적으로 유명한 게 대수학 개발이다. 당시 이슬람 수학자는 대수학 발전을 주요 과제로 삼고 있었고 이슬람 국가 최고 통치자인 아바스 왕조 7대 칼리프는 알콰리즈미에게 대수에 관한 논문(al-jabr wa al-muqabala)을 쓰라고 권유했다. 대수 개념 자체는 이전부터 존재했지만 대수에 관한 결정적인 책을 쓴 건 그가 처음이었다. 이 책 라틴어 번역본은 16세기까지 유럽 대수 교과서 기초가 됐다고 한다.
또 알콰리즈미의 중요한 수학적 기여 중 하나는 서양 수학자에게 힌두-아라비아 숫자 체계를 소개한 것이다. 힌두-아라비아 숫자는 0~9 숫자 기호로 0과 10진법 사용은 컴퓨팅 역사에서도 중요하다. 알콰리즈미의 수학 문제 계산 기술은 알고리즘 개념 기초가 됐다. 알콰리즈미의 힌두 숫자에 관한 책은 라틴어로 번역되어 힌두 수의 계산법(Algoritmi de numero Indorum)이라는 제목이 됐다. 중세 라틴어로 힌두-아라비아 숫자 체계를 사용한 산술 규칙을 앨지브라(Algebra)에 따라 알고리즘(Algorithm)이라 부르게 됐다.
알고리즘이라는 단어가 유한 단계로 구성된 수학 문제 해결 절차 혹은 문제를 해결하거나 목적을 달성하기 위한 단계적 절차라는 현재의 정의를 갖게 된 건 20세기 초 이 개념이 제안, 입증되면서부터다. 대표적인 예로 컴퓨터 과학의 아버지로 불리는 앨런 튜링이 제안한 튜링 머신이 있다. 튜링머신은 실제 기계가 아닌 추상 이론이지만 현재의 알고리즘 개념을 실질적으로 다룬 계산 모델로 컴퓨터 탄생에 중요한 역할을 했다.
알고리즘 개념의 기원이 된 알콰리즈미는 오늘날 잘 알려진 수학 및 컴퓨터 과학 발전에 중심적인 역할을 했다. SNS에서 온라인 은행 계좌 사용, 스포티파이에서 음악 듣기까지, 디지털 기술을 사용할 때는 고대 페르시아 과학자의 선구적 업적이 없었다면 불가능했을 것임을 기억해야 한다. 관련 내용은 이곳에서 확인할 수 있다.