Monday, July 18, 2011

수포자를 위한 교양 수학 따라잡기 03

네, 먹는거 맞습니다. 먹을 수 있도록 모두 힘내자구요 (...)

지난시간엔 자연수를 알아봤으니, 이제 이걸 좀 우리 구미에 맞게 확장해 봅시다!
... 라고 해도 제가 당장 시험이 닥쳐서 오늘은 쪼금만~ ^^

일단 자연수에 0이 포함되는지 안되는지는 논란의 여지가 있다고 했고, 위대한 Peano옹 께서는 0을 넣어버려서 제 마음이 매우 아프긴 하지..만, 일단 저는 안넣고 가겠습니다. 그래야 오늘 배우는 체계가 좀더 가치있거든요! ㅋ

자연수의 가장 큰 문제점은..

  1. 덧셈/곱셈 에 대해서만 닫혀있다.
  2. 역원/항등원이 존재하지 않는다. (곱셈에 대한 항등원은 존재합니다~)
.. 몇가지 문제점들이 더 있지만, 일단 써먹기에 안좋은 점들은 위의 두가지가 가장 큽니다.

거든요. 오늘은 이 제약을 쪼금만 완화시켜보죠!

일단 덧셈에 대한 항등원(Identity)을 추가시켜 봅시다.

임의의 자연수를 n이라 하고, 항등원 x가 존재한다고 합시다.
그러면 n+x=n 이 되겠죠?
이 x를 우리는 0이라고 그리기(쓰기)로 약속하고 넘어갑시다. (약속이 포인트임요.)

그럼 이제 역원을 정의해볼 차례인데.. 역시 임의의 자연수 n에 대한 역원을 함수 I(n)가 담당한다고 합시다. 그럼 n + I(n) = 0 이죠. 이러한 I(n)을 우리는 앞으로 편의상 -n이라고 쓰기로 약속합니다

지금까지의 모든 원소는 새로운 수 집합에 몽땅 포함되어야 하겠네요?
  • 자연수가 {1,2,3,4 ... } 였고,
  • 항등원이 0로 {0}고 (단일 원소를 가지고 있는 집합~)
  • 역원들이 {-1, -2, -3, -4....} 죠.
이 모든걸 한꺼번에 묶어서 3만 9천 9백원!!... 이 아니라 정수 (Integer) 라고 부른답니다. 집합표시로는 보통 Z를 많이 씁니다. (자연수는 N)

이제 새로운 체계 안에서 우리는 덧셈을 진짜 맘대로 할 수 있고, 덤으로 역원으로부터 정의되는 뺄셈도 맘대로 할 수 있습니다. 오, 이런 행복할데가!!

다만, 새로운 집합에서도 곱셈은 여전히 조금 제한적입니다. 무엇인고 하니... 곱하는건 마음대로였겠지만 되돌리는건 마음대로가 아니란다 라는 거지요 (..)
.. 요게 가능한 집합은 다음시간에 만들어 갈껍니다.

자연수에서는 상한이 존재하지 않았던 것처럼, 정수에는 상하한이 모두 존재하지 않습니다.

... 여기서 수학보다 컴을 먼저 배운 사람들이라면 가~~끔 가지는 오해가...
"어? 정수가 상하한이 없다구요? 에이, 이사람이 어디서 약을 파나요!! 부호가 있는 정수는 -2,147,483,648 ~ 2,147,483,647 고, 부호가 없는 정수는 0 ~ 4,294,967,295 범위를 가진다는건 전국 100만의 공돌/공순이가 압니다!"
.. 인데... 사실 제가 수학에 관심 갖기 전에 그랬습.

컴퓨터 언어들에서의 자료형으로서의 Integer는 위의 정수를 기본으로 삼았지만, 여러가지 어른의 사정 (왜 무한튜링머신이 구현되지 못하는거랑 비슷한 현시창 논리ㅋㅋ) 때문에 좀 제한시켜서 구현해 놓은 것이기 때문입니다. 일부 성능 걱정 안해도 별 상관없는 함수형 언어들에서는 Integer는 진짜로 무한 하한, 무한 상한이 구현되기도 합니다. 랄까, 약간 플밍 실력만 있다면 클래스 작성 예제로 다들 짜보죠? 무한 길이 스트링, 무한길이 정수 등등 ^^

아무튼 오늘은 여기까지. 피드백은 언제나 환영합니다!

No comments:

Post a Comment