d라이브러리









풀어쓰는 컴퓨터역사① 셈의 기원

손가락계산법·기푸·눈새김

'과학동아'는 컴퓨터의 탄생에서 오늘에 이르기까지의 역사를 올 한해동안 연재할 계획이다. 인공지능 슈퍼컴퓨터 컴퓨터그래픽 컴퓨터언어 등을 추구했던 컴퓨터과학자들의 성공과 실패에 얽힌 재미있는 이야기들에 많은 기대를 바란다.

셈을 할 수 있는 능력은 인간을 다른 동물과 구분하는 중요한 특징이다. 물론 언어를 가지고 있는 것과 도구를 만들 수 있는 능력도 인간이 다른 동물에 비해서 우월한 면이기도 하다. 그러나 셈을 할 수 있는 능력은 인간만이 가지고 있다.

어떤 동물학자의 연구보고서에 따르면 돌고래나 침팬지도 나름대로의 언어가 있다고 한다. 혹자는 언어가 아니라 음성신호라고 말하기도 한다. 독일의 한 동물학자의 연구에 따르면 집고양이도 1백28개의 단어를 가지고 서로 의사소통을 한다. 돌고래를 이용한 수중쇼는 만화영화뿐만이 아니라 TV의 과학프로에서도 자주 보인다. 그러나 그 어떤 동물도 셈하는 능력이 있다는 연구보고는 아직 없다.

까마귀의 계산법

까마귀나 까치는 대략 1에서 4까지 숫자에 대해서는 분별이 있다고 한다. 이런 이야기가 전해진다. 까마귀집 근처에 망루를 설치하고 그 안쪽은 밖에서 보이지 않도록 만든다. 까마귀가 둥지를 떠나 있을때 한 사람이 까마귀집 근처의 망루에 들어간다. 이 광경을 지켜본 까마귀는 그 사람이 망루에서 내려올 때까지 잡힐까봐 자기집에 오지 않는다고 한다. 물론 그 까마귀잡이가 내려오면 주위를 돌다가 집으로 돌아온다. 이번엔 두사람이 들어가서 한사람만 망루에서 내려오면 어떨까. 까마귀는 아직 망루에 한명의 까마귀잡이가 남아있다는 사실을 안다. 네명이 올라가서 세명이 내려올 때까지 까마귀는 망루에 까마귀잡이가 남아있음을 안다고 한다. 그러나 다섯명이 망루에 올라가서 네명이 내려오면 까마귀는 망루에 남아있는 사람이 하나도 없는 줄 알고서 자기집으로 돌아온다.

과학적인 논문에 의한 것인지 확인할 길이 없으나 비교적 영민한 까마귀의 셈의 한계를 보여주는 이야기라고 할것이다. 수학적으로 표현하자면 까마귀의 머리에 있는 숫자는 모두 다섯개다. 그 다섯개는 {0, 1, 2, 3, ⊙}인데 여기서 ⊙는 4보다 많음을 나타내는 기호다. 즉 2-1=1임을 까마귀는 안다. 네명이 망루에 올라가서 세명이 내려오는 것을 목격했다면 ⊙_3>;1이라고 생각했을 것이다. 즉 한명 이상이 아직 망루에 남아 있음을 안다. 그러나 다섯명이 들어가서 네명이 나온다면 ⊙-⊙=0, 따라서 망루에는 아무도 남아있지 않은 것으로 인식하게 된다.

농담으로 하는 이야기에 멍청함의 최고단계로서 제시하는 수체계에 {하나, 둘, 많다}라는 것이 있다. 아무리 원시부족이라도 물물교환이 있다면 이 정도보다는 더 나은 산술체계가 있을 것이다.

인류가 셈을 하기 시작한 것은 이미 선사시대때부터였다고 한다. 지금에 와서 본다면 유치원아이들 수준에도 미치지 못하지만 뼈조각이나 조약돌따위를 이용해서 나름대로 셈을 해왔다. 이미 B.C. 1800년경 바빌로니아에는 복리계산법이 있었다. 그 지역에서 발굴된 점토판위에 곰보자국으로 쓰여진 설형문자는 연리 20%일때 곡식을 두배로 늘리려면 몇년과 몇달이 걸리는가를 분명히 말해주고 있다고 한다. 놀라운 일이 아닐 수 없다.

