[게임 수학] #7 | 선형성(Linearity)

2022. 7. 28. 16:20Computer Sciences/Game Mathemathics

인프런 <게임 엔진을 지탱하는 게임수학, 이득우 교수님> 강의를 듣고 공부한 글입니다.

 

 

1. 선형성(Linearity)

한자로 보면, 선의 형태를 가지는 성질이라고 할 수 있습니다. 수학에서는 다음을 만족하면, 선형성을 만족한다고 이야기합니다.

  • 가산성(Additivity)  :  \(f(x+y) = f(x) + (y)\)
  • 1차 동차성(Homogeneity of 1 degree)  :  \(af(x) = f(ax)\)

 

이런 선형성을 만족하는 함수들은 어떤 게 있을까요?

 

선형성을 만족하는 함수 예
  • \(f(x) = x\)

$$ f(5 + 10) = f(5) + f(10) $$

$$ 5f(10) = f(50) $$

 

  • \(f(x) = 2x\)

$$ f(15) = f(5) + f(10) \rightarrow 2 \cdot 15 = 2 \cdot 5 + 2 \cdot 10 $$

$$ 5f(10) = f(5 \cdot 10) = f(50) \rightarrow 5 \cdot 2 \cdot 10 = 2 \cdot 50 $$

 

선형성을 만족하지 않는 함수 예
  • \(f(x) = 2x+1\)

$$ f(15) \ne f(5) + f(10)  \rightarrow  2\cdot 15 + 1 \ne (2\cdot 5 + 1) + (2\cdot 10 + 1) $$

$$ 5f(10) \ne f(50)  \rightarrow  5 \cdot ( 2\cdot 10 + 1) \ne 2 \cdot 50 + 1 $$

 

  • \(f(x) = x^2\)

$$ f(15) \ne f(5) + f(10)  \rightarrow 15^2 \ne 5^2+10^2 $$

$$ 5f(10) \ne f(50) \rightarrow 5 \cdot 10^2 \ne 50^2 $$

 

 

물론 위와 같이 특정값으로 만족하는지를 확정 지을 수는 없지만, 만족하지 않는 경우는 가려낼 수 있습니다. 위와 같이 반례가 있기에, 위 함수들은 선형성을 만족하지 않는다고 말할 수 있는거죠.

 

그런데 위 함수들의 형태를 잘 살펴보면, 계수가 붙은 1차 함수 형태이면 선형성을 만족하지 않을까란 추측을 할 수 있을 것 같습니다. 그래서 한 번, 임의의 함수 \(f(x) = ax\)로 선형성 조건 테스트를 해보았습니다.

 

  • \(f(x) = ax\)

$$ f(b + c) = f(b) + (c) $$

$$ f(x) = ax \rightarrow a(b+c) = ab + ac $$

 

 

분배 법칙을 진행할 수 있기 때문에 첫 번째 조건인 가산성을 만족합니다.

 

$$ kf(b) = f(kb) $$

$$ kf(b) = f(kb) \rightarrow kab = akb $$

 

 

교환 법칙이 성립하므로, 두 번째 조건인 1차 동차성도 만족합니다. 

따라서, \(f(x) = ax\)는 선형성을 만족한다고 할 수 있겠습니다.

 

 

그렇다면 1차 함수에 상수항이 붙은 형태는 선형성을 만족할까요?

  • \(f(x) = ax + b, \ b \ne 0\)

$$ f(c+d) = a(c+d)+b = ac+ad+b $$

$$ f(c) + f(d) = (ac + b) + (ad + b) = ac+ad+2b $$

$$ f(c+d) \ne f(c)+f(d) $$

 

위에서 이미 가산성을 만족하지 않는다는 것을 볼 수 있기에, 따라서 \(f(x) = ax + b\)는 선형성을 만족하지 않는다고 할 수 있습니다.

 

 

같은 선의 형태인데 왜 만족하지 않는 것일까?

선형성은 선의 형태를 의미하기보다는, 순수하게 인자의 1차 비례 관계로 구성된 대응 관계를 의미합니다.

 

 

