게임을 구성하는 가상 세계를 이해하기 위한 첫 걸음은 집합(Set)이라는 개념으로 수를 이해하는 것입니다. 집합이란 서로 구분되는 원소(Element)로 구성된 묶음을 의미합니다.
이러한 집합론을 소박한 집합론(Naive set theory)이라고 합니다.
소박한 집합론의 관점에서는 용도에 따라 수 집합을 정의하여 구분하는데, 대표적으로는 자연수, 정수, 유리수, 실수, 복소수, 사원수 등이 있습니다. 각 수 집합은 인간의 언어를 통해 대상 집합을 구분할 수 있게 정의하고 각 집합 마다 고유한 기호를 사용합니다.
- 자연수 ${\mathbb{N}}$
- 정수 ${\mathbb{Z}}$
- 유리수 ${\mathbb{Q}}$
- 무리수 ${\mathbb{I}}$
- 실수 ${\mathbb{R}}$
- 복소수 ${\mathbb{C}}$
- 사원수 ${\mathbb{H}}$
소박한 집합론은 인간의 언어로 집합을 정의하기 때문에, 인간의 보편적인 관념에 의존할 수 밖에 없습니다.
예를 들어 자연수를 사용해 일상 생활에서 물건을 세는 데 우리는 아무 불편함이 없습니다.
하지만 자연수의 체계는 어떻게 구성되어 있고 집합의 특징이 무엇인지 분석하고 싶다면 물건을 센다는 개념부터 명확하게 정의해야 할 것입니다. 왜냐하면 우리는 앞으로 수가 가지는 특성을 분석하고 이를 확장해 가상 공간이라는 고차원의 체계를 만들어야 하기 때문입니다.
이러한 작업을 위해서는 집합의 성질을 참과 거짓으로 명확하게 구분해 줄 수 있는 명제가 필요합니다. 명제 중에서 증명할 필요가 없는 기본 명제를 공리(Axiom)라고 하는데, 공리를 기반으로 대상을 구분하는 집합론을 공리적 집합론(Axiomatic set theory)이라고 합니다. 공리적 집합론에서는 수가 가지는 연산에 대한 공리를 기반으로 수를 분류합니다.
연산과 수의 구조
수 집합의 고유한 특징은 원소를 이용해 연산을 한다는 점입니다. 대표적인 연산으로는 덧셈, 뺄셈, 곱셈, 나눗셈의 사칙연산이 있으며, 이들은 두 개의 원소를 사용해 새로운 원소를 만들어내기 때문에 이항 연산(Binary Operation)이라고 부릅니다. 단순하게 계산 식의 항(項)이 두 개라서 이항(二項)입니다.
같은 집합에 속한 두 수를 투입한 이항 연산의 결과가 항상 투입한 집합에 속한다면, 그 이항 연산은 해당 집합에 닫혀 있다(Closure)고 표현합니다. 그리고 이항 연산은 교환법칙(Commutative law), 결합법칙(Associative law), 분배법칙(Distributive law)이라는 세가지 성질을 지닙니다.
\[a + b = b + a\]교환법칙은 임의의 두 수 a, b를 연산할 때 순서에 상관없이 항상 동일한 결과가 나오는 성질을 말합니다.
\[\begin{aligned} (a+b)+c = a+(b+c) \\ \end{aligned}\]결합 법칙은 연산이 두 번 이상 연속될 때, 앞의 연산을 먼저 계산한 결과와 뒤의 연산을 계산한 결과가 같은 성질을 의미합니다.
\[\begin{aligned} a*(b+c) = a*b+a*c \\ (b+c)*a = b*a+c*a \end{aligned}\]분배 법칙은 서로 다른 두 가지 연산에 대해서 위의 규칙이 성립되는 것입니다. 위 공식은 두 가지인데요. 둘 다 만족해야 분배법칙을 만족합니다.
닫혀있다는 개념과 세가지 연산의 성질에 이어서 이항 연산이 가지는 특징은 항등원(identity)과 역원(inverse)입니다. 항등원이란 임의의 수와 연산결과를 항상 동일한 수로 만들어주는 특별한 수입니다.
\[\begin{aligned} a + 0 = a \\ a * 1 = a \end{aligned}\]항등원의 개념을 쉽게 이해하기 위해서 실수 집합 ${\mathbb{R}}$에서의 덧셈 연산을 예로 들어보겠습니다.
실수 집합에서 덧셈의 항등원이란 미지수 a에 항등원 b를 더했을 때 결괏값이 a 그대로 나오는 수를 의미하므로 덧셈의 항등원이란 0이 됩니다.
그렇다면 실수 집합에서 곱셈의 항등원이 1이 되는 것도 유추할 수 있습니다.
이번에는 역원(Inverse)에 대해서 알아보겠습니다. 역원이란 임의의 수와의 연산 결과를 항상 항등원으로 만들어주는 특별한 수 입니다.
\[\begin{aligned} a+(-a)=0 \\ a * \frac 1 a\ =1 \end{aligned}\]실수 집합에서 임의의 수의 덧셈과 곱셈의 역원을 알아보겠습니다. 이항연산에 사용하는 임의의 수를 a로 지정했을 때 결과가 항등원이 되는 덧셈과 곱셈의 역원은 각각 위와 같습니다.
항등원은 덧셈이나 곱셈에 대해 각각 0과 1으로 고정되어 있지만, 역원은 덧셈이나 곱셈에 주어진 수에 따라 그 값이 달라집니다. 이러한 역원은 연산에 따라 일정한 패턴을 보입니다.
즉 덧셈의 역원은 주어진 수에서 항상 부호가 반대인 수가 되므로 반대수(Opposite number) 라고 부릅니다.
또한 곱셈의 역원은 분자가 1이고 분모는 주어진 수가 되므로 역수(Reciprocal)라고도 부릅니다. 단, 분모가 0이되는 분수는 존재하지 않으므로 0의 곱셈 역원은 없습니다.
개념 정리
- 닫혀 있음(Closure) : 어떤 집합에서 두 원소를 사용한 이항연산의 결과가 항상 그 집합에 속하는 성질
- 교환법칙 : 두 원소의 좌우 순서를 바꿔도 결과가 동일한 법칙
- 결합법칙 : 세 원소의 연산 순서를 바꿔도 결과가 동일한 법칙
- 분배법칙 : 두 이항연산에 대해 결과가 나오는 성질
- 항등원 : 주어진 원소와의 이항 연산 결과가 언제나 주어진 원소가 되는 특별한 원소, 실수에서 덧셈의 항등원은 0이고 곱셈의 항등원은 1
- 역원 : 주어진 원소와의 이항연산 결과가 언제나 항등원이 되는 특별한 원소, 실수에서 덧셈의 역원은 반대수이며 곱셈의 역원은 역수
수의 구조
어떤 연산에 대해 다음과 같은 성질을 만족하는 수 집합에 대해 생각해봅시다.
- 연산에 대해 닫혀 있다.
- 연산에 대해 결합법칙이 성립한다.
- 연산에 대한 항등원이 존재한다.
- 연산에 대한 역원이 존재한다.
- 연산에 대해 교환법칙이 성립한다.
정수 집합 Z의 구조를 이와 같은 공리 체계에서 분석하면, 정수의 덧셈은 위 공리를 모두 만족합니다.
정수끼리 더한 결과는 항상 정수에 속하고, 결합법칙이 성립하면서 항등원 0과 임의의 수 a에 대한 역원 -a가 항상 존재하기 때문입니다.
그런데 정수의 뺄셈은 위 공리를 모두 만족하지 못합니다. 뺄셈은 교환법칙이 성립하지 않기 때문입니다.
이번에는 연산을 하나 더 추가해서, 두 개의 연산에 대한 공리를 생각해봅시다.
- 두 번째 연산에 대해 닫혀 있다.
- 두 번째 연산에 대해 결합법칙이 성립한다.
- 첫 번째 연산과 두 번째 연산에 대해 분배법칙이 성립한다.
- 두 번째 연산에 대해 교환법칙이 성립한다.
- 두 번째 연산에 대해 항등원이 존재한다.
- 두 번째 연산에 대해 역원이 존재한다.
이번에도 정수 집합 Z에 곱셈 연산을 추가하고 이와 같은 공리를 만족하는지 살펴봅시다.
정수 집합은 곱셈에 닫혀있고, 결합법칙과 분배법칙이 성립하며 교환법칙도 성립합니다.
하지만 정수 집합의 원소 a에 대한 곱셈의 역원은 ${1/a}$ 인데 이는 정수가 아니기 때문에 ‘두 번째 연산에 대해 역원이 존재한다.’는 공리를 만족하지 못합니다. 따라서 정수 집합의 덧셈과 곱셈은 이들 공리를 모두 만족하지 못합니다.
그렇다면 덧셈과 곱셈 연산에 대해 위 공리를 모두 만족하는 수 집합은 어떤 것이 있는지 생각해봅시다.
덧셈에 대한 역원이 존재하지 않는 자연수 ${\mathbb{N}}$과 곱셈에 대한 역원이 존재하지 않는 정수 Z는 이를 만족하지 못합니다.
하지만 유리수 ${\mathbb{Q}}$, 실수 ${\mathbb{R}}$는 곱셈의 역원이 존재하기 때문에 덧셈과 곱셈 두 연산에 대해 앞서 열거한 모든 공리를 만족합니다.
공리적 집합론에서 두 연산에 대해 모든 공리를 만족하는 수 집합은 체(Field)의 구조를 지닌다고 표현합니다.
유리수 ${\mathbb{Q}}$, 실수 ${\mathbb{R}}$과 같이 체의 구조를 가지는 수 집합은 특별한 예외 상황없이 덧셈과 곱셈을 안전하고 자유롭게 사용 가능하다고 볼 수 있습니다.
앞으로 우리는 특정한 수 집합을 지정해 사용하는 것이 아닌, 체의 구조를 기반으로 체계를 확장해 공간의 구조를 생성할 것입니다.
사칙 연산을 구성하는 나머지 연산인 뺄셈과 나눗셈은 체의 구조를 만족하는지 살펴봅시다.
뺄셈과 나눗셈은 교환법칙을 만족하지 않기 때문에 체의 구조를 지니지 못합니다.
그렇다면 앞으로 뺄셈과 나눗셈을 자유롭게 못쓰는 것인가? 라는 의문이 들 수 있는데, 이에 대한 해결책은 뺄셈 대신 덧셈의 역원을 사용하고 나눗셈 대신 곱셈의 역원을 사용하여 해결할 수 있습니다.
앞서 살펴본 바에 따르면 실수 집합에서 덧셈의 역원은 반대수, 곱셈의 역원은 역수입니다. 뺄셈과 나눗셈 대신 덧셈과 곱셈의 역원을 사용하면 교환 법칙이 성립하면서 같은 결과를 만들어냅니다.
그렇기 때문에 수 집합의 구조를 분석할 때는 덧셈과 곱셈의 두 가지 연산에 대해서만 살펴보는 것으로 충분합니다.
정리하면, 체는 사칙연산이 자유로이 시행될 수 있고 산술의 잘 알려진 규칙들을 만족하는 수의 구조입니다. 체의 구조를 가진 실수의 덧셈과 곱셈은 시각적으로 어떻게 표현되는지 확인해봅시다.
수의 표현
체의 구조를 만족하는 수 집합은 유리수 ${\mathbb{Q}}$, 실수 ${\mathbb{R}}$가 있지만
우리는 이 중에서 실수 ${\mathbb{R}}$를 사용해 덧셈과 곱셈 연산을 시각화 할 것입니다.
(실수 ${\mathbb{R}}$)
직선 상에 유리수 Q의 원소를 모두 순서대로 나열하는 상황을 가정해봅시다.
유리수는 ${\pi}$나 ${\sqrt 2}$같은 무리수를 표현 할 수 없기 때문에 직선의 어느 지점에서는 빈틈이 발생할 것입니다.
이러한 빈틈을 무리수로 채워 완벽한 연속성을 가지는 직선을 만들어내는 수가 실수 입니다.
(수직선, Number Line)
이렇게 실수를 대응 시켜 표현한 직선을 수직선(Number line)이라고 하며 위와 같이 표현합니다. 실수의 모든 요소는 상호간에 크기를 비교할 수 있습니다.
더 큰 수는 오른쪽에 표시하는 규칙을 사용해 실수의 모든 원소는 수직선 상에 자신의 고유한 위치를 갖게 됩니다. 따라서 하나의 실수를 시각화할 때는 위 이미지 처럼 수의 고유한 위치에 점을 찍어 표현합니다.
(양수와 음수의 대칭성)
실수를 점으로 표현한다고 했을 때 앞서 체의 구조에서 살펴본 덧셈과 곱셈의 이항연산은 시각적으로 어떻게 표현되는지 생각해봅시다.
수직선은 0을 기준으로 양수와 음수라는 두 개의 체계가 서로 대칭되어 있는 것으로도 해석할 수 있습니다. \
이러한 관점에서 하나의 수는 원점에서 부터 크기와 방향을 가진 벡터로서 표현할 수도 있습니다.
이와 같이 수가 지니는 방향의 속성은 부호를 사용해 나타내며 크기의 속성은 원점으로부터의 거리를 의미합니다.
어떤 수의 원점으로 부터의 거리는 수직막대(Vertical bar) 기호 ${\mid}$를 사용해서 나타내는데 이를 절댓값(Absolute value)라고 합니다.
예를 들어 -1의 절댓값은 위와 같이 표현합니다.
(덧셈은 평행이동)
우리는 시각적인 효과를 나타내기 위해 수와 연산을 사용합니다. 물체에 힘을 가해 이동하거나, 크기를 늘리는 작업은 덧셈과 곱셈 연산으로 해석할 수 있습니다.
이항연산에서 왼쪽 항의 수를 물체를 구성하는 점으로 보고, 오른쪽 항의 수를 점을 이동시키는 힘으로 보면 덧셈 연산은 점을 평행이동 시키는 작업으로 해석 할 수 있습니다.
(곱셈은 배율과 대칭)
그리고 곱셈 연산은 원점을 기준으로 점의 위치를 지정된 배율만큼 늘리고 대칭 시키는 작업으로 해석 할 수 있습니다.
예를 들어 어떤 수와 3의 곱셈은 원점으로부터 거리를 같은 방향으로 세 배 키우는 작업이고, -1와 곱셈은 원점으로부터 거리를 1배로 늘린 후, 반대 방향으로 대칭 시키는 작업으로 해석할 수 있습니다.
왼쪽 항의 수가 가진 크기를 오른쪽 수가 가진 크기의 배율로 늘리거나 줄인 후 오른쪽 수의 부호가 양의 부호인 경우 원 방향을 유지하고, 음수인 경우 반대 방향으로 대칭시키는 작업이 곱셈 연산인 것입니다.
레퍼런스(Reference)
- 이득우의 게임수학 : (http://www.yes24.com/Product/Goods/107025224)