캘큘러스(calculus)라는 과목이 대학교양과정에 있다. 고등학교시절 수학 I, II 등에 시달려온 학생이라면 대학신입생시절 calculus라고 제목찍힌 원서책이 주는 뿌듯함을 기억할 것이다. 묘한 발음이라서 몇번씩 되뇌어 본다. 대부분 해석학 또는 해석개론이라는 과목명으로 개설되어 있다. calculus의 뜻은 라틴어의 어원으로 보면 '조약돌'이라는 뜻이다. 조약돌로서 양과 밀가마니 수를 헤아리던 역사의 원천을 생각나게 한다. 조약돌 셈에서 미분방정식까지의 의미를 calculus는 모두 간직하고 있다.

엉덩이도 쓰면 41가지

셈하는데 쓰는 도구는 여러가지가 있지만 그 왕자는 단연코 전자계산기(computer)다. 어떤 분은 전자계산기를 '셈틀'이라고 불러야 한다고 주장한다. 뒤늦은 감이 있지만 이 주장에도 설득력이 있다.

인류 최초의 계산기는 무엇이었을까. 그것은 바로 손이었다. 다섯가닥으로 갈라져있고 따로따로 동작할 수도 있으며 그 굵기도 적당히 달라서 좋고, 또한 두손 모양이 서로 대칭적으로 생겨 좋았다. 만일 두손의 모양이 서로 달랐더라면 어떤 일이 생겼을까. 인간의 손은 한의학에서도 말하고 있듯이 두뇌와 연결되는 여러가지 신경을 가지고 있다. 인간이 손을 이용한 것은 두뇌의 발전과 깊은 관계가 있다. 제법 많은 분명한 뼈마디, 한 손내의 비대칭적 손가락 배치, 두손의 대칭적 배열, 적당한 살점 등 인간의 손은 다른 어떤 신체기관 보다도 축복받은 기관이다. 눈이나 귀가 늙으면 제기능을 상실하는 것에 비해서 손가락은 수명이 다할때까지 크게 손상받지 않고 사용된다.

손가락을 이용해서 셈하는 최초의 방식은 물건과 손가락을 일대일로 대응시킴으로써 이루어진다. 어머니가 아이에게 들판의 양이 몇마리나 있는지 알아오라고 했다. 아이는 들판으로 나가서 양 한마리씩 보면서 그 때마다 손가락을 한개씩 꼽는다. 그리고 손가락을 펴지않고 그대로 집으로 달려와서 어머니께 손가락 모양을 보여준다. 그것을 본 어머니는 양이 도망가지 않았는지 알 수가 있었다. 숫자개념이 아직 없을 때의 일이다.

인간에게 추상적인 숫자의 개념이 자리잡기 위해서는 수천년의 역사가 필요했다. 세마리의 양, 밀가루 세항아리, 사과 세개 등에서 공통적이며 추상적인 특성인 3이라는 개념은 사실 무척 어려운 개념이다. 우리들은 당연한 것으로 받아들이고 있지만, 원시인 모자(母子)는 숫자를 모르고서도 별탈없이 양을 돌볼 수 있었다. 그러나 재산이 점점 불어남에 따라서 몇가지 문제가 생겼다. 양이 새끼를 쳐서 17마리로 불어났다. 이제는 10개의 손가락으로는 그것을 모두 표시할 수가 없게 되었다. 뿐만 아니라 돼지도 8마리가 생겼다. 따라서 돼지와 양을 구별해서 헤아려야만 했다. 손가락 셈법의 발전이 필요했다.

10을 넘는 숫자를 셈하는 손가락 셈법은 지역마다 다르다. 인도와 중국남부지방에서는 손가락 마디를 이용하여 28까지 헤아렸다고 한다. 또 중국의 일부지방 여성들은 28개의 마디마다 노끈으로 표시를 하여 각자 월경주기의 빠르고 늦음을 알았다고 한다. 손가락이 10까지만 셈할때 그 수를 늘릴수 있는 방법으로는 신체의 각 부위가 사용되었다.

뉴기니의 파푸스족은 열손가락 손목 팔꿈치 눈 코 귀 발가락 게다가 엉덩이까지 이용해서 41까지 계산한다고 한다. 온 몸을 이용해서 계산하는 방식에서 토속춤이 나왔는지도 모르겠다. 이와는 달리 어떤 지방에서는 몇사람의 손가락을 모아서 보다 큰 숫자를 표했다. 선사시대 셈의 가장 큰 목표는 어떻게하면 큰 숫자에 해당되는 것을 신체로 표현하는가 였다.

