Chapter 06

최적화와 근사

공학의 질문 대부분은 두 가지 꼴입니다. "가장 좋은 것은 무엇인가"(재료를 가장 적게 쓰는 캔, 가장 빨리 도착하는 경로)와 "대충 얼마인가"(측정 오차가 결과를 얼마나 흔드나, 이 방정식의 근은 어디쯤인가). 이 장은 5장에서 얻은 도구로 두 질문에 답합니다. 최선은 도함수가 0인 곳에 숨어 있고, 어림은 접선에서 나옵니다. 그리고 두 생각이 만나는 곳에 뉴턴 방법이 있습니다. 접선으로 근사하고, 근사의 근을 찾고, 다시 접선을 긋는 일을 반복하면 계산기가 √2를 구하는 방법이 됩니다.

이 수식이 없었다면빛은 가장 빠른 길을 고른다

물컵에 꽂은 빨대는 수면에서 꺾여 보입니다. 빛이 공기에서 물로 들어갈 때 방향을 바꾸기 때문입니다. 꺾이는 각도의 규칙은 10세기 페르시아의 이븐 살(Ibn Sahl)이 이미 기록했고, 1621년 스넬(Willebrord Snell)이 다시 찾았으며, 1637년 데카르트가 출판했습니다. 그러나 왜 그 규칙인지는 1662년 페르마(Pierre de Fermat)가 답했습니다. 빛은 두 점 사이를 시간이 가장 적게 걸리는 경로로 간다고 가정하고 그 시간을 최소화하자, 굴절 법칙이 그대로 나왔습니다.

"자연은 무엇인가를 최소화한다"는 이 생각은 렌즈와 광섬유 설계, 해석역학의 최소 작용 원리, 오늘날의 기계 학습까지 이어집니다. 최소화의 도구는 하나입니다. 도함수가 0인 곳을 찾는 것. 이 장에서는 해변의 인명 구조원이 물에 뛰어들 지점을 고르는 문제로 페르마의 계산을 직접 해 봅니다.

빛의 경로 후보 전부→걸리는 시간 T(x)→T′(x) = 0→스넬 법칙 → 렌즈·광섬유 설계

닫힌 구간 방법: 후보만 비교하면 된다

무한히 많은 점 중 가장 높은 곳

공정 온도 xx를 0 ℃에서 4 ℃ 사이(기준 대비 편차)에서 조절할 수 있고, 수율 모델이 f(x)=x3−3x2+1f(x) = x^3 - 3x^2 + 1이라 합시다(단위는 임의). 구간 안의 점은 무한히 많습니다. 모든 점을 시험하지 않고 가장 좋은 온도와 가장 나쁜 온도를 확정할 수 있을까요?

2장의 최대·최소 정리는 닫힌 구간의 연속 함수에 최댓값과 최솟값이 있다고 보장합니다. 5장의 페르마 정리는 그 위치를 좁혀 줍니다. 최댓값이 구간 내부에 있으면 그곳은 극댓값이고, 따라서 f′=0f' = 0이거나 f′f'이 없는 임계점입니다. 내부에 없으면 끝점입니다. 후보는 이 둘뿐입니다.

정리 6.1 (닫힌 구간 방법) ff가 [a,b][a, b]에서 연속이면 최댓값·최솟값은 다음 후보 중에서 나온다.
  1. (a,b)(a, b) 안의 임계점(f′(c)=0f'(c) = 0 또는 f′(c)f'(c)가 없는 점)
  2. 끝점 aa, bb
후보에서의 함숫값 중 가장 큰 것이 최댓값, 가장 작은 것이 최솟값이다. 이 절차를 닫힌 구간 방법(closed interval method)이라 한다.

증명. 최대·최소 정리로 최댓값을 주는 점 cc가 있다. cc가 끝점이면 후보 2에 들고, 내부이면 f(c)f(c)는 극댓값이므로 f′(c)f'(c)가 없거나, 있으면 페르마 정리로 0이다. 최솟값도 같다. ∎

f(a) 최댓값 (끝점) 극댓값 f′ = 0 최솟값 (임계점) ab 후보: 내부 임계점 2개 + 끝점 2개 → 네 값만 비교하면 끝
그림 6-1. 닫힌 구간의 연속 함수. 극댓값(왼쪽 봉우리)이 최댓값이 아닐 수 있고, 최댓값이 끝점에서 나올 수 있다. 그래서 임계점만 보면 안 되고 끝점도 반드시 넣어야 한다. 후보는 유한 개라 비교가 끝난다.
예제 6.1 (수율 모델) f(x)=x3−3x2+1f(x) = x^3 - 3x^2 + 1의 [−12,4][-\tfrac12, 4]에서의 최댓값과 최솟값을 구하라.
  1. f′(x)=3x2−6x=3x(x−2)f'(x) = 3x^2 - 6x = 3x(x - 2). 내부 임계점은 x=0x = 0, x=2x = 2(둘 다 구간 안).
  2. 후보 값: f(−12)=−18−34+1=18f(-\tfrac12) = -\tfrac18 - \tfrac34 + 1 = \tfrac18, f(0)=1f(0) = 1, f(2)=8−12+1=−3f(2) = 8 - 12 + 1 = -3, f(4)=64−48+1=17f(4) = 64 - 48 + 1 = 17.
  3. 최댓값 17(x=4x = 4, 끝점), 최솟값 −3(x=2x = 2, 임계점). x=0x = 0은 극댓값 1이지만 최댓값이 아니다.
SIMULATOR

후보표 만들기: 임계점 + 끝점

끝점 a, b를 곡선을 따라 끌어 구간을 바꾸세요.

구간—
최댓값—
최솟값—
해볼 것: ① 예제 6.1의 구간에서 최댓값이 끝점 b = 4에서 나오는 것을 확인하고, b를 3보다 왼쪽으로 끌어 최댓값이 x = 0의 극댓값으로 옮겨 가는 순간을 찾으세요. ② '|x² − 4|'의 x = ±2는 f′이 없는 임계점입니다. 거기서 최솟값 0이 나옵니다. ③ 'x e^(−x)'에서 a를 1보다 오른쪽으로 옮기면 내부 임계점이 사라지고 후보는 끝점 둘뿐입니다. 모델: 임계점은 f′의 부호 변화(이분법)와 미리 알려 둔 미분 불가능 점입니다.

