[수학] 유리수의 조밀성 이야기

 

📌 유리수는 얼마나 촘촘할까? – 유리수의 조밀성 이야기

우리가 수직선 위에서 숫자를 표시할 때, 정수만 있다면 너무 듬성듬성해서 부족하게 느껴질 겁니다. 그래서 우리는 유리수, 즉 분수 형태의 숫자들을 사용합니다. 그런데 이 유리수들은 수직선 위에서 얼마나 촘촘하게 퍼져 있을까요?


🧭 출발점: "단위"란 무엇인가?

수직선에서 어떤 두 점을 찍고 그 거리를 '1'이라고 정하면, 우리는 그 길이를 기준으로 다른 수들도 표시할 수 있어요. 이때 이 길이 1을 단위(Unit) 라고 부릅니다.

예를 들어,

  • 0에서 1까지가 '1단위'

  • 그 절반인 0.5는 '1단위의 절반'이라는 뜻

이 단위를 기준으로, 우리는 수직선 위에서 다양한 유리수를 나타낼 수 있습니다.


📍 수직선 위의 유리수

0부터 1까지의 구간을 q등분하면, 그 사이의 점들은 다음과 같은 유리수로 표현됩니다:

0q,1q,2q,,qq​

예를 들어 q = 4일 때:

0,14,12,34,1

즉, 분모 q가 커질수록 더 촘촘하게 유리수들이 수직선 위에 배치됩니다.


🔍 아무 점이나 유리수로 얼마나 가깝게 표현할 수 있을까?

수직선 위의 어떤 점 P(예: 루트2 ≈ 1.4142...)가 있다고 해봅시다. 이 점은 유리수가 아니지만, 우리는 그 근처에 있는 유리수를 잡아낼 수 있습니다.

  • 분모가 10: 14/10 = 1.4

  • 분모가 100: 141/100 = 1.41

  • 분모가 1000: 1414/1000 = 1.414

이처럼 분모를 키우면 키울수록, P에 점점 더 가까운 유리수를 찾을 수 있습니다.


✅ 유리수의 조밀성 (Density of Rational Numbers)

이 현상은 단순한 예시가 아니라, 수학적으로도 엄연히 증명되는 유리수의 조밀성이라는 성질입니다.

다음은 그 수학적 증명입니다:


🧠 [증명]

임의의 두 실수 a<ba < b 에 대해,
그 사이에 항상 하나 이상의 유리수 pq\frac{p}{q} 가 존재한다.

증명:

  1. ba>0b - a > 0 이므로,
    어떤 양의 정수 qq 가 존재해서
    1q<ba\frac{1}{q} < b - a 가 되도록 할 수 있습니다.

  2. 이제, 정수 pp 를 다음 조건을 만족하도록 선택합니다:

    pq>a(즉, a보다 큰 첫 번째 분수)

    이는 다음처럼 쓸 수 있습니다:

    p=aq+1
  3. 그러면 이 pq\frac{p}{q} 는 다음 두 가지를 만족합니다:

    • p1qa<pq\frac{p - 1}{q} \le a < \frac{p}{q}

    • pq<a+1q<b\frac{p}{q} < a + \frac{1}{q} < b

    따라서:

    a<pq<b

결론: 어떤 두 수 사이든 항상 그 사이에 유리수 pq\frac{p}{q} 가 하나 이상 존재한다.
즉, 유리수는 조밀하다.


📐 시각적 이해

이런 성질 덕분에 우리는 다음과 같은 사실을 직관적으로 받아들일 수 있습니다:

  • 수직선 위의 어떤 점 P를 선택하든,
    원하는 만큼 가까운 유리수를 그 근처에 잡을 수 있다.

  • 즉, 유리수로 실수를 근사할 수 있다.


✨ 요약

  • 유리수는 정수보다 훨씬 촘촘하게 수직선에 분포합니다.

  • 아무리 두 수가 가까워도, 그 사이엔 항상 유리수가 존재합니다.

  • 이 조밀한 성질 덕분에 실수의 대부분을 유리수로 근사할 수 있습니다.


