포스트

수와 집합

수는 가상 세계를 구성하는 가장 작은 단위입니다.

수와 집합

‘이득우의 게임 수학’을 읽고 내 나름대로의 이해를 토대로 정리한 글이다. 틀린 부분이 있을 수도 있다.


집합

가상 세계를 이해하기 위해서는 수를 집합의 관점에서 보는 것이 중요하다.

우리가 익히 알고 있는 집합의 정의는 서로 구별되는 원소들의 묶음이다.
이는 소박한 집합론의 관점에서의 집합의 정의다.

일상에서 우리는 물건을 셀 때 1개, 2개, … 등 정수로 표현한다.
하지만 ‘컴퓨터에게 물건의 개수를 세어보자!’라고 한다면 ‘센다’의 정의부터가 필요하다.


컴퓨터는 이해할 수 없는 소박한 집합론

소박한 집합론은 인간의 보편적인 관념에 의존하기 때문에 컴퓨터에 쓰이기 위해 적합하지 않다.
컴퓨터에 쓰이기 위해서는 확실한 기준이 있는 편이 낫다.

이 기준을 명제라고 한다. 그리고 증명할 필요가 없이 널리 알려진 명제를 공리라고 한다.
그리고 이 공리를 바탕으로 집합을 정의하는 것을 공리적 집합론이라고 한다.


기준이 명확한 공리적 집합론

공리적 집합론에서 기준으로 내세우는 공리의 기초는 수의 연산 성질이다.

수는 연산이 가능하다. 특히 이항 연산이 가능하다.
이항 연산의 성질은 다음과 같다.

  1. 특정 집합에 대한 이항 연산의 결과는 그 집합에 속한다.
  2. 교환 법칙, 결합 법칙, 분배 법칙이 성립한다.
  3. 항등원과 역원을 가진다.

그렇다면 위의 공리를 만족하는 연산에 대해서 알아볼 필요가 있다.
더욱 쉽게 위의 공리를 만족하는 못하는 연산만 언급을 해보겠다.

-는 교환 법칙을 만족하지 않는다. 따라서 사용할 수 없다.
/는 교환 법칙을 만족하지도 않고 닫혀있지 않을 수도 있다. 따라서 사용할 수 없다.


그렇다면 프로그래밍 언어에서 -/는 어떻게 사용하는 것일까?
단순히 +의 역원을 사용하고, *의 역원을 사용하면 된다.

  • $1 - 2 = 1 + (-2)$

  • $10 / 5 = 10 * \cfrac{1}{5}$


모든 연산이 공리를 만족하는 수집합은 유리수와 실수 집합이다.
하지만 유리수는 $\sqrt{2}$나 $\pi$와 같은 무리수는 표현할 수 없다.
따라서 컴퓨터에서는 실수 집합을 기본으로 사용한다.

그리고 위의 공리를 만족하는 연산을 가진 수집합을 보고 체의 구조를 가진다고 한다.



기하학 관점에서의 수

연속적인 집합인 실수를 이용하여 직선을 구성한 것을 수직선이라고 한다.
수직선을 이용하면 점의 움직임을 시각화할 수 있다.

수직선의 정중앙은 원점으로 0으로 약속한다.
원점을 기준으로 좌측은 음의 영역, 우측은 양의 영역이며 서로 대칭이다.

이를 다른 말로 표현하면 부호방향을 결정하는 요소다.
방향과 비슷하게 거리 또는 위치절대값을 이용하여 표시한다.

+는 점을 주어진 방향으로 주어진 위치로 이동시키는 연산이다.
예를 들어, $1 + (-3)$는 다음과 같다.

*거리를 조절하고 대칭시키는 연산이다.
예를 들어, $1 * (-2)$는 다음과 같다.



마무리

처음 이 책을 읽으면서는 굳이 이렇게 기초적인 부분부터 시작해야 하나 싶은 생각이 있었다.
근데 덧셈과 곱셈의 의미를 새롭게 부여하면서 바라보니 확실히 이해도가 달라지는 것 같다.

지루한 부분이라면 지루하다.
남들한테 설명할 수 있는 정도로 이해하고 넘어갈 예정이다.

※ 챕터를 이해하고 암기하고 작성하는 내용이라 틀린 내용이 있을 수 있다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.