최적화 문제 세우기: 상자, 캔, 울타리

문장을 함수로

"16 cm × 10 cm 판지의 네 귀퉁이에서 같은 크기의 정사각형을 잘라 내고 접어 뚜껑 없는 상자를 만든다. 부피가 가장 큰 상자는?" 미분은 어렵지 않습니다. 어려운 것은 이 문장을 미분할 수 있는 함수 하나로 옮기는 일입니다.

최적화 문제는 거의 언제나 같은 순서로 풉니다.

  1. 그림을 그리고 변수에 이름을 붙인다.
  2. 최대·최소로 만들 양, 즉 목적 함수(objective function)를 식으로 쓴다.
  3. 변수 사이의 관계인 제약 조건(constraint)을 써서 변수를 하나로 줄인다.
  4. 그 변수가 물리적으로 가질 수 있는 범위(정의역)를 정한다.
  5. 임계점을 찾고, 끝점과 비교하거나 1계·2계 판정으로 최댓값임을 확인한다.
  6. 원래 질문(치수, 비율)에 단위와 함께 답하고, 상식과 맞는지 본다.

정의역이 열린 구간이거나 무한하면 닫힌 구간 방법을 그대로 쓸 수 없습니다. 이때 자주 쓰는 판정이 있습니다.

정리 6.2 (유일한 임계점) ff가 구간 II(열려 있거나 무한해도 된다)에서 연속이고 II 안에 임계점이 cc 하나뿐이라 하자. f(c)f(c)가 극댓값이면 f(c)f(c)는 II에서의 최댓값이고, 극솟값이면 최솟값이다.

증명 아이디어. 극대인데 다른 점 d>cd > c에서 f(d)>f(c)f(d) > f(c)라면, cc 오른쪽 가까이에서는 f<f(c)f \lt f(c)이므로 [c,d][c, d]에서의 최솟값이 내부의 어떤 점에서 나오고, 그곳이 또 다른 임계점이 되어 가정에 모순이다. ∎

xx 바닥 (16 − 2x) × (10 − 2x) 16 cm10 cm 높이 x V(x) = x(16 − 2x)(10 − 2x)
그림 6-2. 귀퉁이에서 한 변 x인 정사각형을 잘라 내고 점선을 따라 접는다. x를 키우면 상자는 깊어지지만 바닥이 좁아진다. 이 맞바꿈(trade-off)이 최적화 문제의 본질이다. x는 0과 5(짧은 변의 절반) 사이에서만 뜻이 있다.
예제 6.2 (판지 상자) 위 문제를 풀어라.
  1. 목적 함수: V(x)=x(16−2x)(10−2x)=4x3−52x2+160xV(x) = x(16 - 2x)(10 - 2x) = 4x^3 - 52x^2 + 160x, 정의역 [0,5][0, 5].
  2. V′(x)=12x2−104x+160=4(3x2−26x+40)=4(3x−20)(x−2)V'(x) = 12x^2 - 104x + 160 = 4(3x^2 - 26x + 40) = 4(3x - 20)(x - 2). 임계점 x=2x = 2, x=203≈6.67x = \tfrac{20}{3} \approx 6.67(정의역 밖).
  3. 닫힌 구간 방법: V(0)=0V(0) = 0, V(5)=0V(5) = 0, V(2)=2⋅12⋅6=144V(2) = 2\cdot12\cdot6 = 144.
  4. 답: 귀퉁이를 2 cm씩 잘라 12 cm × 6 cm × 2 cm, 부피 144 cm³.
SIMULATOR

판지 상자의 부피 최대화

V(x)—
V′(x)—
최적 x*, V*—
해볼 것: ① x 슬라이더를 움직이며 V′(x)의 부호가 + → 0 → −로 바뀌는 곳에서 부피가 가장 큰지 보세요. ② 정사각형 판지(L = W)에서 x* = L/6이 되는지 확인하세요. ③ 판지를 아주 길쭉하게(L = 40, W = 6) 하면 x*는 W/4 = 1.5에 가까워집니다. 긴 쪽은 거의 상관이 없어지기 때문입니다. 모델: V = x(L − 2x)(W − 2x), x* = [(L + W) − √(L² − LW + W²)]/6.

캔: 재료를 가장 적게

부피 VV가 정해진 원기둥 캔의 겉넓이를 최소로 하는 모양을 찾아봅시다. 반지름 rr, 높이 hh이면 목적 함수는 S=2πr2+2πrhS = 2\pi r^2 + 2\pi rh이고 제약 조건은 πr2h=V\pi r^2 h = V입니다. 제약에서 h=V/(πr2)h = V/(\pi r^2)를 넣으면 한 변수 함수 S(r)=2πr2+2VrS(r) = 2\pi r^2 + \dfrac{2V}{r}, r>0r > 0이 됩니다.

예제 6.3 (500 mL 캔)
  1. S′(r)=4πr−2Vr2=0S'(r) = 4\pi r - \dfrac{2V}{r^2} = 0에서 r3=V2πr^3 = \dfrac{V}{2\pi}. 정의역 (0,∞)(0, \infty)의 유일한 임계점이다.
  2. S′′(r)=4π+4Vr3>0S''(r) = 4\pi + \dfrac{4V}{r^3} > 0이므로 극소, 정리 6.2로 최솟값이다.
  3. 그때 h=Vπr2=2πr3πr2=2rh = \dfrac{V}{\pi r^2} = \dfrac{2\pi r^3}{\pi r^2} = 2r. 높이 = 지름인 캔이 겉넓이가 가장 작다.
  4. V=500V = 500 cm³이면 r=(500/2π)1/3≈4.30r = (500/2\pi)^{1/3} \approx 4.30 cm, h≈8.60h \approx 8.60 cm, S=6πr2≈349S = 6\pi r^2 \approx 349 cm².

실제 음료 캔은 대개 지름보다 키가 큽니다. 겉넓이 말고도 손에 쥐는 느낌, 뚜껑과 바닥을 더 두꺼운 재료로 만드는 비용, 이음매 길이 같은 다른 비용이 있기 때문입니다. 뚜껑·바닥의 단위 넓이 비용이 옆면의 kk배라면 같은 계산으로 h=2krh = 2kr이 나옵니다. 아래 시뮬레이터의 k 슬라이더가 그것입니다.