✅ 그래서 이 사실이 어디에 활용될 수 있나?

1. 실수의 정의 자체에 활용

  • 실수(real number)는 유리수(rational number)로 근사할 수 있다는 **조밀성(density)**을 기반으로 구축됩니다.

  • 예: 실수는 유리수 수열의 극한으로 정의할 수 있습니다 (데데킨트 절단, 코시 수열 등).


2. 계산과 수치 해석 (Numerical Analysis)

  • 컴퓨터는 실수를 직접 다룰 수 없고, 항상 유리수(또는 유한한 소수)로 근사해서 처리합니다.

  • √2, π, e 같은 무리수도 전부 유리수 근사값(예: 3.14, 22/7 등)으로 다룹니다.

  • 미분방정식 해법, 수치적 적분, 기계학습 등의 모든 계산이 유리수 근사 기반입니다.


3. 수학의 증명 기법

  • 실수 전체에 대해 어떤 성질을 증명할 때, 유리수에 대해 먼저 증명하고, 그 결과를 실수 전체로 확장하는 방식(조밀성 활용)을 많이 씁니다.

  • 예: 연속함수의 성질, 무리수의 존재 증명 등.


4. 측도론과 적분이론

  • 르베그 적분, 실해석학에서는 유리수 근사로 실수 집합의 측도적분값을 정의합니다.

  • 복잡한 함수나 집합을 간단한 유리수 값 함수로 근사한 뒤, 극한을 취하는 방식입니다.


5. 이산 수학과 논리학

  • 모든 실수는 유리수로 표현이 가능해야만 실수라는 개념이 의미가 있으므로, 수학적 구조를 만들 때 유리수 체계를 기반으로 쌓아올립니다.

  • 집합론에서 실수는 유리수로부터 구성됩니다.


간단한 예시:

실수 2\sqrt{2}를 유리수로 근사하면 이렇게 됩니다:

  • 1.4=14101.4 = \frac{14}{10}

  • 1.41=1411001.41 = \frac{141}{100}

  • 1.414=7075001.414 = \frac{707}{500}

즉, 원하는 정밀도만큼 유리수로 표현할 수 있기 때문에, 실생활 계산, 컴퓨터 연산, 물리 모델링, 공학 시뮬레이션 등 모든 곳에서 활용됩니다.

✅ 파이썬 예제: 실수 √2를 유리수로 근사하기

from math import sqrt from fractions import Fraction # 실수 값 real_number = sqrt(2) # 유리수로 근사 approx_rational = Fraction(real_number).limit_denominator(1000) print("실수 sqrt(2):", real_number) print("유리수 근사:", approx_rational) print("근사값 (소수):", float(approx_rational)) print("오차:", abs(real_number - float(approx_rational)))

🧾 출력 예 (limit_denominator(1000)일 때):

실수 sqrt(2): 1.4142135623730951 유리수 근사: 577/408 근사값 (소수): 1.4142156862745099 오차: 2.123901414768037e-06

🔍 설명:

  • Fraction(real_number)은 실수를 유리수로 바꿔줍니다.

  • .limit_denominator(1000)은 분모가 1000 이하인 가장 근접한 유리수를 찾아줍니다.

  • 이렇게 하면 컴퓨터 내부에서 실수 연산을 안전하게 유리수로 근사하여 사용할 수 있습니다.


댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

[PLC] PLC 아날로그 입출력 기본

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

[PLC] 절연 변압기 (Isolation Transformer)

[수학] 정규 분포란? 왜 종 모양을 띠고 있을까?

제너 다이오드에 저항을 연결하는 이유

[자동화] 안쓰는 안드로이드폰을 활용한 식물 성장 타임랩스 촬영

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

[스마트팜] EC/pH 미터 만들기: 아두이노로 전기 전도도 및 pH 측정

[농사] 식물의 광합성과 호흡