\(f(x) = ax + b\)는 \(b\)라는 상수항 때문에 순수한 1차 비례 관계가 아니게 되는 것이죠. 그렇기 때문에 선형성을 만족하지 못하게 되는 것입니다.

 

 

선형성의 해석

이러한 선형성에 대해, 선형성이 만족하려면 가산성과 1차 동차성이 만족해야 한다고 했었습니다. 그렇다면 이런 가산성과 1차 동차성이 의미하는 바는 무엇일까요?

  • 가산성(Additivity)  :  \(f(x+y) = f(x) + (y)\)
    가산성의 성질은 물과 기름에 비유할 수 있습니다. 물과 기름을 섞어 넣어도 결과는 물과 기름을 분리해 넣은 결과와 동일하죠. 즉, 다른 불순물이 존재하지 않는다는 뜻이 됩니다.
  • 1차 동차성(Homogeneity of 1 degree)  :  \(a(f(x) = f(ax)\)
    1차 동차성의 성질은 어떤 함수가 1차적으로 순수한 비례 관계를 가진다는 것을 의미합니다. 불순물이 존재하지 않고, 2차 이상의 비례 관계를 가지지 않아야 하죠.

 

이러한 두 가지 성질을 가지게 되면, 독립된 요소들에 대해 넣은 결과가 어떻게 나오는지 예측이 가능해집니다. 또한 서로 따로 분해하여 각각 적용 후, 나중에 합칠 때의 최종 결과물을 예측할 수도 있습니다. 이것을 중첩 원리라고 합니다.

 

두 가지의 어떤 패턴이 있더라도 이것들이 선형성을 만족한다고 담보한다면, 두 가지가 섞여서 굉장히 복잡하게 돌아가더라도 실제로는 하나씩 분리하여 따로따로 진행한 다음, 나중에 합친 결과물과 동일합니다. 즉, 복잡한 것이라 하더라도 하나씩 분리해서 각개격파를 할 수 있다는 얘기죠.

 

따라서, 선형성은 어떤 현상 분석에 대해 유용하게 사용되곤 합니다. 그래픽적인 부분에서는 변환(Transformation)에 많이 쓰이게 됩니다.

 

 


2. 선형 사상(Linear Mapping)

사상과 함수의 개념 차이는 다음과 같습니다.

  • 함수(Function) : 집합과 집합의 대응 관계
  • 사상(Mapping) : 집합이 가지는 수학적 체계(공리)를 보존하면서, 서로 대응하는 관계

 

내용물을 투입하여 나온 결과물이 기존 시스템을 유지하면 그것을 "사상"이라고 한다.

 

 

이러한 사상은 인자를 여러 개 가지게 된다면, 사실상 입력과 출력의 수에는 제약이 없게 됩니다. (\(R^2→R^3\))

벡터 공간이 벡터 공간으로 대응된다는 것은 벡터의 공리를 그대로 유지함을 의미하고, 이는 넓은 관점에서 사상이라고 볼 수 있습니다. 벡터 공간에서 진행되는 사상의 예를 한 번 살펴보도록 하겠습니다.

 

 

사상의 예

다음과 같이 대응이 되는 사상을 만들어 볼 수 있을 겁니다.

 

$$ f:R^2 \ \mapsto \ R^2 $$

$$ f((x,y))=(x+y, \ x\cdot y) $$

 

위 내용은 2차원 벡터 공간에서 2차원 벡터 공간으로 대응되는 사상입니다. 여기에 인자로 벡터 공간의 요소인 임의의 벡터를 입력으로 주었을 때, 이 벡터가 어떤 식으로 변하여 새로운 벡터가 나오는지 위와 같은 함수를 구성할 수도 있을 겁니다.

 

만약 2차원 벡터 공간에서 3차원 벡터 공간으로 대응되는 사상을 만들고 싶다면, 출력으로 아래와 같이 구성할 수도 있을 거구요. 

 

$$ f:R^2 \mapsto R^3 $$

$$ f((x,y))=(x^2+y^2, \ xy, \ 2x+3y+2) $$

 

이러한 여러 가지 사상들 중에서 앞서 말한 선형성을 가지는 사상이란 게 존재할 수 있습니다. 즉, 1)기존 체계의 공리를 유지하면서 2)선형성도 만족하는 사상을 우리는 선형 사상이라고 부릅니다.

 

 

