발명왕 에디슨이 “찰흙 한 덩이에 찰흙 한 덩이를 합치면 여전히 한 덩이이므로 1+1=1일 수도 있지 않을까요?”라고 질문해서 선생님의 말문이 막혔다는 이야기가 있다. 또는 물 한 방울에 물 한 방울을 합치면 여전히 물이 한 방울이니까 1+1이 2가 아닐 수도 있다고 생각할 수 있다. 많은 사람들이 이 이야기에 공감한다. 과연 에디슨의 말은 옳은 것일까? 곰곰이 생각해 보자.
찰흙 두 덩이를 합치면 한 덩이다?
에디슨이 오른손에 든 한 덩이와 왼손에 든 한 덩이는 같은 한 덩이일까? 무게나 부피를 재 보거나 모양을 보면 틀림없이 누구나 다르다는 것을 알 수 있다. 양쪽이 다른 데도 같은 ‘한 덩이’라는 말을 쓴 것을 보면, 에디슨에게는 ‘한 덩이’란 ‘한 손으로 쥘 수 있는 양’ 정도의 뜻이었을 것이다. 그럼 양손에 든 한 덩이씩을 합친 것은 한 손으로 쥘 수 있는 양일까? 아닐 것이다. 즉, 에디슨의 주장 1+1=1에서 등호 = 뒤에 나오는 1은 등호 앞에 나오는 두 개의 1과 뜻이 달라진 것이다. 따라서 에디슨의 주장은 옳지 않다.
이처럼 에디슨의 ‘한 덩이’는 사람마다 기준이 달라지는 애매모호한 단위라는 사실을 지적할 수 있다. 애매모호하지 않고 기준이 정해진 단위인 그램(g) 같은 것을 썼다면 이런 잘못을 범하지는 않았을 것이다. 물론 에디슨도 어렸을 때의 순진한 주장을 어른이 되어서도 고집하지는 않았을 것이다. 두 상자 분량의 전구를 큰 상자 하나에 넣은 뒤 한 상자 값에 팔았다는 얘기는 들어 본 적이 없으니 말이다.
--- p. 13~14, [‘천재 에디슨도 틀렸다 : 1+1=2인 이유’]
컴퓨터는 왜 0으로 나눌 수 없다고 하는 것일까? 먼저 근본적으로 컴퓨터는 나눗셈을 못한다는 것부터 말해야겠다. 계산 능력이 탁월한 컴퓨터가 나눗셈을 못하다니 무슨 뚱딴지 같은 소리냐고 오해하지 말길 바란다. 컴퓨터가 나눗셈을 못한다는 말은, 컴퓨터가 나눗셈을 할 때 ‘뺄셈’을 반복해서 처리한다는 뜻이다. 사실은 뺄셈도 덧셈과 보수 연산을 이용해서 처리한다. 어쨌든 0으로 나누려면 0을 빼는 일을 반복해야 하는데, 0을 아무리 빼도 값이 변하지 않는다. 그래서 뺄셈만 반복하며 무한 루프에 빠져 버릴 것이다. 그냥 뒀다가는 0만 빼다가 세월 다 보낼 테니, 0으로 나누는 것을 금지할 수밖에 없는 것이다.
컴퓨터에서 0으로 나누기 오류를 잘못 처리했다가 문제가 생긴 유명한 사례가 있다. 1996년부터 스마트 전함을 테스트하기 위해 미국은 군함 USS 요크타운 호에 펜티엄 프로에 기반한 윈도우 NT를 장착하여 운영비를 절감하려고 했다. 어떤 대원이 데이터베이스 자료 입력 공간에 0을 입력하였고 컴퓨터는 ‘0으로 나누기’를 시도하였다. 결국 네트워크상의 모든 기계들이 정지하여 추진력을 상실하는 사고가 발생했고, 비싼 돈을 들여 견인하는 수모를 겪어야만 했다. 0으로 나누려는 시도를 제대로 처리했더라면 없었을 일이었다.
--- p. 29~30, [‘슈퍼컴퓨터도 못하는 계산이 있다 : 0으로 나눌 수 없는 이유’]
2016년 초 방영된 범죄 스릴러 드라마 시그널에서 ‘지오프로스(Geopros)’라는 소프트웨어가 잠깐 언급된 적이 있다. 이는 2011년 캘리포니아 지역 경찰이 실제로 사용했던 소프트웨어인 ‘프레드폴(Predpol)’을 구입하여, 한국의 현실에 맞게 변형한 것이라고 한다. 프레드폴은 범죄를 ‘예측’한다고 하는 상업용 소프트웨어다. 톰 크루즈 주연의 영화로 유명한 마이너리티 리포트가 떠올랐다면 프레드폴이 나왔을 당시 미국인들의 반응과 비슷하다. 물론 영화에서는 미래를 볼 수 있는 예지자(precog)들이 범죄를 예측한다. 그러나 프레드폴은 수학에 기반한 소프트웨어가 예측한다는 점에서 엄청난 차이가 있다.
물론 이 소프트웨어는 구체적인 범인이나 범죄 장소를 예측하지는 못한다. 이 소프트웨어의 기본적인 목적은 어느 지역에서 범죄가 일어날 가능성이 높은지 수학적으로 예측하여, 그곳에 순찰 등을 강화하고 경찰력을 늘려 범죄를 예방하는 것이다. 실제로 산타크루즈 지역에 적용한 결과 눈에 띄게 범죄 감소 효과를 봤다고 하며 이후 우리나라를 비롯한 세계 각국에 판매됐다. 프레드폴은 지진에 대한 수학 모형을 변형한 모형에 해당 국가나 도시의 특색에 맞는 기계학습(machine learning)을 시켜 변수를 조절하는 소프트웨어로 출발했다. 프레드폴의 구체적인 작동원리는 당연히 공개하지 않고 있으며 비록 소프트웨어의 효용성이 과장되었다는 주장도 제기되지만, 수학 모형에 기반한 소프트웨어가 범죄 예방에 도움이 된다는 것만은 사실인 것 같다.
--- p. 113~114, [‘수학으로 범죄를 예측한다! : 수사 드라마 속 수학’]
16세기 후반 최고의 천문학자 티코 브라헤(Tycho Brahe, 1546~1601)는 삼각함수를 이용한 빠른 곱셈법에 능통했다. 브라헤는 덴마크로 가다가 날씨 때문에 자신의 천문대를 방문한 왕자(훗날 영국의 왕 제임스 1세가 된다)에게 이런 계산법을 시범 보였다고 한다. 당시 주치의로 동행했던 존 크레이그(John Craig, ?~1620)는 이 계산법을 절친한 친구 존 네이피어에게 보여 줬다. 이에 자극을 받은 네이피어는 20여 년간 연구를 거쳐 ‘로그(logarithm)’를 발명했고 1614년 『로그의 놀라운 규칙(Mirifici logarithmorum canonis description)』을 통해 발표했다. 로그의 규칙이 왜 놀랍다는 것인지 이제부터 살펴보겠는데, 현대적으로 각색하여 표현하기로 한다.
(중략)
네이피어의 발견은 격한 찬양을 받았다. 특히 헨리 브리그스(Henry Briggs, 1561~1631)는 런던에서 에든버러까지 네이피어를 직접 찾아가, “이제는 누구나 쉽게 여기지만, 당신이 발견하기 전까지 아무도 발견하지 못했다는 사실이 의아합니다.”라며 존경을 바쳤다. 다음 해 한 번 더 찾아간 브리그스는 1에서의 로그값이 0이 되도록 로그의 정의를 조정하자는 의견을 냈고 네이피어도 동의했다. 다만 네이피어는 병으로 인해 쇠약해진 상태였기 때문에 새로운 로그표의 계산은 브리그스가 이어받았다.
브리그스는 시행착오를 거친 끝에 오늘날 상용로그라 부르는, 10에서의 로그값이 1이 되도록 하는 로그가 10진법을 쓰는 인간에게 편리하다는 결론을 내렸다. 브리그스가 만든 로그표는 3세기 동안 가장 우수한 로그표의 자리를 지켰다.
--- p. 257, 260, [계산하기 귀찮아서 태어났다 : 로그의 발견]