대수적 리카티 방정식

**대수적 리카티 방정식**()은 무한 수평선 최적 제어 문제에서 연속 시간 또는 이산 시간으로 발생하는 비선형계 방정식의 한 종류이다.

일반적인 대수적 리카티 방정식은 다음 중 하나와 유사하다.

연속 시간 대수적 리카티 방정식(CARE):

A^\top  P + P A - P B R^{-1} B^\top  P + Q = 0

또는 이산 시간 대수적 리카티 방정식(DARE):

P = A^\top  P A -(A^\top  P B)(R + B^\top  P B)^{-1}(B^\top  P A) + Q.

는 미지의  곱하기  대칭행렬이고, 은 알려진 실수 계수 행렬, 그리고 와 은 대칭 행렬이다.

일반적으로 이 방정식은 여러 해를 가질 수 있지만, 보통은 유일한 안정화 해를 구하도록 명시된다. 그러한 해가 존재하는 경우에 말이다.

## 이름의 유래
리카티(Riccati)라는 이름은 리카티 미분 방정식과의 관계 때문에 이 방정식에 부여되었다. 실제로 CARE는 관련 행렬 값 리카티 미분 방정식의 시간에 불변하는 해에 의해 검증된다. 이산 시간 대수적 리카티 방정식(DARE)의 경우, 행렬 값 리카티 차분 방정식(이산 시간 LQR 맥락에서 리카티 미분 방정식의 아날로그)의 시간에 불변하는 해에 의해 검증된다.

## 이산 시간 대수적 리카티 방정식의 맥락
무한 수평선 최적 제어 문제에서, 관심 변수의 미래 임의의 시점에서의 값에 대해 관심을 가지며, 미래의 모든 시점에서 최적으로 행동할 것이라는 것을 알고 현재 시점에서 제어 변수의 값을 최적으로 선택해야 한다. 어떤 시점에서 문제의 제어 변수에 대한 최적 현재 값은 리카티 방정식의 해와 진화하는 상태 변수에 대한 현재 관측을 사용하여 찾을 수 있다. 여러 상태 변수와 여러 제어 변수가 있는 경우, 리카티 방정식은 행렬 방정식이 된다.

대수적 리카티 방정식은 무한 수평선 시불변 선형-2차 조절 문제(LQR)뿐만 아니라 무한 수평선 시불변 선형-2차 가우시안 제어 문제(LQG)의 해를 결정한다. 이들은 제어이론에서 가장 기본적인 두 가지 문제이다.

이산 시간 선형 2차 제어 문제의 일반적인 사양은 다음을 최소화하는 것이다.

\sum_{t=1}^T  (x_t^\top  Q x_t + u_t^\top  Ru_t)

다음 상태 방정식을 만족한다.

x_t = Ax_{t-1} + Bu_{t-1},

여기서 는  상태 변수 벡터이고, 는  제어 변수 벡터이며, 는  상태 전이 행렬이고, 는  제어 승수 행렬이며,  ()는 대칭 양의 준정부호 상태 비용 행렬이고,  ()은 대칭 양의 정부호 제어 비용 행렬이다.

시간을 거슬러 올라가는 귀납법을 사용하여 각 시점의 최적 제어 해를 얻을 수 있다.

u_t^* = -(B^\top P_{t+1}B+R)^{-1} (B^\top P_{t+1}A)x_{t},

대칭 양의 정부호 잔여 비용 행렬 는 부터 시간을 거슬러 다음과 같이 진화한다.

 P_{t-1} = Q+A^\top P_tA - A^\top P_tB(B^\top P_tB+R)^{-1}B^\top P_tA, \,

이는 이 문제의 이산 시간 동적 리카티 방정식으로 알려져 있다. 가 무한대로 가는 무한 수평선 문제에 해당하는 의 정상 상태 특성화를 찾으려면 동적 방정식을 수렴할 때까지 반복적으로 계산한다. 그러면 는 동적 방정식에서 시간 첨자를 제거하여 특징화된다.

## 해
보통 해법은 고유한 안정화 해를 찾으려고 시도한다. 그러한 해가 존재한다면 말이다. 해는 관련 LQR 시스템을 제어하는 데 사용될 때 폐루프 시스템을 안정화하면 안정화된다.