SIMULATOR

캔의 재료비 최소화: h = 2kr

높이 h—
h / r—
비용 C(r) (옆면 cm² 환산)—
최적 r*, C*—
해볼 것: ① k = 1에서 '최적 r로'를 누르고 h/r = 2(키 = 지름)인지 확인하세요. ② k를 2로 올리면 최적 캔은 h/r = 4로 홀쭉해집니다. ③ 최솟값 근처에서 r을 10% 바꿔도 비용은 1~2%밖에 늘지 않습니다. 바닥이 평평한 최솟값의 성질로, 설계에 여유를 줍니다. 모델: C(r) = 2πk r² + 2V/r, r* = (V/(2πk))1/3.
예제 6.4 (강가의 울타리) 직선 강가에 직사각형 목초지를 만든다. 강 쪽에는 울타리가 필요 없고 울타리 재료는 600 m다. 넓이를 최대로 하라.
  1. 강과 수직인 변을 xx, 평행한 변을 yy라 하면 제약 2x+y=6002x + y = 600, 목적 A=xy=x(600−2x)A = xy = x(600 - 2x), 정의역 [0,300][0, 300].
  2. A′(x)=600−4x=0A'(x) = 600 - 4x = 0에서 x=150x = 150. 끝점에서 A=0A = 0이므로 최댓값은 A(150)=150⋅300=45 000A(150) = 150\cdot300 = 45\,000 m².
  3. 강과 평행한 변이 수직인 변의 두 배다. 울타리 네 변이 모두 필요하면 정사각형이 답인데, 한 변이 공짜이니 그쪽으로 늘이는 것이 이득이다.

빛의 굴절: 페르마 원리와 스넬 법칙

인명 구조원은 어디서 물에 들어가야 하나

해변의 구조원이 물가에서 20 m 떨어진 모래밭에 있고, 물에 빠진 사람은 물가에서 30 m 떨어진 바다에, 물가를 따라 60 m 옆에 있습니다. 구조원은 모래에서 6 m/s로 달리고 물에서 1.5 m/s로 헤엄칩니다. 일직선으로 가면 거리는 가장 짧지만 느린 물속 구간이 깁니다. 어디서 물에 들어가야 가장 빨리 도착할까요?

매질 1 (모래, 공기): 속력 v₁매질 2 (물): 속력 v₂ < v₁ A B θ₁ θ₂ a b xd − x 점선: 가장 짧은 길(느린 매질 구간이 길다)
그림 6-3. A에서 B로 가는 경로가 경계의 점(가로 위치 x)에서 꺾인다. 각도는 경계의 법선(세로 점선)에서 잰다. 빠른 매질에서 더 오래 가고 느린 매질에서 짧게 가도록 경로가 꺾이는데, 얼마나 꺾일지는 T′(x) = 0이 정한다.

그림 6-3처럼 A가 경계에서 aa, B가 경계에서 bb만큼 떨어져 있고 가로 거리가 dd라 하면, 경계의 xx 지점을 지나는 경로의 시간은

T(x)=a2+x2v1+b2+(d−x)2v2,0≤x≤d.T(x) = \frac{\sqrt{a^2 + x^2}}{v_1} + \frac{\sqrt{b^2 + (d - x)^2}}{v_2}, \qquad 0 \le x \le d.

미분하면 두 항이 각각 사인이 됩니다. xa2+x2=sin⁡θ1\dfrac{x}{\sqrt{a^2 + x^2}} = \sin\theta_1, d−xb2+(d−x)2=sin⁡θ2\dfrac{d - x}{\sqrt{b^2 + (d-x)^2}} = \sin\theta_2이기 때문입니다.

T′(x)=xv1a2+x2−d−xv2b2+(d−x)2=sin⁡θ1v1−sin⁡θ2v2.T'(x) = \frac{x}{v_1\sqrt{a^2 + x^2}} - \frac{d - x}{v_2\sqrt{b^2 + (d - x)^2}} = \frac{\sin\theta_1}{v_1} - \frac{\sin\theta_2}{v_2}.
정리 6.3 (스넬 법칙) 위의 최소 시간 경로는 유일하고, 그 경로에서
sin⁡θ1v1=sin⁡θ2v2,빛에서는n1sin⁡θ1=n2sin⁡θ2\frac{\sin\theta_1}{v_1} = \frac{\sin\theta_2}{v_2}, \qquad\text{빛에서는}\qquad n_1\sin\theta_1 = n_2\sin\theta_2
n=c/vn = c/v는 매질의 굴절률(refractive index), cc는 진공에서의 빛의 속력.
이 관계를 스넬 법칙(Snell's law)이라 하고, "빛은 걸리는 시간이 정류값(대개 최소)이 되는 경로로 간다"는 가정을 페르마 원리(Fermat's principle)라 한다.

증명. T′(0)=−dv2b2+d2<0T'(0) = -\frac{d}{v_2\sqrt{b^2+d^2}} \lt 0, T′(d)=dv1a2+d2>0T'(d) = \frac{d}{v_1\sqrt{a^2+d^2}} > 0이다. 또 ddxxa2+x2=a2(a2+x2)3/2>0\frac{d}{dx}\frac{x}{\sqrt{a^2+x^2}} = \frac{a^2}{(a^2+x^2)^{3/2}} > 0이고 둘째 항도 같은 꼴이라 T′′(x)>0T''(x) > 0. 따라서 T′T'은 증가하며 음수에서 양수로 정확히 한 번 0을 지나고, 그 점이 유일한 최솟값이다. 그 점에서 T′=0T' = 0을 쓰면 위 식이다. ∎

이 증명에는 xx를 구하는 공식이 없습니다. T′(x)=0T'(x) = 0은 4차 방정식이 되어 손으로 풀기 어렵습니다. 그래도 최적 경로가 만족하는 법칙은 깔끔하게 나왔고, 해는 수치로 구하면 됩니다(뉴턴 방법, 6절).

SIMULATOR

최소 시간 경로: 구조원과 빛

물가의 점을 끌어 입수 지점을 바꾸세요.