일대일 대응에는 한계가 왔다. 손가락이나 신체부위수보다 큰 숫자는 어떻게 표현할 것인가. 이제는 큰숫자를 손가락을 이용해서 암호화시켜야 했다. 예를 들어 주먹을 쥐면 50을 의미한다라든지 손바닥을 아래로 향하면 1백을 의미한다든지 등이었다. 두손을 어떻게 부호화(encoding) 시키는가에 따라서 5진법 20진법 따위로 나뉘어졌다. 수메르인들은 60진법이라는 어마어마한 진법을 사용했는데 신체를 사용해서 어떻게 60진법이 나왔는지에 대해서는 여러 의견이 있다.

21세기의 손가락 계산법

손가락만 이용한다면 도대체 얼마까지 헤아릴 수가 있을까. 놀랍게도 중국의 과학자들은 각 손가락의 마디마디를 이용해서 1백억까지 셈할 수 있는 계산법을 개발했다. 물론 그것이 그렇게 원활하게 되지는 않는다.

여기에서 필자는 조그만 용기를 내어 현대에 걸맞는 손가락셈법을 감히 제시해본다. 먼저 손가락의 펴짐과 꺾어짐만을 이용한다면 손가락 만으로 0에서 ${2}^{10}$-1까지 표시할 수가 있다. (그림1)을 보자. 각 손가락이 꺾어지면 1을 의미한다. 펴지면 0을 표시한다. 이론적으로 볼때 꺾어짐과 펴짐을 이용해서 표현할 수 있는 최대한의 수다.
 

(그림 1)${2}^{10}$-1까지 셀 수 있는 손가락 계산법


간단한 덧셈도 할 수 있다. 먼저 ${2}^{5}$-1보다 작은 수를 각 손의 엄지부터 차례대로 표시한다. (그림2)에서 볼때 오른손은 28을 표현한 것이며 왼손은 17을 표현하고 있다. 두손을 기도하듯이 모은다. 이때 더한 값은 오른손에 기록하기로 하자. 전산학 개론을 수강한 사람이나 2진법 계산을 조금만 아는 사람이라면 쉽게 할 수 있다. 손가락은 양손 각각의 서로 같은 위치로 대응하게 된다. 두 손가락 모두가 펴져있으면 오른손가락을 그대로 둔다. 즉 0+0=0 만일 둘중 하나만 꺾여져 있다면 해당되는 오른 손가락을 꺾는다. 1+0=0+1=1. 둘 모두가 꺾여져 있다면 그 윗 자리로 자릿수 올림(carry)이 발생하므로 그 발생된 자릿오름은 혓바닥을 내밀어 기억시켜둔다. 그 다음 자릿수 부터는 양손의 두 손가락과 혓바닥 세개의 2진수의 합으로 진행한다. 혓바닥을 내미는 것이 경망스러우면 고개를 오른쪽으로 꺾거나 왼발을 조금 내밀어도 된다. 물론 고대의 손가락 계산법은 이 보다는 훨씬더 우아하며 계산능력도 뛰어나다. 그럼에도 불구하고 필자가 제시한 다소 경망스러운 방법은 21세기의 2진법을 이용한 계산법이라는데 그 뜻이 있다고 하겠다. 실제로 2진수를 손가락으로 표시하기가 그다지 쉽지않다. 특히 검지 손가락은 조물주가 보너스로 껴준게 아닌가 할 정도로 자유스럽지 못하다.
 

(그림2)손가락 뎃셈


펀치카드의 역할(?)

어떤 지역에서는 손가락을 쓰지 않고 도구를 쓰기도 했다. 항상 신비스러움을 전해주는 잉카제국에서는 노끈의 매듭을 이용해서 숫자를 표시했다. (그림3)을 보시라.
 

(그림3) 잉카인들의 기푸
 

잉카인들의 문자는 발견되지 않고 있다. 나무막대에 치렁치렁 매달린 매듭 글자만이 그때의 번영을 전해준다. 그들이 표현한 매듭숫자는 기푸(guipu)라고 불린다. 현대인이 볼때 놀랄 정도의 정확성으로 그 시대의 인구통계자료, 세금제도, 노동자들의 급료, 수확물들의 통계자료를 나타내었다고 한다. 왜 상형문자와 같이 그 시대 보편적인 문자는 전래되지 않고 기푸만 전래되는지에 대한 설명은 확실치 않다.

