정보수학
대칭에서 시작되는 수학연산 체계 이야기 본문
수학이나 숫자라는 것은 무엇일까? 계산은 무엇이며 수학의 근원에는 무엇이 있을까? 무언가 가장 최소한의 것에서 부터 조금씩 확대하며 수학연산 체계를 설명하는 방법이 무엇일까?
필자는 이 이야기를 처음 시작해나가는 방법을 "대칭"이라고 생각한다. 그리고 필자가 오랫동안 접해온 컴퓨터와 프로그래밍에 대한 지식이 이것들에 대한 이해를 쉽게 한다고 믿는다. 수학과 기계적 계산은 그 근원이 닮아있다.
그리고 이미 대칭에서 기본적인 사칙 연산에 대한 형식 체계는 기 블로그 글을 참고하면 된다.
https://infomath.tistory.com/4
인용한 글의 결론은 현대의 수학계산 체계는, 대칭에서 확장하여 최소화하여 형식체계를 구성할 수 있으며, 상태와 변환이 그 핵심이라는 점이다. 전산학의 오토마타에서 다루는 State Machine의 모습말이다. 그리고 아래는 이에 대해 computation관점을 다시한번 강조하고, 곱하기/나누기 등으로 추가 확장을 다룬다.
1. 최초의 전개
1.1. 앞서 대칭으로 만든 체계를 요약해보자.
- 음(-1)과 양(+1), 그리고 무(0) 라는 상태(정보)와
- 덧셈(+), 뺄셈(-)이라는 상태에 대한 변환 규칙
- 그리고 이 규칙에 대한 실행 즉 상태의 변환(계산)이다.
1.2. 상태의 3가지 요소와 연산에 대해 여러가지 성질들을 확인해보자.
- 음(-1)과 양(+1)과 무(0)는 3가지 가장 근원적인 정보이며 상태이다. 우선 이 3가지 상태만으로도 모든 것을 나타내는 기초 블록이 된다. 앞서 기술한대로 음과 양을 구성하는 핵심은 서로 다른 두 존재가, 동일한 변환에 의해서 각각으로 상호 변환됨을 만족하며, 그 변환에 의해서도 변하지 않는 것이 이 대칭의 중심, 즉 무(0)가 된다.
- 위 대칭 전환 체계를 정의해나가보면, 음과 양의 두가지 변환이 합쳐지면 무(0)로 귀결된다고 보일 수 있다. 즉 아래를 만족한다는 것으로 정리된다. "+ +1"이라는 덧셈은 0에서 +1로의 변환, "+ -1"이라는 덧셈은 0에서 -1로의 변환이다.
위 상태 변환에서 + +1 - -1=0이라는 사실은 정의에 의해 자명하지만, + -1 + +1=0이라는 사실은 자명하지 않다. 하지만 + +1이 - -1과 같기 때문에(대칭변환f에 대한 성질을 이용해 우회 경로의 동일성으로 증명가능) - +1 + +1=0을 사용해 그 상태 변환을 모든 경로를 다 검토하지 않고도 간단하게 기술할 수 있다.
이 글 전반에서 계산이라는 것은 주로 각 상태에 기반해 위의 규칙을 반복 실행하는 과정으로 이어진다.
다시 정리해보면 (-1), (+1), (0) 이라는 3개의 정보 상태(대칭구성의 3가지 정보)와 덧셈과 그 반대변환인 뺄셈이라는 연산 규칙을 최초에 상정한다.
그리고 이를 제1형 수학 연산 체계라 부르자.
1.3. 덧셈 뺄셈의 연산 반복(+A+A, -B-B 등..)에 대해 추가 보완해보자.
앞서서 연산의 반복, 즉 상태가 특정 변환 규칙에 의해 지속적으로 변환하는 개념으로 수학의 사칙연산을 살펴보자. 아직은 -1, 0, +1의 3가지 상태만을 상정하고 있는데, 이전에 언급했듯이 연속된 합에서 아래와 같은 상황이 발생한다.
-1 + -1 = ? (-2)
+1 + +1 = ? (+2)
여기서는 간단하게 "-1, -1" 둘 간의 혹은 "+1,+1" 둘 간의 합산은, 각 값의 반복 변환 개념으로 정의한다. 앞서 소개한 상태의 3개 요소(-1, 0, +1)가 탄생했을때부터, 이 3가지 간의 전이에 대한 무모순적이고 대칭인 변환 규칙의 필요가 암시되어 있다. ( 이때 흥미롭게도 덧셈은 교환이 상관없지만, 뺄셈은 교환법칙이 성립하지 않는다는 점이다. 왜냐하면 뺄셈은 결론적으로 앞의 상태는 고정한 체 뒤의 상태만 대칭으로 변환한 후 합하는 방식과 동일하기 때문이다. 두 값을 교환하면 엉뚱한 값이 대칭으로 변한 후 합해진다. 이 관계는 나중에 더 자세히 살펴봐야한다.)
이렇게 반복의 개념을 추가하여 아래와 같이 이름을 붙일 수 있고, 그 이름은 다시 동일한 횟수의 반복으로 전개될 수 있다. 사실은 그저 복합 단계를 한꺼번에 지칭하는 이름을 붙인 것에 불과하므로 체계의 본질이 달라진 것은 없다.
예컨데, "1+1", "-1 + -1"같은 것들에 단순히 +2, -2 식으로 현대의 숫자를 붙여 정의하자. +2는 +1의 더하는 연산을 두번 반복한 것이다. +3은 세번 반복한 것이다. -2, -3도 -1을 같은 수만큼 더한 것이다.
즉, 아래와 같이 요약해볼 수 있다. 대칭 체계를 준수하며 어떤 상태를 정의하고 그 상태의 변환을 다루는 "계산"을 정의하고 실행하는 과정을 구성하고 이를 확장하면 아래의 최소 수학 연산 체계가 나타난다. 언급된대로 "정수와 덧셈, 뺄셈"이 그 근간을 이룬다. 이들의 연산은 상호 무 모순이며 절차를 뒤집거나 반복하더라도 예외적인 상황이나 상태를 알 수 없는 상황이 없다. 본질적으로는 한 상태에 어떤 규칙을 통해 다른 상태를 연산하면 또다른 상태로 변환된다. (조금 앞서가는 설명이지만 미지수 x를 상정하면, 즉 여러가지 변환의 처음 출발한 상태는 무엇인가? 라는 대수 적인 질문을 던지면, 어떤 상태와 어떤 연산이든 이 미지수 x를 계산해낼 수 있다. x + b = a 이면, x = a - b이기 때문이다. 반복이라는 개념을 추가하여, 역 연산을 통해 모든 연산에 대해서 위처럼 단순한 형태로 나타내고 계산할 수 있다.)
그런데 여기까지 전개과정에서, 계산 결과를 최종 얻기 위해서는 '무한'이라는 이슈가 등장한다. 어떤 계산이 유한한 시간안에 단순 반복해서 멈추면 이런 이슈가 없으나, 예컨데 특정 상태를 계속 +1하는 연산의 과정에 대해 최종 값을 구할 목적의 절차가 진행된다면, 이 과정은 멈추지 않는다. 이는 무한의 다른 도움 없이는 종료되기가 불가능하다. 이미 이 이슈는 과거 수학자들이나 논리학자들이 "이 계산이 유한한 시간안에 답을 낼 수 있는가" 등의 문제를 통해 다뤄왔다고 생각한다. 이러한 계산에서의 무한의 상황이 우리는 매우 예외적인 것으로 처리하고 있으나, 단 하나의 재귀적인 순환에도 계산기는 영원히 답이 나오지 않는 상황에 빠지게 된다. 대칭을 준수하며 반복하는 계산기는 그래서 상황에 따라 무한을 다루게 된다. 이건 역시 나중에 다루어 보자.
2. 최초의 전개에 대한 기본적인 확장
2.1. 곱셈/나눗셈 확장. 반복되는 덧셈을 x(곱하기)로 표기하자.
이제 1장 에서 정수를 정의했으니(+1, -1의 반복 덧셈 결과), 음과 양의 정수를 사용할 수 있다. 그리고 수학 기호도 모두 차용해보자. 아직 1장에서는 연산 규칙은 덧셈과 뺄셈만 상정되어 있다.
a x b = a + a + a + ... 의 b번 반복이다.
a / b = x연산의 역연산이다.
이 나누기(/)는 지금까지의 곱하기라는 반복 연산 개념의 역이지만, 이를 곱하기와 같이 "b번 반복한다"식으로 단순하게 나타내기는 어렵다. 다만, 예컨데 우리가 흔히하는 나눗셈의 계산 절차를 명기해 그 답을 구하도록 몇가지 정해진 과정을 통해 변환 절차를 만들 수는 있다. 즉 나눗셈을 컴퓨터 코드로 코딩할 수는 있다. 그래서 이 나눗셈에 대한 설명은, 나눗셈의 절차를 명기하는 것보다는 곱하기와 나누기가 서로 역연산의 대칭 관계에 있으며, 그 둘이 한 쌍이라는 사실이 핵심이다. 그리고 이렇게 곱하기와 나누기가 연산기호에 추가되면, 해당 연산의 결과 상태를 표현하기 위해서 유리수가 곧바로 이어서 등장하게 된다(참고로 무리수, 허수도 같이 등장하게 되지만). 예를 들면
이기 때문이다. 그러나 잊지 말아야 할 사실은 이것도 1장에서의 특정 "상태"를 단순히 몇번의 계산 반복으로 나타낼 수 있다는 점이다(+1을 4번 더한 값에 +1을 5번 더한값을 나누면 된다. 나누기는 반복 덧셈의 역연산이다). 이러한 반복 연산 과정을 거친 값을 축약하여 표기했다고 가정하면 된다.
숫자로 이루어진 모든 정보의 상태는 사실, 앞서 3가지 상태(-1,0,1)에 연산들의 반복 적용을 한번에 나타나기 위한 보조 수단에 불과하다. 모든 상태는 어느 계산 여정의 결과일 뿐이다.
즉, 대칭의 3가지 정보 요소인 "-1, 0, 1"의 상태에서 덧셈과 뺄셈이라는 대칭 연산 체계가 합쳐졌고, 이를 더 빠르게 하기 위해 반복하는 기호를 그저 기존 기반하에 확장하면, 숫자의 표기체계도 위와 같이 따라서 확장된다. 그래서 이것들은 1장에서 설명한 내용의 확장에 불과하다.
앞서 언급한 제1형 수학 연산 체계 + "곱셈과 나눗셈" 연산을 추가하면 숫자는 정수에서 유리수,무리수로 확장된다.
그리고 이렇게 확장되면, 소수(prime number)를 다룰 수 있게 된다. 1과 자기 자신외에는 나누어지지 않는 소수는 확인 과정에서 나눗셈이라는 연산이 필요하며, 놀랍게도 수를 소수의 각각의 곱으로 변환해서 처리하는 과정에서 정보를 더 압축해서 처리할 수 있다. 즉 100(=2*5*5)은 온전히 100번 반복 더하는 것이 아니라, 2번 덧셈한 방법과 5번 덧셈한 방법을 각각 1번과 2번 곱한 값이다. 훨씬 단순화시킬 수가 있다. (다만, 이것도 나중에 다루자.)
대칭의 연산 구조속에서 이를 압축/축소 최소화 하는 방법을 고안하다 보면(즉 가장 작은 단위로 분할) 소수의 여러가지 문제가 튀어나오게 된다. 소수를 잘 활용하면 숫자를 압축할 수 있게 되는데, 소수의 패턴이 있다면 무한히 압축할 수 있는 상황이 생기게 된다. 어찌보면 소수란, "소수의 연속 곱의 형태가 숫자를 압축할 수 있는 가장 효율적인 방법인가 아닌가"의 문제라는 점이, 소수를 둘러싼 몇가지 논쟁에 답을 할 수 있게 된다고 본다. 소수를 한번 더 압축할 수 있게 된다면(즉 소수의 명백한 패턴이 있다면) 어떻게 될까? 개인적으로는 이 물음은 대칭의 관계를 통해 다른 형태로 볼 수 있지 않을까 생각해본다. 갈루아가 대칭으로 5차 방정식을 풀 수 없는 것을 증명하는 것과 동일한 관계를 갖지 않을까?
또하나는 1나누기0(=1/0)이라는 연산을 통해 이 과정에서 곧바로 직접적인 무한의 문제가 등장하게 됨을 알 수 있다. 이 연산은 단순히 위 대칭 체계의 연산을 반복해서는 유한 시간에 구할 수 없다. 무한의 시간이 소요되기 때문이다(이를 테면 0을 몇번 더해야 1이 되는가라고 프로그램을 짜면, 영원히 검사가 끝나지 않는다. 이에 대한 결과를 받아서 다음 연산을 하게 된다면, 영원히 이 계산이 끝나지 않게 된다. 이 문제는 "대칭 연산체계의 무한 패러닥스"라고 부르자.
그리고 곱셈은 앞서 간단히 언급했듯이 무리수와 허수도 탄생시킨다. 어떤 두 수의 곱이 2를 나타낸다고 하면 해당 수가 sqrt(2) 즉 루트2가 되기 때문이고, 어떤 두수의 곱이 음수이면 해당 수가 허수가 되기 때문이다. 그리고 또 하나의 분기는 상태값이 이제 sqrt(2)처럼 유한한 수의 반복으로 나타낼 수는 없는 상태(무리수)를 만나게 되었다. 상태를 표현함에도 대칭으로 생성된 수 체계만으로는 영원히 끝나지 않는 절차를 지니는 무한의 패러닥스가 생겨난다.
무리수, 허수까지 나타남에도 초월수가 나타나지 않는 점도 또 다른 특이한 점이다. 즉 초월수는 위의 대칭체계의 유한한 연산 반복만으로는 구할 수 없다. 유명한 pi나 자연상수 e가 그러한데, 모두 무한대의 합산(수열)으로서만 정의된다. 즉, 결과적으로 제2형 수학 연산 체계의 단순 반복을 유한번 늘리는 확장만으로는 초월수를 만들 수 없다. 무한과의 또다른 결합이 필요하다. 초월수이며 pi가 필연적으로 등장하는 곡선은 그래서 위 대칭체계의 유한한 반복 연산 수에서는 나타나지 않는다.
여기서 더 흥미로운 것은 바로 칸토어의 초한수이다. 무한의 크기를 나타내는 알레프0의 실제 샘플은, 셀수 있는 무한인 정수이고, 알레프1은 셀수 없는 무한인 실수이다. 그리고 알레프2는 가능한 모든 곡선의 수이다. 즉, 제 2형 수학 연산 체계로는 알레프1을 초과해서 나타낼 수 없다. 즉 알레프2가 가능한 모든 곡선의 수라는 것과 대응되려면 제 2형 수학 연산 체계는 또다른 무한과 만나야 한다. 같은 표현으로 대칭체계의 무한보다 더 큰 무한을 한번더 씌워야만 초월수를 나타낼 수 있는 것이다. 초월수는 알레프2와 연관된 수라는 힌트를 얻어볼 수 있다.
하나더 짚고 넘어갈 것은 나눗셈이라는 연산이다. 이 연산은 컴퓨터 코드를 닮았다. 10/3을 계산하는 방법을 거슬러 가보자. 10안에 3이 얼마나 나눠질지 먼저 구하고(3), 나머지가 나오면 나머지를 다시 또 3이 소수점을 포함해 얼마나 구할지 구하게 된다. 흔히 컴퓨터 코드의 loop 명령(for명령)이 들어간다. 그래서 1/0을 그대로 이 계산법에 단순히 넣으면 무한의 시간이 소요된다.
2.2. 2.1장의 체계를 xx, // 를 통해 한번더 확장해보자.
위 곱셈과 나눗셈은 이를 한번 더 반복하는 형태를 통해 xx, //로 묘사해볼 수 있다. 눈치 챘다시피 xx는 지수(제곱)이고, //는 로그계산과 비슷하다.
즉 A xx B 는 A x A x A x..(B번) 해서 A를 B번만큼 곱하는 것이고, A//B는 그 역연산이다. 일부러 지수나 로그가 아닌 이렇게 xx로 나타내는 이유는, 이 대칭 체계의 확장을 강조하기 위해서이다. 아래가 그 계산의 예시다
2 xx 3 = 8, 2의 3제곱은 8과 동일 (2x3은 2를 3번 더하는 것에서 확장되었다)
8 // 3 = 2, log8/log2=3인 것과 같다.
xx는 지수계산으로 쉽게 변환이 가능하지만, //계산은 우리의 가진 수학 체계의 동일한 계산 기호가 존재하지 않는다. 여기서 살펴봐야 할 것이, 이러한 연산의 확장이 대칭성을 복잡하게 만든다는 점이다. 곱하기 까지는 A x B = B x A 로 교환 법칙이 성립하지만, A xx B != B xx A으로 그렇지 않다. 그리고 그 역연산인 //도 양상이 복잡해진다. 이 곱셈의 추가 확장에 대해서는 조금더 분석이 필요하고, 이 대칭의 양상은 정리를 할 필요가 있다. log가 밑이 생기면서 복잡해지는 이유이기도 하다. 따라서 지수 계산이란 단순한 대칭 분석만으로 파악이 잘 되지 않는다.
다만, 우리는 이 현상을 이미 뺄셈과 나눗셈에서 경험했다. 다만 이 둘은 역연산으로써 정의된 특이한 점이 있어서 대칭에서 태어난 연산들인데, 이 확장 곱셈인 지수는 곧바로 교환법칙이 성립하지 않는다. 이 부분은 좀더 탐구해볼 필요가 있다.
3. 무한과 제2형 수학 연산 체계
3.1. 연산의 반복이 무한의 패러닥스를 만든다.
앞서 2.1장에서 살펴봤듯이, 어떤 계산을 진행함에 있어서 무한의 반복이 필요한 경우가 생긴다. 특히 역 연산의 절차를 거치는데 그 과정이 영원히 도달할 수 없는 경우이며, 이러한 상황은 수시로 발생하게 된다. 그러나 어떤 대수적인 답을 얻어야 할때 이렇게 무한의 시간이 걸린다면, 기계적인 반복으로는 답을 얻을 수 없는 경우가 생긴다.
이를테면 수학적 증명은 이러한 무한의 패러닥스를 모두 해결해야만 결론을 얻어낼 수 있다. 즉, 다른 우회적인 형식 체계안에서만이 이를 연결짓고 상태를 확정하고 그 다음을 진행할 수 있다.
---다음에 더 이어보자---