입수 지점 x, 시간 T—
sin θ₁ / v₁—
sin θ₂ / v₂—
θ₁, θ₂—
해볼 것: ① 점을 끌어 아래 T(x) 그래프의 바닥을 찾으세요. 바닥에서 sin θ₁/v₁과 sin θ₂/v₂가 같아집니다. ② v₁ = v₂로 두면 최적 경로는 직선(점선)이 됩니다. ③ '빛: 공기 → 물'은 속력을 1과 0.75(굴절률 1과 1.33)로 맞추고 최소 시간 경로로 보냅니다. 그때 sin θ₁ / sin θ₂ = 1.33이 되는지 θ₁, θ₂로 계산해 보세요. 모델: A = (0, 20), B = (60, −30) m, 경계 y = 0. 최소점은 T가 볼록함수라는 성질을 이용해 삼분 탐색으로 찾습니다.
예제 6.5 (구조원의 답) 문제의 수치(a = 20, b = 30, d = 60 m, v₁ = 6, v₂ = 1.5 m/s)로 계산하면 다음과 같다.
  1. 일직선(x = 24 m): 모래 31.2 m ÷ 6 + 물 46.9 m ÷ 1.5 ≈ 5.2 + 31.2 = 36.4 s.
  2. 물가를 따라 B 바로 앞까지 달린 뒤 수직으로 헤엄(x = 60): ≈ 10.5 + 20.0 = 30.5 s.
  3. 최적(T′ = 0을 수치로 풀면 x ≈ 52.8 m): 30.0 s. 이때 sin⁡θ1/6=sin⁡θ2/1.5≈0.156\sin\theta_1/6 = \sin\theta_2/1.5 \approx 0.156.

최적점은 극단적인 "물가를 따라 끝까지"와 가깝지만 같지 않습니다. 물속 구간을 살짝 비스듬히 하는 대가(물속 거리 증가)보다 모래에서 줄인 거리가 더 이득이기 때문입니다. 최솟값 근처에서는 T가 평평해 30.0 s와 30.5 s의 차이가 작다는 점도 눈여겨보세요.

선형 근사: 확대하면 곡선은 직선이다

계산기 없이 √4.1

설계 도면의 공차 계산, 진자의 작은 진폭 근사, 열팽창 공식 L=L0(1+αΔT)L = L_0(1 + \alpha\Delta T)는 모두 복잡한 함수를 직선으로 바꿔 계산합니다. 언제 그래도 되고, 얼마나 틀릴까요?

미분 가능한 함수의 그래프는 한 점을 충분히 확대하면 접선과 구별되지 않습니다(3장). 그래서 그 점 근처에서는 함수 대신 접선을 써도 됩니다.

정의 6.4 (선형 근사) ff가 aa에서 미분 가능할 때
L(x)=f(a)+f′(a)(x−a)L(x) = f(a) + f'(a)(x - a)
를 aa에서 ff의 선형화(linearization)라 하고, xx가 aa 근처일 때 f(x)≈L(x)f(x) \approx L(x)를 선형 근사(linear approximation)라 한다.
함수기준점선형 근사쓰이는 곳
sin⁡θ\sin\theta0θ\theta진자, 광학의 근축 근사
cos⁡θ\cos\theta011작은 각의 투영
exe^x01+x1 + x작은 이율, 작은 감쇠
ln⁡(1+x)\ln(1 + x)0xx로그 수익률, 데시벨의 작은 변화
(1+x)k(1 + x)^k01+kx1 + kx1+x≈1+x/2\sqrt{1+x} \approx 1 + x/2, 상대 오차 전파

근사를 썼다면 반드시 오차를 물어야 합니다. 접선에서 벗어나는 정도는 곡선이 얼마나 휘는지, 즉 f′′f''이 정합니다. 5장의 코시 평균값 정리를 두 번 쓰면 정확한 식이 나옵니다.

정리 6.5 (선형 근사의 오차) f′′f''이 aa와 xx 사이에서 존재하면, 그 사이의 어떤 ξ\xi에 대해
f(x)−L(x)=f′′(ξ)2(x−a)2.f(x) - L(x) = \frac{f''(\xi)}{2}(x - a)^2.
따라서 그 구간에서 ∣f′′∣≤M|f''| \le M이면 ∣f(x)−L(x)∣≤M2(x−a)2|f(x) - L(x)| \le \dfrac{M}{2}(x - a)^2이다.

증명. R(t)=f(t)−L(t)R(t) = f(t) - L(t)라 하면 R(a)=R′(a)=0R(a) = R'(a) = 0, R′′=f′′R'' = f''이다. RR과 (t−a)2(t - a)^2에 코시 평균값 정리를 쓰면 R(x)(x−a)2=R′(c)2(c−a)\frac{R(x)}{(x-a)^2} = \frac{R'(c)}{2(c - a)}인 cc가 aa와 xx 사이에 있고, 다시 R′R'과 2(t−a)2(t - a)에 쓰면 R′(c)−R′(a)2(c−a)=R′′(ξ)2\frac{R'(c) - R'(a)}{2(c - a)} = \frac{R''(\xi)}{2}인 ξ\xi가 aa와 cc 사이에 있다. ∎

두 가지를 읽어 냅시다. 첫째, 오차는 (x−a)2(x - a)^2에 비례합니다. 거리를 10배 줄이면 오차는 100배 줄어듭니다. 둘째, 부호도 알 수 있습니다. f′′>0f'' > 0(위로 오목)이면 곡선이 접선 위에 있으므로 선형 근사는 과소 추정, f′′<0f'' \lt 0이면 과대 추정입니다.

예제 6.6 (√4.1과 오차 한계)
  1. f(x)=xf(x) = \sqrt{x}, a=4a = 4: f(4)=2f(4) = 2, f′(4)=124=14f'(4) = \frac{1}{2\sqrt4} = \frac14. L(4.1)=2+14(0.1)=2.025L(4.1) = 2 + \frac14(0.1) = 2.025.
  2. 오차 한계: f′′(x)=−14x−3/2f''(x) = -\frac14x^{-3/2}이고 [4,4.1][4, 4.1]에서 ∣f′′∣≤14⋅4−3/2=132|f''| \le \frac14\cdot4^{-3/2} = \frac1{32}. 따라서 ∣오차∣≤12⋅132⋅(0.1)2≈1.56×10−4|\text{오차}| \le \frac{1}{2}\cdot\frac{1}{32}\cdot(0.1)^2 \approx 1.56\times10^{-4}.
  3. f′′<0f'' \lt 0이므로 2.025는 과대 추정이다. 실제 4.1=2.024846⋯\sqrt{4.1} = 2.024846\cdots, 오차 1.54×10−41.54\times10^{-4}로 한계 안에 있고 부호도 맞다.