CARE의 경우 제어는 다음과 같다.
K = R^{-1} B^\top  P
그리고 폐루프 상태 전이 행렬은 다음과 같다.
A - BK = A - B R^{-1} B^\top  P
이는 모든 고유값의 실수부가 음수일 때에만 안정하다.

DARE의 경우 제어는 다음과 같다.
K = (R + B^\top  P B)^{-1} B^\top  P A
그리고 폐루프 상태 전이 행렬은 다음과 같다.
A - BK = A - B (R + B^\top  P B)^{-1} B^\top  P A
이는 모든 고유값이 복소평면의 단위원 안에 엄격하게 있을 때에만 안정하다.

대수적 리카티 방정식의 해는 행렬 인수분해 또는 리카티 방정식의 반복을 통해 얻을 수 있다. 한 가지 종류의 반복은 유한 수평선 문제에서 발생하는 동적 리카티 방정식을 사용하여 이산 시간의 경우에 얻을 수 있다. 후자의 종류의 문제에서 행렬 값의 각 반복은 최종 기간으로부터 유한한 시간 거리에 있는 각 기간의 최적 선택과 관련이 있으며, 시간적으로 무한히 거슬러 올라가 반복하면 최종 기간으로부터 무한한 시간 전에 최적 선택과 관련된 특정 행렬에 수렴한다. 즉, 무한 수평선이 있는 경우에 해당한다.

더 큰 시스템의 고유값 분해를 찾아 해를 찾는 것도 가능하다. CARE의 경우 해밀턴 행렬을 정의한다.
 Z = \begin{pmatrix} A & -B R^{-1} B^\top  \\ -Q & -A^\top  \end{pmatrix} 
는 해밀턴 행렬이므로, 허수 축에 고유값을 가지지 않으면 고유값의 정확히 절반이 음의 실수부를 가진다. 해당 부분 공간의 기저를 형성하는 열을 가진  행렬을 블록 행렬 표기법으로 나타내면 다음과 같다.
 \begin{pmatrix} U_{1,1} \\ U_{2,1} \end{pmatrix} 
그러면
P = U_{2,1} U_{1,1}^{-1}
는 리카티 방정식의 해이다. 또한 A - B R^{-1} B^\top  P의 고유값은 음의 실수부를 가진 의 고유값이다.

DARE의 경우 가 가역일 때 심플렉틱 행렬을 정의한다.
 Z = \begin{pmatrix} A + B R^{-1} B^\top  (A^{-1})^\top   Q & -B R^{-1} B^\top  (A^{-1})^\top  \\ -(A^{-1})^\top  Q & (A^{-1})^\top  \end{pmatrix} 
는 심플렉틱 행렬이므로, 단위원에 고유값을 가지지 않으면 고유값의 정확히 절반이 단위원 안에 있다. 해당 부분 공간의 기저를 형성하는 열을 가진  행렬을 블록 행렬 표기법으로 나타내면 다음과 같다.
 \begin{pmatrix} U_{1,1} \\ U_{2,1} \end{pmatrix} 
여기서 은 다음 분해에서 얻어진다.
 Z = \begin{pmatrix} U_{1,1} & U_{1,2} \\ U_{2,1} & U_{2,2} \end{pmatrix} \begin{pmatrix} \Lambda_{1,1} & \Lambda_{1,2} \\ 0 & \Lambda_{2,2} \end{pmatrix} \begin{pmatrix} U_{1,1}^\top  & U_{2,1}^\top  \\ U_{1,2}^\top  & U_{2,2}^\top  \end{pmatrix} 
그러면
P = U_{2,1} U_{1,1}^{-1}
는 리카티 방정식의 해이다. 또한 A - B (R + B^\top  P B)^{-1} B^\top  P A의 고유값은 단위원 안에 있는 의 고유값이다.

## 같이 보기
* 랴푸노프 방정식
* 슈어 분해
* 실베스터 방정식

## 각주

*
*.

## 외부 링크
* CARE solver help of MATLAB Control toolbox.
* DARE solver help of MATLAB Control toolbox.
* Online CARE solver for arbitrary sized matrices.
* Python CARE and DARE solvers.
* Mathematica function to solve the continuous-time algebraic Riccati equation.
* Mathematica function to solve the discrete-time algebraic Riccati equation.

분류:행렬
분류:방정식