Programmers/데브코스 인공지능

[프로그래머스 스쿨 AI] Weak 2 가우스 소거법

1. 가우스소거법

1. 선형 시스템의 해

x 의 해가 어떻게 될지 생각해보자

1. 해가 하나인 경우

 3x = 6

x는 2일때 해가 나온다

2. 해가 없는 경우

0x = 6

x는 무엇을 넣어도 해가 맞지 않는다

3. 해가 여러개인 경우

0x = 0

x가 무엇이든 해가 맞다

 

 

2. 가우스 소거법

1.전방소거법

전방 소거법은 옆과같은 수식에서 왼쪽 위부터 오른쪽으로 곱하며 내려가게 된다

 

그렇다면 최대한 0 을 많이 만들어 x_i 를 최대한 없에 수식을 단순하게 만드는것이다

그러면 x_3 는 = 세번쨰 *이될것이고

그러면 x_3 또한 구할수 있고

나머지도 구할 수 있게 될 것이다

 

계산해보자 (편의를 위하여 x, y , z 로입력)

x + 2y + z = 1

x + 2y +3z = 3

2x + 3y - z = -3

전방 소거법 순서

1. x + 2y + z = 1

x 의 수식으로 만든다

x = 1 - 2y - z

 

2. x + 2y + 3z = 3

위 수식을 넣어준다

(1 - 2y - z) + 2y + 3z = 3

다음 수식을 정리하려는데 y 가 서로 사라짐으로 

2z = 2 가 된다

 

3. 2x + 2y - z = -3

이제 위에 구한 수식들을 다넣어준다

2(1 - 2y - z) + 2y - z = -3

z = 1 도 넣어준다

2(1 - 2y - 1) + 3y - 1 = -3

y = 2

그럼 첫번째 수식에 의해

x = -4이된다

 

2.후방소거법

 

전방 소거법의 반대로

아래 왼쪽부터 하나씩 바꾸어 나간다