선형성을 가지는 사상의 조건

우리는 위에서 선형성 조건에 해당하는 가산성1차 동차성을 확인했습니다. 이 둘을 만족하는 사상이면 됩니다.

벡터 공간을 예로 들어보면 다음과 같이 들 수 있습니다.

 

1. [가산성] 두 벡터를 더해 집어넣은 결과가 각 벡터를 집어넣은 결과를 합친 것과 동일

$$ f((x_1, y_1) +  (x_2, y_2)) = f((x_1, y_1)) + f((x_2, y_2)) $$

 

2. [1차 동차성] 어떤 벡터를 집어넣어 나온 결과에 스칼라를 곱한 결과가 벡터에 스칼라 값을 곱한 결과를 투입한 것과 동일

$$ f(a(x,y)) = a \cdot f((x,y)) $$

 

 

예제1

 

$$ f((x, y)) = (x + 1, y) $$

 

\(x+1\)에 1이라는 불순물이 들어가 있기 때문에 선형성을 만족하지 않을 겁니다.

실제로 \((3, 6), (4, 8)\)을 대입해 보면 다음과 같이 선형성을 만족하지 않는 것을 볼 수 있습니다.

 

$$ f((3,6)+(4,8))=f((3,6))+f((4,8)) $$

$$ f((7,14))=(4,6)+(5,8) $$

$$ (8,14)\ne (9,14) $$

 

 

예제2

 

$$ f((x, y)) = (3x + 4y, 2x + 3y) $$

 

순수하게 \(x\)와 \(y\)간의 1차적인 대응 관계로만 구성되어 있습니다.

실제로 \((1, 2), (3, 4)\)를 대입해 보면 다음과 같이 선형성을 만족하는 것을 볼 수 있습니다.

 

$$ f((1,2)+(3,4))=f((1,2))+f((3,4)) $$

$$ f((4,6))=(11,8)+(25,18) $$

$$ (36, 26)=(36,26) $$

 

 

위에서 선형성을 만족하는 것을 보았는데, 그렇다면 이런 형태는 항상 선형성을 만족할까요?

 

$$ f((x, y)) = (ax + by, cx + dy) $$

 

두 벡터 \((x_1, y_1), (x_2, y_2)\)를 미지수로 지정하고 이들이 선형성을 만족하는지 살펴 보면 벡터 공간의 공리에 의해,

 

 

가산성 검증

 

$$ f((x_1,y_1)+(x_2,y_2))=f((x_1+x_2,y_1+y_2)) $$

$$ = a(x_1+x_2)+b(y_1+y_2)+c(x_1+x_2)+d(y_1+y_2) $$

$$ f((x_1,y_1))+f((x_2,y_2)) = (ax_1+by_1,cx_1+dy_1)+(ax_2+by_2,cx_2+dy_2) $$

$$ \therefore f((x_1+x_2,y_1+y_2))=f((x_1,y_1))+f((x_2,y_2)) $$

 

 

1차 동차성 검증

 

$$ kf((x,y))=k(ax+by, cx+dy)=(kax+kby, kcx+kdy) $$

$$ f(k(x,y))=(akx+bky, ckx+dky) $$

$$ \therefore k\cdot f((x,y))=f(k(x,y)) $$

 

따라서 사상 \(f((x, y)) = (ax + by, cx+ dy)\)는 선형성을 만족한다고 결론지을 수 있습니다.

 

 

선형 사상과 선형 변환

  • 선형 사상(Linear Mapping)  :  선형성을 가진 두 구조의 대응 관계
  • 선형 변환(Linear Transformation)  :  선형성을 가진 벡터 공간과 벡터 공간의 대응 관계

 

벡터 공간에서는 선형 사상을 선형 변환(Linear Transformation)이라고도 하며, 2차원 벡터 공간의 선형 변환은 다음의 형태를 가집니다.

 

$$ f((x,y)) = (ax+by, cx+dy) $$

 

 

728x90
반응형