앤드류 토마스와 같은 고고학자의 의견은 이렇다. 당시 잉카제국이 이루어낸 과학문명이나 계산법, 천문역법에 대한 발전은 도저히 정교한 계산기의 도움이 없이는 불가능했을 것이다. 따라서 기푸보다 정밀한 계산장치가 있었을터이고 기푸는 바로 그 장치의 펀치카드와 같은 역할을 했을 것이다. 이상이 토마스가 해석한 기푸의 위대함이다. 다소 황당함이 끼인 해석이다. 혹자는 잉카인들이 우주선도 만들었다고 주장하면서 현대의 로켓조종실과 비슷한 방안에서 조종사가 운전을 하는듯한 잉카의 한 그림을 보여준다. 그러나 정교한 계산장치가 발견되지 않은 상태에서 기푸가 펀치카드역할을 했다고 주장하는 것은 다소 억지인 듯하다. 이렇게 신비주의적 색채를 가미해서 과학적 발견을 해석한다면 혼란만 가중될 것이다.

총잡이의 살인경력

술집에서 술을 거나하게 마시고 기세있게 크레디트카드를 꺼낸다. 주인은 카드를 펀치기 위에 두고서 꾹 누르면 카드자국이 선명하게 찍힌 종이가 두장 생긴다. 한장은 주인이 가지며 또 하나는 손님이 가져간다. 원시시대에도 이와 유사한 원시크레디트카드가 있었다. 이른바 새김눈에 의한 계산방법이었다.

양을 우리에서 몰고나갈때 한마리마다 무른 나무막대나 동물의 뼈에 눈금을 긋는다. 해가 저물어 우리에 양을 넣을 때도 아침에 그은 막대기의 눈금을 손톱으로 집어가면서 헤아린다. 가장 오래된 셈법이 이러한 눈새김이라고 한다. 이러한 새김눈에 의한 계산법은 지금도 꾸준히 이어져 내려오고 있다.

선사시대의 동굴의 암굴벽화에도 단순한 미학적 만족에 앞서 포획물의 통계계산이 우선하였음을 알 수 있다. 현대에 와서도 이런 전통은 유감스럽게 남아있다. 2차대전시에 공중전에 혁혁한 공훈을 세운 전투기의 옆면에는 으레 그때까지 격투시킨 전투기의 대수가 보다 상징적인 기호로 표시되어 있었다. '17대 격추'라고 쓰는것 보다는 '士士······士격추' 라고 쓰는 것이 훨씬 더 용맹스러워 보일는지도 모른다. 원시시대 전사의 피가 현대인에게도 흐르고 있기 때문일까. '들소그림(들소를 나타냄)마리 잡았음'이라고 쓰여있는 동굴 벽화를 상상해본다. 서부시대의 총잡이는 자신이 죽인 사람의 수만큼의 눈금을 총신에 새겨두었다고 한다. 수많은 눈금이 새겨진 권총을 허리춤에 출렁거리며 걷는 기분은 나쁘지 않았을 것이다. 로빈스 크루소가 날짜를 셈하는 법, 몬테크리스토 백작이 감옥에서 날짜를 계산하는 법도 새김눈에 의한 전통에 의존하고 있다.

중세시대 각지를 떠돌며 장사하는 상인은 부목이라 불리는 새김나무를 장부로 이용했다. 두개의 나무작대기를 가지런히 두고서 서로 사고 판 만큼의 양을 나타내는 눈금을 두 막대기 위에 동시에 새겼다. 각 막대기는 상인과 손님이 따로 보관했다가 외상값을 계산한다든지 할 때 서로 맞추어 보았다. (그림4)는 그시대 상인의 장부책을 보여준다. 부목에 붙여진 꼬리표는 상인만이 아는 손님들의 확인카드다. James, Tom이라고 이름이 쓰여지지 않은 것은 그당시 문자가 없었거나 상인이 그것을 몰랐기 때문이다.
 

(그림4) 중세상인의 부목


현재의 '사인하다'(sign)의 원래 어원인 signare의 라틴어 뜻은 '눈금을 긋다'라는 뜻이라고 한다. 눈새김은 무엇보다도 간편한 방법으로 오랫동안 전인류의 사랑을 받아왔다.

다음호에는 보다 체계적인 기계식 계산장치의 발달에 대해서 살펴보기로 한다. 그리고 그 장치의 개념들이 어떻게 현대의 컴퓨터 설계에 영향을 미쳤는지에 대해서 살펴보자.

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

1991년 02월 과학동아 정보

  • 조환규 교수

🎓️ 진로 추천

  • 역사·고고학
  • 컴퓨터공학
  • 수학
이 기사를 읽은 분이 본
다른 인기기사는?