SIMULATOR

선형 근사 확대경과 오차의 기울기 2

f(x)와 접선 L(x)
|f − L| vs h (로그–로그)
L(x)—
x = a + h에서 f, L—
오차 f − L—
오차 / h² → f″(a)/2—
해볼 것: ① h를 10배씩 줄이며 오차가 100배씩 주는지 보세요. 오른쪽 그래프에서 오차 곡선은 기울기 2인 기준 점선(4 × |f″(a)|h²/2)과 평행합니다. ② '오차/h²'이 f″(a)/2로 다가가는지 확인하세요. √x에서는 −1/64 = −0.015625입니다. ③ 오차의 부호로 곡선이 접선 위인지 아래인지 말해 보세요. 모델: h > 0 쪽만 계산합니다. 창의 가로 폭은 ±h입니다.

미분 dy와 오차 전파

자로 잰 반지름의 0.5% 오차는 부피를 얼마나 흔드나

베어링 볼의 반지름을 10.0 mm ± 0.05 mm로 쟀습니다. 부피 V=43πr3V = \frac43\pi r^3도 오차를 가집니다. 공차가 부피, 질량, 관성에 어떻게 퍼지는지 알아야 부품 검사 기준을 정할 수 있습니다.

선형 근사를 "변화량"의 언어로 다시 쓴 것이 미분입니다.

정의 6.6 (미분) y=f(x)y = f(x)에서 dxdx를 독립 변수로 보고 dy=f′(x) dxdy = f'(x)\,dx를 yy의 미분(differential)이라 한다. 실제 변화량 Δy=f(x+dx)−f(x)\Delta y = f(x + dx) - f(x)와 달리 dydy는 접선을 따른 변화량이며, dx→0dx \to 0이면 Δy−dy=O(dx2)\Delta y - dy = O(dx^2)다(정리 6.5).

측정값 xx에 절대 오차(absolute error) Δx\Delta x가 있으면 계산값 yy의 오차는 ∣dy∣=∣f′(x)∣ Δx|dy| = |f'(x)|\,\Delta x로 어림합니다. 공학에서는 크기에 대한 비율인 상대 오차(relative error) Δy/∣y∣\Delta y/|y|가 더 유용합니다. 이렇게 입력의 오차가 출력으로 퍼지는 것을 오차 전파(error propagation)라 합니다.

정리 6.7 (거듭제곱의 상대 오차) y=kxny = kx^n이면
dyy=n dxx.\frac{dy}{y} = n\,\frac{dx}{x}.
즉 상대 오차는 지수 nn배로 커진다(음의 지수면 부호만 바뀐다).

증명. dy=knxn−1dxdy = knx^{n-1}dx를 y=kxny = kx^n으로 나눈다. 같은 결과를 로그 미분 d(ln⁡y)=n d(ln⁡x)d(\ln y) = n\,d(\ln x)로도 얻는다(4장). ∎

예제 6.7 (구의 부피와 진자로 잰 g)
  1. r=10.0±0.05r = 10.0 \pm 0.05 cm: V=43π(10)3≈4189V = \frac43\pi(10)^3 \approx 4189 cm³, dV=4πr2 dr=4π(100)(0.05)=20π≈62.8dV = 4\pi r^2\,dr = 4\pi(100)(0.05) = 20\pi \approx 62.8 cm³. 상대 오차 62.8/4189=1.5%62.8/4189 = 1.5\% =3×0.5%= 3\times0.5\%. 실제 최대 변화 V(10.05)−V(10)≈63.1V(10.05) - V(10) \approx 63.1 cm³로 거의 같다.
  2. 진자: T=2πL/gT = 2\pi\sqrt{L/g}에서 g=4π2L/T2g = 4\pi^2L/T^2. L=1.000L = 1.000 m(정확하다고 보자), T=2.006±0.005T = 2.006 \pm 0.005 s이면 g≈9.811g \approx 9.811 m/s². n=−2n = -2이므로 상대 오차 2×0.0052.006≈0.50%2\times\frac{0.005}{2.006} \approx 0.50\%, Δg≈0.049\Delta g \approx 0.049 m/s².
  3. 교훈: 결과가 측정값의 거듭제곱에 민감하면(∣n∣|n|이 크면) 그 측정을 가장 정밀하게 해야 한다. 진자 실험에서 시간을 한 주기가 아니라 20주기 재서 나누는 이유다.
SIMULATOR

오차 전파 계산기

계산값 y—
미분 |dy| = |f′(x)|Δx—
실제 Δy (+Δx / −Δx)—
상대 오차 |dy/y|—
해볼 것: ① '구의 부피'에서 상대 오차 0.5%가 1.5%가 되는 것을 확인하세요(예제 6.7). ② 상대 오차를 10% 이상으로 키우면 접선 띠(파랑)와 실제 범위(진분홍)가 어긋나기 시작합니다. 위아래 비대칭도 생깁니다. 선형 근사는 작은 오차에서만 믿을 만합니다. ③ '도선 저항'에서 지름 1% 오차가 저항 2% 오차가 됩니다. 모델: y = kxⁿ 꼴, x 슬라이더는 기본 측정값에 곱하는 배율입니다.
변수가 여럿이면 결과가 측정값 여러 개에 의존하면(예: g=4π2L/T2g = 4\pi^2L/T^2에서 LL과 TT가 모두 불확실) 각 변수의 기여를 편미분으로 더합니다. 최악의 경우는 절댓값의 합, 오차가 서로 독립인 무작위 오차라면 제곱합의 제곱근을 씁니다. 이것은 13장 전미분과 확률과 통계의 결합 분포에서 다룹니다.

뉴턴 방법: 접선으로 근 찾기

풀 수 없는 방정식

