최적제어 강의노트
LQR · MPC · 동적계획법 · 강화학습
개요. 세 가지 질문에 답한다. (i) LQR과 MPC는 무엇이 근본적으로 다른가. (ii) MPC의 최적화 문제에 해가 없으면 어떻게 하는가. (iii) 동적계획법(DP)과 강화학습(RL)은 무엇이 같고 무엇이 다른가. 모든 예제는 스칼라 시스템이나 상태가 두세 개인 문제로 줄여 손으로 풀 수 있게 했다.
0. 표기와 강의 계획 5분
이 노트 전체에서 쓰는 시스템은 하나다.
\begin{equation} x_{k+1} = a\,x_k + b\,u_k,\qquad \ell(x,u) = q\,x^2 + r\,u^2,\qquad q\ge 0,\ r>0. \label{eq:sys} \end{equation}두 가지 경우를 계속 쓴다. 적분기 $\Sigma_1:\ a=b=1$ 과 불안정 시스템 $\Sigma_2:\ a=2,\ b=1$ 이고, 특별한 말이 없으면 $q=r=1$이다. 행렬 형태 $x_{k+1}=Ax_k+Bu_k$, $\ell=x^\top Qx+u^\top Ru$로의 일반화는 각 정리 옆에 같이 적는다. 스칼라로 계산한 내용은 행렬 식에서 $a\to A$, $a^2P\to A^\top PA$로 바꾸면 그대로 성립한다.
| 시간 | 절 | 손으로 푸는 예제 | 핵심 메시지 |
|---|---|---|---|
| 0–5 | 0. 표기 | – | 스칼라 시스템 하나로 전부 설명한다 |
| 5–20 | 1. LQR | 1.1, 1.2 | LQR = 이차 가치함수에 대한 DP의 닫힌 해 |
| 20–40 | 2. LQR vs MPC | 2.1, 2.2, 2.3 | LQR은 오프라인에서 구한 법칙, MPC는 매 순간 푸는 문제 |
| 40–62 | 3. 해가 없을 때 | 3.1 – 3.5 | 해 없음은 예측 구간이 짧아서 생긴다. 종단 집합, soft 제약, 강인 집합으로 대응한다 |
| 62–85 | 4. DP → RL | 4.1 – 4.4 | RL은 모델 대신 샘플로 Bellman 방정식을 푼다 |
| 85–90 | 정리 | 연습문제 5장 | MPC와 RL은 모두 근사 DP다 |
1. LQR: 동적계획법의 닫힌 해 15분
초기 상태 $x_0$가 주어질 때 다음 문제를 푼다.
\begin{equation} J_N^\star(x_0)=\min_{u_0,\dots,u_{N-1}}\ \sum_{k=0}^{N-1}\big(q\,x_k^2+r\,u_k^2\big)+p_N\,x_N^2 \quad\text{s.t.}\quad x_{k+1}=ax_k+bu_k. \label{eq:lqr} \end{equation}Bellman 재귀란 무엇인가
\eqref{eq:lqr}는 입력 $N$개를 한꺼번에 고르는 문제다. Bellman 재귀는 이 문제를 입력을 하나씩 고르는 작은 문제 $N$개로 쪼갠다. 쪼개는 데 쓰는 도구가 cost-to-go다.
시점 $k$에 상태 $x$에서 출발해 남은 구간을 최적으로 운전할 때의 비용을 다음과 같이 정의한다.
\begin{equation} V_k(x)=\min_{u_k,\dots,u_{N-1}}\ \sum_{j=k}^{N-1}\big(q\,x_j^2+r\,u_j^2\big)+p_N\,x_N^2 \quad\text{s.t.}\quad x_{j+1}=ax_j+bu_j,\ \ x_k=x. \label{eq:ctg} \end{equation}끝 시점에는 고를 입력이 없으므로 $V_N(x)=p_Nx^2$이고, 시작 시점의 값은 원래 문제의 답 $V_0(x_0)=J_N^\star(x_0)$이다.
$V_k$는 숫자 하나가 아니라 모든 출발 상태 $x$에 대해 정의된 함수다. 주어진 $x_0$ 하나의 답 $J_N^\star(x_0)$만 구하는 대신, "어느 상태에서 출발하든 남은 비용이 얼마인가"라는 표 전체를 만든다는 뜻이다.
$(u_0^\star,\dots,u_{N-1}^\star)$가 $x_0$에서 출발하는 \eqref{eq:lqr}의 최적해이고 그 궤적이 시점 $k$에 $x_k^\star$를 지난다고 하자. 그러면 꼬리 $(u_k^\star,\dots,u_{N-1}^\star)$는 $x_k^\star$에서 출발하는 꼬리 문제 \eqref{eq:ctg}의 최적해다. 즉 최적 경로의 뒷부분은 그 자체로 최적 경로다.
이 원리에서 재귀식이 바로 나온다. \eqref{eq:ctg}의 합에서 시점 $k$의 항만 떼어 내면 다음과 같다.
\[ V_k(x)=\min_{u_k}\Big[\,\underbrace{q x^2+r u_k^2}_{\text{지금 비용}}\;+\;\underbrace{\min_{u_{k+1},\dots,u_{N-1}}\Big(\textstyle\sum_{j=k+1}^{N-1}\big(q x_j^2+r u_j^2\big)+p_N x_N^2\Big)}_{x_{k+1}=ax+bu_k\text{에서 출발하는 꼬리 문제}}\Big]. \]안쪽 최소화는 $x_{k+1}=ax+bu_k$에서 출발하는 꼬리 문제이므로, 그 값은 정의에 의해 $V_{k+1}(ax+bu_k)$다. 남은 비용이 $u_k$에 다음 상태를 통해서만 의존하기 때문에 이렇게 바꿔 쓸 수 있다. 상태가 과거의 정보를 전부 요약한다는 성질(Markov 성질)이 여기서 쓰인다. 결과가 Bellman 재귀다.
\begin{equation} V_N(x)=p_N x^2,\qquad V_k(x)=\min_u\ \big\{\,q x^2 + r u^2 + V_{k+1}(ax+bu)\,\big\},\quad k=N-1,\dots,0. \label{eq:bellman} \end{equation}중괄호 안은 세 조각으로 읽는다. $qx^2+ru^2$는 지금 비용, $ax+bu$는 입력 $u$가 데려가는 다음 상태(모델), $V_{k+1}$은 그 상태에서 남은 비용의 최적값이다. $V_{k+1}$을 이미 알고 있으면 시점 $k$에서 할 일은 입력 하나 $u$에 대한 최소화뿐이다(그림 1.1).
재귀는 두 방향으로 쓴다.
- 뒤로 계산(오프라인). $V_N$에서 시작해 $k=N-1,\dots,0$ 순서로 \eqref{eq:bellman}을 풀어, 모든 $x$에 대해 $V_k(x)$와 최소점 $\mu_k(x)=\argmin_u\{\cdots\}$를 얻는다.
- 앞으로 실행(온라인). $x_0$에서 시작해 $u_k=\mu_k(x_k)$를 적용한다. 매 스텝에서 하는 일은 이미 구한 함수 $\mu_k$에 현재 상태를 넣는 것뿐이다.
그래서 DP의 답은 입력 수열이 아니라 상태를 보고 입력을 정하는 피드백 법칙 $\mu_k$다.
- 시스템
- $x_{k+1}=x_k+u_k$ (적분기 $\Sigma_1$: $a=b=1$)
- 비용
- $J=x_0^2+u_0^2+x_1^2+u_1^2+x_2^2$ ($q=r=1$, 구간 $N=2$, 종단 비용 $p_2x_2^2$에서 $p_2=1$)
- 초기 상태
- $x_0=1$
- 구할 것
- (a) $x_1,x_2$를 $u_0,u_1$로 소거하고 $J(u_0,u_1)$를 두 변수에 대해 한꺼번에 최소화하라. (b) Bellman 재귀를 $k=1,0$ 순서로 풀어 $V_1,V_0$와 최적 입력 함수 $\mu_1,\mu_0$를 구하라. 재귀는 $V_2(x)=x^2$에서 시작하고, 매 스텝 $V_k(x)=\min_u\{x^2+u^2+V_{k+1}(x+u)\}$이다. (c) 외란 때문에 $x_1$이 계획과 달리 $1$이 되었다면 시점 1에서 어떤 입력을 써야 하는가?
풀이 보기
(a) 한꺼번에 풀기$x_1=1+u_0$, $x_2=1+u_0+u_1$을 대입하면 비용은 두 변수의 함수다.
\[ J(u_0,u_1)=1+u_0^2+(1+u_0)^2+u_1^2+(1+u_0+u_1)^2. \]$\partial J/\partial u_1=0$에서 $u_1=-\tfrac12(1+u_0)$이다. 이를 $\partial J/\partial u_0=2u_0+2(1+u_0)+2(1+u_0+u_1)=0$에 넣으면 $5u_0+3=0$이다. 따라서 $u_0=-\tfrac35$, $u_1=-\tfrac15$이고, 궤적은 $1\to\tfrac25\to\tfrac15$, 비용은 $1+\tfrac{9+4+1+1}{25}=\tfrac85$이다.
(b) Bellman 재귀로 풀기$V_2(x)=x^2$에서 시작해 한 스텝씩 거슬러 올라간다. 각 줄은 $u$ 하나에 대한 이차식이므로 미분해서 0으로 놓으면 된다.
\[ \begin{aligned} V_1(x)&=\min_u\big\{x^2+u^2+(x+u)^2\big\}: && 2u+2(x+u)=0 &&\Rightarrow\ \mu_1(x)=-\tfrac12x,\ \ V_1(x)=\tfrac32x^2,\\ V_0(x)&=\min_u\big\{x^2+u^2+\tfrac32(x+u)^2\big\}: && 2u+3(x+u)=0 &&\Rightarrow\ \mu_0(x)=-\tfrac35x,\ \ V_0(x)=\tfrac85x^2. \end{aligned} \]둘째 줄의 $\tfrac32(x+u)^2$는 첫 줄에서 구한 $V_1$을 다음 상태 $x+u$에서 계산한 값이다. $V_0$의 계수는 $1+\tfrac{9}{25}+\tfrac32\cdot\tfrac{4}{25}=\tfrac85$로 확인한다.
앞으로 실행하면 $u_0=\mu_0(1)=-\tfrac35$, $x_1=\tfrac25$, $u_1=\mu_1(\tfrac25)=-\tfrac15$, $x_2=\tfrac15$로 (a)와 같고, 비용 $V_0(1)=\tfrac85$도 같다.
(c) 계획에서 벗어났을 때(a)의 답은 수열이므로 $u_1=-\tfrac15$를 그대로 쓰게 되지만, 이것은 $x_1=\tfrac25$를 가정하고 구한 값이다. (b)의 답은 함수이므로 $u_1=\mu_1(1)=-\tfrac12$를 바로 쓰면 되고, 이 값은 $x_1=1$에서 남은 문제의 최적해다. 다시 풀 필요가 없다.
(i) 변수 $N$개짜리 최적화 하나가 변수 1개짜리 최적화 $N$개로 바뀐다. (ii) 그 대가로 $V_k$를 한 점이 아니라 모든 $x$에서 알아야 한다. 일반적인 문제에서는 이 비용이 상태 차원에 대해 지수적으로 커진다(4.5절, 차원의 저주). (iii) 여기서 나온 $\tfrac32,\tfrac85$는 예제 1.1의 $P_2,P_1$과 같다. $V_k$가 매번 $P_kx^2$ 꼴로 유지되기 때문이며, 이것이 다음 정리의 내용이다.
LQR에 적용하면: Riccati 재귀
$V_k(x)=P_k x^2$이고, $P_k$와 최적 입력은 다음과 같다.
\begin{align} P_k &= q + a^2P_{k+1} - \frac{(abP_{k+1})^2}{r+b^2P_{k+1}}, \qquad P_N=p_N, \label{eq:ric}\\ u_k^\star &= -K_k x_k,\qquad K_k=\frac{abP_{k+1}}{r+b^2P_{k+1}}. \label{eq:gain} \end{align}행렬 형태: $P_k=Q+A^\top P_{k+1}A-A^\top P_{k+1}B(R+B^\top P_{k+1}B)^{-1}B^\top P_{k+1}A$, $K_k=(R+B^\top P_{k+1}B)^{-1}B^\top P_{k+1}A$.
여기서 두 가지를 짚어 둔다. 첫째, 최적 입력은 상태 피드백이며, 게인은 $x_0$를 모르는 상태에서 미리 계산된다. 둘째, $V_k$가 이차식이라는 성질이 재귀 내내 보존되기 때문에 DP가 무한 차원 문제가 아니라 숫자 $P_k$ 하나에 대한 재귀로 줄어든다. 이 두 성질은 제약을 넣는 순간 둘 다 깨진다(2절).
- 시스템
- $x_{k+1}=x_k+u_k$ (적분기 $\Sigma_1$: $a=b=1$)
- 비용
- $J=\sum_{k=0}^{2}\big(x_k^2+u_k^2\big)+x_3^2$ ($q=r=1$, 구간 $N=3$, 종단 가중치 $p_3=1$)
- 초기 상태
- $x_0=1$
- 구할 것
- (a) $P_3=1$에서 시작해 정리 1.1의 재귀로 $P_2,P_1,P_0$와 게인 $K_2,K_1,K_0$를 구하라. (b) $u_k=-K_kx_k$를 적용한 최적 궤적 $x_0,\dots,x_3$와 입력 $u_0,u_1,u_2$를 구하라. (c) 최소 비용 $J^\star$를 구하고 $P_0x_0^2$와 같은지 확인하라.
풀이 보기
1단계 · 재귀식을 단순화한다$a=b=q=r=1$을 넣으면 $P_k = 1+P_{k+1}-\dfrac{P_{k+1}^2}{1+P_{k+1}} = 1+\dfrac{P_{k+1}}{1+P_{k+1}}$, $K_k=\dfrac{P_{k+1}}{1+P_{k+1}}$이다.
2단계 · 뒤에서부터 계산한다 \[ P_3=1 \;\Rightarrow\; K_2=\tfrac12,\ P_2=\tfrac32 \;\Rightarrow\; K_1=\tfrac35,\ P_1=\tfrac85 \;\Rightarrow\; K_0=\tfrac{8}{13},\ P_0=\tfrac{21}{13}. \] 3단계 · 앞으로 시뮬레이션한다 \[ x_0=1,\ u_0=-\tfrac{8}{13};\quad x_1=\tfrac{5}{13},\ u_1=-\tfrac{3}{13};\quad x_2=\tfrac{2}{13},\ u_2=-\tfrac1{13};\quad x_3=\tfrac1{13}. \] 4단계 · 검산한다비용은 $1+\frac{64+25+9+4+1+1}{169}=1+\frac{104}{169}=\frac{21}{13}=P_0x_0^2$로, 정리 1.1과 일치한다.
$P_k$는 피보나치 수의 비 $1,\frac32,\frac85,\frac{21}{13},\dots$로 수렴한다. $N\to\infty$이면 $P\to\varphi\approx1.618$, $K\to1/\varphi\approx0.618$이다. 여기서 $\varphi=(1+\sqrt5)/2$는 황금비이며, 이후 예제에서 계속 나온다. 유한 구간 해의 게인은 시간에 따라 바뀌지만, 구간이 길면 금방 상수로 수렴한다.
$(a,b)$가 안정화 가능하고 $q>0$이면 \eqref{eq:ric}는 $p_N$과 무관하게 이산 대수 Riccati 방정식(DARE)의 유일한 양의 해로 수렴한다.
\begin{equation} P = q + a^2P - \frac{(abP)^2}{r+b^2P},\qquad K=\frac{abP}{r+b^2P},\qquad |a-bK|<1. \label{eq:are} \end{equation}- 시스템
- (a) $x_{k+1}=x_k+u_k$ (적분기 $\Sigma_1$: $a=1$, $b=1$) (b) $x_{k+1}=2x_k+u_k$ (불안정 $\Sigma_2$: $a=2$, $b=1$)
- 비용
- $J=\sum_{k=0}^{\infty}\big(x_k^2+u_k^2\big)$ (무한 구간, $q=r=1$)
- DARE
- $b=q=r=1$을 넣으면 $P=1+a^2P-\dfrac{a^2P^2}{1+P}$, $K=\dfrac{aP}{1+P}$ (식 \eqref{eq:are})
- 구할 것
- (a), (b) 각각의 $P$, 게인 $K$, 폐루프 극점 $a-K$ (폐루프 $x_{k+1}=(a-K)x_k$)
풀이 보기
(a) $a=1$: $P=1+\frac{P}{1+P}$이므로 $P^2-P-1=0$이고, $P=\varphi=1.618$, $K=P/(1+P)=1/\varphi=0.618$, $a-bK=1/\varphi^2=0.382$이다.
(b) $a=2$: $P=1+\frac{4P}{1+P}$이므로 $P^2-4P-1=0$이고, $P=2+\sqrt5=\varphi^3=4.236$, $K=\frac{2P}{1+P}=\varphi=1.618$, $a-bK=2-\varphi=1/\varphi^2=0.382$이다.
불안정한 $\Sigma_2$도 LQR은 모든 $x$에서 안정화한다. 이것은 제약이 없을 때만 성립하는 전역적 보장이다. 이후 모든 예제에서 기준점으로 쓰므로 $\Sigma_2$의 $P=4.236$, $K=1.618$을 기억해 두자.
2. LQR과 MPC의 근본적 차이 20분
매 시점 $t$에서 현재 상태 $x_t$를 측정해 다음 유한 구간 문제 $\mathbb{P}_N(x_t)$를 풀고,
\begin{equation} \begin{aligned} V_N^\star(x_t)=\min_{u_{0|t},\dots,u_{N-1|t}}\ &\sum_{k=0}^{N-1}\ell(x_{k|t},u_{k|t})+V_f(x_{N|t})\\ \text{s.t.}\ \ & x_{k+1|t}=ax_{k|t}+bu_{k|t},\quad x_{0|t}=x_t,\\ & x_{k|t}\in\X,\quad u_{k|t}\in\U,\quad x_{N|t}\in\X_f, \end{aligned} \label{eq:mpc} \end{equation}첫 입력 $u_t=u^\star_{0|t}$만 적용한 뒤 $t+1$에서 같은 문제를 다시 푼다. 이렇게 정해지는 피드백 법칙을 $\kappa_N(x)=u^\star_{0}(x)$로 쓴다.
\eqref{eq:lqr}과 \eqref{eq:mpc}는 겉보기에 거의 같다. 실제 차이는 아래 표의 세 행에 있다.
| LQR | MPC | |
|---|---|---|
| 무엇을 계산하는가 | 법칙 $u=-Kx$ (오프라인, 한 번) | 현재 $x_t$에 대한 수열 $u^\star_{\cdot|t}$ (온라인, 매 스텝) |
| 제약 $\X,\U$ | 다룰 수 없음 (사후 포화) | 최적화 문제 안에서 직접 처리 |
| 법칙의 형태 | 선형, 전역적 | 구간별 아핀 (예제 2.2), 실행 가능 집합 $\X_N$에서만 정의됨 |
| 구간 | $N=\infty$ (Riccati가 무한 구간을 닫힌 형태로 풂) | $N<\infty$, 나머지 구간은 $V_f$로 근사 |
| 안정성 | 정리 1.2가 보장 | $V_f$, $\X_f$를 설계해야 보장됨 (정리 3.1) |
$\X=\R$, $\U=\R$, $\X_f=\R$이고 $V_f(x)=Px^2$ ($P$는 \eqref{eq:are}의 해)이면, 모든 $N\ge1$에 대해 $\kappa_N(x)=-Kx$이다.
즉 MPC를 LQR과 다르게 만드는 것은 두 가지뿐이다. (1) 유한 구간과 부정확한 $V_f$, (2) 제약. 다음 세 예제가 이 둘을 하나씩 분리해서 보여준다.
- 시스템
- $x_{k+1}=2x_k+u_k$ (불안정 $\Sigma_2$: $a=2$, $b=1$)
- MPC
- 매 시점 $\displaystyle\min_{u_0,\dots,u_{N-1}}\ \sum_{k=0}^{N-1}\big(x_k^2+u_k^2\big)+V_f(x_N)$을 풀고 첫 입력만 적용한다. 제약은 없다. ($q=r=1$)
- 경우
- (a) $N=1$, $V_f=0$ (b) $N=1$, $V_f=x^2$ (c) $N=2,3,4$, $V_f=0$ (d) 임의의 $N$, $V_f=4.236\,x^2$ (예제 1.2(b)의 LQR 해 $P$)
- 구할 것
- 각 경우에 MPC가 주는 법칙 $u=-Kx$의 게인 $K$와 폐루프 극점 $2-K$ (폐루프 $x_{t+1}=(2-K)x_t$, $|2-K|<1$이면 안정)
풀이 보기
핵심 관찰구간이 $N$이면 첫 입력의 게인은 $p_N=V_f$에서 출발해 Riccati를 $N-1$번 적용한 $P_1$로 \eqref{eq:gain}을 계산한 값이다. 이때 $K=2P_1/(1+P_1)$이고 재귀식은 $\mathrm{Ric}(P)=1+\frac{4P}{1+P}$이다.
(a)$N=1$, $V_f=0$이면 문제는 $\min_u x^2+u^2$이므로 $u=0$이다. 따라서 $x_{t+1}=2x_t$로 발산한다. 비용에 $x_1$이 들어 있지 않아서 입력을 쓸 이유가 없다.
(b)$P_1=1$이므로 $K=1$이고, $x_{t+1}=x_t$로 임계 안정이다(수렴하지 않음).
(c)$\mathrm{Ric}$를 반복하면 $0\to1\to3\to4\to4.2\to\cdots\to4.236$이다.
| $N$ | 1 | 2 | 3 | 4 | 5 | $\infty$ |
|---|---|---|---|---|---|---|
| $P_1$ | 0 | 1 | 3 | 4 | 4.2 | 4.236 |
| $K$ | 0 | 1 | 1.5 | 1.6 | 1.615 | 1.618 |
| $2-K$ | 2 | 1 | 0.5 | 0.4 | 0.385 | 0.382 |
명제 2.1에 의해 모든 $N$에서 $K=\varphi$, 극점은 $0.382$이다.
MPC의 안정성은 저절로 생기지 않는다. 구간을 늘리거나($N\ge3$), 종단 비용을 정확한 cost-to-go($V_f=V_\infty$)로 두어야 한다. 후자의 경우 $N=1$로도 충분하다. 이것이 "MPC = 유한 lookahead + 종단 비용 근사"라는 관점이며, 4.6절에서 RL과 연결된다 [6, 14].
- 시스템
- $x_{k+1}=2x_k+u_k$ (불안정 $\Sigma_2$)
- MPC
- 현재 상태 $x$에서 $\displaystyle\min_{u}\ x^2+u^2+P\,(2x+u)^2$, $P=4.236$을 풀어 적용한다. ($N=1$, $V_f=Px^2$, $P$는 예제 1.2(b)의 LQR 해, $\varphi=1.618$)
- 제약
- $|u|\le1$
- 구할 것
- (a) MPC 법칙 $u=\kappa_1(x)$를 $x$의 닫힌 형태로 구하라. (b) 폐루프 $x_{t+1}=2x_t+\kappa_1(x_t)$가 원점으로 수렴하는 초기 상태의 집합(수렴 영역)을 구하라.
풀이 보기
(a) 1차원 볼록 이차식의 구간 최소화목적함수 $x^2+u^2+P(2x+u)^2$는 $u$에 대해 볼록한 이차식이고, 제약 없는 최소점은 $u=-\varphi x$이다. 볼록 이차식을 구간 $[-1,1]$에서 최소화한 해는 제약 없는 해를 구간으로 잘라낸 값과 같으므로
\begin{equation} \kappa_1(x)=\sat(-\varphi x)=\begin{cases}+1, & x\le-1/\varphi\\ -\varphi x, & |x|\le 1/\varphi=0.618\\ -1, & x\ge 1/\varphi\end{cases} \label{eq:pwa} \end{equation}이다. 영역이 세 개인 구간별 아핀(PWA) 법칙이다. 일반적인 다변수, 다단계 문제에서도 $\kappa_N$은 다면체 영역 위에서 PWA이며, 이를 explicit MPC라 부른다 [7].
(b) 포화 영역에서의 동역학$x>0.618$이면 $x^+=2x-1$이다. 이 값은 $x<1$이면 $x$보다 작아지고, $x=1$이면 그대로 머물며, $x>1$이면 커진다. 따라서 수렴 영역은 열린 구간 $(-1,1)$이다. 예를 들어 $0.9\to0.8\to0.6\to$ (선형 영역) $\to0$이고, $1.1\to1.2\to1.4\to\cdots$로 발산한다.
이 예제에서는 MPC가 포화된 LQR과 같다. 단일 입력, $N=1$인 볼록 문제이기 때문이다. 그런데도 결과는 LQR과 질적으로 다르다. 전역 안정성이 사라지고 수렴 영역은 $(-1,1)$뿐이다. 이 숫자 1은 3절에서 "최대 제어 불변 집합"으로 다시 나온다.
- 시스템
- $x_{k+1}=x_k+u_k$ (적분기 $\Sigma_1$)
- MPC
- $\displaystyle\min_{u_0,u_1}\ x_0^2+u_0^2+x_1^2+u_1^2+\varphi\,x_2^2$ ($N=2$, $q=r=1$, $V_f=\varphi x^2$, $\varphi=1.618$은 예제 1.2(a)의 LQR 해)
- 제약
- $x_2\ge1$ (2스텝 뒤에 정지선 앞에서 멈춰야 하는 상황)
- 초기 상태
- $x_0=2$
- 구할 것
- (a) 결정변수 $U=(u_0,u_1)$에 대한 QP $\min \frac12U^\top HU+f^\top U$로 정리하라. (b) 제약 없는 해(= LQR)를 구하라. (c) 제약을 넣은 해와 라그랑주 승수를 KKT 조건으로 구하라.
풀이 보기
(a) Condensing: 상태를 입력으로 소거한다$x_1=x_0+u_0$, $x_2=x_0+u_0+u_1$이므로 비용은 $x_0^2+u_0^2+(x_0+u_0)^2+u_1^2+\varphi(x_0+u_0+u_1)^2$이다. 이를 정리하면
\begin{equation} H=2\begin{bmatrix}2+\varphi&\varphi\\ \varphi&1+\varphi\end{bmatrix},\qquad f=2x_0\begin{bmatrix}1+\varphi\\ \varphi\end{bmatrix},\qquad \text{제약: } -(u_0+u_1)\le x_0-1. \label{eq:qp23} \end{equation} (b) 제약 없는 해$HU=-f$를 풀면 $u_0=-1.236$, $u_1=-0.472$이고 $x_1=0.764$, $x_2=0.292$이다. 명제 2.1에 의해 이는 LQR 해 $u_0=-x_0/\varphi$와 같다. 이 해는 $x_2\ge1$을 위반한다.
(c) 활성 집합 추측과 KKT 확인제약이 활성이라고 추측해 $u_1=-1-u_0$을 대입하면 $(2+u_0)^2+u_0^2+(1+u_0)^2+\varphi$가 된다. 미분하면 $6u_0+6=0$이므로 $u_0=-1$, $u_1=0$이다. 이때 $HU+f=2\varphi\,(1,1)^\top$이므로 정상성 조건 $HU+f-\mu(1,1)^\top=0$에서 $\mu=2\varphi=3.236>0$이다. 승수가 양수이므로 추측이 맞다.
제약은 $k=2$에 걸려 있는데 바뀌는 것은 지금의 입력이다($-1.236\to-1$). 포화를 사후에 적용하는 LQR은 이렇게 할 수 없다. LQR은 현재 상태만 보고, 구조적으로 미래의 제약을 모른다. 승수 $\mu=3.236$은 제약을 $\varepsilon$만큼 완화할 때 비용이 $3.236\,\varepsilon$만큼 줄어든다는 뜻이다(민감도). 3절의 soft constraint 가중치를 정할 때 이 값이 다시 쓰인다.
3. MPC에 해가 없을 때 22분
제약이 있으면 \eqref{eq:mpc}는 해가 없을 수 있다(infeasible). 실제 제어기에서는 솔버가 "infeasible"을 반환하는 순간 적용할 입력이 없다. 이 절은 해 없음이 왜 생기는지 먼저 보이고, 원인별 대응책을 정리한다. 이 절 전체에서는 $\Sigma_2$, $|u|\le1$, $|x|\le5$를 쓴다.
$\X_N=\{x:\ \mathbb{P}_N(x)\text{가 해를 가짐}\}$로 정의한다. 이 집합은 역방향 재귀로 구할 수 있다.
\begin{equation} \X_0=\X_f,\qquad \X_{j}=\{x\in\X:\ \exists u\in\U,\ ax+bu\in\X_{j-1}\}. \label{eq:feasset} \end{equation}집합 $\mathcal{C}$가 제어 불변이라는 것은 모든 $x\in\mathcal C$에 대해 $u\in\U$가 있어 $ax+bu\in\mathcal C$인 것이다. 그런 집합 중 가장 큰 것을 $\mathcal C_\infty$로 쓴다.
- 시스템
- $x^+=2x+u$ (불안정 $\Sigma_2$)
- 제약
- $|u|\le1$, $|x|\le5$ ($\U=[-1,1]$, $\X=[-5,5]$)
- 종단 제약
- 없음 ($\X_f=\X$)
- 구할 것
- (a) $\X_0=[-5,5]$에서 시작해 $\X_1,\dots,\X_5$를 구하라. $\X_j$는 $|x|\le5$이면서, $|u|\le1$인 어떤 입력으로 다음 상태 $2x+u$를 $\X_{j-1}$ 안에 넣을 수 있는 $x$의 집합이다. (구간 $j$인 MPC 문제에 해가 있는 초기 상태의 집합) (b) 제약을 지키며 영원히 머무를 수 있는 상태의 집합 $\mathcal C_\infty$를 구하라.
풀이 보기
대칭성 때문에 $\X_j=[-s_j,s_j]$로 둘 수 있다. $|2x+u|\le s$를 만족하는 $|u|\le1$이 존재할 조건은 $2|x|\le s+1$이다. 따라서
\[ s_0=5,\qquad s_j=\min\!\big(5,\tfrac{s_{j-1}+1}{2}\big):\quad 5,\ 3,\ 2,\ 1.5,\ 1.25,\ 1.125,\ \dots\ \to\ 1. \]고정점은 $s=(s+1)/2$의 해인 $s=1$이므로 $\mathcal C_\infty=[-1,1]$이다. 예제 2.2의 수렴 영역 경계와 같은 숫자다.
$x_0\in\X_N$이면 폐루프 궤적이 모든 $t$에서 $x_t\in\X_N$을 만족할 때, MPC가 재귀적으로 실행 가능하다고 한다. 지금 문제가 풀린다는 사실이 다음 스텝에도 풀린다는 것을 보장하지는 않는다.
- 시스템
- $x^+=2x+u$ (예제 3.1과 같음)
- 제약
- $|u|\le1$, $|x|\le5$
- MPC
- 구간 $N=3$, 종단 제약 없음 (예제 3.1에서 $\X_3=[-1.5,\,1.5]$, $\mathcal C_\infty=[-1,1]$)
- 초기 상태
- $x_0=1.2$ (비교용: $x_0=0.9$)
- 구할 것
- (a) $t=0$에서 MPC 문제에 해가 있는가? 즉 $x_0\in\X_3$인가? (b) MPC를 계속 적용하면 폐루프 궤적은 어떻게 되는가?
풀이 보기
$\X_3=[-1.5,1.5]$이므로 $x_0=1.2$에서는 해가 있다. 그러나 $x>1$이면 $x^+-1\ge 2x-1-1=2(x-1)>0$이므로, 어떤 입력을 써도 $x-1$이 매 스텝 두 배 이상이 된다. 가장 좋은 입력 $u=-1$을 써도 $1.2\to1.4\to1.8$이고, $1.8\notin\X_3$이다. 따라서 $t=2$에서 infeasible이 된다. 반면 $x_0=0.9\in\mathcal C_\infty$에서는 계속 풀린다.
$x_0=1.2$는 처음부터 망한 상태였다($\notin\mathcal C_\infty$). 다만 구간 $N=3$이 짧아서 그 사실이 보이지 않았을 뿐이다. 해 없음은 대개 "솔버의 실패"가 아니라 "예측 구간이 미래를 충분히 보지 못한 결과"다. 따라서 근본적인 처방은 문제 \eqref{eq:mpc} 자체를 고치는 것이다.
국소 제어기 $\kappa_f$와 종단 집합 $\X_f$, 종단 비용 $V_f$가 다음을 만족한다고 하자.
\begin{align} &\text{(A1)}\quad \X_f\subseteq\X,\quad \kappa_f(x)\in\U,\quad ax+b\kappa_f(x)\in\X_f\qquad\forall x\in\X_f, \label{eq:a1}\\ &\text{(A2)}\quad V_f\big(ax+b\kappa_f(x)\big)-V_f(x)\le-\ell\big(x,\kappa_f(x)\big)\qquad\forall x\in\X_f. \label{eq:a2} \end{align}그러면 (A1)만으로 재귀적 실행 가능성이 보장되고, (A1)과 (A2)를 함께 만족하면 $\X_N$에서 원점이 점근 안정이다.
- 시스템
- $x^+=2x+u$, 제약 $|u|\le1$, $|x|\le5$, 단계 비용 $\ell=x^2+u^2$ (예제 3.1과 같음)
- 국소 제어기
- $\kappa_f(x)=-\varphi x=-1.618\,x$ (예제 1.2(b)의 LQR 게인)
- 종단 비용
- $V_f(x)=Px^2$, $P=\varphi^3=4.236$
- 종단 집합
- $\X_f=[-1/\varphi,\,1/\varphi]$ $=[-0.618,\,0.618]$
- 구할 것
- (a) 정리 3.1의 두 조건을 확인하라. (A1) $|x|\le0.618$이면 $|\kappa_f(x)|\le1$이고 $2x+\kappa_f(x)\in\X_f$인가? (A2) 다음 상태 $x^+=2x+\kappa_f(x)$에 대해 $V_f(x^+)-V_f(x)\le-\ell\big(x,\kappa_f(x)\big)$인가? (b) 이 $\X_f$를 종단 제약으로 넣으면 $\X_N$은 어떻게 되는가? $x_0=1.2$는 어떻게 처리되는가?
풀이 보기
(a) $|x|\le1/\varphi$이면 $|\kappa_f|=\varphi|x|\le1$이고, $x^+=(2-\varphi)x=x/\varphi^2\in\X_f$이므로 (A1)이 성립한다. (A2)는 $P(1-\varphi^{-4})=1+\varphi^2$가 성립하는지 확인하면 된다. 좌변은 $\varphi^3-\varphi^{-1}=4.236-0.618=3.618$이고 우변은 $1+2.618=3.618$이므로 등호가 성립한다. 이는 DARE \eqref{eq:are}를 다시 쓴 것과 같다.
(b) $s_0=0.618$이고 $s_j=(s_{j-1}+1)/2$이므로 $0.618,\ 0.809,\ 0.905,\ 0.952,\ \dots\to1$이다. 이번에는 $\X_N$이 $\mathcal C_\infty$에 안쪽에서 다가간다. $x_0=1.2$는 $t=0$에서 이미 infeasible로 판정된다.
종단 집합은 해 없음을 없애지 않는다. 대신 해 없음을 제때 드러낸다. 처음에 풀리면 끝까지 풀린다. 그 대가로 $\X_N$이 줄어들고, 이는 $N$을 늘려서 만회한다. 예제 3.2와 비교하면 차이가 분명하다. 3.2에서는 처음에 풀렸다가 나중에 실패했지만, 3.3에서는 처음부터 거절하거나 끝까지 성공한다.
3.4 Soft constraint: 문제를 항상 풀리게 만들기
상태 제약 $g(x)\le0$을 슬랙 $s\ge0$으로 $g(x)\le s$처럼 완화하고 비용에 $\rho\|s\|_1$ 또는 $\rho\|s\|_2^2$를 더한다. 입력 제약(물리적 한계)은 그대로 hard로 둔다. 이렇게 하면 문제는 항상 해를 가진다. 남는 질문은 원래 문제에 해가 있을 때도 soft 버전이 같은 답을 주느냐이다.
원래(hard) 문제에 해가 있고 그 라그랑주 승수가 $\lambda^\star$일 때, L1 벌점 $\rho\|s\|_1$이 $\rho>\|\lambda^\star\|_\infty$를 만족하면 soft 문제의 해는 hard 문제의 해와 정확히 같다. L2 벌점 $\rho\|s\|_2^2$는 유한한 $\rho$로는 일반적으로 정확하지 않다.
- 시스템
- $x^+=x+u$, 현재 상태 $x=0$ (한 스텝 문제)
- 비용
- $u^2$
- 상태 제약
- $x^+\ge1$, 즉 $u\ge1$ (이것을 soft로 만든다)
- Soft 버전
- 슬랙 $s\ge0$으로 $u\ge1-s$로 완화하고 L1: $\min\ u^2+\rho s$, L2: $\min\ u^2+\rho s^2$
- 구할 것
- (a) 해가 있는 경우 (입력 제약 없음): hard 해와 라그랑주 승수 $\lambda^\star$를 구하고, L1과 L2의 해 $(u,s)$를 $\rho$의 함수로 구하라. (b) 해가 없는 경우 (입력 제약 $|u|\le0.5$ 추가): 두 soft 문제의 해는 무엇인가?
풀이 보기
(a)Hard 해는 $u=1$이다. KKT 조건 $2u-\lambda=0$에서 $\lambda^\star=2$이다.
L1: $u<1$일 때 $u^2+\rho(1-u)$를 미분하면 $u=\rho/2$이므로 $u=\min(\rho/2,1)$, $s=\max(0,1-\rho/2)$이다. $\rho\ge2=\lambda^\star$이면 $s=0$으로 정확하다.
L2: $u^2+\rho(1-u)^2$에서 $u=\rho/(1+\rho)$, $s=1/(1+\rho)>0$이다. $\rho=10$이어도 $s=0.091$로, 해가 있는데도 제약을 항상 조금씩 위반한다.
| $\rho$ | 1 | 2 | 3 | 10 |
|---|---|---|---|---|
| L1 슬랙 $s$ | 0.5 | 0 | 0 | 0 |
| L2 슬랙 $s$ | 0.5 | 0.333 | 0.25 | 0.091 |
$\rho\ge1$이면 두 방법 모두 $u=0.5$, $s=0.5$이다. 즉 위반을 최소로 하는 해를 준다. 솔버는 실패하지 않고 "가능한 만큼만 지키는" 입력을 돌려준다.
실무 처방은 $\rho_1\|s\|_1+\rho_2\|s\|_2^2$ 형태다. L1 항($\rho_1>\lambda^\star$)이 정확성을, L2 항이 수치적 매끄러움을 맡는다. $\lambda^\star$의 크기는 예제 2.3처럼 대표적인 상황에서 hard 문제를 풀어 승수를 보고 정한다.
- 시스템
- $x^+=2x+u+w$ ($\Sigma_2$에 외란 $w$를 더한 것)
- 제약
- $|u|\le1$
- 외란
- $|w|\le\bar w$, $w$는 $u$를 정한 뒤에 나타난다 (미리 알 수 없음)
- 구할 것
- (a) 어떤 $w$가 와도 계속 머무를 수 있는 가장 큰 대칭 구간 $[-s,s]$ (최대 강인 제어 불변 집합)를 $\bar w$의 함수로 구하라. (b) $\bar w=0.2$와 $\bar w=0.6$이면 어떻게 되는가?
풀이 보기
모든 $|w|\le\bar w$에 대해 $|2x+u+w|\le s$이려면 $|2x+u|\le s-\bar w$가 필요하다. 그런 $|u|\le1$이 있으려면 $s\ge\bar w$이고 $2|x|\le s-\bar w+1$이어야 한다. 이를 $|x|\le s$ 전체에 요구하면 $s\le1-\bar w$이다. 따라서
\[ \bar w\le s\le 1-\bar w\quad\Longrightarrow\quad s_{\max}=1-\bar w\quad(\bar w\le\tfrac12),\qquad \text{그 외에는 공집합}. \]$\bar w=0.2$이면 $|x|\le0.8$이고, $\bar w=0.6$이면 어떤 제어기로도 제약을 보장할 수 없다.
정리 3.1은 공칭 모델에 대한 보장이다. 외란이 있으면 공칭 MPC는 예고 없이 infeasible이 될 수 있다. 대책은 제약을 $\bar w$만큼 안쪽으로 조여 두는 것(constraint tightening, tube MPC [5, Ch.3])이다. $\bar w$가 너무 크면 집합 자체가 비어 있으므로, 이때는 제어기가 아니라 하드웨어(구동기 한계)를 바꿔야 한다.
3.6 실무 대응 순서
예제 3.2–3.5를 종합하면 해 없음은 원인이 서로 다르고, 대응도 원인별로 다르다. 아래 표는 설계 단계에서 쓰는 방법과 실행 중에 쓰는 대비책을 나누어 정리한 것이다.
| 단계 | 방법 | 해결하는 원인 | 근거 |
|---|---|---|---|
| 설계 | 종단 집합 $\X_f$와 비용 $V_f$ | 짧은 구간 (예제 3.2) | 정리 3.1, 예제 3.3 |
| 설계 | 제약 조이기 / tube MPC | 외란, 모델 오차 (예제 3.5) | [5, Ch.3] |
| 설계 | 상태 제약 soft화 (L1 + L2) | 위의 둘로 막지 못한 나머지 | 정리 3.2, 예제 3.4 |
| 실행 | 이전 계획 이동 $(u^\star_{1|t-1},\dots)$ | 공칭 모델이 맞을 때 실행 가능 | 정리 3.1 증명의 후보해 [11] |
| 실행 | 백업 제어기 (포화 LQR 등) | 솔버 시간 초과, 수치 실패 | – |
| 실행 | 이전 입력 유지 | (대비책으로는 가장 약함) | – |
입력 제약은 항상 hard로 두고(물리적으로 위반 불가), 상태와 출력 제약만 soft로 둔다. "이전 계획 이동"이 실행 가능하다는 것은 정리 3.1의 증명에서 나온 결론이므로, 외란이 있으면 보장되지 않는다.
4. DP에서 RL로 23분
1절에서 LQR은 "이차 가치함수에 대한 DP"였다. 이 절은 DP를 일반적인 형태로 다시 쓴 뒤 질문을 하나 던진다. 모델($a,b$ 또는 전이확률 $p$)을 모르면 어떻게 하는가? 그 답이 RL이다.
상태 $s$, 행동 $a$, 비용 $c(s,a)$, 전이확률 $p(s'\mid s,a)$, 할인율 $\gamma\in(0,1)$이 주어질 때
\begin{align} V^\star(s)&=\min_a\Big\{c(s,a)+\gamma\sum_{s'}p(s'\mid s,a)\,V^\star(s')\Big\}, \label{eq:bell}\\ Q^\star(s,a)&=c(s,a)+\gamma\sum_{s'}p(s'\mid s,a)\,\min_{a'}Q^\star(s',a'). \label{eq:qbell} \end{align}\eqref{eq:bellman}은 $\gamma=1$, 결정론적 전이, 유한 구간인 특수한 경우다.
- 그래프
- 아래 그림 4.1. 간선 위 숫자가 비용이다. (S–A 2, S–B 5, A–C 4, A–D 6, B–C 1, B–D 2, C–T 6, D–T 3)
- cost-to-go
- $J(n)$ = 노드 $n$에서 T까지 가는 최소 비용, $J(\mathrm T)=0$
- 구할 것
- (a) $J(n)=\min_{n'}\{c(n,n')+J(n')\}$을 T 쪽부터 거꾸로 계산해 S→T 최소 비용 경로를 구하라. (b) 매 단계 가장 싼 간선을 고르는 greedy 경로와 비교하라.
풀이 보기
뒤에서부터 계산한다. $J(C)=6$, $J(D)=3$이다. $J(A)=\min(4+6,\,6+3)=9$ (D 경유), $J(B)=\min(1+6,\,2+3)=5$ (D 경유)이고, $J(S)=\min(2+9,\,5+5)=\mathbf{10}$ (B 경유)이다. Greedy 경로는 S→A(2)→C(4)→T(6)으로 비용이 12다.
첫 간선만 보면 A(2)가 B(5)보다 싸지만, cost-to-go까지 합하면 B가 낫다. DP의 본질은 "지금의 비용 + 남은 비용의 최적값"을 비교한다는 것이다. 이 계산에는 그래프 전체, 즉 모델이 필요하다.
- 상태
- 1 = 정상, 2 = 고장
- 행동·전이
상태 행동 비용 전이 1 $a$ (방치) 0 확률 0.5로 1, 확률 0.5로 2 1 $b$ (정비) 1 확률 1로 1 2 $r$ (수리) 4 확률 1로 1 - 목표
- 할인 총비용 $\sum_{t\ge0}\gamma^t c_t$ 최소화, $\gamma=0.9$
- Bellman
- (식 \eqref{eq:bell}) $V(1)=\min\{Q_a(1),\,Q_b(1)\}$, $V(2)=4+0.9\,V(1)$ $Q_a(1)=0+0.9\,[\,0.5\,V(1)+0.5\,V(2)\,]$ (방치) $Q_b(1)=1+0.9\,V(1)$ (정비)
- 구할 것
- (a) $V_0=0$에서 시작해 가치 반복(위 식의 우변으로 $V$를 갱신)을 네 번 하라. (b) 정책 $a$에서 시작해 정책 반복(평가 → 개선)을 하라. (c) 최적 정책과 $V^\star$를 구하라.
풀이 보기
(a) 가치 반복 $V_{k+1}=TV_k$$Q_a(1)=0.9(0.5V(1)+0.5V(2))$, $Q_b(1)=1+0.9V(1)$, $V(2)=4+0.9V(1)$이다.
| $k$ | $Q_a(1)$ | $Q_b(1)$ | $V_k(1)$ | $V_k(2)$ |
|---|---|---|---|---|
| 1 | 0 | 1 | 0 | 4 |
| 2 | 1.8 | 1 | 1 | 4 |
| 3 | 2.25 | 1.9 | 1.9 | 4.9 |
| 4 | 3.06 | 2.71 | 2.71 | 5.71 |
| $\infty$ | 10.35 | 10 | 10 | 13 |
수렴 속도는 $\gamma^k$이므로 0.1% 정확도에 약 70번이 필요하다.
(b) 정책 반복: 평가(선형방정식)와 개선정책 $a$를 평가하면 $V(1)=0.45(V(1)+V(2))$, $V(2)=4+0.9V(1)$이므로 $V^a=(12.41,\ 15.17)$이다. 개선 단계에서 $Q_a(1)=12.41$, $Q_b(1)=1+0.9\cdot12.41=12.17$이 작으므로 $b$로 바꾼다.
정책 $b$를 평가하면 $V(1)=1+0.9V(1)$이므로 $V(1)=10$, $V(2)=13$이다. 개선 단계에서 $Q_a(1)=0.45\cdot23=10.35>10$이므로 정책이 바뀌지 않는다. 두 번 만에 수렴했다.
(c)$\pi^\star(1)=b$, $V^\star=(10,13)$이다.
정책 반복은 Newton 방법이고(소수 반복, 각 반복에 선형방정식 풀이), 가치 반복은 고정점 반복이다(많은 반복, 각 반복은 저렴함). LQR에서도 같은 구분이 있다. Riccati 재귀 \eqref{eq:ric}가 가치 반복이고, Hewer 알고리즘(Lyapunov 방정식 풀이 → 게인 갱신)이 정책 반복이다. 두 방법 모두 $p(s'\mid s,a)$를 사용한다.
4.4 DP와 RL의 차이
| DP (계획) | RL (학습) | |
|---|---|---|
| 알고 있는 것 | 모델 $p(s'\mid s,a)$, $c$ | 샘플 $(s,a,c,s')$만 |
| Bellman 백업 | 기댓값 $\sum_{s'}p(\cdot)\,V(s')$ (정확) | 샘플 하나 $V(s')$ (잡음 있음) → 확률적 근사 |
| 계산 대상 | 모든 상태를 순회 | 방문한 상태만 → 탐험이 필요 |
| 수렴 조건 | 축약 사상 ($\gamma<1$) | + 모든 $(s,a)$ 무한 방문 + $\sum\alpha_k=\infty$, $\sum\alpha_k^2<\infty$ |
| LQR에서의 형태 | Riccati / Hewer | 데이터로 $Q$ 함수 추정 (예제 4.4) [14, 15] |
갱신식
\begin{equation} Q(s,a)\leftarrow Q(s,a)+\alpha_k\Big[c+\gamma\min_{a'}Q(s',a')-Q(s,a)\Big] \label{eq:ql} \end{equation}은 유한 MDP에서 모든 $(s,a)$가 무한히 자주 갱신되고 $\sum\alpha_k=\infty$, $\sum\alpha_k^2<\infty$이면 확률 1로 $Q^\star$에 수렴한다. 갱신식은 \eqref{eq:qbell}의 기댓값을 샘플 하나로 바꾼 것이다.
- MDP
- 예제 4.2와 같다. 상태 1(정상)에서 행동 $a$(방치)·$b$(정비), 상태 2(고장)에서 행동 $r$(수리), $\gamma=0.9$. 전이확률은 모른다. 샘플만 관측한다.
- Q 값
- $Q(1,a)$, $Q(1,b)$, $Q(2,r)$ 세 개. 처음에는 모두 0 ($Q\equiv0$)
- 갱신식
- (식 \eqref{eq:ql}, 학습률 $\alpha=0.5$) target $y=c+0.9\,\min_{a'}Q(s',a')$ $Q(s,a)\leftarrow Q(s,a)+0.5\,\big[\,y-Q(s,a)\,\big]$
- 샘플
- $(s,a,c,s')$ 순서로 ① (1,a,0,2) ② (2,r,4,1) ③ (1,b,1,1) ④ (1,a,0,2) ⑤ (2,r,4,1) ⑥ (1,b,1,1)
- 구할 것
- (a) 샘플 여섯 개를 차례로 갱신식에 넣어 각 단계의 Q 값을 구하라. (b) 마지막 Q 값으로 정한 greedy 정책을 예제 4.2의 최적 정책($b$)과 비교하라.
풀이 보기
| # | target $c+\gamma\min Q(s',\cdot)$ | $Q(1,a)$ | $Q(1,b)$ | $Q(2,r)$ |
|---|---|---|---|---|
| ① | $0+0.9\cdot0=0$ | 0 | 0 | 0 |
| ② | $4+0.9\cdot0=4$ | 0 | 0 | 2 |
| ③ | $1+0.9\cdot0=1$ | 0 | 0.5 | 2 |
| ④ | $0+0.9\cdot2=1.8$ | 0.9 | 0.5 | 2 |
| ⑤ | $4+0.9\cdot\min(0.9,0.5)=4.45$ | 0.9 | 0.5 | 3.225 |
| ⑥ | $1+0.9\cdot0.5=1.45$ | 0.9 | 0.975 | 3.225 |
여섯 스텝 뒤의 greedy 정책은 $\arg\min(0.9,\,0.975)=a$로, 아직 틀렸다. 참값은 $Q^\star(1,a)=10.35$, $Q^\star(1,b)=10$이다.
(i) ②에서 "고장의 비용 4"가 ④를 거쳐 $Q(1,a)$로 한 스텝씩 전파된다. DP는 $p$를 알기 때문에 이 전파를 한 번의 백업으로 끝낸다. (ii) 만약 ④–⑥에서 greedy하게 $a$만 골랐다면 $Q(1,b)$는 갱신되지 않는다. 이것이 탐험($\varepsilon$-greedy)이 필요한 이유다. 비용 문제에서 $Q\equiv0$으로 초기화하면 낙관적인 초기값이 되어, 방문하지 않은 행동을 시도하게 만든다.
- 시스템
- $x_{k+1}=a\,x_k+b\,u_k$, $(a,b)$는 모른다 (실제 값은 $\Sigma_2$의 $(2,1)$)
- 비용
- $\sum_{k\ge0}\big(x_k^2+u_k^2\big)$ ($q=r=1$. 참 모델의 LQR 해는 $P=4.236$, $K=1.618$)
- 데이터
- $(x_k,u_k,x_{k+1})$ 형태 D1 (잡음 섞인 입력): (1, 0, 2), (2, −1, 3), (3, −4, 2) D2 (기존 제어기 $u=-1.5x$로만 운전): (1, −1.5, 0.5), (0.5, −0.75, 0.25)
- 구할 것
- (a) D1에서 최소제곱으로 $(a,b)$를 추정하고, 그 모델로 LQR 게인을 구하라 (certainty equivalence). (b) D2로도 같은 일을 할 수 있는가? 데이터와 일치하는 모델 세 개를 찾고, 각 모델로 설계한 LQR 게인을 실제 시스템에 쓰면 극점 $2-K$가 어떻게 되는지 비교하라. (c) 모델 대신 $Q$ 함수 $Q^\star(x,u)=\begin{bmatrix}x\\u\end{bmatrix}^{\!\top}\!\begin{bmatrix}H_{xx}&H_{xu}\\H_{ux}&H_{uu}\end{bmatrix}\!\begin{bmatrix}x\\u\end{bmatrix}$를 쓰면 게인은 $K=H_{uu}^{-1}H_{ux}$이다. $H$를 구하고 이 관계를 확인하라.
풀이 보기
(a)회귀 행렬 $\Phi=\begin{bmatrix}1&0\\2&-1\\3&-4\end{bmatrix}$은 rank 2이다. 첫 식에서 $a=2$, 둘째 식에서 $2a-b=3$이므로 $b=1$이고, 셋째 식도 만족한다. 예제 1.2(b)에 의해 $K=\varphi=1.618$이다.
(b)$u=-1.5x$이면 $\Phi$의 두 열이 비례하므로(rank 1) $a-1.5b=0.5$만 결정된다. $(2,1)$, $(2.75,1.5)$, $(0.5,0)$이 모두 데이터와 정확히 일치한다. 각 모델로 설계한 게인과 실제 폐루프 극점은 다음과 같다.
| 추정 모델 $(a,b)$ | LQR 게인 | 실제 극점 $2-K$ |
|---|---|---|
| (2, 1) | 1.618 | 0.382 |
| (2.75, 1.5) | 1.651 | 0.349 |
| (0.5, 0) | 0 | 2 (발산) |
$Q^\star(x,u)=x^2+u^2+P(2x+u)^2$이므로 $H=\begin{bmatrix}1+4P&2P\\2P&1+P\end{bmatrix}=\begin{bmatrix}17.94&8.47\\8.47&5.24\end{bmatrix}$이다. $K=8.472/5.236=1.618$로, 모델 없이 $H$만으로 게인을 얻는다. $H$의 원소 세 개는 데이터 $(x_k,u_k,c_k,x_{k+1})$에 대한 Bellman 방정식에서 최소제곱으로 추정한다(LSTD-Q).
(b)는 예제 4.3의 "탐험 부족"을 연속 시스템에서 다시 본 것이다. 폐루프 데이터만으로는 "입력이 효과가 없다"($b=0$)는 모델도 데이터와 일치한다. 따라서 입력에 탐험 잡음을 섞어야 하며(persistent excitation), 이 점에서 RL의 탐험과 시스템 식별의 여기 조건은 같은 개념이다 [14].
4.5 차원의 저주
표 기반 DP와 Q-learning은 상태 공간을 격자로 나눈다. 한 축당 100칸이면 상태가 $n$개일 때 $100^n$칸이 필요하다. 1절의 Riccati가 강력한 이유는 이차 함수 근사가 정확해서 격자가 필요 없기 때문이다. 일반적인 비선형 문제에서는 $V$나 $Q$를 함수 근사(신경망 등)로 표현하며, 이것이 deep RL의 출발점이다.
4.6 하나의 그림: MPC와 RL은 모두 근사 DP다
Bertsekas [6]의 관점으로 정리하면, 세 방법은 모두 무한 구간 Bellman 방정식 \eqref{eq:bell}을 푸는 서로 다른 근사다.
\begin{equation} \kappa(x)=\argmin_{u_0,\dots,u_{N-1}}\ \Big[\underbrace{\sum_{k=0}^{N-1}\ell(x_k,u_k)}_{\text{온라인 lookahead}}+\underbrace{\tilde V(x_N)}_{\text{종단 비용 근사}}\Big]_{0}. \label{eq:adp} \end{equation}| 방법 | $N$ | $\tilde V$ | 제약 | 모델 |
|---|---|---|---|---|
| LQR | 1 | 정확한 $Px^2$ | 없음 | 필요 |
| MPC | $N$ | $V_f$ (보통 LQR의 $P$) | 처리함 | 필요 |
| RL (가치 기반) | 1 | 데이터로 학습한 $V$ 또는 $Q$ | 보통 비용으로 처리 | 불필요 |
| AlphaZero류 | $N$ (트리 탐색) | 학습한 $V$ | – | 시뮬레이터 |
예제 2.1이 이 관점을 그대로 보여준다. $\tilde V$가 정확하면 $N=1$로 충분하고, 부정확하면 $N$을 늘려 보완한다. 이렇게 보면 "MPC 대 RL"은 대립 관계가 아니다. 종단 비용을 계산하느냐(MPC) 학습하느냐(RL)의 차이다.
5. 연습문제 과제
- 시스템
- $x_{k+1}=x_k+u_k$ (적분기 $\Sigma_1$)
- 비용
- $\sum_{k\ge0}\big(x_k^2+2u_k^2\big)$ (무한 구간, $q=1$, $r=2$)
- 구할 것
- (a) DARE $P=1+P-\dfrac{P^2}{2+P}$의 해 $P$와 게인 $K=\dfrac{P}{2+P}$를 구하라. (b) $r=1$일 때(예제 1.2(a): 극점 $1-K=0.382$)와 비교해, 입력 가중치 $r$을 키우면 폐루프 극점 $1-K$는 어느 방향으로 움직이는가?
답
$P=1+P-\frac{P^2}{2+P}$이므로 $P^2-P-2=0$이고 $P=2$, $K=P/(r+P)=0.5$, 극점은 $0.5$이다 ($r=1$일 때는 0.382). 입력이 비싸지면 극점이 1 쪽(느린 쪽)으로 이동한다.
- 시스템
- $x_{k+1}=2x_k+u_k$ (불안정 $\Sigma_2$)
- MPC
- $\displaystyle\min_{u_0,u_1}\ x_0^2+u_0^2+x_1^2+u_1^2+x_2^2$, 제약 없음 ($N=2$, $q=r=1$, $V_f=x^2$)
- 구할 것
- (a) MPC 법칙 $u=-Kx$의 게인 $K$와 폐루프 극점 $2-K$를 구하라. (b) 예제 2.1의 표($V_f=0$일 때 $N$별 $K$)에서 어느 칸과 같은가?
답
$P_1=\mathrm{Ric}(1)=1+4-2=3$이므로 $K=1.5$, 극점은 0.5이다. $V_f=0$, $N=3$인 칸과 같다. $V_f=qx^2$는 Riccati를 한 스텝 미리 돌린 것과 같기 때문이다.
- 시스템
- $x^+=2x+u$, 제약 $|u|\le1$, $|x|\le5$ (예제 3.1과 같음)
- 종단 제약
- $|x_N|\le0.5$ ($\X_f=[-0.5,\,0.5]$)
- 구할 것
- (a) $\X_0=\X_f$에서 시작해 $\X_1,\X_2,\X_3$을 구하라. $\X_j$는 $|x|\le5$이면서, $|u|\le1$인 어떤 입력으로 $2x+u$를 $\X_{j-1}$ 안에 넣을 수 있는 $x$의 집합이다. (b) $\X_f$는 제어 불변인가? 즉 모든 $|x|\le0.5$에서 $|u|\le1$인 입력으로 $|2x+u|\le0.5$를 지킬 수 있는가?
답
$s_j=(s_{j-1}+1)/2$이므로 $0.75$, $0.875$, $0.9375$이다. $|x|\le0.5$이면 $u=-2x$ ($|u|\le1$)로 $x^+=0$이 되므로 $\X_f$는 제어 불변이고, 정리 3.1(A1)에 의해 재귀적으로 실행 가능하다.
- 시스템
- $x^+=2x+u+w$, $|u|\le1$, $|w|\le\bar w=0.5$ (예제 3.5에서 $\bar w=0.5$)
- 참고
- 대칭 구간 $[-s,s]$가 강인 제어 불변이려면 $\bar w\le s\le1-\bar w$
- 구할 것
- 강인 제어 불변 집합은 무엇이며, 그 위에서 쓸 수 있는 제어기는 무엇인가?
답
조건 $\bar w\le s\le1-\bar w$를 만족하는 값은 $s=0.5$ 하나뿐이므로, 강인 불변 집합은 $[-0.5,0.5]$ 하나다. $u=-2x$를 쓰면 $x^+=w\in[-0.5,0.5]$이다. 이때 $|u|\le1$이 정확히 빠듯하게 성립한다.
- MDP
- 예제 4.2에서 정비 비용만 $c_b$로 바꾼다. 상태 1(정상): $a$(방치) 비용 0, 확률 0.5씩 1 또는 2로 / $b$(정비) 비용 $c_b$, 1에 머묾 상태 2(고장): $r$(수리) 비용 4, 1로
- 할인율
- $\gamma=0.9$
- 구할 것
- $c_b$가 얼마 이하일 때 상태 1에서 $b$(정비)가 최적인가? ($c_b=1$이면 $b$가 최적이었다)
답
정책 $b$에서는 $V(1)=10c_b$, $V(2)=4+9c_b$이고, $Q_a(1)=0.45(19c_b+4)=8.55c_b+1.8$이다. $10c_b\le8.55c_b+1.8$을 풀면 $c_b\le1.241$이다. 이 값은 정책 $a$의 가치 $V^a(1)=12.41$을 10으로 나눈 것과 같다.
참고문헌
강의 자료는 예제의 형식을 참고한 것이고, 이 노트의 숫자 예제는 모두 이 강의를 위해 새로 만든 것이다.
- S. Boyd, EE363: Linear Dynamical Systems, Stanford University, Lecture 1 "Linear quadratic regulator: discrete-time finite horizon." stanford.edu/class/ee363/lectures/dlqr.pdf
- J. How, 16.323 Principles of Optimal Control, MIT OpenCourseWare, Spring 2008. ocw.mit.edu
- D. P. Bertsekas, 6.231 Dynamic Programming and Stochastic Control, MIT OpenCourseWare, Fall 2015. ocw.mit.edu
- F. Borrelli, A. Bemporad, M. Morari, Predictive Control for Linear and Hybrid Systems, Cambridge Univ. Press, 2017. (UC Berkeley ME231 교재; 실행 가능 집합과 불변 집합은 Ch.10–12)
- J. B. Rawlings, D. Q. Mayne, M. Diehl, Model Predictive Control: Theory, Computation, and Design, 2nd ed., Nob Hill, 2017. 저자 무료 PDF
- D. P. Bertsekas, Lessons from AlphaZero for Optimal, Model Predictive, and Adaptive Control, Athena Scientific, 2022.
- A. Bemporad, M. Morari, V. Dua, E. N. Pistikopoulos, "The explicit linear quadratic regulator for constrained systems," Automatica, 38(1):3–20, 2002.
- D. Q. Mayne, J. B. Rawlings, C. V. Rao, P. O. M. Scokaert, "Constrained model predictive control: Stability and optimality," Automatica, 36(6):789–814, 2000.
- F. Blanchini, "Set invariance in control," Automatica, 35(11):1747–1767, 1999.
- E. C. Kerrigan, J. M. Maciejowski, "Soft constraints and exact penalty functions in model predictive control," Proc. UKACC Int. Conf. Control, 2000.
- P. O. M. Scokaert, D. Q. Mayne, J. B. Rawlings, "Suboptimal model predictive control (feasibility implies stability)," IEEE Trans. Automatic Control, 44(3):648–654, 1999.
- R. S. Sutton, A. G. Barto, Reinforcement Learning: An Introduction, 2nd ed., MIT Press, 2018. 무료 PDF (Stanford CS234 등의 표준 교재)
- C. J. C. H. Watkins, P. Dayan, "Q-learning," Machine Learning, 8:279–292, 1992.
- B. Recht, "A tour of reinforcement learning: The view from continuous control," Annu. Rev. Control, Robotics, and Autonomous Systems, 2:253–279, 2019. arXiv:1806.09460
- S. J. Bradtke, B. E. Ydstie, A. G. Barto, "Adaptive linear quadratic control using policy iteration," Proc. American Control Conf., 1994.
- R. Bellman, Dynamic Programming, Princeton University Press, 1957. (최적성 원리의 원전)