월요일, 10월 23, 2017

라그랑주 승수법 (Lagrange Multiplier Method)

1. 개요
함수의 최댓값 또는 최솟값을 구하는 문제에서는 일반적으로 함수를 미분하여 기울기가 0인 지점, 즉, 극대 혹은 극소를 찾는 방법을 사용한다. 하지만, 만약 반드시 만족해야 하는 특정 조건이 주어진다면 이 방법을 사용할 경우 오류가 발생할 것이다.
예를 들어, f(x) = x² + 1 함수의 최솟값을 구하는데 x = 2인 조건을 반드시 만족해야 한다면, 함수 f의 극소를 찾는 것이 아니라 단순히 f(2) = 5라는 답을 내야 한다.
이와 유사하게 어떤 함수의 최댓값 또는 최솟값을 구하는 문제에서 특정 조건이 주어질 때 사용하는 방법이 바로 라그랑주 승수법(Lagrange Multiplier Method)이다. 이 글은 기하학적인 접근 방식을 통하여 라그랑주 승수법에 대한 시각적이고 직관적인 이해를 목표로 한다.

2. 기본 아이디어
라그랑주 승수법의 기본 아이디어는 어떤 조건 g를 만족하는 함수 f의 최댓값 또는 최솟값을 구하는 문제에서 찾고자 하는 값이 f와 g의 접점에 존재할 수도 있다는 가능성에서 출발한다. 예를 들어, 2차원 좌표평면 상에서 f가 직선이라고 가정하고 이 f의 y절편이 최소가 되는 지점을 찾는 문제를 생각해보자. 단, f가 g라는 원 위의 좌표들을 적어도 하나 이상 포함해야 한다는 제약 조건이 있다고 가정한다. 이러한 경우, 그림에서 볼 수 있듯이 f와 g가 접할 때 f의 y절편이 최소가 된다.
라그랑주 승수법에서는 이러한 관계를 표현하기 위해 Gradient(기울기, 구배) 개념을 사용한다. f와 g가 접하는 지점에서 두 함수의 Gradient는 서로 상수배의 관계에 있다는 점을 이용한다. 따라서 이를 수식으로 간단하게 표현하면 ∇f = λ∇g이다. λ는 임의의 상수를 의미한다.

3. 라그랑주 승수법의 형식
그렇다면 앞서 살펴본 기본 개념을 통해 실제로 어떻게 계산을 진행하는지 살펴보자.
최댓값 또는 최솟값을 구해야 하는 x에 대한 함수를 f라고 하고, 미지수 x가 반드시 만족해야 하는 조건을 표현하는 식을 함수 g라고 하자. 이때 계산 편의를 위해 g(x) = 0인 형태로 정리한다. 예를 들어, x = 2인 조건이 있다면 이는 g(x) = x - 2 = 0으로 표현한다.
이를 바탕으로 보조 함수 L을 정의한다. L(x, λ) = f(x) - λg(x)이다. (λ는 임의의 상수)
라그랑주 승수법의 목표는 ∇L = 0인 지점을 찾는 것이다. 만약 제약 조건이 N개일 경우에는 다음과 같이 L을 정의한다.

4. References
https://en.wikipedia.org/wiki/Lagrange_multiplier
http://untitledtblog.tistory.com/96

댓글 없음:

댓글 쓰기