cos⁡x=x\cos x = x, 스넬 문제의 T′(x)=0T'(x) = 0, 회로의 다이오드 방정식 I=Is(eV/VT−1)I = I_s(e^{V/V_T} - 1)과 저항의 연립은 근의 공식이 없습니다. 2장의 이분법은 확실하지만 한 단계에 한 비트(절반)씩만 좁혀 15자리를 얻는 데 50번쯤 걸립니다. 더 빠른 방법이 있을까요?

아이디어는 이 장의 두 주제를 합친 것입니다. 근을 모르는 함수 대신 접선(선형 근사)의 근을 구합니다. 접선의 근은 공식으로 나옵니다. 그 점에서 다시 접선을 긋습니다.

근 r x₀ x₁ x₂ (x₀, f(x₀))에서 접선 x₁ = x₀ − f(x₀)/f′(x₀) 접선의 근 → 다시 접선 한 번 갈 때마다 맞는 자릿수가 약 두 배
그림 6-4. 뉴턴 방법. 점 (xₙ, f(xₙ))에서 그은 접선이 가로축과 만나는 곳을 다음 추정값 xₙ₊₁로 삼는다. 곡선이 근 근처에서 접선과 비슷할수록(확대하면 직선이므로) 추정이 빠르게 좋아진다.
정의 6.8 (뉴턴 방법) 초기값 x0x_0에서 시작해
xn+1=xn−f(xn)f′(xn)x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}
을 반복하는 방법을 뉴턴 방법(Newton's method, Newton–Raphson method)이라 한다. xn+1x_{n+1}은 xnx_n에서의 선형화 L(x)=f(xn)+f′(xn)(x−xn)L(x) = f(x_n) + f'(x_n)(x - x_n)의 근이다.

뉴턴은 1669년 무렵의 원고에서 다항식의 근을 이런 방식으로 구했고, 1690년 랩슨(Joseph Raphson)이 지금과 비슷한 반복 형태로 발표했습니다. 도함수를 쓰는 일반적인 공식으로 정리된 것은 그 뒤입니다.

예제 6.8 (√2와 cos x = x)
  1. f(x)=x2−2f(x) = x^2 - 2이면 xn+1=xn−xn2−22xn=12(xn+2xn)x_{n+1} = x_n - \frac{x_n^2 - 2}{2x_n} = \frac12\left(x_n + \frac{2}{x_n}\right). "추정값과 2/추정값의 평균"이라는 바빌로니아 방법과 같다.
  2. x0=1x_0 = 1: x1=1.5x_1 = 1.5, x2=1.416‾667x_2 = 1.41\underline{6}667, x3=1.414215‾686x_3 = 1.41421\underline{5}686, x4=1.414213562374‾69x_4 = 1.41421356237\underline{4}69. 오차는 8.6×10−28.6\times10^{-2}, 2.5×10−32.5\times10^{-3}, 2.1×10−62.1\times10^{-6}, 1.6×10−121.6\times10^{-12}. 맞는 자릿수가 1, 3, 6, 12로 매번 두 배가 된다.
  3. f(x)=cos⁡x−xf(x) = \cos x - x, f′(x)=−sin⁡x−1f'(x) = -\sin x - 1, x0=1x_0 = 1: x1=0.750364x_1 = 0.750364, x2=0.739113x_2 = 0.739113, x3=0.7390851334x_3 = 0.7390851334, x4=0.7390851332x_4 = 0.7390851332. 이분법으로 10자리를 얻으려면 30번 넘게 반으로 나눠야 한다.
SIMULATOR

뉴턴 방법 한 단계씩: 수렴과 실패

n = 0

가로축 위의 점 x₀을 끌어 시작점을 바꾸세요.

해볼 것: ① 'x² − 2'에서 다섯 단계 만에 오차가 10⁻¹⁵ 아래로 떨어지는 것을 표에서 보세요. ② 'x³ − 2x + 2'를 x₀ = 0에서 시작하면 0 → 1 → 0 → …으로 영원히 돕니다. x₀을 조금만 옮겨도 근 −1.769로 갑니다. ③ 'arctan x'는 |x₀| < 1.39이면 수렴하고 그보다 크면 발산합니다. ④ '(x − 1)²'은 오차가 매번 절반으로만 줍니다. ⑤ 'x³ − x'의 아래 띠에서 근 사이 경계 근처는 색이 잘게 섞입니다. 모델: 해석적 도함수, 띠는 화면의 각 x를 초기값으로 60번 반복한 결과입니다(회색: 수렴하지 않음).

뉴턴 방법은 왜 빠르고, 언제 실패하나

예제 6.8에서 오차가 10−3→10−6→10−1210^{-3} \to 10^{-6} \to 10^{-12}으로 줄었습니다. 오차가 제곱으로 줄어든다는 뜻입니다. 정리 6.5가 그 이유를 정확히 말해 줍니다.

정리 6.9 (2차 수렴) f(r)=0f(r) = 0, f′(r)≠0f'(r) \ne 0이고 f′′f''이 rr 근처에서 연속이라 하자. x0x_0이 rr에 충분히 가까우면 뉴턴 방법은 rr로 수렴하고, 오차 en=xn−re_n = x_n - r은
en+1=f′′(ξn)2f′(xn) en2  ≈  f′′(r)2f′(r) en2e_{n+1} = \frac{f''(\xi_n)}{2f'(x_n)}\,e_n^2 \;\approx\; \frac{f''(r)}{2f'(r)}\,e_n^2
을 만족한다(ξn\xi_n은 xnx_n과 rr 사이). 이런 수렴을 2차 수렴(quadratic convergence)이라 한다.

증명. 정리 6.5를 a=xna = x_n, x=rx = r에 쓰면 0=f(r)=f(xn)+f′(xn)(r−xn)+f′′(ξn)2(r−xn)20 = f(r) = f(x_n) + f'(x_n)(r - x_n) + \frac{f''(\xi_n)}{2}(r - x_n)^2. f′(xn)f'(x_n)으로 나누고 정리하면 xn−f(xn)f′(xn)−r=f′′(ξn)2f′(xn)(xn−r)2x_n - \frac{f(x_n)}{f'(x_n)} - r = \frac{f''(\xi_n)}{2f'(x_n)}(x_n - r)^2, 왼쪽이 en+1e_{n+1}이다. ∣f′′/(2f′)∣≤K|f''/(2f')| \le K인 근방에서 K∣e0∣<1K|e_0| \lt 1이면 ∣en+1∣≤(K∣en∣)∣en∣|e_{n+1}| \le (K|e_n|)|e_n|이라 오차가 줄어들며 수렴한다. ∎

정리의 가정이 깨지는 곳이 곧 실패의 목록입니다.

실패예무슨 일이 일어나나
f′(xn)=0f'(x_n) = 0x2−2x^2 - 2에서 x0=0x_0 = 0접선이 수평이라 가로축과 만나지 않는다. 0에 가까우면 아주 멀리 튄다.
순환x3−2x+2x^3 - 2x + 2, x0=0x_0 = 0x1=0−2−2=1x_1 = 0 - \frac{2}{-2} = 1, x2=1−11=0x_2 = 1 - \frac11 = 0. 0과 1을 영원히 오간다.
발산 (초기값이 멀다)arctan⁡x\arctan x, ∣x0∣>1.3917|x_0| > 1.3917곡선이 납작해 접선이 반대편으로 더 멀리 보낸다. ∣x0∣<1.3917|x_0| \lt 1.3917이면 수렴한다.
발산 (f′(r)f'(r)이 없다)x3\sqrt[3]{x}xn+1=xn−3xn=−2xnx_{n+1} = x_n - 3x_n = -2x_n. 근에 아무리 가까워도 매번 두 배 멀어진다.
느린 수렴 (f′(r)=0f'(r) = 0, 중근)(x−1)2(x - 1)^2xn+1−1=12(xn−1)x_{n+1} - 1 = \frac12(x_n - 1). 수렴은 하지만 1차(선형) 수렴이다.
실무의 처방 실제 근 찾기 프로그램은 이분법의 확실함과 뉴턴 방법의 속도를 합칩니다. 근을 끼고 있는 구간을 유지하면서 뉴턴 단계를 시도하고, 그 단계가 구간 밖으로 나가면 이분법 한 단계로 대신합니다. 또 도함수를 구하기 어려우면 두 점의 할선 기울기로 대신하는 할선법을 씁니다(수렴 차수 약 1.618). 많은 수치 라이브러리의 근 찾기 함수가 이런 혼합 방식입니다.

2차 근사 맛보기: 휘어짐까지 맞추기

선형 근사는 값과 기울기만 맞춥니다. 정리 6.5의 오차 항 f′′2(x−a)2\frac{f''}{2}(x - a)^2을 보면 다음 개선이 무엇인지 보입니다. 그 항을 근사에 넣으면 됩니다.

정의 6.10 (2차 근사) ff가 aa에서 두 번 미분 가능할 때
Q(x)=f(a)+f′(a)(x−a)+f′′(a)2(x−a)2Q(x) = f(a) + f'(a)(x - a) + \frac{f''(a)}{2}(x - a)^2
를 aa에서의 2차 근사(quadratic approximation)라 한다. QQ는 Q(a)=f(a)Q(a) = f(a), Q′(a)=f′(a)Q'(a) = f'(a), Q′′(a)=f′′(a)Q''(a) = f''(a)를 만족하는 유일한 2차 다항식이다.

계수 12\frac12은 (x−a)2(x - a)^2을 두 번 미분하면 2가 나오는 것을 상쇄합니다. f′′′f'''이 있으면 오차는 (x−a)3(x - a)^3에 비례합니다(12장에서 증명). 예를 들어 cos⁡x≈1−x22\cos x \approx 1 - \frac{x^2}{2}는 x=0.5x = 0.5에서 0.875, 실제 값 0.87758로 오차가 2.6×10−32.6\times10^{-3}인데, 선형 근사 1의 오차 0.12보다 50배쯤 작습니다. 4.1\sqrt{4.1}은 Q=2.025−164(0.01)=2.02484375Q = 2.025 - \frac{1}{64}(0.01) = 2.02484375로 오차가 1.9×10−61.9\times10^{-6}입니다.

SIMULATOR

접선 vs 접하는 포물선

f, L(1차), Q(2차)
오차 vs h (로그–로그)
f(a + h)—
L, 오차—
Q, 오차—
오차 비 |f − L| / |f − Q|—
해볼 것: ① h를 줄이며 오른쪽 두 곡선의 기울기를 비교하세요. 1차 근사의 오차는 기울기 2, 2차 근사의 오차는 기울기 3입니다. ② 'cos x, a = 0'에서는 2차 근사의 오차 기울기가 4입니다. f‴(0) = 0이라 3차 항이 공짜로 맞기 때문입니다. ③ 'ln(1 + x)'에서 h를 1 가까이 키우면 Q가 오히려 크게 빗나갑니다. 근사는 '근처'에서만 약속입니다. 모델: 해석적 f′, f″. 오른쪽 그래프는 h = 10⁻³ ~ 2.

이 생각을 끝까지 밀면 nn차 다항식으로 nn번째 도함수까지 맞추는 12장의 테일러 다항식이 됩니다. 또 2차 근사의 최솟값을 찾아 반복하면 최적화의 뉴턴 방법 xn+1=xn−f′(xn)/f′′(xn)x_{n+1} = x_n - f'(x_n)/f''(x_n)이 되는데, 이것은 f′f'에 뉴턴 근 찾기를 쓴 것과 같습니다. 다변수로 가면 f′′f'' 자리에 헤세 행렬이 들어갑니다(14장).

이 도구가 쓰이는 곳

"최솟값을 찾는다"와 "접선으로 근사한다"는 공학 계산의 두 기본 동작입니다. 큰 시뮬레이션 프로그램도 안을 열어 보면 이 두 동작을 수백만 번 반복합니다.

계산기와 컴퓨터의 나눗셈·제곱근 여러 프로세서와 수학 라이브러리는 1/a1/a이나 1/a1/\sqrt{a}을 직접 나누지 않고, 대략적인 초기값(표에서 읽거나 비트 조작으로 얻은 값)에서 뉴턴 단계를 한두 번 돌려 정밀도를 맞춥니다. f(x)=1/x−af(x) = 1/x - a에 뉴턴 방법을 쓰면 xn+1=xn(2−axn)x_{n+1} = x_n(2 - ax_n)으로 곱셈과 뺄셈만으로 역수가 나오기 때문입니다. 2차 수렴 덕분에 맞는 비트가 8 → 16 → 32 → 64로 늘어 몇 단계면 충분합니다. 1990년대 3D 게임 Quake III의 유명한 '고속 역제곱근' 코드도 비트 요령으로 얻은 초기값에 뉴턴 단계 한 번을 쓴 것입니다.

핵심 정리

  1. 닫힌 구간 방법: [a, b]의 연속 함수의 최댓값·최솟값은 내부 임계점과 끝점 중에서 나온다. 후보의 값을 비교하면 끝.
  2. 최적화 문제: 그림 → 목적 함수 → 제약으로 변수 하나 → 정의역 → 임계점 → 판정. 정의역이 열려 있으면 '유일한 임계점' 판정이나 끝에서의 극한을 쓴다.
  3. 결과: 겉넓이 최소 캔은 h = 2r(뚜껑 비용이 k배면 h = 2kr). 최소 시간 경로는 sin⁡θ1/v1=sin⁡θ2/v2\sin\theta_1/v_1 = \sin\theta_2/v_2(스넬 법칙, 페르마 원리).
  4. 선형 근사 L(x)=f(a)+f′(a)(x−a)L(x) = f(a) + f'(a)(x - a). 오차 =f′′(ξ)2(x−a)2= \frac{f''(\xi)}{2}(x - a)^2, 따라서 ∣오차∣≤M2(x−a)2|오차| \le \frac M2(x - a)^2. f″ > 0이면 과소, f″ < 0이면 과대 추정.
  5. 미분 dy = f′(x)dx로 오차를 전파한다. y=kxny = kx^n이면 상대 오차가 ∣n∣|n|배.
  6. 뉴턴 방법 xn+1=xn−f(xn)/f′(xn)x_{n+1} = x_n - f(x_n)/f'(x_n): 단순근 근처에서 2차 수렴(맞는 자릿수가 두 배씩). 실패: f′ = 0, 순환, 먼 초기값, f′(r)이 없음. 중근에서는 1차 수렴.
  7. 2차 근사 Q=L+f′′(a)2(x−a)2Q = L + \frac{f''(a)}{2}(x - a)^2: 휘어짐까지 맞추면 오차가 (x−a)3(x - a)^3 수준. 12장 테일러 전개의 첫걸음.

확인 퀴즈

Q1. f(x)=x−2xf(x) = x - 2\sqrt{x}의 [0,9][0, 9]에서의 최솟값은?

f′(x)=1−1x=0f'(x) = 1 - \frac{1}{\sqrt x} = 0에서 x=1x = 1(x = 0은 f′이 없는 끝점). 후보 f(0)=0f(0) = 0, f(1)=−1f(1) = -1, f(9)=9−6=3f(9) = 9 - 6 = 3. 최솟값 −1, 최댓값 3(끝점 x = 9).

Q2. 강가에 직사각형 울타리를 친다. 강 쪽은 울타리가 필요 없고 재료는 240 m다. 최대 넓이는?

A=x(240−2x)A = x(240 - 2x), A′=240−4x=0A' = 240 - 4x = 0에서 x=60x = 60. A=60×120=7200A = 60\times120 = 7200 m². 3600은 네 변 모두 울타리를 치는 정사각형(60 × 60)의 넓이다.

Q3. 빛이 공기(n = 1.00)에서 물(n = 1.33)로 입사각 30°로 들어간다. 굴절각은 약?

sin⁡θ2=1.00⋅sin⁡30°1.33=0.51.33≈0.376\sin\theta_2 = \frac{1.00\cdot\sin30°}{1.33} = \frac{0.5}{1.33} \approx 0.376, θ2≈22.1°\theta_2 \approx 22.1°. 느린 매질로 들어가면 법선 쪽으로 꺾인다. 각도가 굴절률에 반비례하는 것이 아니라 사인이 반비례한다.

Q4. a=8a = 8에서의 선형 근사로 8.123\sqrt[3]{8.12}를 어림하면?

f′(x)=13x−2/3f'(x) = \frac13x^{-2/3}, f′(8)=112f'(8) = \frac{1}{12}. L(8.12)=2+0.1212=2.01L(8.12) = 2 + \frac{0.12}{12} = 2.01. 실제 값 2.009950…이고, f′′<0f'' \lt 0이라 선형 근사가 살짝 과대 추정이다.

Q5. 정육면체 한 변을 상대 오차 1%로 쟀다. 부피의 상대 오차는 대략?

V=s3V = s^3이므로 dV/V=3 ds/s=3%dV/V = 3\,ds/s = 3\%. 정확히는 1.013−1=3.03%1.01^3 - 1 = 3.03\%로 미분의 어림과 거의 같다.

Q6. f(x)=x2−5f(x) = x^2 - 5에 뉴턴 방법을 x0=2x_0 = 2에서 시작했다. x2x_2는?

x1=2−−14=2.25x_1 = 2 - \frac{-1}{4} = 2.25, x2=2.25−0.06254.5=2.236111x_2 = 2.25 - \frac{0.0625}{4.5} = 2.236111. 5=2.236068\sqrt5 = 2.236068이라 두 단계 만에 소수 넷째 자리까지 맞았다.

Q7. f(x)=x3−2x+2f(x) = x^3 - 2x + 2에 뉴턴 방법을 x0=0x_0 = 0에서 시작하면?

f(0)=2f(0) = 2, f′(0)=−2f'(0) = -2이므로 x1=1x_1 = 1. f(1)=1f(1) = 1, f′(1)=1f'(1) = 1이므로 x2=0x_2 = 0. 이후 같은 두 점을 되풀이한다. 초기값을 −1.5처럼 근 가까이 잡으면 수렴한다.

Q8. 단순근으로 수렴 중인 뉴턴 방법에서 지금 오차가 약 10⁻³이고 ∣f′′(r)/(2f′(r))∣≈1|f''(r)/(2f'(r))| \approx 1이다. 다음 단계의 오차는 대략?

2차 수렴: ∣en+1∣≈∣f′′(r)2f′(r)∣en2=10−6|e_{n+1}| \approx \left|\frac{f''(r)}{2f'(r)}\right| e_n^2 = 10^{-6}. 5 × 10⁻⁴(절반)는 중근에서의 1차 수렴이나 이분법의 속도다.