43강에서 최댓값과 최솟값을 구하는 절차를 세웠고 44강에서 볼록성으로 그 판정을 빠르게 했습니다. 그런데 그 강의들에서는 함수가 이미 주어져 있었습니다.
현실의 문제는 그렇지 않습니다. "울타리 100미터로 가장 넓은 밭을 만들라"는 요구에는 함수가 없습니다. 무엇을 변수로 삼을지 정하고, 최대화할 양을 그 변수의 함수로 세우고, 정의역이 어디까지인지 결정하는 일이 먼저입니다. 그 일이 끝나면 계산은 43강과 44강의 반복입니다.
그래서 이 강의의 어려움은 미분에 있지 않습니다. 식을 세우는 데 있습니다. 실제로 학생들이 이 단원에서 틀리는 이유의 대부분은 도함수 계산이 아니라 변수를 잘못 잡거나 정의역을 빠뜨리는 데서 나옵니다.
이 강의의 사고방식은 이 커리큘럼 전체로 이어집니다. 106강 이후의 다변수 최적화, 109강의 경사하강법, 219강 이후 신경망 학습이 모두 "무엇을 최소화할 것인가"를 정하는 데서 시작합니다. 손실함수를 설계하는 일이 곧 여기서 하는 식 세우기입니다.
문제. 길이 미터의 울타리로 직사각형 밭을 두릅니다.
(1) 변수를 정하고 넓이를 그 변수의 함수로 나타내세요.
(2) 정의역을 정하세요.
(3) 넓이를 최대로 하는 가로와 세로를 구하세요.
생각의 실마리. 직사각형에는 가로와 세로 두 개의 양이 있는데 울타리 길이가 정해져 있으므로 둘은 자유롭지 않습니다. 하나를 정하면 다른 하나가 따라옵니다. 그러니 변수를 하나만 두고 나머지를 그 변수로 표현합니다. (2)에서는 길이가 음수이거나 이 될 수 없다는 물리적 제약을 생각합니다.
풀이. (1) 가로를 라 합니다. 둘레가 이므로 , 즉 입니다. 넓이는
입니다.
(2) 가로와 세로가 모두 양수여야 하므로 이고 입니다. 따라서 정의역은 입니다.
(3) 에서 입니다. 이므로 44강의 2계 판정법에 의해 극대이고, 임계점이 하나뿐이므로 44강 심화 5에 의해 전역 최대입니다. 이때 이고 넓이는 제곱미터입니다.
이 문제에서 배우는 것: 최적화 문제의 표준 절차.
이 문제에서 실제로 한 일을 단계로 뽑아 둡니다. 앞으로 모든 최적화 문제를 이 순서로 풉니다.
최적화 문제의 여섯 단계.
단계 할 일 문제 1에서 1 최대화 또는 최소화할 양을 정합니다 넓이입니다 2 관련된 양에 이름을 붙입니다 가로 , 세로 입니다 3 제약조건을 식으로 씁니다 입니다 4 제약으로 변수를 소거해 한 변수 함수를 만듭니다 입니다 5 정의역을 정합니다 입니다 6 43강·44강의 방법으로 최값을 구합니다 , 넓이 입니다
여기서 3단계와 4단계가 이 강의의 핵심입니다. 목적함수와 제약조건을 구별하는 것이 출발점입니다.
| 구분 | 뜻 | 문제 1에서 |
|---|---|---|
| 목적함수 | 최대화하거나 최소화할 대상입니다 | 넓이 입니다 |
| 제약조건 | 반드시 만족해야 하는 조건입니다 | 둘레 입니다 |
둘을 뒤바꾸면 문제가 완전히 달라집니다. "넓이가 일 때 둘레를 최소로 하라"는 전혀 다른 문제이며, 답은 우연히 같은 정사각형이 나옵니다. 이 대응은 우연이 아니고 심화 3에서 다룹니다.
5단계의 정의역 설정도 형식적인 절차가 아닙니다. 문제 2에서 정의역을 잘못 잡으면 답이 달라지는 경우를 봅니다.
답이 정사각형이라는 결과도 기억해 두십시오. 둘레가 고정된 직사각형 중 넓이가 최대인 것은 정사각형입니다. 이 사실은 삼차원으로 올라가면 "겉넓이가 고정된 직육면체 중 부피가 최대인 것은 정육면체"가 되고, 더 일반적으로는 등주부등식이라 불리는 정리로 확장됩니다.
바로 확인 1.
확인 1-1. 울타리 미터로 직사각형 밭을 두를 때 최대 넓이를 구하세요.
답. 이고 에서 입니다. 최대 넓이는 제곱미터입니다.
확인 1-2. 한 변이 강가라서 그쪽에는 울타리가 필요 없다면, 울타리 미터로 만드는 최대 넓이는 얼마입니까?
답. 강과 나란한 변을 , 수직인 변을 라 하면 제약은 입니다. 이고 에서 , 입니다. 최대 넓이는 제곱미터입니다.
확인 1-3. 문제 1에서 정의역을 으로 잡아도 답이 같은 이유를 쓰세요.
답. 끝점 과 에서 넓이가 이라 최댓값 후보가 되지 못하기 때문입니다. 다만 그 값은 직사각형이 되지 않는 상태이므로 정의역에 넣지 않는 편이 문제의 뜻에 맞습니다.
문제. 한 변의 길이가 인 정사각형 판지의 네 모서리에서 한 변이 인 작은 정사각형을 잘라내고 남은 부분을 접어 뚜껑 없는 상자를 만듭니다.
(1) 부피를 의 함수로 나타내세요.
(2) 정의역을 정하세요.
(3) 부피가 최대가 되는 와 그 부피를 구하세요.
(4) 정의역을 으로 바꾸면 답이 달라집니까?
생각의 실마리. 잘라낸 뒤 남는 밑면의 한 변이 얼마인지 그림으로 확인합니다. 양쪽에서 씩 잘리므로 입니다. 높이는 접어 올린 부분이므로 입니다. (2)에서는 밑면의 변이 양수여야 한다는 조건이 상한을 줍니다.
풀이. (1) 밑면은 한 변이 인 정사각형이고 높이는 입니다. 부피는
입니다.
(2) 잘라내는 크기가 양수여야 하므로 이고, 밑면이 남아야 하므로 , 즉 입니다. 정의역은 입니다.
(3) 곱의 미분법으로
입니다. 정의역에서 이므로 부호는 가 정하고, 에서 이 됩니다. 왼쪽에서 양수, 오른쪽에서 음수이므로 극대이며 임계점이 하나뿐이라 전역 최대입니다.
(4) 달라지지 않습니다. 이고 이므로 두 끝점이 최댓값 후보가 되지 못합니다.
이 문제에서 배우는 것: 정의역은 문제가 정합니다.
(4)의 답이 "달라지지 않는다"였다고 해서 정의역이 중요하지 않은 것은 아닙니다. 이 문제에서 우연히 끝점의 값이 최소였을 뿐입니다. 만약 최소 부피를 물었다면 상황이 완전히 달라집니다. 열린구간 에서는 최솟값이 존재하지 않고(값이 에 가까워지지만 도달하지 않습니다), 닫힌구간에서는 이 최솟값이 됩니다.
정의역을 정하는 근거는 세 가지입니다.
| 근거 | 예 |
|---|---|
| 물리적 의미 | 길이, 넓이, 개수는 양수여야 합니다 |
| 제약조건 | 남는 부분이 있어야 하므로 입니다 |
| 함수의 정의 | 분모가 이 아니어야 하고 근호 안이 음수가 아니어야 합니다 |
정의역이 닫힌구간이면 36강의 최대·최소 정리가 존재를 보장하므로 마음이 편합니다. 열린구간이나 무한구간이면 존재가 보장되지 않으므로 따로 논증해야 합니다. 문제 5가 그 경우를 다룹니다.
계산에서 하나 더 짚어 둘 것이 있습니다. 을 전개해 로 만든 뒤 미분해도 됩니다. 답은 같지만 을 인수분해하는 수고가 추가로 듭니다. 곱의 꼴을 유지한 채 미분하면 인수분해된 도함수가 바로 나오므로 부호 판정이 훨씬 쉽습니다. 최적화 문제에서 자주 쓰는 요령입니다.
바로 확인 2.
확인 2-1. 한 변이 인 정사각형 판지로 같은 방식의 상자를 만들 때 최대 부피를 구하세요.
답. 이고 입니다. 에서 최대이고 부피는 입니다.
확인 2-2. 확인 2-1에서 정의역을 쓰세요.
답. 입니다. 잘라내는 크기가 양수이고 밑면의 변 가 양수여야 하기 때문입니다.
확인 2-3. 열린구간에서 최솟값이 존재하지 않을 수 있는 이유를 문제 2로 설명하세요.
답. 에서 를 에 가깝게 하면 부피가 에 한없이 가까워지지만 이 정의역에 없어 그 값에 도달하지 못하기 때문입니다.
문제. 점 에서 곡선 위의 점까지의 거리가 최소가 되는 점을 구합니다.
(1) 거리의 제곱을 의 함수로 나타내세요.
(2) 거리 대신 거리의 제곱을 최소화해도 되는 이유를 설명하세요.
(3) 최단거리와 그때의 점을 구하세요.
생각의 실마리. 곡선 위의 점은 로 쓸 수 있습니다. 거리 공식을 그대로 쓰면 근호가 생겨 미분이 지저분해집니다. (2)에서 근호를 벗겨도 되는 근거를 찾으면 계산이 훨씬 짧아집니다. 근호가 어떤 함수인지, 그 함수가 어떤 성질을 가지는지 생각합니다.
풀이. (1) 곡선 위의 점을 라 하면 이고
이 거리의 제곱입니다.
(2) 거리는 입니다. 는 에서 순증가하므로, 가 최소가 되는 자리에서 도 최소가 됩니다. 순증가하는 함수는 크기 순서를 바꾸지 않기 때문입니다. 따라서 근호를 벗기고 만 다뤄도 답이 같습니다.
(3) 입니다. 에서 이고 이므로 최소입니다.
이므로 최단거리는 이고, 그때의 점은 입니다.
이 문제에서 배우는 것: 단조변환은 최적점을 옮기지 않습니다.
(2)에서 쓴 원리를 정리로 적어 둡니다.
단조변환 불변성. 가 순증가하는 함수이면, 가 최소가 되는 자리와 가 최소가 되는 자리가 같습니다.
증명은 한 줄입니다. 가 모든 에서 성립하면 가 순증가하므로 이고, 거꾸로도 마찬가지입니다.
이 원리는 계산을 크게 줄여 줍니다. 자주 쓰는 변환은 두 가지입니다.
| 변환 | 쓰는 곳 | 조건 |
|---|---|---|
| 제곱 | 거리 최소화에서 근호를 없앱니다 | 원래 값이 음수가 아닐 때 |
| 로그 | 곱을 합으로 바꿉니다 | 원래 값이 양수일 때 |
로그 변환은 이 커리큘럼에서 특히 중요합니다. 145강 이후의 최대가능도추정에서 가능도의 곱을 최대화하는 대신 로그가능도의 합을 최대화하는데, 근거가 정확히 이 원리입니다. 곱을 미분하려면 항이 개일 때 개의 항이 나오지만, 로그를 취하면 합이 되어 각 항을 따로 미분하면 끝납니다.
주의할 점은 순증가여야 한다는 것입니다. 은 실수 전체에서는 순증가가 아니므로 가 음수 값을 가질 수 있으면 쓸 수 없습니다. 의 최솟값 자리와 의 최솟값 자리는 다릅니다. 거리 문제에서 제곱을 쓸 수 있는 것은 거리가 항상 이상이기 때문입니다.
바로 확인 3.
확인 3-1. 원점에서 직선 까지의 최단거리를 이 방법으로 구하세요.
답. 직선 위의 점은 이고 입니다. 에서 이고 이므로 거리는 입니다.
확인 3-2. 점 에서 포물선 까지의 최단거리를 구하세요.
답. 입니다. 에서 과 입니다. 이고 이므로 최단거리는 입니다.
확인 3-3. 가 음수 값을 가질 때 제곱 변환을 쓰면 안 되는 이유를 예로 설명하세요.
답. 은 가 작을수록 작아져 최솟값이 없지만 은 에서 최솟값 을 가집니다. 제곱이 실수 전체에서 순증가가 아니어서 순서가 보존되지 않기 때문입니다.
문제. 어떤 제품을 개 만드는 총비용이 (만원)이라고 합니다. 단 입니다.
(1) 개당 평균비용 를 구하세요.
(2) 평균비용을 최소로 하는 생산량을 구하세요.
(3) 그 생산량에서 한계비용 의 값을 구하고 평균비용과 비교하세요.
(4) (3)의 관계가 우연인지 판정하세요.
생각의 실마리. 평균비용은 총비용을 개수로 나눈 것입니다. (2)는 몫 꼴 함수의 최소화이므로 43강의 절차 그대로입니다. (4)에서는 특정 함수가 아니라 일반적인 로 같은 계산을 해 봅니다. 그러면 관계가 어디서 나오는지 보입니다.
풀이. (1) 입니다.
(2) 입니다. 으로 두면 , 즉 이므로 입니다.
이 에서 성립하므로 는 순볼록하고, 44강 심화 5에 의해 이 임계점이 전역 최소입니다. 최소 평균비용은 만원입니다.
(3) 이므로 입니다. 평균비용과 같습니다.
(4) 우연이 아닙니다. 일반적인 에 대해 몫의 미분법으로
입니다. 이 되려면 분자가 이어야 하므로 , 즉
입니다. 왼쪽이 한계비용이고 오른쪽이 평균비용이므로, 평균비용이 극값을 가지는 곳에서는 언제나 한계비용과 평균비용이 같습니다.
이 문제에서 배우는 것: 최적점에서 나타나는 구조적 관계.
(4)의 결과는 경제학에서 널리 쓰이는 사실이며 직관적인 설명도 가능합니다.
| 상황 | 평균에 미치는 영향 |
|---|---|
| : 추가 한 개가 평균보다 싸게 듭니다 | 평균이 내려갑니다 |
| : 추가 한 개가 평균보다 비쌉니다 | 평균이 올라갑니다 |
| : 추가 한 개가 평균과 같습니다 | 평균이 그대로이므로 최저점입니다 |
시험 성적으로 바꿔 생각하면 더 분명합니다. 새 시험 점수가 지금까지의 평균보다 높으면 평균이 오르고, 낮으면 평균이 내려갑니다. 평균이 바닥을 치는 순간은 새 점수가 평균과 같아지는 때입니다. 한계와 평균의 관계는 미분과 무관하게 성립하는 일반적인 구조이며, 미분은 그것을 식으로 확인해 줄 뿐입니다.
이 문제가 보여 주는 더 큰 교훈은 이것입니다. 최적점에서는 흔히 두 양이 같아집니다. 여기서는 한계비용과 평균비용이었고, 심화 1의 굴절 문제에서는 두 매질의 속도 비가 각의 사인 비와 같아지며, 104강의 라그랑주 승수법에서는 목적함수의 기울기와 제약조건의 기울기가 나란해집니다. 최적화 문제를 풀 때 답의 형태에서 어떤 등식이 나타나는지 살펴보는 습관이 도움이 됩니다.
바로 확인 4.
확인 4-1. 일 때 평균비용을 최소로 하는 를 구하세요.
답. 이고 에서 이므로 입니다.
확인 4-2. 확인 4-1에서 평균비용과 한계비용이 같음을 확인하세요.
답. 이고 입니다. 두 값이 같습니다.
확인 4-3. 한계비용이 평균비용보다 작을 때 생산량을 늘리면 평균비용이 어떻게 되는지 이유와 함께 쓰세요.
답. 평균비용이 내려갑니다. 새로 추가되는 한 개의 비용이 지금까지의 평균보다 싸므로 전체 평균을 끌어내리기 때문입니다.
문제. 부피가 인 뚜껑 없는 상자를 만듭니다. 밑면은 정사각형입니다.
(1) 밑면의 한 변을 라 할 때 재료의 넓이를 의 함수로 나타내세요.
(2) 정의역을 정하고 36강의 최대·최소 정리를 쓸 수 있는지 판정하세요.
(3) 최솟값이 존재함을 논증하세요.
(4) 재료가 최소가 되는 치수를 구하세요.
생각의 실마리. (1)에서 뚜껑이 없으므로 밑면 하나와 옆면 넷입니다. 높이는 부피 조건에서 나옵니다. (2)에서 가 가질 수 있는 값의 범위를 보면 위쪽이 막히지 않습니다. (3)에서는 양 끝에서 함수가 어떻게 행동하는지 봅니다.
풀이. (1) 높이를 라 하면 이므로 입니다. 넓이는 밑면 과 옆면 의 합이므로
입니다.
(2) 이면 되고 위쪽에는 제한이 없으므로 정의역은 입니다. 닫힌구간도 아니고 유계도 아니므로 최대·최소 정리를 쓸 수 없습니다. 최솟값의 존재가 보장되지 않습니다.
(3) 양 끝에서의 거동을 봅니다. 에서 이므로 이고, 에서 이므로 역시 입니다.
그러므로 어떤 큰 수 을 잡으면(예를 들어 이므로 로 잡습니다) 이 되는 구간이 양 끝에 있고, 그 바깥을 잘라낸 닫힌구간 위에서만 최솟값을 찾으면 충분합니다. 그 닫힌구간에서는 최대·최소 정리가 적용되어 최솟값이 존재하고, 잘라낸 바깥의 값은 모두 보다 크므로 전체의 최솟값이기도 합니다.
(4) 에서 , 즉 이므로 입니다. 이때 이고 입니다.
이므로 순볼록하고 임계점이 하나뿐이라 전역 최소입니다.
이 문제에서 배우는 것: 존재를 먼저 확보하는 논증.
43강에서 닫힌구간의 최값 절차가 왜 옳은지 볼 때 존재가 먼저 보장되어야 한다고 했습니다. 열린구간이나 무한구간에서는 그 보장이 없으므로 논증을 따로 해야 합니다. 방법은 두 가지입니다.
| 방법 | 내용 | 적용 조건 |
|---|---|---|
| 강제성 논증 | 양 끝에서 함수가 로 가면 최솟값이 내부에 있습니다 | 최소화 문제 |
| 볼록성 논증 | 순볼록하고 임계점이 있으면 그 점이 전역 최소입니다 | 일 때 |
문제 5에서는 두 방법이 모두 통합니다. 강제성 논증은 함수의 모양을 몰라도 되므로 더 널리 쓰이고, 볼록성 논증은 조건이 맞을 때 훨씬 짧습니다.
강제성 논증의 구조를 한 번 더 확인해 두십시오. 무한구간의 문제를 닫힌구간의 문제로 바꾸는 것이 요점입니다. 양 끝을 잘라내도 답이 달라지지 않음을 보이고 나면 36강의 정리를 쓸 수 있게 됩니다. 이 수법은 106강 이후 다변수 최적화에서도 그대로 반복됩니다.
답 도 눈여겨볼 만합니다. 높이가 밑면 한 변의 절반입니다. 부피를 어떤 값으로 바꿔도 이 비율은 그대로인데, 그 이유는 심화 3에서 확인합니다.
바로 확인 5.
확인 5-1. 의 에서의 최솟값을 구하고 존재를 논증하세요.
답. 과 에서 모두 로 가므로 최솟값이 내부에 있습니다. 에서 이고 최솟값은 입니다.
확인 5-2. 부피가 인 같은 모양의 상자에서 최소 재료를 구하세요.
답. 이고 에서 , 입니다. 이고 입니다.
확인 5-3. 무한구간에서 최댓값이 존재하지 않는 예를 하나 들고 이유를 쓰세요.
답. 를 에서 보면 가 커질수록 값이 커져 위로 유계가 아니므로 최댓값이 없습니다. 강제성 논증이 통하지 않는 경우입니다.
| 단계 | 할 일 |
|---|---|
| 1 | 최대화·최소화할 양을 정합니다 |
| 2 | 관련 양에 이름을 붙이고 그림을 그립니다 |
| 3 | 제약조건을 식으로 씁니다 |
| 4 | 제약으로 변수를 소거합니다 |
| 5 | 정의역을 정합니다 |
| 6 | 임계점과 끝점을 조사해 최값을 정합니다 |
| 7 | 답이 문제의 뜻에 맞는지 검토합니다 |
| 정의역 | 존재 보장 | 대처 |
|---|---|---|
| 닫힌 유계구간 | 최대·최소 정리로 보장됩니다 | 임계점과 끝점을 비교합니다 |
| 열린구간 | 보장되지 않습니다 | 강제성이나 볼록성으로 논증합니다 |
| 무한구간 | 보장되지 않습니다 | 양 끝의 극한을 확인합니다 |
| 요령 | 내용 |
|---|---|
| 단조변환 | 거리는 제곱을, 곱은 로그를 최적화합니다 |
| 곱의 꼴 유지 | 전개하지 않고 미분하면 인수분해된 도함수가 나옵니다 |
| 볼록성 확인 | 이고 임계점이 하나면 전역 최소입니다 |
| 대칭성 | 답이 대칭적인 모양일 때가 많습니다 |
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 제약조건을 쓰지 않고 변수를 둘 둡니다 | 반드시 하나로 소거합니다 |
| 정의역을 정하지 않습니다 | 물리적 의미와 제약에서 범위를 정합니다 |
| 무한구간에서 존재를 가정합니다 | 양 끝의 극한을 확인합니다 |
| 임계점을 답으로 바로 씁니다 | 극대인지 극소인지 판정합니다 |
| 문제가 묻는 것이 아닌 값을 답합니다 | 치수를 물었는지 넓이를 물었는지 확인합니다 |
문제 6. 합이 인 두 양수의 곱을 최대로 하는 두 수를 구하세요.
답. 이고 에서 입니다. 두 수는 과 이고 곱은 입니다.
문제 7. 합이 인 두 양수의 제곱의 합을 최소로 하는 두 수를 구하세요.
답. 이고 에서 입니다. 두 수는 과 이고 제곱합은 입니다.
문제 8. 곱이 인 두 양수의 합을 최소로 하는 두 수를 구하세요.
답. 이고 에서 입니다. 두 수는 와 이고 합은 입니다.
문제 9. 울타리 미터로 강가에 직사각형 밭을 두를 때(강 쪽에는 울타리가 필요 없습니다) 최대 넓이를 구하세요.
답. 이므로 입니다. 에서 , 이고 넓이는 제곱미터입니다.
문제 10. 반지름 인 원에 내접하는 직사각형 중 넓이가 최대인 것의 넓이를 구하세요.
답. 가로를 라 하면 세로는 이고 입니다. 을 최대화하면 이고 넓이는 입니다.
문제 11. 점 에서 포물선 까지의 최단거리를 구하세요.
답. 곡선 위의 점을 라 하면 입니다. 에서 이고 이므로 거리는 입니다.
문제 12. 일 때 평균비용을 최소로 하는 를 구하세요.
답. 이고 에서 이므로 입니다.
문제 13. 부피가 인 뚜껑 있는 정육면체가 아닌 직육면체 중 밑면이 정사각형인 것의 최소 겉넓이를 구하세요.
답. 입니다. 에서 이므로 이고 높이도 같아 정육면체가 됩니다.
문제 14. 둘레가 로 고정된 직사각형의 최대 넓이를 로 나타내세요.
답. 이고 에서 최대이며 넓이는 입니다.
문제 15. 의 에서의 최댓값을 구하세요.
답. 이므로 에서 극대입니다. 이고 에서 (45강 성장 위계)이므로 최댓값은 입니다.
문제 16. 밑변이 이고 높이가 인 삼각형의 둘레를 최소로 하는 가 존재하는지 판정하세요. 단 이등변삼각형입니다.
답. 둘레는 입니다. 과 에서 모두 로 가므로 강제성 논증에 의해 최솟값이 존재합니다.
문제 17. 최적화 문제에서 정의역을 정하는 근거 세 가지를 쓰세요.
답. 물리적 의미(길이는 양수), 제약조건(남는 부분이 있어야 함), 함수의 정의(분모가 이 아니고 근호 안이 음수가 아님)입니다.
문제 18. 거리 대신 거리의 제곱을 최소화해도 되는 근거를 쓰세요.
답. 제곱근이 이상에서 순증가하므로 크기 순서를 바꾸지 않기 때문입니다. 따라서 최솟값을 취하는 자리가 같습니다.
심화 1. 빛이 매질 1에서 속력 로, 매질 2에서 속력 로 진행합니다. 두 매질의 경계는 직선이고, 매질 1의 점 에서 매질 2의 점 로 가는 데 걸리는 시간을 최소로 하는 경로를 구해 스넬의 법칙
을 유도하세요.
풀이. 경계를 축으로 놓습니다. 이고 라 하면 입니다. 빛이 경계를 지나는 점을 이라 하면 걸리는 시간은
입니다. 정의역은 실수 전체이지만 이나 는 명백히 손해이므로 에서 찾아도 됩니다. 이 구간은 닫혀 있으므로 최솟값이 존재합니다.
미분합니다. 연쇄법칙으로
입니다. 여기서 각 항의 분수를 기하학적으로 읽습니다. 을 입사각(경계의 법선과 이루는 각)이라 하면 이고, 굴절각 에 대해 입니다. 따라서
이고 에서 스넬의 법칙이 나옵니다.
이것이 최소인지도 확인해야 합니다. 가 커지면 이 커지고 가 작아지므로 이 순증가하고, 따라서 은 부호를 음수에서 양수로 한 번만 바꿉니다. 43강의 1계 판정법에 의해 그 자리가 최소입니다.
물리 법칙이 최적화 문제의 답으로 나왔다는 점이 이 문제의 요점입니다. 빛이 최단 시간 경로를 택한다는 페르마의 원리에서 굴절 법칙이 유도됩니다. 자연 현상을 "무엇인가를 최소화하는 결과"로 보는 관점은 물리학 전체를 관통하며, 219강 이후 기계학습에서 손실함수를 세우는 사고방식과 정확히 같습니다.
심화 2. 부피가 로 정해진 원기둥 캔의 표면적을 최소로 하는 반지름과 높이의 비를 구하세요. 실제 시판 캔이 그 비율을 따르지 않는 이유도 함께 생각해 보세요.
풀이. 반지름을 , 높이를 라 하면 이므로 입니다. 표면적은 위아래 원 두 개와 옆면이므로
입니다. 정의역은 이고 양 끝에서 로 가므로 최솟값이 존재합니다.
에서 , 즉 입니다. 이때
입니다. 높이가 지름과 같습니다. 옆에서 보면 정사각형인 캔이 재료를 가장 적게 씁니다.
실제 캔은 대개 높이가 지름보다 큽니다. 이유는 모형이 빠뜨린 것들에 있습니다.
| 빠뜨린 요소 | 영향 |
|---|---|
| 위아래 뚜껑은 옆면보다 두껍습니다 | 원의 넓이에 가중치가 붙어 더 납작해집니다 |
| 원판을 잘라낼 때 자투리가 생깁니다 | 실제 재료는 원이 아니라 정사각형만큼 듭니다 |
| 손으로 쥐기 편해야 합니다 | 표면적과 무관한 제약입니다 |
| 진열대에서 눈에 띄어야 합니다 | 표면적과 무관한 제약입니다 |
모형의 답이 현실과 다르면 모형이 틀린 것이 아니라 모형이 담지 못한 요소가 있는 것입니다. 최적화 결과를 해석할 때 반드시 거쳐야 하는 검토이며, 문제 5의 7단계에 "답이 문제의 뜻에 맞는지 검토합니다"를 넣은 이유가 여기 있습니다.
심화 3. 문제 5와 심화 2의 답을 44강 심화 2의 산술기하평균 부등식으로 미분 없이 구하세요.
풀이. 문제 5의 함수는 입니다. 산술기하평균을 쓰려면 항의 개수와 배분을 잘 잡아야 합니다. 를 두 개로 쪼갭니다.
입니다. 등호는 세 항이 모두 같을 때, 즉 에서 , 일 때입니다. 미분 없이 최솟값 과 그 자리 를 동시에 얻었습니다.
심화 2도 같은 방식입니다. 로 쪼개면
이고 등호는 , 즉 에서 성립합니다. 앞의 답과 일치합니다.
두 방법을 비교해 둡니다.
| 미분 | 산술기하평균 | |
|---|---|---|
| 적용 범위 | 거의 모든 함수 | 항이 양수이고 곱이 상수일 때 |
| 최솟값 | 임계점을 구해 대입합니다 | 부등식에서 바로 나옵니다 |
| 존재 논증 | 따로 필요합니다 | 등호 조건이 곧 존재 증명입니다 |
| 쪼개는 요령 | 필요 없습니다 | 항을 몇 개로 나눌지 정해야 합니다 |
산술기하평균이 통할 때는 훨씬 깔끔하지만 통하는 범위가 좁습니다. 미분은 요령이 필요 없는 대신 매번 같은 절차를 밟아야 합니다. 문제 1에서 지적한 "목적함수와 제약조건을 뒤바꿔도 같은 답이 나오는" 현상도 이 부등식으로 설명됩니다. 합이 고정되면 곱이 최대가 되는 자리와 곱이 고정되면 합이 최소가 되는 자리가 모두 등호 조건, 즉 항이 모두 같은 자리이기 때문입니다.
심화 4. 자료 이 주어졌을 때
을 최소로 하는 가 산술평균임을 보이세요.
풀이. 에 대해 미분합니다. 연쇄법칙에서 각 항의 미분에 이 붙습니다.
입니다. 에서
입니다. 이므로 순볼록하고 임계점이 하나뿐이라 전역 최소입니다.
이 결과가 통계학의 출발점입니다. 평균은 그냥 정의된 양이 아니라 제곱오차를 최소로 하는 대푯값입니다. 121강의 기댓값, 145강의 최소제곱추정, 그리고 219강 이후 회귀 문제에서 제곱오차를 손실함수로 쓰는 관행이 모두 여기서 나옵니다. 31강에서 익힌 합 기호 조작이 그대로 쓰였다는 점도 확인해 두십시오.
최솟값도 구할 수 있습니다. 를 대입하면 이고, 이를 으로 나눈 것이 분산입니다. 분산은 최소화된 제곱오차입니다.
심화 5. 같은 자료에 대해
을 최소로 하는 가 중앙값임을 보이세요. 미분 불가능한 점을 어떻게 다루는지가 관건입니다.
풀이. 는 에서 미분 불가능합니다(37강). 따라서 은 자료값 개에서 미분되지 않고, 그 점들이 모두 43강의 뜻에서 임계점입니다.
자료값이 아닌 에서는 미분됩니다. 이면 이므로 미분값이 이고, 이면 이므로 입니다. 따라서
입니다. 왼쪽에 있는 자료의 개수에서 오른쪽에 있는 자료의 개수를 뺀 값입니다.
가 작을 때는 오른쪽에 자료가 다 있으므로 이고, 가 클 때는 입니다. 가 커지면서 자료를 하나씩 지날 때마다 이 씩 증가하므로 은 넓은 뜻으로 증가하고 부호를 음수에서 양수로 한 번 바꿉니다. 그 자리가 최소입니다.
부호가 바뀌는 자리는 양쪽 개수가 같아지는 곳, 즉 중앙값입니다. 이 홀수이면 가운데 자료값 하나에서 정확히 바뀌고, 이 짝수이면 가운데 두 값 사이의 구간 전체에서 이므로 그 구간의 모든 점이 최소입니다. 이때 관례로 두 값의 평균을 중앙값이라 부릅니다.
평균과 중앙값의 차이가 여기서 분명해집니다.
| 대푯값 | 최소화하는 것 | 이상치의 영향 |
|---|---|---|
| 평균 | 제곱오차 \sum(x_{i}-a)^ | 크게 받습니다 |
| 중앙값 | 절대오차 | 거의 받지 않습니다 |
제곱은 멀리 있는 자료에 큰 벌점을 주므로 이상치 하나가 평균을 크게 끌어당깁니다. 절댓값은 거리에 비례하는 벌점만 주므로 개수만 세는 셈이 되어 이상치에 둔감합니다. 어떤 손실함수를 고르느냐가 어떤 답을 얻느냐를 결정합니다. 232강 이후 강건 회귀에서 이 선택이 다시 중요해집니다.
심화 6. 문제 1에서 목적함수와 제약조건을 뒤바꾼 문제, 즉 "넓이가 로 고정된 직사각형 중 둘레가 최소인 것"을 풀고 답이 같은 이유를 설명하세요.
풀이. 넓이가 이므로 , 즉 입니다. 둘레는
이고 정의역은 입니다. 양 끝에서 로 가므로 최솟값이 존재합니다.
에서 , 즉 입니다. 이때 이고 둘레는 입니다. 문제 1과 정확히 같은 정사각형이 답입니다.
우연이 아닌 이유는 이렇습니다. 문제 1은 "둘레 인 것들 중 넓이 최대"를 물었고 답이 넓이 인 정사각형이었습니다. 이 문제는 "넓이 인 것들 중 둘레 최소"를 물었고 답이 둘레 인 정사각형입니다.
일반적으로 다음이 성립합니다. 둘레 인 직사각형의 최대 넓이가 이고 가 순증가한다고 합시다. 넓이가 인 어떤 직사각형의 둘레가 보다 작다면, 그 둘레 에서 최대 넓이가 이므로 그 직사각형의 넓이가 일 수 없어 모순입니다. 그러므로 넓이를 로 고정하면 둘레의 최솟값이 이고, 그 값을 달성하는 것은 원래 문제의 답과 같은 도형입니다.
이런 관계를 쌍대성이라 부릅니다. 하나의 문제와 그 목적·제약을 맞바꾼 문제가 같은 답을 공유하는 구조이며, 심화 3에서 본 산술기하평균의 등호 조건이 양쪽에서 같다는 사실이 그 대수적 표현입니다. 104강의 라그랑주 승수법과 108강의 볼록 쌍대성에서 이 개념이 정식으로 다뤄집니다.
이 강의에서는 numpy만 씁니다. 최적화 문제는 코드로 검산하기 좋습니다. 격자에서 전수 탐색한 결과와 미분으로 구한 답을 비교하면 식 세우기가 맞았는지 확인할 수 있습니다. 다만 격자는 유한하므로 임계점의 위치에 격자 간격만큼의 오차가 남습니다.
import numpy as np
# --- 문제 1: 둘레 100 인 직사각형의 최대 넓이 --------------------------
x = np.linspace(0.0, 50.0, 500001)
A = x*(50 - x)
i = int(np.argmax(A))
print(round(float(x[i]), 6), round(float(A[i]), 6)) # 25.0 625.0
# --- 문제 2: 20 x 20 판지로 만든 상자의 최대 부피 ----------------------
x = np.linspace(0.0, 10.0, 1000001)
V = x*(20 - 2*x)**2
i = int(np.argmax(V))
print(round(float(x[i]), 6), round(float(V[i]), 6)) # 3.33333 592.592593
print(round(10/3, 6), round(16000/27, 6)) # 3.333333 592.592593
print(round(float(V[-1]), 6), round(float(V[0]), 6)) # 0.0 0.0
# --- 문제 3: (3, 0) 에서 y = sqrt(x) 까지의 최단거리 -------------------
x = np.linspace(0.0, 8.0, 800001)
d2 = (x - 3)**2 + x
i = int(np.argmin(d2))
print(round(float(x[i]), 6), round(float(d2[i]), 6),
round(float(np.sqrt(d2[i])), 6)) # 2.5 2.75 1.658312
# --- 문제 4: 평균비용과 한계비용이 만나는 곳 ---------------------------
q = np.linspace(0.5, 6.0, 550001)
AC = q**2 + 16/q
MC = 3*q**2
i = int(np.argmin(AC))
print(round(float(q[i]), 6), round(float(AC[i]), 6),
round(float(MC[i]), 6)) # 2.0 12.0 12.0
# --- 문제 5: 부피 32 인 뚜껑 없는 상자의 최소 표면적 --------------------
x = np.linspace(0.5, 20.0, 1950001)
S = x**2 + 128/x
i = int(np.argmin(S))
print(round(float(x[i]), 6), round(float(S[i]), 6),
round(float(32/x[i]**2), 6)) # 4.0 48.0 2.0
print(round(float(S[0]), 4), round(float(S[-1]), 4)) # 256.25 406.4
# --- 심화 2: 부피가 정해진 원기둥의 최소 표면적 -------------------------
V0 = 355.0
r = np.linspace(0.5, 20.0, 1950001)
S = 2*np.pi*r**2 + 2*V0/r
i = int(np.argmin(S))
rr = float(r[i]); hh = V0/(np.pi*rr**2)
print(round(rr, 5), round(hh, 5), round(hh/rr, 5),
round(float(S[i]), 4)) # 3.83722 7.67441 1.99999 277.545
# --- 심화 3: AM-GM 으로도 같은 답 --------------------------------------
t = np.linspace(0.1, 10.0, 990001)
f = t + 4/t
print(round(float(t[int(np.argmin(f))]), 6),
round(float(f.min()), 6), 2*np.sqrt(4.0)) # 2.0 4.0 4.0
# --- 심화 4, 5: 평균과 중앙값이 답이 되는 최적화 ------------------------
data = np.array([2.0, 3.0, 5.0, 8.0, 22.0])
a = np.linspace(0.0, 25.0, 2500001)
sq = ((data[:, None] - a[None, :])**2).sum(axis=0)
ab = np.abs(data[:, None] - a[None, :]).sum(axis=0)
print(round(float(a[int(np.argmin(sq))]), 5), round(float(data.mean()), 5))
# 8.0 8.0
print(round(float(a[int(np.argmin(ab))]), 5), round(float(np.median(data)), 5))
# 5.0 5.0
실행하면 주석과 같은 값이 나옵니다. 네 곳을 짚어 둡니다.
첫째, 문제 2에서 격자가 준 답은 이고 이론값은 입니다. 끝자리가 다릅니다. 격자 간격이 이므로 이라는 무리한 소수는 격자 위에 정확히 놓일 수 없습니다. 반면 부피는 양쪽 모두 으로 일치하는데, 극값 근처에서 함수가 평평해 위치가 조금 틀려도 값은 거의 변하지 않기 때문입니다. 최적점의 위치보다 최적값이 훨씬 안정적으로 구해진다는 것은 수치 최적화 전반에서 성립하는 성질이며 109강 이후 다시 만납니다.
둘째, 문제 4에서 평균비용의 최솟값 와 그 자리의 한계비용 가 정확히 같습니다. 손으로 유도한 관계 가 숫자로 확인됩니다.
셋째, 심화 2에서 이 가 아니라 로 나옵니다. 이론상 정확히 인데 격자가 최적 반지름을 정확히 짚지 못해 생기는 오차입니다. 그러면서도 표면적은 로 안정적입니다. 첫째 항목에서 말한 성질이 여기서도 그대로 나타납니다.
넷째, 심화 4와 5에서 격자 전수 탐색이 각각 평균 과 중앙값 을 정확히 짚어 냅니다. 두 값이 서로 다르다는 점이 중요합니다. 자료 에서 라는 이상치가 평균을 까지 끌어올렸지만 중앙값은 에 머물러 있습니다. 어떤 오차를 최소화하느냐에 따라 대푯값이 달라진다는 사실이 숫자로 드러납니다.
코드로 할 수 없는 일도 분명히 해 둡니다. 격자 탐색은 최댓값이 존재한다고 가정하고 그중 가장 큰 값을 고를 뿐, 존재를 증명하지 않습니다. 문제 5처럼 정의역이 무한하면 격자를 어디까지 잡을지 사람이 정해야 하고, 그 바깥에 더 좋은 값이 없다는 보장은 코드가 주지 못합니다. 강제성 논증이 그 보장을 대신합니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| 목적함수 | objective function | 최대화하거나 최소화할 함수입니다 |
| 제약조건 | constraint | 반드시 만족해야 하는 조건입니다 |
| 단조변환 | monotone transformation | 순서를 보존하는 변환입니다 |
| 강제성 | coercivity | 무한대로 갈 때 함숫값도 무한대가 되는 성질입니다 |
| average cost | 평균비용, 입니다 | |
| marginal cost | 한계비용, 입니다 | |
| 스넬의 법칙 | Snell's law | 굴절에서 가 보존됩니다 |
| 쌍대성 | duality | 목적과 제약을 맞바꾼 문제가 답을 공유하는 구조입니다 |
| 중앙값 | median | 절대오차를 최소로 하는 대푯값입니다 |
다음 47강에서는 이 단원을 마무리하며 성격이 다른 문제를 다룹니다. 지금까지는 을 손으로 풀 수 있었지만, 처럼 손으로 풀리지 않는 방정식이 훨씬 흔합니다. 뉴턴법은 접선을 반복해 근에 다가가는 방법이며, 미분이 계산 도구가 아니라 알고리즘이 되는 첫 사례입니다.