ADVERTISEMENT
오피니언 문병로의 알고리즘 여행

1층인가 0층인가

중앙일보

입력

지면보기

종합 27면

문병로 서울대학교 컴퓨터공학부 교수

문병로 서울대학교 컴퓨터공학부 교수

독일은 승용차의 고속도로 통행료가 없다. 오스트리아는 고속도로 10일 이용권이 8.5유로다. 1년 치는 80유로다. 스위스는 무조건 1년 치 고속도로 통행권을 사야 하는데 40유로다. 이게 통행권을 산 날로부터 1년이 아니고 구입한 날이 속한 그 해의 사용권이다. 12월 31일에 40유로를 내고 사면 다음날 또 다음 해의 40유로짜리 통행권을 사야 한다. 합리적인 나라라는 인상과 어울리지 않는 지극히 행정 편의적인 제도다.

우리 나이로 한 살이라는 것은 그 해 태어났다는 뜻이다. 12월 31일에 태어나면 다음 날 바로 두 살이 된다. 우리 국민 중 대략 14만명은 태어난 지 이틀 만에 두 살이 되었다. 나이가 들수록 한 살이 아쉬워 더 불합리하게 여겨진다. 서구의 나이는 우리의 ‘만’ 나이와 같은 것으로 태어나서 1년 동안 0살이다. 한반도에 원래 0이라는 수가 존재하지 않았으니 자연스럽게 한 살부터 시작할 수밖에 없었을 것이다.

우리나라와 미국·일본에서 건물의 지상층은 1층이다. 유럽 국가들 대부분은 건물의 지상층이 0층이다. 우리 건물에 익숙해져 있어 처음에는 이상해 보인다. 그렇지만 조금만 생각해보면 그들이 합리적이다. 유럽의 엘리베이터는 자연스럽게 ... 2, 1, 0, -1, -2, ...와 같이 정수로 층을 표기할 수 있다. 우리는 ... 2, 1, B1, B2, ...와 같이 적는다. 2층에서 지하 2층으로 이동하면 숫자상으로 네 층을 이동하는데 실제로는 세 층을 이동한다. 심지어 4라는 수가 기분 나쁘다고 F로 적거나 3층 다음이 아예 5층인 경우도 있다. 유럽은 건물의 층을 수리적으로 정했고, 우리는 층의 이름을 지었다고 할 수 있다.

알고리즘 여행 7/3

알고리즘 여행 7/3

연도를 매기는 데도 비슷한 예가 있다. -1년(기원전/BC 1년)이 끝난 다음 해는 0년이 아니고 바로 +1년(기원후/AD 1년)이 된다. 중간에 1년이 빈다. 항성들의 움직임에 대한 계산이 안 된다. 천문력에서는 이를 보완하기 위해 기원전 시대를 1년씩 조정해서 사용한다. BC 1년이 0년, BC 2년이 -1년이 된다.

0은 수의 위치가 의미를 갖는 위치기수법이 인도에서 발명되면서 고안되었다. 1024007과 같은 표기법을 말한다. 아랍인들이 인도의 수체계를 배워 유럽에 전했는데 이로 인해 아라비아수라 잘못 불리게 되었다.

우리가 중국과 유럽 중심의 세계사에 익숙해 이슬람과 인도 문명은 다소 경시된다. 이슬람의 굵은 줄기인 투르크는 중앙아시아에서 발원한 흉노가 이합집산하면서 서쪽으로 뻗어 나간 것으로 보인다. 이들이 동로마제국을 무너뜨리고 지금의 터키가 된다. 투르크와 아랍·인도의 역사를 빼면 세계사의 3분의 1이 빠진다. 세계 최초의 문명인 메소포타미아 문명의 발원지는 아랍이었고, 이로부터 최초의 문명국가라 할 수 있는 수메르가 탄생했다. 중세의 아랍은 세계 최고의 문명 지역이었다.

알고리즘(Algorithm)이란 단어도 이븐 무사 알 콰리즈미라는 이슬람 과학자의 이름에서 유래했다. 그는 9세기 이란의 아바스 왕조 시대에 대수학의 고전에 해당하는 책을 썼다. 그의 이름은 중앙아시아 우즈베크에 해당하는 콰리즘 지역 출신임을 뜻하는 것으로 당시에는 이란 왕국에 속해 있었다. 조로아스터교의 발원지이기도 하다. 알고리즘이란 단어는 그의 저서를 라틴어로 번역한 책의 제목에서 ‘알 콰리즈미’란 이름이 고유명사화된 것이다.

문병로 서울대학교 컴퓨터공학부 교수