단단한 강화학습

4.2 소거법으로 선형 방정식 풀기

명징직조지훈 2023. 6. 18. 12:12

선형 방정식을 풀기 위한 시스템적인 방법, 

소거법 elimination

새로운 방정식 5y = 5 는 y = 1 이 된다. x = 3 이고 해(x,y)=(3,1) 은 완전하다.

소거는 위삼각 시스템 upper triangular system 을 만든다. 0이 아닌 성분, 1, -2, 5 는 삼각형을 만든다. 이 시스템은 아래에서 위로 푼다. 이 단계를 역대입법 back substitution 이라고 한다. 

이는 소거법으로 삼각형을 만든 후 임의의 크기로 위삼각 시스템에 사용된다. 중요한 점은 원래 방정식은 같ㅌ은 해 x=3, y=1 을 갖는다는 것이다. 

소거하기 전과 소거한 후, 직선은 같은 점 (3,1) 에서 만난다. 

2x 를 소거하기 위해 첫 번째 방정식의 곱을 두 번째 방정식에서 빼자.

핵심은 2x가 2x 를 소거, 삼각 시스템이 된다.

 

곱하는 수, 2 를 어떻게 찾았는지 살펴본다. 첫 번째 방정식은 1x 를 갖고 있으므로 첫 번째 피봇은 1이었다(x의 계수) 두 번째 방정식은 2x 를 갖고 있었으므로 곱하는 수는 2었다. 

첫 번째 방정식을 3x - 6y = 3 으로 바꾸면 승수 법칙 multiplier rule 을 확인할 수 있다. 올바른 곱하는 수는 2/3 이다. 

이 곱하는 수를 찾기 위해 소거되어야 할 계수 2 를 피봇 3으로 나눈다.

수를 바꿨지만, 직선과 해를 바꾸지 않았다.

 

피봇 = 소거를 하는 행에서 처음으로 0이 아닌 성분

곱하는 수 = 성분을 제거하기 위해 피봇으로 나눈 수

 

그러나 이 시스템에 대해 소거법은 실패할 수 있다.

 

소거의 실패

일반적으로 소거법을 사용하면 해를 구할 수 있는 피봇이 나온다. 하지만 실패할 수도 있다. 

어떤 경우에 소거법은 0 으로 나누는 경우를 만들기도 하는데, 이때 해를 구하는 것은 불가능하다. 이 경우 소거법은 어떠한 방식으로든 수정되어야 한다.

해가 존재하지 않아 소거에 실패하거나, 무수히 많은 해가 존재해 소거에 실패할 수 있다.

 

세 개의 미지수에 대한 세 개의 방정식

가우스 소거법 Gauss elimination 을 이해하려면 2*2 시스템을 넘어서야 한다. 3*3 시스템은 규칙을 살펴보기 충분하다.

첫 번째 피봇은 2이다. 이 피봇 아래에 4를 소거하고자 하므로 처음 승수는 4/2 = 2 이다. 

1단계

두 번재 방정식에서 첫 번째 방정식 * 2 를 뺀다. 이는 y+z=4 가 된다.

2단계

또한 세 번째 방정식의 소거를 위한 첫 번째 방정식 * -1 의 뺄셈, 

새로운 두 개의 방정식에는 오직 y 와 z 의 미지수만 남는다. 

3 단계

새로운 두 개의 방정식에서 y 를 소거하여 1*1 시스ㅔㅁ으로 만든다.

Av = b 는 Uv = c 로 바뀜,

 

해는 (x,y,z) = (-1,2,2) 이다.