05. 지수적 붕괴: 반감기와 연대 측정 (Half-life Decay)

1. 학습 목표 (Learning Objectives)

  • 복리가 우상향 수직 상승하는 지수 성장(Growth)이었다면, 그 반대편에서 시간이 지날수록 어둠으로 소거되어 들어가는 ‘지수적 붕괴(Exponential Decay)’ 의 개념을 배웁니다.
  • 밑수(Base)가 1보다 작을 때(예: $0.5$) 절반씩 깎여나가는 반감기(Half-life) 원리를 이용해 파이썬 탄소-14 동위원소 연대 측정 추적 봇을 만들어 냅니다.

2. 절반의 마법, 붕괴하는 지수 함수 ($y = a^{-kt}$)

방금 전 복리의 마법에서는 지수 $a^x$ 에서 밑수 $a$ 가 $1.1$, $1.08$ 처럼 ‘1보다 큰 수’였습니다. 밑이 1보다 크면 아무리 작은 찔끔 이율이라도 거듭제곱($x$)을 때릴수록 숫자가 수직 폭등합니다.

그렇다면 반대로 밑수 $a$ 가 $0.5 \, (\frac{1}{2})$ 와 같이 1보다 작은 소수라면 어떨까요?

  • $0.5^1 = 0.5$ (절반 남음)
  • $0.5^2 = 0.25$ (그 절반의 절반…)
  • $0.5^{10} = 0.00097$ (와장창!)

지속해서 제곱을 먹일수록 수치가 0에 한없이 가까워지며 밑바닥으로 떨어지는 낙하 운동, 이것을 과학에서는 ‘지수적 감소(Decay)’ 라고 부르며 방사능 물질 반감기의 절대 법칙으로 삼고 있습니다.

3. 공룡 뼈의 나이를 알아내는 수학적 해킹

살아있는 모든 생명체는 뼈 속에 ‘탄소-14 (C-14)’ 라는 방사성 물질을 일정량($100\%$) 머금고 있습니다. 그런데 죽고 나면, 이 탄소-14 분자는 공기 중으로 날아가면서 정확히 “5730년”마다 그 양이 “절반($1/2$)”으로 줄어들게 떨어지는 (지속적 붕괴) 타이머 시계가 가동됩니다. 이 ‘5730년’을 탄소-14의 반감기(Half-life 시간) 라고 부릅니다.

방금 캐낸 화석의 남은 탄소-14 찌꺼기 양이 최초 농도 대비 몇 퍼센트($N_t$) 남아있는지만 화학 장비로 측정하면, 지수 방정식 역산출을 통해 이 뼈 생물이 몇백, 몇만 년 전 티라노사우루스인지 소수점까지 수학적으로 복원할 수 있습니다.

[반감기 붕괴 지수 공식] 남은 양 $N_t = N_0 \times \left(\frac{1}{2}\right)^{\frac{t}{h}}$ (여기서 $t$는 나이 흐름, $h$는 반감기 파라미터 5730 결괏값)

4. 파이썬 방사성 탄소 동위원소 역추적 스캐너

자, 파이썬 수학 모듈인 math 엔진을 이용해서 남은 % 수치를 들이밀면, 이 뼈가 지구 나이 몇 년 전에 묻힌 녀석인지 역추적하는 해킹봇을 구동해 봅시다.

import math

def calculate_fossil_age(remaining_percent):
    """
    탄소-14 (C-14)의 남아있는 잔여량(퍼센트)을 감지하여,
    지수 감소(Decay) 방정식의 역연산 치트키인 '자연 로그(log)'를 씌워
    해당 화석의 절대 연도 수명 값을 추출해 내는 스캐너 봇
    """
    # 탄소-14의 절대 붕괴 타이머 (반감기 상수)
    HALF_LIFE = 5730 
    
    # 0.01% 이하 남았으면 너무 오래전이라 탄소 측정이 불가 처리
    if remaining_percent <= 0 or remaining_percent > 100:
        return "❌ [오류] 측정 불가 수치 또는 뼈가 방금 죽은 생물입니다."
        
    # 퍼센티지 소수점 스케일 변환 (ex: 25% -> 0.25)
    ratio = remaining_percent / 100.0
    
    # 지수(t)가 머리 위에 매달렸을 때 그 지수를 통째로 바닥으로 끌어내리는 수학 마법,
    # 바로 '로그(log)' 해킹을 양변에 걸어서 t를 구하는 역산출 로직입니다.
    # 식: ratio = (0.5)^(t / 5730)
    # math.log(ratio) = (t / 5730) * math.log(0.5)
    t = (math.log(ratio) / math.log(0.5)) * HALF_LIFE
    
    return round(t)

# 발굴 봇 타겟 테스트
target_1 = 50.0   # 딱 50% 남은 뼈
target_2 = 12.5   # 12.5% 밖에 안 남은 뼛조각 가루
target_3 = 8.0    # 8% 밖에 안 남은 미세 흔적

print("🦴 [유적지 C-14 화석 연대 측정 스캐너 가동]\n")
print(f"📡 타겟 1번 뼈 (탄소 {target_1}% 잔존) => 약 [{calculate_fossil_age(target_1):,}년] 전에 사망 판독.")
print(f"📡 타겟 2번 뼈 (탄소 {target_2}% 잔존) => 약 [{calculate_fossil_age(target_2):,}년] 전에 사망 판독.")
print(f"📡 타겟 3번 뼈 (탄소 {target_3}% 잔존) => 약 [{calculate_fossil_age(target_3):,}년] 전에 사망 판독.")

터미널 실행 콘솔 렌더링:

🦴 [유적지 C-14 화석 연대 측정 스캐너 가동]

📡 타겟 1번 뼈 (탄소 50.0% 잔존) => 약 [5,730년] 전에 사망 판독.
📡 타겟 2번 뼈 (탄소 12.5% 잔존) => 약 [17,190년] 전에 사망 판독.
📡 타겟 3번 뼈 (탄소 8.0% 잔존) => 약 [20,879년] 전에 사망 판독.

결괏값 도출이 아름답습니다! 12.5%는 $\frac{1}{8}$ 이고, 이는 곧 $(\frac{1}{2})^3$ 이므로, 5730년짜리 절반 붕괴 타이머가 정확히 3바퀴(사이클) 돌았다는 소리입니다. ($5730 \times 3 = 17,190년$). 지수의 계산 법칙 한 줄과 과학적 측정 기술이 만나면 수만 년의 시공간 비밀도 벗겨낼 수 있습니다.

5. 학습 정리 (Summary)

  1. 지수적 감소(Exponential Decay): $y = a^x$ 일 때 밑수 $0 < a < 1$ 이라면, 값이 올라갈수록 수치가 무너져 내리며 점점 0의 바닥으로 수직 강하하는 곡선입니다.
  2. 반감기의 본질: 시간 $t$ 만큼의 횟수 제곱이 들어갈 때마다 내 쪼그라든 현 자산에서 또다시 강제로 $1/2$ 토막이 연쇄적으로 발생하여 줄어드는 방사성 붕괴의 시스템 타이머 코어 법칙입니다.
서브목차