\documentstyle[epsbox,bmpwmf]{jarticle} \newcommand{\vect}[1]{\mbox{\boldmath $#1$}} \newcommand{\hinfty}{{\cal H}_{\infty}} \title{ モデルなしLQ学習制御 (研究室資料)} \author{河村嘉顯 大阪電気通信大学工学部電子工学科} \date{} \begin{document} \maketitle \section{LQ最適制御} \subsection{簡単な制御問題} 本研究室で開発したモデル無しLQ学習制御の理解には状態変数と 現代制御理論において中心的役割を果たしてきたLQ最適制御の考えが 不可欠である。 実際、モデル無しLQ学習制御はこれらを用いる。 このため、最初にLQ最適制御\cite{計測自動制御学会}〜 \cite{藤井他}について説明する。 最初に,ごく簡単な例により,問題の概略を理解しておこう。 離散時間$t=0,1,2,\cdots$において定義された1状態システム \begin{eqnarray} x(t+1)=x(t)+u(t) \label{1state eq} \end{eqnarray} を考えよう. ここで,$x(t)$はスカラ値の状態変数と呼ばれ, その変化は入力$u(t)$により制御される. ここでは,制御入力を$u(t)=gx(t)$と与えることとし, 制御の目的は状態$x(t)$を安定に原点0に近づけることとする. この制御の良し悪しをより正確に判断するために,評価関数 \begin{eqnarray} J=\sum_{t=0}^{\infty}[\{x(t)\}^{2}+2\{u(t)\}^{2}] \label{1perform eq} \end{eqnarray} を導入する. この値が小さいほど,状態および入力は原点に近い値をとることになる. したがって,ここでは$J$を最小とするように, フィードバックゲイン$g$を決定しよう. 制御入力を(\ref{1state eq})式の状態方程式に代入すると, \begin{eqnarray} x(t+1)=(1+g)x(t) \end{eqnarray} である. このとき,$x(0)$を基準として,$t=0,1,2,\cdots$を順次代入すると, \begin{eqnarray} x(t)=(1+g)^{t}x(0) \label{inf serious} \end{eqnarray} が得られる. すなわち、応答は項比$(1+g)$の等比数列である。 これを(\ref{1perform eq})式の評価関数に代入し, 等比級数の和の公式を用いて, \begin{eqnarray} J &=& \sum_{t=0}^{\infty}[(1+g)^{2t}+2g^{2}(1+g)^{2t}]x(0)^{2} \nonumber \\ &=& \sum_{t=0}^{\infty}(1+2g^{2})(1+g)^{2t}x(0)^{2} \nonumber \\ &=& \frac{1+2g^{2}}{1-(1+g)^{2}}x(0)^{2} \label{J sum} \end{eqnarray} が得られる. ただし、最下式は和が存在する場合の結果である。 以上より,$J$は$g$の値によって異なった値をとる. 例えば,$g=-0.2$のとき,等比級数の項比は0.8となり, (\ref{inf serious})式は0に収束する減衰級数であり, (\ref{J sum})式は有限の和を持つ. 一方,$g=0.2$のとき,項比は1.2であり,(\ref{inf serious})式は 発散級数であり,有限の和を持たない. 正確にいえば,$g$が開区間(-2,0)上にあるときのみ, $J$は有限の値を持つ. この区間内では,$J$は$g$に関して滑らかな連続関数であり, $g$がこの区間の両端に近いほど大きい値をとり, -2あるいは0の極限において$J\to\infty$になる. これより,$J$はこの区間上の少なくとも1点において最小値をとる. また,この点において,$J$の勾配$dJ/dg$は0となる. なぜならば,この点において, $J$の勾配が正の値を持つならば, この点より左側において$J$はより小さい値を持ち, また負の値を持つならば,右側においてより小さい値を持つ. このため.$J$がこの点において最小であることに矛盾するからである. ここで,(\ref{J sum})式を微分すると, \begin{eqnarray} \frac{dJ}{dg} &=& \frac{4g\{1-(1+g)^{2}\}-(1+2g^{2})\{-2(1+g)\}} {\{1-(1+g)^{2}\}^{2}}x(0)^{2} \nonumber \\ &=& \frac{(1-g)(1+2g)}{\{1-(1+g)^{2}\}^{2}}x(0)^{2} \end{eqnarray} である. したがって,$dJ/dg=0$の解として$g=-0.5,$と$1$が得られるが, 区間$(-2,0)$上の解は-0.5だけである. したがって、$J$を最小とするゲイン$g_{opt}$と,これを(\ref{J sum})式に代入した $J$の最小値$J_{min}$は以下のようになる. \begin{eqnarray} g_{opt}&=&-0.5 \label{optgain} \\ J_{min} &=& 2x(0)^{2} \end{eqnarray} なお,以上で扱った問題は時不変状態フィードバック ゲイン $g$ の最適化である. したがって,$g$ を最適化して得られる入力 $u(t)$ が あらゆる入力の中で,評価関数 $J$ を 最小にするか否かは明らかでない。 以下において、この点を説明する. \subsection{LQ問題} 例題の制御では,設計者が具体的に制御の方法を指定したのではなく, 望ましい制御を評価関数の形で与えることにより, 具体的な制御は理論的に誘導されることが特徴といえる. このような制御法は一般に最適制御と呼ばれる. とくに,線形システムに対して 2次形式の評価関数を最小にする制御入力を求める最適制御は LQ(linear-quadratic)制御と呼ばれ, 1960年頃に米国のKalmanによって定式化された. すなわち,最適制御は可能なありとあらゆる制御入力の中で, 評価関数をこれ以上は決して小さくできないような (この意味で最適な)制御といえる. ただし,最適制御は初期状態$x(0)$が異なると,異なった制御が 最適制御となる. この意味で,最適制御は初期状態$x(0)$の関数である。 例題の手法をそのまま高次システムに拡張し、評価関数が 決してこれ以上小さくなりえない最適制御を求めることが 容易とは考えられない. 以下の関係はKalmanの結果を基にしている. ただし、LQ最適制御は微分方程式で表される連続時間システムに対して 記述されるのが標準的であるが\cite{計測自動制御学会},本文では, コンピュータでの処理を前提として,離散時間システムについて \cite{木村(教)},\cite{土屋,江上},\cite{藤井他}記述する. 上記の評価関数では,評価関数が状態$x(t)$の2次形式だけでなく, 入力$u(t)$の2次項を含むことに注意されたい. もし,状態をできるだけ原点に近づける事のみを重視すれば, 評価関数を$x(t)^{2}$の項のみから構成すればよく, $u(t)^{2}$の項は不必要に思われるかもしれない. 実際,上の例では,$u(t)=-x(t)$とするとき,初期状態にかかわらず 1クロック($t=1$)において,状態は0となり,$x(t)^{2}$の評価はは最小化 される. このように,状態を有限期間内に0に一致させる制御は 有限製定制御(デッドビート制御)\cite{土屋,江上}と呼ばれている. しかしながら,たとえば高速に走行する自動車をほぼ一瞬で止めることは 不可能に近い. すなわち,この制御はより複雑な制御問題に対して,しばしば 非現実的に大きい制御入力を用いて,強引に状態を0に近づける制御となる. また、制御入力が無限大に発散する場合も少なくない. さらに,入力数より出力数の多い場合などでは,どのような制御を用いても 一瞬に状態を0にすることはできない. これに対して,上の例のように入力の大きさも考慮して, 入力と状態のバランスをとりながらこれらの和を最小とする制御は 状態を最小とする制御の最良近似解を求める問題であり, はるかに広いクラスの線形システムに対して簡単で実用的な 制御となることが知られている. 実際、上の例題では,$u(t)=-x(t)$ではなく,$u(t)=-0.5x(t)$が 解となっている。 以下では,最初に有限期間のLQ最適制御を、次に無限期間のLQ最適制御を説明する。 \subsection{LQ制御の定式化} 最初にLQ最適制御について、よく知られた標準的な関係を説明する. 離散時間($t=0,1,2,\cdots,L$)において定義された線形システム \begin{eqnarray} x(t+1) = Ax(t)+Bu(t) \label{system eq} \end{eqnarray} を考えよう. ただし$x(t)$は状態変数(通常はベクトル)であり, $u(t)$は制御入力である. このシステムの状態をできるだけ0にする基礎的な制御問題は レギュレータ問題と呼ばれる。 このシステムに対し,2次形式評価関数 \begin{eqnarray} J(\tau ,L) = \sum_{t=\tau}^{L-1} \{x(t)^{T}Qx(t)+u(t)^{T}Ru(t)\}+x(L)^{T}P_{0}x(L). \label{perform} \end{eqnarray} を導入する. ただし,$Q=C^{T}C\ge 0$, $P_{0}\ge 0$(半正定行列)であり, $R=D^{T}D>0$(正定行列)とする. これにより、評価関数は負にはならない。 いま、初期状態 $x(0)$ が与えられたとして、 可能なあらゆる入力系列の中で、この評価関数を これ以上決して小さくすることができない入力系列を考えよう. 上記評価関数を最小化する制御入力を求める問題は LQ(linear-quadratic)問題と言われる. ここでは,一般的なシステムについてLQ最適制御を求めよう. \subsection{定理} {\bf [定理1−1]}LQ問題の解は線形時変状態フィードバック \begin{eqnarray} u(t) = G(t)x(t) \end{eqnarray} によって与えられる. ただし,状態フィードバックゲイン$G(t)$は 終端条件 \begin{eqnarray} P(L) = P_{0} \end{eqnarray} を指定したリッカチ行列差分方程式 \begin{eqnarray} P(t) &=& A^{T}P(t+1)A +Q \nonumber \\ &-& A^{T}P(t+1)B\{B^{T}P(t+1)B+R\}^{-1}B^{T}P(t+1)A \label{Ric eq} \end{eqnarray} の半正定解$P(t)$を用いて, \begin{eqnarray} G(t) = -\{B^{T}P(t+1)B+R\}^{-1}B^{T}P(t+1)A \label{gain eq} \end{eqnarray} と与えられる. またこのときの$J(t,L)$の最小値は$x(t)$の値に関わらず \begin{eqnarray} J_{min}(t,L) = x(t)^{T}P(t)x(t) \label{mini J} \end{eqnarray} と与えられる.\\ {\bf (注意)}上に示すように,制御問題のリッカチ差分方程式は 終端値$P(L)=P_{0}$が与えられると,逆時間方向($t=L-1,L-2,L-3,\cdots$) に解$P(t)$を求めていくことができる. これに基づいて,最適ゲインが決定できるが,このことは 極めて複雑と思われる最適制御が,実はやや信じがたいほどの 単純な線形の状態フィードバックにより与えられることを 意味している. また、この結果は最適制御が逆時間方向に定まることを表す. 実際,「制御としてどのようなものが良いか」については,「いつ制御を 中止するか」が,重要な意味を持つ. とくに,ある瞬間の入力の影響が十分時間の経過した後の出力に 現れる場合,制御を中止する時刻の直前に制御入力を与えても 無駄であるといえる. なお、以上のゲ Cン$G(t)$は状態$x(t)$と無関係に定まるため, いったんこれらゲインを求めると, システムの初期状態$x(0)$にかかわらず, 改めて$G(t)$を求めなくても,$G(t)x(t)$により最適制御を 実行できる. \subsection{例題} (\ref{1state eq})式で与えられるシステムについて,$L$を有限とする (\ref{perform})式を評価関数とする場合の最適制御を求めよう. この場合,$A=B=Q=1$,$R=2$を代入すると,リッカチ差分方程式 (\ref{Ric eq})式は \begin{eqnarray} p(t) &=& p(t+1) +1-\frac{p(t+1)^{2}}{p(t+1)+2} \label{ex-riccati} \end{eqnarray} である.ここで,終端条件を \begin{eqnarray} p(L)=0 \end{eqnarray} とする. (\ref{ex-riccati})式の右辺$p(t+1)$にそれぞれ求まった値($t=L-1,~ L-2,~\cdots$)を代入することにより, \begin{eqnarray} & & p(L)=0, ~ p(L-1)=1, ~ p(L-2)=1.67, ~ p(L-3)=1.91, ~ \nonumber \\ & & p(L-4)=1.98, ~ p(L-5)=1.994,~\cdots \nonumber \end{eqnarray} となる. したがって,最適制御の状態フィードバックゲインは \begin{eqnarray} g(t)=-\frac{p(t+1)}{p(t+1)+2} \end{eqnarray} より, \begin{eqnarray} & & g(L-1)=0, ~ g(L-2)=-0.33, ~ g(L-3)=-0.46, ~ \nonumber \\ & & g(L-4)=-0.488, ~ g(L-5)=-0.497, ~\cdots \nonumber \end{eqnarray} と与えられ,有限期間の制御であるため,ゲインは時変である. \subsection{証明} 数学的帰納法を用いて定理1-1を証明する. いま,ある区間$[t+1,L]$において, $J(t+1,L)$を最小とする最適制御が存在し, (\ref{Ric eq}),(\ref{gain eq})式と(\ref{mini J})式において $t$を$t+1$に置き換えた関係が成立すると仮定しよう. すなわち,同区間の$J(t+1,L)$が 正定行列$P(t+1)$を用いて$x(t+1)$の値に関わらず \begin{eqnarray} x(t+1)^{T}P(t+1)x(t+1) = J_{min}(t+1,L) \label{mini relation} \end{eqnarray} と表されるとしよう. この仮定のもとに,初期時刻が$t$の場合を考察する. 制御の問題においては,動的計画法と呼ばれる手法が一般に 有効である. 動的計画法では、「ある時刻$t$以後において最適な制御が実施されて いる場合,それ以後の任意の時刻($t+1$,$t+2$,$\cdots$などの 勝手な時刻)を初期時刻と考えた場合にも,さきの最適制御はこの 範囲内の最適制御になっている」との性質を利用する. このため、いま、$P(t+1)$は求まっていると仮定する。 この場合の評価関数$J(t,L)$は$[t+1,L]$においても 最適な制御となっているので,$t+1$以後において (\ref{perform})式と(\ref{mini relation})式の関係を用いると, \begin{eqnarray} J(t,L) &=& x(t)^{T}Qx(t) + u(t)^{T}Ru(t) \nonumber \\ &+& x(t+1)^{T}P(t+1)x(t+1) \end{eqnarray} と与えられる. この式に(\ref{system eq})式を代入すると, \begin{eqnarray} J(t,L) &=& x(t)^{T}Qx(t) + u(t)^{T}Ru(t) \nonumber \\ &+& \{Ax(t)+Bu(t)\}^{T}P(t+1)\{Ax(t)+ Bu(t)\} \label{1stage eq} \end{eqnarray} が得られる.この場合に決定すべき制御変数は $u(t)$だけであり, $P(t+1)$は固定して考えることができる. このように,ある一つの時刻の制御入力を求める問題は 1段決定問題と言われる. この1段決定問題において$J(t,L)$が $u(t)$に関する簡単な2次式であることに注意すると, $J(t,L)$を最小にする$u(t)$がただ1つ 定まることがわかる. ここで,$u(t)$微小な値$\delta u(t)$だけ 変化した場合の$J(t,L)$の微小変化(全微分)を $\delta J(t,L)$とおくと, \begin{eqnarray} \delta J(t,L) &=& u(t)^{T}R \delta u(t) + \delta u(t)^{T}R u(t) \nonumber \\ &+& \{Ax(t)+Bu(t)\}^{T}P(t+1) B\delta u(t) \nonumber \\ &+& \delta u(t)^{T}B^{T}P(t+1)\{Ax(t)+Bu(t)\} \nonumber \\ &=& 2\Bigl[ u(t)^{T}R \nonumber \\ &+& \{Ax(t)+Bu(t)\}^{T}P(t+1) B \Bigr]\delta u(t) \end{eqnarray} となる.なお,$\delta J(t,L)$スカラ値なので, 各項を転置してもその値は変わらないこと, および行列の積の転置は個々の行列の転置において積の順序を 交換したものになることを用いている. これより,$u(t)$がこの1段決定問題の 最適入力であるための必要条件は $\delta u(t)$の正負に関わらず $\delta J(t,L)$が0となることである. これより,最適入力は \begin{eqnarray} u(t)^{T}R + \{x(t)+Bu(t)\}^{T}P(t+1) B ~=~0  \label{opt cond} \end{eqnarray} を満たすことになる. 他にこの条件を満たす$u(t)$は存在しないから, この場合の$u(t)$が与えられた$P(t+1)$のもとに, $J(t,L)$を最小にする. この両辺に$\{B^{T}P(\tau+1) B+R\}^{-1}$を掛けて整理すると, \begin{eqnarray} u(t) = -\{B^{T}P(t+1) B+R\}^{-1}B^{T}P(t+1) Ax(t) \label{opt input} \end{eqnarray} が$J(t,L)$最小にする入力である. ここで, \begin{eqnarray} G(t) = -\{B^{T}P(t+1) B+R\}^{-1}B^{T}P(t+1)A \end{eqnarray} とおくと,この場合の$u(t)$は(\ref{gain eq})式のように 線形状態フィードバックで与えられることがわかる. すなわち,$[t,L]$における (\ref{gain eq})が成立することがわかる. なお,少なくとも$R>0$であれば,この場合の逆行列は存在する。 つぎに,(\ref{1stage eq})式を整理して \begin{eqnarray} J(t,L) &=& x(t)^{T}A^{T}P(t+1)Ax(t) + x(t)^{T}Qx(t) \nonumber \\ &+& x(t)^{T}A^{T}P(t+1)Bu(t) + u(t)^{T}B^{T}P(t+1)Ax(t) \nonumber \\ &+& u(t)^{T}\{B^{T}P(t+1)B+R\}u(t) \end{eqnarray} がえられる. この中の$u(t)$に(\ref{opt input})式を代入すると, 右辺の第3〜5項はそれぞれ+あるいは−の値を持つ同じ項となり, \begin{eqnarray} & & J_{min}(t,L) ~=~ x(t)^{T}\Bigl[A^{T}P(t+1)A + Q \nonumber \\ & & ~~~-~ A^{T}P(t+1)B\{B^{T}P(t+1) B+R\}^{-1}B^{T}P(t+1)A\Bigr] x(t) \end{eqnarray} が成立する. したがって,すでに与えられた$P(t+1)$を用いて,新たに $P(t)$を(\ref{Ric eq})式のように与えると, これを上式に代入して, \begin{eqnarray} J_{min}(t,L) &=& x(t)^{T}P(t)x(t) \label{J1 cond} \end{eqnarray} となる. このとき,任意の$x(t)$に対して$J_{min}(t,L)\ge 0$であるから, $P(t)\ge 0$である. 以上により,ある$t+1$に関する最適性の仮定から, $t$についても同じ最適性が成立することが証明できた. したがって,$t=L$の場合に,この関係が成立すれば, 数学的帰納法により,全ての$t=L,L-1,L-2,\cdots,0$について 定理が成立する. $t=L$の場合,(\ref{perform})式と$P(L)=P_{0}$より, \begin{eqnarray} J_{min}(L,L) = x(L)^{T}P(L)x(L)  \end{eqnarray} が成立するから,ただちにこの仮定が成立することがわかる. 以上により,数学的帰納法による証明が完結した. 一般に,離散時間最適制御の問題はある区間にわたる 全ての制御入力を求める必要があり,多段決定問題と言われる. この問題は,はるかに簡単な1段決定問題を終端時刻から 逆時間方向に繰り返し解くことに帰着される. とくにLQ問題では,各1段決定問題の評価関数は制御入力 (またはフィ−ドバックゲイン)に関する2次式になっており, その微分は線形方程式となる. このため,最適制御は逆行列を用いて簡単に与えられる. \section{無限期間LQ制御} \subsection{リッカチ差分方程式の収束} ここでは,終端時刻$L$が十分大きく,当分の間は最適制御を実施 続ける場合を考えよう. 先に述べたように,最適制御は制御を中止する時刻が重要な意味を持つ. $L$が十分大きい場合,終端時刻$L$を$\infty$とみなしたほうが簡単で, 安定性に結びついた結果が得られる. (\ref{system eq})式のシステムについて,無限期間の評価関数 \begin{eqnarray} J(t ,\infty) = \sum_{\tau=t}^{\infty} \{x(\tau)^{T}Qx(\tau)+u(\tau)^{T}Ru(\tau)\} \label{perform func} \end{eqnarray} を考える.\\ {\bf [定理2−1]}システムの行列が$(A,B)$が可制御,$(C,A)$が可観測,$R=D^{T}D>0$と 仮定する. このとき代数リッカチ方程式 \begin{eqnarray} P &=& A^{T}PA +Q \nonumber \\ &-& A^{T}PB\{B^{T}PB+R\}^{-1}B^{T}PA \label{algeRic eq} \end{eqnarray} は正定行列解$P>0$をただ一つ持つ. このとき,(\ref{Ric eq})式のリッカチ差分方程式の解$P(t)$は $t\to-\infty$の場合にこの解$P$に収束する. このとき,(\ref{perform func})式を最小とする最適制御は \begin{eqnarray} G = -\{B^{T}PB+R\}^{-1}B^{T}PA \label{cgain eq} \end{eqnarray} として,時不変状態フィードバック \begin{eqnarray} u(t) = Gx(t) \end{eqnarray} で与えられる. このとき,$(A+BG)$は安定である.\\ {\bf (注意)}無限期間の最適制御は有限期間より簡単になり、時不変ゲインを 持つことが明らかになった.したがって,いったん一つの$G$を決定しておくと, あとは$Gx(t)$を計算することによりいつも最適制御となる. 制御前のシステムの安定性にかかわらず,LQ制御を行ったシステムが 常に安定であることを定理は保障する. なお,システムが可制御でなければ,不安定なモードを制御できるとは限らず, また,可観測でなければ、フィードバックで不安定なモードを発見できるとは 限らない.したがって、可制御,可観測性が無限期間のLQ最適制御の 安定性を保証する. \subsection{例題} (\ref{1state eq})式のシステムに対し,評価関数が(\ref{1perform eq})式 の場合を考えよう. 明らかに$(A,B)$は可制御,$(C,A)$は可観測であり,$D>0$である. この場合の代数リッカチ方程式は \begin{eqnarray} p &=& p+1 - \frac{p^{2}}{p+2}\\ g &=& -\frac{p}{p+2} \nonumber \end{eqnarray} で与えられる. 両辺に$p+2$を掛けて整理すると,$p$は \begin{eqnarray} p^{2}-p-2=(p-2)(p+1) = 0 \nonumber \end{eqnarray} の解である.解として$p=2$と$p=-1$が得られるが,正定解 (スカラの場合は正数)は$p=2$となる. これより$g=-0.5$,$u(t)=-0.5x(t)$が無限期間のLQ最適制御であり, 1.2節の例題の結果と一致する. すなわち,さきの例題の解はLQ最適制御であったといえる. このとき,$(A+Bg)=0.5$であり,安定である. なお,1.5節の例題において,終端時刻を$L\to\infty$とおくと, $g(t)$は$0,\cdots,-0.488,-0.497,\cdots$であり,上の$-0.5$に収束する. \subsection{証明} 定理1−1から同2−1を誘導する. 最初に,$P(L)=0$の場合の解を考えよう. この場合,$t0$に 収束 キることを示そう. $P(L)=0$の解を$P(t)^{*}$として,一般の解と区別すると, これが$P$に収束することはすでに示した. そこで,(\ref{difference})式と同様にして, \begin{eqnarray} & & P(t)-P(t)^{*} = \{A+BG(t)\}^{T}\{P(t)-P(t)^{*}\}\{A+BG(t)\} \nonumber \\ & &~~ +\,\{(G(t)^{*}-G(t)\}^{T}\{B^{T}P(t+1)B+R\}\{G(t)^{*}-G(t)\} \label{difference1} \end{eqnarray} が得られる. ここで,$P(L)^{*}\le P(L)$が得られる. つぎに,$P(\tau)^{*}\le P(\tau)~ (\tau=L,L-1,\cdots,t+1)$が成立すると,この式からただちに $t$においても同じ関係が成立することがわかる. よって,全ての$t\le L$についてこの関係が成立する. ここで,$G(t)$を時不変最適ゲイン$G$とした場合の評価関数を $J(t,L) = x(t)^{T}\hat{P}(t)x(t)$と置くと, $\hat{P}(t)$は有限期間では最適でないので, $P(t) \le \hat{P}(t)$が成立する. 一方,定義より, \begin{eqnarray} \lim_{t\to-\infty}\hat{P}(t) &=& \sum_{k=0}^{\infty} (A+BG)^{Tk}(Q+G^{T}RG)(A+BG)^{k} \end{eqnarray} となる. この値はリッカチ代数方程式の解であるから. $P = \lim_{t\to-\infty}P(t)^{*} \le \lim_{t\to-\infty}P(t) \le \lim_{t\to \infty}\hat{P}(t)=P$ が成立するから,$P(t)$は代数リッカチ方程式の正定解$P$に収束する. \subsection{可制御・可観測条件の拡張} 時不変最適制御に関する定理2−1の結果は可制御・可観測条件のもとで証明した. この結果を拡張しよう. すなわち,$(A,B)$が可制御でなくても,不可制御モードが全て安定モード (固有値の絶対値が1以下)であるとき,$(A,B)$は可安定と呼ばれる. 一方,$(C,A)$が可観測でなくとも,全ての不可観測モードが安定モード であるとき,$(C,A)$は可検出と呼ばれる.\\ {\bf [定理2−2]}システムの行列が$(A,B)$が可安定,$(C,A)$が可検出, $R=D^{T}D>0$と仮定する. このとき代数リッカチ方程式 \begin{eqnarray} P &=& A^{T}PA +Q \nonumber \\ &-& A^{T}PB\{B^{T}PB+R\}^{-1}B^{T}PA \end{eqnarray} は半正定行列解$P>0$をただ一つ持つ. このとき,リッカチ差分方程式の解$P(t)$は$t\to-\infty$の場合に, 上の代数方程式の解に収束する. またこのとき,(\ref{perform func})式を最小とする最適制御は \begin{eqnarray} G = -\{B^{T}PB+R\}^{-1}B^{T}PA \end{eqnarray} として \begin{eqnarray} u(t) = Gx(t) \end{eqnarray} と与えられる. このとき,$(A+BG)$は安定である.\\ 制御の対象となるほとんどの線形システムは可安定かつ可検出である. 定理によれば,システムの一部にフィードバック制御が行えない部分が 存在しても,もともとその部分が安定であれば,最適制御は安定な システムを与える. \vspace{150mm} \vspace{150mm} \section{応答の直交化に基づくLQ最適制御の学習} \subsection{モデル無しLQ学習制御開発の経緯} 以上の準備の下に、モデル無しLQ学習制御について説明する。 現代制御理論に基づく制御系設計では, 同定等によるモデリング(方程式を求める操作)とモデルに基づく コントローラの設計とは基本的に独立に扱われてきた. したがって、未知システムのLQ最適制御を求めるには、前もって システムの方程式を同定等により求め、 これに基づいてLQ最適制御を2.1節のように理論的な解析により誘導 してきた。 たとえば、1.1節の例題においても、$A=B=1$が 未知であれば、(6)式あるいはリッカチ方程式を用いた最適制御の 誘導は不可能である。 これとは別に、モデルの情報が不完全な場合に直接に制御系を導く 適応制御理論の研究も盛んであったが \cite{計測自動制御学会},\cite{適応}、従来の適応制御では LQ最適レギュレータはほとんど扱われていない。 これに対して,河村らは1980年代に同定と制御系設計を 一体化したLQレギュレータ構成法を提案した\cite{河村data}, \cite{kawamura-SCL},\cite{データ設計}。 その基礎はLQ最適制御の応答信号がある直交関係を 満たすことを発見したことによる\cite{河村ortho}。 これより,特性が未知のシステムであっても, その応答信号を直交化することにより,LQレギュレータの 逐次的な構成が可能となった。 実システムでは,静止摩擦など、その動作が完全に線形システムで 記述される場合は少ない. この場合、システム同定等によって得られるモデル(方程式)は 実システムに対する近似モデルとなる. したがって,モデルを基礎とする従来のLQ制御が 必ずしも望ましい性能を持たない場合がある. モデリングは現実の制御系設計にとって,きわめて面倒な問題である. 本方式は閉ループ応答を利用するが,独立した同定のプロセスを持たない. 基礎となる応答の直交関係はある程度の非線形をもつシステムに対しても 最適条件として有効と思われる。 この意味で、本方式はモデリングに伴う困難の軽減に有効である可能性を持つ。 以上の基礎的なアルゴリズムは内積の計算期間が長いため, システム雑音等の影響を受けやすいものであった. これに対し,動的計画法に基づく1段最適化の考えを用い、内積の 短期間での再帰形式の計算と統計処理を用いたアルゴリズム \cite{坂田,河村},\cite{河村fast}, \cite{河村recurs}を導出し,この困難を回避した. 実際、実倒立振り子の安定化を達成する実用的な手法が示された \cite{中野},\cite{河村recurs}. 近年,古田\cite{古田},\cite{furuta-LQ},Hjalmarsson\cite{hjal 95}, Chan\cite{chan}, 藤崎,池田\cite{Fujisaki}, らも応答信号をもとに LQレギュレータを求める手法を与えている。 ただし,これらはそれぞれ考え方が基本的に異なり, 応答の直交化に基づく本方式とは まったく違ったものといえる\cite{データ設計}. 以下の各章では、河村により提案されたモデル無しLQ 学習制御について解説する。 \subsection{応答信号の内積} 制御における信号の直交関係については、初期のNarendraの結果などが 知られているが\cite{Nar-M},\cite{Nar-S}、その後この方面での発展は 見られなかった。 以下では、河村らの誘導した応答信号のみによりLQレギュレータを 特徴づける直交条件について説明する. なお、ベクトルの内積はよく知られているが、以下の内積は 信号同士の間の内積である. 離散時間 $t=0,1,2,\cdots$ で定義された $x(t)\in R^{n}$ を状態,$u(t)\in R^{m}$ を入力とする線形時不変システム \begin{eqnarray} x(t+1)= Ax(t) + Bu(t) \label{state eq} \end{eqnarray} を$S$とする.このシステムの被制御出力を \begin{eqnarray} z(t)^{T} = (\{Cx(t)\}^{T}, \{Du(t)\})^{T}) \label{output eq} \end{eqnarray} とする.直達項$Du(t)$の存在に注意されたい. 有限期間 $[0,L]$ 上の出力 $z(t)$ の全体 $(z(0)^{T}, z(1)^{T}, \cdots, z(L)^{T})^{T}$ を$\vect{z}$と表そう. 異なる2つの出力 $\vect{z}_{1}$ と $\vect{z}_{2}$ の内積を \begin{eqnarray} <\vect{z}_{1},\vect{z}_{2}> ~&=& \sum_{t=0}^{L}z_{1}(t)^Tz_{2}(t)  \label{inner_p}\\ &=& \sum_{t=0}^{L-1} \{x_{1}(t)^{T}Qx_{2}(t)+u_{1}(t)^{T}Ru_{2}(t)\} \nonumber \\ & &~+x_{1}(L)^{T}P_{0}x_{2}(L) \nonumber \end{eqnarray} と定義する. この内積は$\vect{z}_{1}=\vect{z}_{2}$の場合に LQ評価関数に一致する. 本文では,$\vect{z}_{1}=\vect{z}_{2}=\vect{z}$とした場合の $\lim_{L\to\infty}<\vect{z},\vect{z}>$ を 最小とする無限期間LQ最適レギュレータの構成を扱う. \unitlength=1mm \begin{picture}(100,70) \thinlines \put(10,55){\vector(1,0){88}} \put(15,43){\vector(0,1){25}} \put(10,20){\vector(1,0){88}} \put(15,10){\vector(0,1){25}} \thicklines \put(15,65){\circle*{1}} \put(23,65){\circle*{1}} \put(31,65){\circle*{1}} \put(39,65){\circle*{1}} \put(47,65){\circle*{1}} \put(55,64){\circle*{1}} \put(63,61){\circle*{1}} \put(71,55){\circle*{1}} \put(79,50){\circle*{1}} \put(87,47){\circle*{1}} \put(95,46){\circle*{1}} \put(15,62){\makebox(0,0){\rule{3pt}{3pt}}} \put(23,62){\makebox(0,0){\rule{3pt}{3pt}}} \put(31,59){\makebox(0,0){\rule{3pt}{3pt}}} \put(39,52){\makebox(0,0){\rule{3pt}{3pt}}} \put(47,47){\makebox(0,0){\rule{3pt}{3pt}}} \put(55,44){\makebox(0,0){\rule{3pt}{3pt}}} \put(63,47){\makebox(0,0){\rule{3pt}{3pt}}} \put(71,52){\makebox(0,0){\rule{3pt}{3pt}}} \put(79,57){\makebox(0,0){\rule{3pt}{3pt}}} \put(87,56){\makebox(0,0){\rule{3pt}{3pt}}} \put(95,52){\makebox(0,0){\rule{3pt}{3pt}}} \put(15,28){\circle{1}} \put(23,36){\circle{1}} \put(31,39){\circle{1}} \put(39,37){\circle{1}} \put(47,29){\circle{1}} \put(55,17){\circle{1}} \put(63,14){\circle{1}} \put(71,14){\circle{1}} \put(79,13){\circle{1}} \put(87,13){\circle{1}} \put(95,16){\circle{1}} \put(15,28){\framebox(0,0){\rule{3pt}{3pt}}} \put(23,28){\framebox(0,0){\rule{3pt}{3pt}}} \put(31,24){\framebox(0,0){\rule{3pt}{3pt}}} \put(39,17){\framebox(0,0){\rule{3pt}{3pt}}} \put(47,10){\framebox(0,0){\rule{3pt}{3pt}}} \put(55,7){\framebox(0,0){\rule{3pt}{3pt}}} \put(63,15){\framebox(0,0){\rule{3pt}{3pt}}} \put(71,20){\framebox(0,0){\rule{3pt}{3pt}}} \put(79,18){\framebox(0,0){\rule{3pt}{3pt}}} \put(87,19){\framebox(0,0){\rule{3pt}{3pt}}} \put(95,24){\framebox(0,0){\rule{3pt}{3pt}}} \put(45,60){${\large z_{1}(t)}$} \put(35,47){${\large z_{2}(t)}$} \put(50,27){$\sum_{\tau=0}^{t}z_{1}^{T}(\tau)z_{2}(\tau)$} \put(28,11){$z_{1}^{T}(t)z_{2}(t)$} \put(20,0){\scriptsize{\bf Fig.1~~Inner Product of responses}} \put(10,50){O} \put(10,15){O} \put(99,53){t} \put(99,18){t} \end{picture} 以上に定義した内積の厳密な理解には離散時間ヒルベルト空間の 議論を必要とするが\cite{関数解析},簡単のため, $\vect{z}$をスカラ信号として,Fig.1に説明する. 下図の各時刻の中抜き丸点の値は初期時刻から その時刻までの$z_{1}(\tau)$と$z_{2}(\tau)$の積の総和になっている. したがって、$L=10$では右端の中抜き丸点が内積である。 もし$L\to\infty$においてこの中抜き丸点が収束するとき, $\lim_{L \to \infty} <\vect{z}_{1},\vect{z}_{2}>$はこの収束値である.   \subsection{直交条件} 無限期間の最適レギュレータは時不変ゲインによる状態フィードバック により構成できることがよく知られている. そこで,補助的な追加入力 $v(t)$ を伴ったつぎの時不変状態 フィードバックを考える. \begin{eqnarray} u(t)=Gx(t)+v(t) \label{feedback} \end{eqnarray} この閉ループシステムを改めて $\bar{S}$ と表す. $v(t)$ は $\bar{S}$ の入力となる. $\bar{S}$ に対し,初期状態を $x^{a}(0)$, 追加入力を $v^{a}(t) \equiv 0$ とする 初期値応答を $\vect{z}^{a}$ と表そう. 初期時刻の単位インパルスを $\delta (t)$ として, 同様に,$x^{b}(0)=0$,$v^{b}(t) \equiv v^{b}(0)\delta (t)$ とする インパルス応答を と表す. 簡単のため,本文では以下の標準条件を仮定する. {\bf 条件1}~ $(A,B)$ は可制御,$(C,A)$ は可観測, $C^{T}D=0$,$D^{T}D>0$. これら閉ループシステムの応答を用いて, つぎの直交関係が得られる\cite{kawamura-SCL},\cite{{河村ortho}}.\\ {\bf [定理3−1]} 条件1を仮定する.このとき, 時不変状態フィードバック $u(t)=Gx(t)$ が無限期間の LQ最適制御であるための必要十分条件は すべての $x^{a}(0) \in R^{n}$ と $v^{b}(0) \in R^{m}$ について \[ \lim_{L \to \infty} <\vect{z}^{a},\vect{z}^{b}>~=0 \] が成立することである.\\ 上の関係は入力が最適制御である場合に限って, Fig.1下図の中抜き円点が$t\to\infty$のときに0に収束することを表す. この関係を直感的に示せば、Fig.2のようになる。 いま、初期値応答は{\large O}を基点とする矢印で表される と仮定しよう。 ただし、その頂点は入力により異なるが、 常に直線{\large BC}上にあるとする。 いま、適当な入力を加えた場合の初期値応答を矢印{\large OA}で表し、 その評価関数の大きさを矢印の長さ$||OA||$で表すと仮定する。 このとき、長さ$||OA||$が最小となる(すなわち評価が最良となる) 応答は同図のように、直線{\large BC}と直交する {\large OA$^{*}$}である。 実際、もし最適応答が直線{\large BC}と 直交しない場合(たとえば、矢印{\large OA}の場合)、 {\large BC}と直交する別の直線がより短い(よい評価を持つ) ことになり、最適性に反する。 このとき、{\large BC}上の線分{\large AA$^{*}$}はこれらの 入力差に対する応答と言える。 \unitlength=1mm \begin{picture}(85,80) \thicklines \put(15,15){\line(1,0){70}} \put(67,11){$\vect{z}^{a}$} \put(51,29){$\vect{z}^{a}+\vect{z}_{*}^{b}$} \put(51,24){$\ \ = \vect{z}_{*}^{a}$} \thinlines \put(15,15){\vector(2,1){46}} \put(15,15){\vector(1,1){38}} \put(75,10){\line(-1,2){30}} \put(58,39){\line(-1,2){2}} \put(58,39){\line(-2,-1){4}} \put(12,11){O} \put(74,6){B} \put(43,71){C} \put(62,39){A$^{*}$} \put(55,53){A} \put(39,53){$\vect{z}^{a}+\vect{z}^{b}$} \put(20,2){\scriptsize{\bf Fig.2~~Orthogonality of responses}} \end{picture} 以上の議論において、初期値応答の入力は必ずしも$u(t)\equiv 0$ である必要はない。 すなわち、入力を持つ応答{\large OA}すなわち($\vect{z}^{a} +\vect{z}^{b}$)を改めて初期値応答$\vect{z}_{+}^{a}$と 表そう。 この場合の入力にさらに追加入力を加えた場合の応答を $\vect{z}_{+}^{a}+\vect{z}_{+}^{b}$と表そう。 追加入力は$\vect{z}_{+}^{a}$に摂動を与えていると 言える。 この追加入力として、インパルスを考えれば十分であることが わかっている。 簡単のため、以下では表記$+$を省略して表記する。 このとき、定理3-1の関係を最適応答$\vect{z}^{a}$と摂動 (インパルス応答)$\vect{z}^{b}$との直交性と見ることができる(Fig.2 参照). これはヒルベルト空間の議論であるが,以上の関係は $\vect{z}^{a}$ をより小さくする別の最適な入力 の存在を意味する. LQ最適制御と最適推定のためのカルマンフィルタには 多くの双対関係があることが知られている\cite{片山}。 上記の直交条件は最適推定の状態推定誤差とイノベーションの 直交性と双対関係にある\cite{kawamura-SCL}. このように、直交条件ではリッカチ方程式を用いた定式化と異なり、 システム方程式を用いずに最適制御を定式化することができ、 モデルなしの制御システムの構成に役立つ。 \subsection{評価関数の感度} さきの定理3.1の結果によると, 上に述べた応答を直交化すれば,最適レギュレータを構成できるはずである. たとえば、適当な初期状態 $x^{a}(0)$ に対する初期値応答 $\vect{z}^{a}$ と適当なインパルス $v^{b}(0)\delta (t)$ に対する インパルス応答 $\vect{z}^{b}$ をそれぞれ1個測定して、 その内積 $\lim_{L \to \infty} <\vect{z}^{a},\vect{z}^{b}>~$ を計算しよう。 もし、その値が0でなければ、これら応答は直交していない。 したがって、少なくとも$x^{a}(0)$ に対するゲイン $G$ の値は 適切でないと想定される。 これより、$G$ の値を変更する必要がある。 ただし、このままでは $G$ をどのように変更すれば、さきの内積が 0 に近ずくか不明である。 また、$G$ を変更すると、いま加えた $x^{a}(0)$ 以外の状態に対する 入力も変化する。 すなわち,他の状態に対する直交性を劣化させるかもしれない。 これら疑問に答えるためには、上に述べた内積だけでは不十分であり、 多数の応答の観測を用いた勾配法を考える必要がある。 以下では、勾配法に基づく直交化を議論する. 内積の双線形性より,つぎの関係が成立する. \begin{eqnarray} & &<\vect{z}_{1}^{a}+\vect{z}_{1}^{b},\vect{z}_{2}^{a}+\vect{z}_{2}^{b}> = <\vect{z}_{1}^{a},\vect{z}_{2}^{a}> + <\vect{z}_{1}^{a},\vect{z}_{2}^{b}> + <\vect{z}_{1}^{b},\vect{z}_{2}^{a}> \nonumber \\ & &~~~~~~~~+ <\vect{z}_{1}^{b},\vect{z}_{2}^{b}> \nonumber \\ & &~~~~= x_{1}^{a}(0)^{T}\Gamma^{aa}x_{2}^{a}(0) + x_{1}^{a}(0)^{T}\Gamma^{ab}v_{2}^{b}(0) + v_{1}^{b}(0)^{T}\Gamma^{ba}x_{2}^{a}(0) \nonumber \\ & &~~~~~~~+ v_{1}^{b}(0)^{T}\Gamma^{bb}v_{2}^{b}(0) \label{sense eq} \end{eqnarray} 応答 $\vect{z}_{i}^{b}$ を $\vect{z}_{i}^{a}$ に対する摂動と考えると, 右辺の第1,第2,3および第4項はそれぞれ2次評価関数の 摂動に関する0次,1次および2次感度を表す. LQ評価関数の感度は応答信号の内積と直接結びつく. 以下では対称半正定行列 \\ \begin{eqnarray} \Gamma = \pmatrix{ \Gamma^{aa} & \Gamma^{ab} \cr \Gamma^{ba} & \Gamma^{bb} \cr } \end{eqnarray} を基本感度行列と呼ぶことにする. この行列は(\ref{sense eq})式の応答の内積から初期値項 $x_{i}^{a}(0)$ と $v_{i}^{b}(0)$ に依存する部分を取り外したものである。 \subsection{直交化のためのゲイン修正} 以上の議論から,最適制御を得るためには, 上に述べた応答信号を直交化すればよいことがわかる. さきの信号の内積を用いると、応答信号のみからこの 直交化が実行できる. 最も基礎的な逐次直交化アルゴリズムとして,河村らはニュートン法に 基づいて \begin{eqnarray} \Delta G_{k}=-(\hat{\Gamma}_{k}^{bb})^{-1}(\hat{\Gamma}_{k}^{ab})^{T} \label{gain update0} \end{eqnarray} を提案した\cite{河村data},\cite{kawamura-SCL}. ただし,$k=0,1,2,\cdots$ はゲインの修正回数(学習回数), $\Delta G_{k}=G_{k+1}-G_{k}$ はゲイン $G_{k}$ の修正量, $\hat{\Gamma}_{k}^{ab}$,$\hat{\Gamma}_{k}^{bb}$ は時不変ゲインと 観測長さをそれぞれ $G_{k}$,$L_{k}$ に固定した場合の各感度行列の 推定値とする. \section{直接直交化学習制御} \subsection{直接直交化アルゴリズム} 方程式が未知のシステムに対して、 上記の直交化を行うためには,応答信号の内積から 感度行列を求めなければならない. すなわち,データの内積(\ref{sense eq})式から 信号$x(t)$や$v(t)$を取り外す必要がある. これを実行する比較的素朴な計算を以下に示す \cite{河村data},\cite{kawamura-SCL}。 初期状態を $x_{ki}(0)$ ($i=1,2,\cdots,N_{k}$)とする システムに追加入力 $v_{ki}(t)=v_{ki}(0)\delta(t)$ を 加えた場合の応答をそれぞれ $z_{ki}(t)$ として, (\ref{sense eq})式より,この場合の基本感度行列を 応答信号の内積を用から以下のように容易に決定(推定)できる. \\ \begin{eqnarray} & & \pmatrix{ \hat{\Gamma}_{k}^{aa} & \hat{\Gamma}_{k}^{ab} \cr \hat{\Gamma}_{k}^{ba} & \hat{\Gamma}_{k}^{bb} \cr } \nonumber \\ & & ~~~~~~~~= \Sigma_{k}^{-1}\biggl[ \sum_{i=1}^{N_{k}} \sum_{j=1}^{N_{k}} \xi_{ki}(0) < \vect{z}_{ki},~\vect{z}_{kj}~>~\xi_{kj}(0)^{T} \biggr] \Sigma_{k}^{-1}, \label{Gamma} \\ & & ~~~~\Sigma_{k} = \sum_{i=1}^{N_{k}} \xi_{ki}(0) \xi_{ki}(0)^{T}, \label{Sigma} \\ & & ~~~~\xi_{ki}(0) = \pmatrix{ x(0)_{ki} \cr v(0)_{ki} \cr } \nonumber \end{eqnarray} ただし,$N_{k} \ge n+m$ であり, $L_{k}$は$k \to \infty$ の場合に十分長い期間とする. 実際、感度行列の定義より、応答の内積と感度行列には、 \begin{eqnarray} <~\vect{z}_{ki},~\vect{z}_{kj}~> = \xi_{ki}(0)^{T} \hat{\Gamma}_{k} \xi_{kj}(0) \end{eqnarray} の関係が成り立つ。 多数のデータの内積を用いた(\ref{Gamma})式の右辺にこの関係を代入すると、 右辺の[ ]の内部は $\xi_{ki}(0)\xi_{ki}(0)^{T} \hat{\Gamma}_{k} \xi_{kj}(0)\xi_{kj}(0)^{T}$ の $i$ と $j$ に関する和となる。 このとき、(\ref{Sigma})式右辺が $n+m$ 個以上の線形独立な $\xi_{ki}(0)$ を持つと、逆行列 $(\Sigma_{k})^{-1}$ が存在する. すなわち、(\ref{Gamma})式の右辺全体は$\hat{\Gamma}_{k}$に左から $(\Sigma_{k})^{-1}\Sigma_{k}$ を、右からその転置行列を 掛けたものに等しい。 逆行列 $\Sigma_{k}$ が存在する場合に $(\Sigma_{k})^{-1}\Sigma_{k}$ は単位行列に等しいから、 直ちに感度行列と内積の関係である(\ref{Gamma})式が得られる。 (\ref{Gamma})式の右辺はモデル(方程式)が 未知の場合にも、応答のデータから容易に計算可能である。 以下では、数値計算の部分は別として、感度行列を用いて議論を進める。 \subsection{アルゴリズムの収束性} いま, $(A+BG_{k})$ が安定で,$L_{k}$ が十分大きいと仮定し, (\ref{gain update0}), (\ref{Gamma})式を システム行列を用いて書き直して整理すると, リッカチ代数方程式の数値解法としてよく知られた ニュートン・ラプソンアルゴリズムが得られる\cite{{Hewer}}. 後者では,$(A+BG_{0})$ が安定である場合に, $G_{k}$ はLQ最適ゲインに収束する. したがって,前者も上記仮定のもとに同じ収束性を持つ. さらに前者は有限長 $L_{k}$ の観測期間に対して定義されるため, 初期ゲインが安定化ゲインでない場合にも有効であり, シミュレーションでは優れた収束性を示す \cite{河村data},\cite{kawamura-SCL}. この方式の欠点として、内積の計算期間が長いため、システム 雑音(とくに直流雑音)など実システムの不確実動作の影響を 受けやすい。 このため、現段階では、実システムに有効な手法となっていない。 \vspace{150mm} \section{再帰形式アルゴリズム} \subsection{再帰型の直交条件} 先に述べた直交化法は応答の直交化の観点から最も基礎的なものといえるが, 逆行列 $\Sigma_{k}$ が存在するためには、 $n+m$ 個以上の線形独立な $\bar{x}_{ki}(0)$ が必要である。 すなわち、1回のゲイン修正に少なくとも $n+m$ 個以上の 十分の長さの応答観測を必要とする. この手法の精度を上げるためには各観測器間 $L_{k}$ を十分長くする ことが必要であるが,信号に含まれる不要な雑音成分の影響は増大する. 一方、無限期間のLQ最適制御問題は逐次的な1段最適化問題に 変換できることはよく知られている \cite{計測自動制御学会}〜\cite{藤井他}. 上に述べた直交化の欠点の克服を目指す一つの方法として, 直交化のための感度行列(内積)の計算において, 1段最適化の考えを適用した再帰形式のアルゴリズムが提案された \cite{河村fast},\cite{河村recurs}, これを用いて,倒立振り子などの実機テストで実用的な結果を得ている. 先に定義した信号の内積(\ref{inner_p})式を1段最適化問題に適用する. このとき,$L=1$とする上記の内積は \begin{eqnarray} <\vect{z}_{1},\vect{z}_{2}>|_{L=1}~&=&~x_{1}(0)^{T}C^{T}CPx_{2}(0) +u_{1}(0)^{T}D^{T}Du_{2}(0) \nonumber \\ & &+x_{1}(1)^{T}Px_{2}(1) \end{eqnarray} となる. ただし,内積の計算期間は短くなるが,これを用いるめには, ゲインだけでなく,行列$P$も未知数となることに注意されたい. この場合の直交条件は以下のように修正される\cite{河村recurs}。 なお、第1式が$P$に関する条件である。\\ {\bf [定理5−1]} 条件1を仮定する.このとき, 桾s変状態フィードバック $u(t)=Gx(t)$ が無限期間の LQ最適制御であるための必要十分条件はある半正定行列$P$が存在し, すべての $x^{a}(0) \in R^{n}$ と $v^{b}(0) \in R^{m}$ について\\ \[ x^{a}(0)^{T}Px^{a}(0)~=~<\vect{z}^{a},\vect{z}^{a}>|_{L=1}\] \[ <\vect{z}^{a},\vect{z}^{b}>|_{L=1}~=0\] が成立することである.\\ \subsection{評価関数のテーラー展開} よく知られたLQ最適制御器(LQレギュレータ)の設計では, 前もってシステム方程式を求めておく (具体的には行列$A$,$B$を求めておく)ことが必要である. しかしながら機械系などでは,静止摩擦などの非線形性その他の 影響により,現実のシステムの動作は方程式のそれとの間に かなりの誤差が存在する場合が少なくない. このため,理論上は適切な動作を行うはずの最適制御が 必ずしも現実によい制御を与えるとは限らない. 以下では,このような難点を改善する方法として 筆者らの開発した再帰形式のモデルなしLQ最適制御系 設計法\cite{河村fast},\cite{河村recurs}を説明する ここでは無限期間のLQ最適制御を考えよう. これを解くための(\ref{1stage eq})式の1段最適化問題を 感度と勾配法の観点から再考する. 最適化の第$k$段階($k=0,1,2,\cdots$)において, 状態$x(\tau+1)$の値に関わらず \begin{eqnarray} J(t+1,L) = x(t+1)^{T}P_{k}x(t+1) \label{def P} \end{eqnarray} を満たす $P_{k}$と状態フィードバックゲイン$G_{k}$が仮に 与えられているとしよう. この1段最適化問題の最適ゲイン$G_{k+1}$を $G_{k}+\Delta G_{k}$と置いて, (\ref{1stage eq})式に(\ref{system eq})式と \begin{eqnarray} u(t) = G_{k}x(t)+\Delta G_{k}x(t) \end{eqnarray} を代入すると,  \begin{eqnarray} J(t,L) &=& x(t)^{T}\Bigl[\{Q +(G_{k} +\Delta G_{k})^{T}R(G_{k}+\Delta G_{k}) \nonumber \\ &+& \{A+B(G_{k}+\Delta G_{k})\}^{T}P_{k} \{A+B(G_{k}+\Delta G_{k})\}\Bigr]x(t) \nonumber \\ \label{1stage eq2} \end{eqnarray} となる. 上式は$\Delta G_{k}$に関する2次式であるから,これを \begin{eqnarray} J(t,L) &=& x(t)^{T}(\Gamma_{k}^{aa}+ \Gamma_{k}^{ab}\Delta G_{k}+(\Delta G_{k})^{T}\Gamma_{k}^{ba} +(\Delta G_{k})^{T}\Gamma_{k}^{bb}\Delta G_{k})x(t) \nonumber \\ \label{1stage eq3} \end{eqnarray} と書くことができる. また,新たな$P_{k+1}$を \begin{eqnarray} P_{k+1} &=& \Gamma_{k}^{aa}+ \Gamma_{k}^{ab}\Delta G_{k}+(\Delta G_{k})^{T}\Gamma_{k}^{ba} +(\Delta G_{k})^{T}\Gamma_{k}^{bb}\Delta G_{k} \label{1stage eq4} \end{eqnarray} と置くと,(\ref{def P})式と同様に \begin{eqnarray} J(t,L) = x(t)^{T}P_{k+1}x(t) \label{def P'} \end{eqnarray} が成立する. これらはそれぞれ$G$の変化$\Delta G_{k}$に対する $J(t,L)$あるいは$P_{k+1}$の0次,1次 および2次の変化率(感度)を表す. 以下では,(\ref{1stage eq4})式を各要素の定義とする $(m+n)$行$(m+n)$列の行列 \begin{eqnarray}  \Gamma_{k} &=& \pmatrix { \Gamma_{k}^{aa} & \Gamma_{k}^{ab} \cr \Gamma_{k}^{ba} & \Gamma_{k}^{bb} \cr } \label{gamma matrix} \end{eqnarray} を基本感度行列と呼ぶ. ただし、$\Gamma$は対称行列と仮定する.\\ 以上の感度行列をシステム行列$A$と$B$を用いて表すと, \begin{eqnarray} \Gamma_{k}^{aa} &=& Q +G_{k}^{T}RG_{k} +(A+BG_{k})^{T}P_{k}(A+BG_{k}), \nonumber \\ \Gamma_{k}^{ab} &=& \Gamma_{k}^{baT} ~=~ G_{k}^{T}R + (A+BG_{k})^{T}P_{k}B, \nonumber \\ \Gamma_{k}^{bb} &=& R + B^{T}P_{k}B \label{def gamma} \end{eqnarray} の関係が成立する.(\ref{gamma matrix})式の右辺にこれらを代入すると, \begin{eqnarray}  \Gamma_{k} &=& \pmatrix { Q+G_{k}^{T}RG_{k} & G_{k}^{T}R \cr RG_{k} & R \cr } \nonumber \\ & & +\,\pmatrix{ A^{T}+G_{k}^{T}B^{T} \cr B^{T} }P_{k}\pmatrix{ A+BG_{k} & B } \label{gamma add} \end{eqnarray} となる. \subsection{感度に基づく1段最適化問題の解} (\ref{1stage eq3})式〜(\ref{def P'})式を見ると, $P_{k}$が与えられている場合, 全ての$x(t)$に対して$J(t,L)$を最小とする $\Delta G_{k}$が$P_{k+1}$を最小化する. このとき,$P_{k+1}$は$\Delta G_{k}$に関して2次式であるため, 容易に最適解を求めることができる. すなわち, (\ref{opt input})式の$u(\tau)$を求めたのと同様の議論により, (\ref{1stage eq4})式は \begin{eqnarray} P_{k+1} &=& \Gamma_{k}^{aa} -\Gamma_{k}^{ab}(\Gamma_{k}^{bb})^{-1}\Gamma_{k}^{ba} \nonumber \\ & & +\,\{\Gamma_{k}^{ab}(\Gamma_{k}^{bb})^{-1}+\Delta G_{k}^{T}\} \Gamma_{k}^{bb} \{(\Gamma_{k}^{bb})^{-1}(\Gamma_{k}^{ab})+\Delta G_{k}\} \end{eqnarray} に変形される.この右辺第3項は非負であるから,1段最適化問題に対して $P_{k+1}$を最小にする$\Delta G_{k}$はこの項を0にする $\Delta G_{k}$である. これより,いわゆるニュートン法として \begin{eqnarray} \Delta G_{k} = -(\hat{\Gamma}_{k}^{bb})^{-1}(\hat{\Gamma}_{k}^{ab})^{T} \label{gain update} \end{eqnarray} と与えられる. さらに,このとき \begin{eqnarray} P_{k+1} &=& \hat{\Gamma}_{k}^{aa} -\hat{\Gamma}_{k}^{ab}(\hat{\Gamma}_{k}^{bb})^{-1}\hat{\Gamma}_{k}^{ba} \label{Ric eq2} \end{eqnarray} として,$x(t)$に関わらず \begin{eqnarray} J(t,L) &=& x(t)^{T}P_{k+1}x(t) \end{eqnarray} が成立する. また新たなゲインは$G_{k+1}=G_{k}+\Delta G_{k}$として \begin{eqnarray} G_{k+1}=G_{k}-(\hat{\Gamma}_{k}^{bb})^{-1}(\hat{\Gamma}_{k}^{ab})^{T} \label{gain eq2} \end{eqnarray} と与えられる\cite{河村data},\cite{kawamura-SCL}. このようにして,感度行列を用いて,1段最適化問題を 逐次的に解くことができる. 実際,(\ref{Ric eq2})式と(\ref{gain eq2})式に (\ref{gain update})式と(\ref{def gamma})式を代入すると, \begin{eqnarray} P_{k+1} &=& A^{T}P_{k}A+Q-A^{T}P_{k}B(R+B^{T}P_{k}B)^{-1}B^{T}P_{k}A, \nonumber \\ G_{k+1} &=& -(R+B^{T}P_{k}B)^{-1}B^{T}P_{k}A \end{eqnarray} となり,リッカチ差分方程式および時変最適ゲインの方程式 に一致することがわかる. したがって,厳密に以上のゲイン修正を実行できれば,初期値 $P_{0}\ge 0$と$G_{0}$にかかわらず,$G_{k}$は 無限期間のLQ最適ゲインに収束する. \section{再帰形式アルゴリズムのデータ処理} \subsection{応答信号に基づく感度行列の算出} 以上の議論より,感度行列$\Gamma_{k}$ 求めることにより, LQ問題を解くことができる. 以下では,この感度行列を(\ref{gamma add})式ではなく, 応答信号の内積から求めよう. 最適化の第$k$段階では,区間$T_{k}=\{t_{k},t_{k}+1,t_{k}+2, \cdots, t_{k+1}-1\}$において一定ゲインのフィードバック制御 \begin{eqnarray} u(t) = G_{k}x(t)+v(t) \label{cont sig} \end{eqnarray} を実行して 椏嚼M号のデータを得るものとする. ただし,$v(t)$は適当な信号(例えば白色雑音)とする. これより, \begin{eqnarray} x(t+1) &=& (A+BG_{k})x(t)+Bv(t) \nonumber \\ &=& (A+BG_{k} ~~ B)\xi(t) \label{x eq} \end{eqnarray} が得られる. ただし \begin{eqnarray} \xi(t) &=& \pmatrix { x(t) \cr v(t) \cr } \end{eqnarray} である. また,適当な行列$C$と$D$を用いて $Q=C^{T}C$,$R=D^{T}D$と与えると, \begin{eqnarray} z(t) &=& \pmatrix { Cx(t) \cr Du(t) \cr } \nonumber \\ &=& \pmatrix { C & 0 \cr DG_{k} & D \cr }\xi(t)  \label{y eq2} \end{eqnarray} として,信号の内積を異なる時刻$\sigma, \tau \in T_{k}$の信号を用いて \begin{eqnarray} x(\tau)^{T}C^{T}Cx(\sigma) +u(\tau)^{T}D^{T}Du(\sigma) = z(\tau)^{T}z(\sigma)  \end{eqnarray} と表す. 一方,この関係と(\ref{gamma add})式より, \begin{eqnarray} \xi(\tau)^{T}\hat{\Gamma}_{k}\xi(\sigma) &=& \xi(\tau)^{T}\Bigl\{ \pmatrix { C^{T} & G_{k}^{T}D^{T} \cr 0 & D^{T} \cr } \pmatrix { C & 0 \cr DG_{k} & D \cr } \nonumber \\ &+& \pmatrix { A^{T}+G_{k}^{T}B^{T} \cr B^{T} \cr } P_{k} \pmatrix { A+BG_{k} & B \cr } \Bigr\}\xi(\sigma) \end{eqnarray} が得られる. これに(\ref{x eq})式と(\ref{y eq2})式を代入すると, \begin{eqnarray} \xi(\tau)^{T}\hat{\Gamma}_{k}\xi(\sigma) &=& z(\tau)^{T}z(\sigma) + x(\tau+1)^{T}P_{k}x(\sigma+1) \end{eqnarray} となる. すなわち,定理5-1を参照すれば,右辺はそれぞれ$\tau$と$\sigma$を 初期時刻とする応答と応答の内積$<\vect{z}^{a},\vect{z}^{b}>|_{L=1}~$ といえる。 このままでは,初期値応答とインパルス応答の内積を信号の大きさに依存せずに 表す$\Gamma_{k}$を陽に求めることができないので,以下の処理を行う。 両辺に左より$\xi(\tau)$をかけ,右より$\xi(\sigma)^{T}$を掛けた後, $T$に属する全ての$\tau$と$\sigma$についてこれを加算すると, \begin{eqnarray} & & \sum_{\tau\in T_{k}} \xi(\tau)\xi(\tau)^{T}\hat{\Gamma}_{k} \sum _{\sigma\in T_{k}} \xi(\sigma)\xi(\sigma)^{T} \nonumber \\ & & ~~~~~ = \sum_{\tau\in T_{k}} \sum_{\sigma\in T_{k}} \xi(\tau)\{z(\tau)^{T}z(\sigma) \nonumber \\ & & ~~~~~~~~~~~~~ + x(\tau+1)^{T}P_{k}x(\sigma+1)\}\xi(\sigma)^{T} \label{pre_Gamma} \end{eqnarray} となる.  $T$に含まれる$x(\tau)$が少なくとも状態数+入力数以上の 線形独立成分を持つならば,逆行列 \begin{eqnarray} \Xi_{k} = \Bigl\{\sum_{\tau\in T_{k}} \xi(\tau)\xi(\tau)^{T} +\delta I \Bigr\}^{-1} \end{eqnarray} が存在する. とくに,$\delta$を十分小さい正数とすると,通常ではこの項は無視 可能であるが,$\xi(\tau)$ の個数に関わらず $\Xi_{k}$の存在は保証される. (\ref{pre_Gamma})式の左右から$\Xi_{K}$を掛けることにより, 基本感度行列は次式のように求められる\cite{河村recurs}. \subsection{基本感度行列の推定値} \begin{eqnarray} \hat{\Gamma}_{k} &=& \Xi_{k} \biggl[\Bigl\{\sum_{\tau\in T_{k}} \sum_{\sigma\in T_{k}} \xi(\tau) <\vect{z}_{\tau}, \vect{z}_{\sigma}> \xi(\sigma)^{T} \Bigr\} + \delta^{2}\hat{\Gamma}^{o}_{k}\biggr]\Xi_{k} \nonumber \\ &=& \Xi_{k} \biggl[\Bigl\{\sum_{\tau\in T_{k}} \sum_{\sigma\in T_{k}} \xi(\tau)\{z(\tau)^{T}z(\sigma) \nonumber \\ & & +\,x(\tau+1)^{T}P_{k}x(\sigma+1)\}\xi(\sigma)^{T}\Bigr\} + \delta^{2}\hat{\Gamma}^{o}_{k}\biggr]\Xi_{k} \label{sensitivity calc} \end{eqnarray} ただし,$\vect{z}_{\tau}$と$\vect{z}_{\sigma}$はそれぞれ、 $t=\tau$および$t=\sigma$を初期時刻と見做した応答を表す。 $\Xi_{k}$は(\ref{Sigma})式の$\Sigma_{k}^{-1}$に相当し, \begin{eqnarray} \hat{\Gamma}^{o}_{k} &=& \pmatrix { P_{k} & 0\cr 0 & \hat{\Gamma}^{bb}_{k-1} \cr }. \end{eqnarray} なお,(\ref{sensitivity calc})式の $\delta^{2}$項は$\hat{\Gamma}^{bb}_{k}$が必ず正である(0にならない)ことを保証する. また,$\hat{\Gamma}^{o}_{k}$の初期値$\hat{\Gamma}^{o}_{0}$において, $\hat{\Gamma}^{o}_{-1}=D^{T}D>0$とする. 最初に,適当な初期値$P_{0}\ge 0$と フィードバックゲイン$G_{0}$を与える. 適切な値が不明の場合,例えば$P_{0}=0$,$G_{0}=0$ とできる. $T_{0}$において$G_{0}$を用いた(\ref{cont sig})式の 制御を行った場合の応答信号データーを用いて, (\ref{sensitivity calc})式より$T_{0}$の終了時に 感度行列$\Gamma_{0}$を求めることができる. さらに,(\ref{gain update})式と(\ref{Ric eq2})式を 用いて,新たな$P_{1}$と$G_{1}$を求める. ゲイン$G_{k}$だけでなく,同時に$P_{k}$を求める点が 直接直交化と異なるが, 以上の操作を$k=0,1,2,\cdots$について繰り返すことにより, 時不変LQ最適制御を与える$P^{*}$と$G^{*}$ (リッカチ代数方程式の解)を逐次的に求めることができる. なお,入力数が2以上の場合,$v(t)$の各要素は互いに独立な成分を 持つ必要がある. たとえば,$v(t)$として$n$個の各成分が独立な白色雑音を用いる ことによって,この条件は満たされる. \subsection{標準LQ学習制御アルゴリズム(不確実データへの対策)} システムの動作が完全に(\ref{system eq})式の通りだとすると, ニュートン法を用いた(\ref{gain update}),(\ref{Ric eq2})式のゲイン修正は 高速に最適ゲインに収束し,有効である. しかしながら,現実のシステムの動作は多くの場合,完全に(\ref{system eq})式 では表されず,不確実な動作が含まれる. すなわち,各時刻毎の応答信号データはあまり信頼できないのが実状である. このような場合,ニュートン法の利用ではゲインが収束せず発散する危険があり, 実際にもあまりよい結果は得られない. この場合,適当な統計処理を含む勾配法が有効である. ここでは,(\ref{gain update}),(\ref{Ric eq2})式を一般化し,統計処理を導入した アルゴリズムを与える\cite{河村recurs}。現在、本研究室で実験等に用いられている アルゴリズムのほとんどはこの形式を土台としている。 \begin{eqnarray} \Delta G_{k} &=& -(\hat{\Gamma}_{k}^{bb}+H_{k})^{-1}(\hat{\Gamma}_{k}^{ab})^{T},\label{robust gain update} \\ G_{k+1} &=& G_{k} + \Delta G_{k} \nonumber \\ P_{k+1} &=& \Gamma_{k}^{aa}+ \Gamma_{k}^{ab}\Delta G_{k}+(\Delta G_{k})^{T}\Gamma_{k}^{ba} +(\Delta G_{k})^{T}\Gamma_{k}^{bb}\Delta G_{k} \label{Ric eq3}\\ &=& \hat{\Gamma}_{k}^{aa} -\hat{\Gamma}_{k}^{ab}(\hat{\Gamma}_{k}^{bb}+H_{k})^{-1} (\hat{\Gamma}_{k}^{bb}+2H_{k})(\hat{\Gamma}_{k}^{bb}+H_{k})^{-1}\hat{\Gamma}_{k}^{ba}. \nonumber \end{eqnarray} ただし,半正定行列$H_{k}$は \begin{eqnarray} H_{k+1} &=& \lambda_{1k}\,H_{k}+\lambda_{2k}\,\hat{\Gamma}_{k}^{bb}, \label{H update} \\ 0 &\le& \lambda_{1k} ~\le~ 1, \nonumber \\ 0 &\le& \lambda_{2k} ~\le~ 1 \nonumber. \end{eqnarray} により,再帰的に決定される. ただし,初期の$H_{k}$は \begin{eqnarray} H_{0} &\ge& 0 \end{eqnarray} を満たす半正定対称行列である. \subsection{ゲイン$G_{k}$の最適ゲインへの収束性} 以上の半正定行列$H_{k}$は大きければ大きいほど, 一般にゲイン修正$\Delta G_{k}$をニュートン法より小さくし, 現実のゲイン変化が統計処理に従う. とくに$\lambda_{1k}\to 1$の場合,$H_{k} \to\infty$であり, システムが安定であるとき,ゲイン修正量は順次減少する. ただし,$\Delta G_{k}$があまりにも急激に減少すると, $G_{k}$が最適値に到達しない可能性がある. $H_{k}$に関する条件は$G_{k}$が最適値まで到達するための条件である. 比較的大きい外乱を含むシステムでは$\lambda_{1k}\to 1$ とすることが望ましい。 類似の半正定行列の導入はLandauの適応アルゴリズム\cite{Landau} と共通するものである. ただしLanndauは現実の信号と目的信号との誤差方程式にこのような半正定行列を代入したのに対し,ここでは,リッカチ差分方程式に対してこの正定行列を用いる. なお,(\ref{Ric eq3})式は(\ref{1stage eq4})式に(\ref{robust gain update})を代入して容易に得ることができる. これによって,従来は目的どおりの応答が求められる(モデルマッチングが可能である) 適応制御問題にのみ利用できた考えを最良近似解を求めるLQ最適制御問題に 拡張した。 実際、以上のアルゴリズムが$k\to\infty$の場合に無限期間のLQ最適ゲインに 収束することは,やや難解ではあるが、理論的に厳密な証明を行っている \cite{河村recurs},\cite{河村ext Riccati}。 \subsection{Practical calculation on the sensitivity matrix} We explain calculation of the sensitivity matrix that leads to practical use of this algorithm\cite{河村recurs}. The computer program uses these equations. Suppose that $m=1$ and that $t\in T_{k}$. Define some parameters as \begin{eqnarray} \Psi(t) &=& \sum_{\tau\le t-1\cap \tau\in T_{k}}z(\tau)\xi(\tau)^{T}, \\ \Upsilon(t) &=& \sum_{\tau\le t-1\cap \tau\in T_{k}} P_{k}x(\tau+1)\xi(\tau)^{T}, \\ \Xi(t) &=& \Bigl\{\sum_{\tau\le t-1\cap \tau \in T_{k}} \xi(\tau)\xi(\tau)^{T}+\delta I\Bigr\}^{-1}, \\ \Theta(t) &=& \Bigl\{\sum_{\tau\le t-1\cap \tau\in T_{k}}^{}~^{} \xi(\tau) \{ z(\tau)^{T} z(\sigma) \nonumber \\ & & +\, x(\tau+1)^{T} P_{k} x(\sigma+1) \} \xi(\sigma)^{T}\Bigr\} + \delta^{2}\Gamma^{o}_{k}. \label{def of theta} \end{eqnarray} We rewrite (\ref{def of theta}) as folloes. \begin{eqnarray} \Theta(t+1) &=& \Theta(t) + \xi(t) z(t)^{T}\Bigl\{\sum_{\sigma\le t-1 \cap \sigma\in T_{k}} z(\sigma) \xi(\sigma)^{T}\Bigr\} \nonumber \\ & &+ \xi(t) x(t+1)^{T}P_{k}\Bigl\{\sum_{\sigma\le t-1 \cap \sigma\in T_{k}} x(\sigma+1) \xi(\sigma)^{T}\Bigr\} \nonumber \\ & &+ \Bigl\{\sum_{\tau\le t-1\cap \tau\in T_{k}} \xi(\tau) z(\tau)^{T} \Bigr\}P_{k} z(t) \xi(t)^{T} \nonumber \\ & &+ \Bigl\{\sum_{\tau\le t-1\cap \tau\in T_{k}} \xi(\tau) x(\tau+1)^{T} \Bigr\}P_{k} x(t+1) \xi(t)^{T} \nonumber \\ & &+ \xi(t)\{z(t)^{T}z(t) + x(t+1)^{T}P_{k}x(t+1)\}\xi(t)^{T} \nonumber \\ &=& \Theta(t) + \xi(t) z(t)^{T} \Psi(t) + \xi(t)x(t+1)^{T} \Upsilon(t) \nonumber \\ & &+ \Psi(t)^{T}z(t)\xi(t)^{T} + \Upsilon(t)^{T}P_{k}x(t+1)\xi(t)^{T} \nonumber \\ & &+ \xi(t)\{z(t)^{T}z(t) + x(t+1)^{T}P_{k}x(t+1)\}\xi(t)^{T} \end{eqnarray} Define $\Delta\Theta$ as the remaining right-hand-side except $\Theta(t)$. Note that $\Theta(t) = \Xi(t)^{-1}\Gamma(t) \Xi(t)^{-1}$ and $\Xi(t)^{-1} = \Xi(t+1)^{-1} - \xi(t)\xi(t)^{T}$. Then we have \begin{eqnarray} \Theta(t+1) &=& \Theta(t) + \Delta\Theta(t) \nonumber \\ &=& \Xi(t+1)^{-1}\hat{\Gamma}(t)\Xi(t+1)^{-1} \nonumber \\ & & -\,\xi(t)\xi(t)^{T}\hat{\Gamma}(t)\Xi(t+1)^{-1} -\Xi(t+1)^{-1}\hat{\Gamma}(t)\xi(t)\xi(t)^{T} \nonumber \\ & & +\,\xi(t)\xi(t)^{T}\hat{\Gamma}(t)\xi(t)\xi(t)^{T} +\Delta\Theta(t) \label{Thet} \end{eqnarray} where the definition of $\Theta(t)$, namely (\ref{def of theta}) implies \begin{eqnarray} \Delta\Theta(t) &=& +\xi(t)\{z(t)^{T}\Psi(t)+x(t+1)^{T}\Upsilon(t)\} \nonumber \\ & & +\,\{\Psi(t)^{T}z(t)+\Upsilon(t)^{T}x(t+1)\}\xi(t)^{T}. \nonumber \\ & & +\,\xi(t)\{z(t)^{T}z(t)+x(t+1)^{T}P_{k}x(t+1)\}\xi(t)^{T}. \label{DThet} \end{eqnarray} From the difinitions, we have the following results. {\bf Calculation of the sensitivity matrix} \begin{eqnarray} \Psi(t+1) &=& \Psi(t) + z(t)\xi(t)^{T}, \label{Psi} \\ \Upsilon(t+1) &=& \Upsilon(t) + P_{k}x(t+1)\xi(t)^{T}, \label{Ups} \\ \Xi(t+1) &=& \Xi(t) - \{\Xi(t)\xi(t)\}\{\xi(t)^{T}\Xi(t)\xi(t)+1\}^{-1} \{\xi(t)^{T}\Xi(t)\}. \label{Xi} \end{eqnarray} The equation (\ref{Xi}) is the matrix inversion lemma\cite{片山}. By multiplying (\ref{Thet}) with $\Xi(t+1)$ from both sides, we have \begin{eqnarray} \hat{\Gamma}(t+1) &=& \hat{\Gamma}(t) \nonumber \\ & & +\,\Xi(t+1)\xi(t)\Bigl[\bigl\{z(t)^{T}\Psi(t) + x(t+1)^{T}\Upsilon(t)\bigr\}\Xi(t+1) \nonumber \\ & & -\,\xi(t)^{T}\hat{\Gamma}(t)\Bigr] + \Bigl[\Xi(t+1)\bigl\{\Psi(t)^{T}z(t) \nonumber \\ & & +\,\Upsilon(t)^{T}x(t+1)\bigr\} - \hat{\Gamma}(t)\xi(t)\Bigr]\xi(t)^{T}\Xi(t+1) \nonumber \\ & & +\,\Xi(t+1)\xi(t)\bigl\{z(t)^{T}z(t)+x(t+1)^{T}P_{k}x(t+1) \nonumber \\ & & +\,\xi(t)^{T}\hat{\Gamma}(t)\xi(t)\bigr\}\xi(t)^{T}\Xi(t+1). \label{Gam} \end{eqnarray} Equations (\ref{Psi}), (\ref{Ups}), (\ref{Xi}) and (\ref{Gam}) compose practical calculation at each time on $T_{k}$. The initial values of each block are \begin{eqnarray} \Psi(t_{k}) &=& 0, \\ \Upsilon(t_{k}) &=& 0, \\ \Xi(t_{k}) &=& \frac{1}{\delta}I, \\ \hat{\Gamma}(t_{k}) &=& \hat{\Gamma}^{o}_{k}. \end{eqnarray} The terminal value of $\hat{\Gamma}(t)$ on $T_{k}$ gives the fundamental sensitivity matrix as \begin{eqnarray} \hat{\Gamma}_{k} &=& \hat{\Gamma}(t_{Fk}+1) \end{eqnarray} where $t_{Fk}$ is the terminal time of $T_{k}$. These equations have only products of vectors with other matrices or vectors, and they have no matrix inversion and no products of matrices with other matrices. Therefore the order of calculation is $O((n+1)^{2})$. Then the gain update is performed by (\ref{robust gain update})- (\ref{H update}) at the end of each $T_{k}$. \subsection{例題} さきに,2.2節に示した1次システムに関する例題 \begin{eqnarray} x(t+1) &=& x(t) + u(t)、 \nonumber \\ J &=& \sum_{t=0}^{\infty} \{x(t)^{2} + 2u(t)^{2}\} \nonumber \end{eqnarray} について,モデルが未知であると仮定して, 再帰型LQ学習制御を実行した場合のシミュレーション結果を 以下に示す。 この手法の標準的な学習では、フィードバックゲインを算出した値に 変更しながら実行するデータ観測と, 観測データに基づく新たなゲイン算出とが同時に繰り返し行なわれる. 各ゲインの修正に2サンプルのデータを用いているので, $t=2k$ ($k=1,2,3,…$) において順次得られるゲイン $G_{k}$ を用いて、$t=2k$ と $2k+1$ において、 入力 $u(t)=G_{k}x(t)+v(t)$ がシステムに加えられ, 観測が継続される. ただし,$v(t)$ はパソコンにより生成される乱数である. 雑音 $v(t)$ とこれにより駆動される状態 $x(t)$ の データをFig.3に示す. ただし,横軸は時刻$t$(0から30)である。 また、順次算出されたゲイン $G_{k}$ と行列 (この場合はスカラ)$P_{k}$ をFig.4に示す。 このグラフの横軸は学習回数$k$(0から15)である。 学習アルゴリズムに用いたパラメタは以下の通りである。\\ ~~~~~~ 各ブロック長:2,\\ ~~~~~~ 追加雑音$v(t)$:[-1,1]の範囲の一様雑音\\ ~~~~~~ 初期状態$x(0)$:=0,\\ ~~~~~~ 初期ゲイン$K_{0}$=0, \\ ~~~~~~ $P_{0}$=0,\\ ~~~~~~ $H_{0}$=0,\\ ~~~~~~ $\lambda_{1}(t)$0.9,$\lambda_{2}(t)$0.2,\\ ~~~~~~ $\delta$=0.00001,\\ \unitlength=1mm \begin{picture}(90,60) \thicklines \put(5,32.5){\vector(1,0){75}} \put(15,8){\vector(0,1){50}} \put(15,40){\line(1,0){2.5}} \put(15,47.5){\line(1,0){2.5}} \put(15,55){\line(1,0){2.5}} \put(15,25){\line(1,0){2.5}} \put(15,17.5){\line(1,0){2.5}} \put(15,10){\line(1,0){2.5}} \put(35,31.7){\line(0,1){3}} \put(55,31.7){\line(0,1){3}} \put(75,31.7){\line(0,1){3}} \put(15,32.5){\circle*{1.5}} %0 \put(17,34.3){\circle*{1.5}} %1 \put(19,36.8){\circle*{1.5}} %2 \put(21,48.8){\circle*{1.5}} %3 \put(23,39.1){\circle*{1.5}} %4 \put(25,32.8){\circle*{1.5}} %5 \put(27,24.8){\circle*{1.5}} %6 \put(29,17.2){\circle*{1.5}} %7 \put(31,10.6){\circle*{1.5}} %8 \put(33,15.2){\circle*{1.5}} %9 \put(35,24.7){\circle*{1.5}} %10 \put(37,32.8){\circle*{1.5}} %11 \put(39,19.4){\circle*{1.5}} %12 \put(41,34.2){\circle*{1.5}} %13 \put(43,44.7){\circle*{1.5}} %14 \put(45,52.3){\circle*{1.5}} %15 \put(47,42.1){\circle*{1.5}} %16 \put(49,29.1){\circle*{1.5}} %17 \put(51,45.5){\circle*{1.5}} %18 \put(53,36.2){\circle*{1.5}} %19 \put(55,44.7){\circle*{1.5}} %20 \put(57,26.8){\circle*{1.5}} %21 \put(59,14.7){\circle*{1.5}} %22 \put(61,16.3){\circle*{1.5}} %23 \put(63,34.1){\circle*{1.5}} %24 \put(65,24.5){\circle*{1.5}} %25 \put(67,27.1){\circle*{1.5}} %26 \put(69,17.9){\circle*{1.5}} %27 \put(71,32){\circle*{1.5}} %28 \put(73,28.1){\circle*{1.5}} %29 \put(75,27.7){\circle*{1.5}} %30 \put(15,34.4){\circle{1.3}} %0 \put(17,35){\circle{1}} %1 \put(19,44.3){\circle{1}} %2 \put(21,22.7){\circle{1}} %3 \put(23,36.6){\circle{1}} %4 \put(25,20.2){\circle{1}} %5 \put(27,22.5){\circle{1}} %6 \put(29,421.05){\circle{1}} %7 \put(31,37.9){\circle{1}} %8 \put(33,35.6){\circle{1}} %9 \put(35,37.4){\circle{1}} %10 \put(37,19.2){\circle{1}} %11 \put(39,41.6){\circle{1}} %12 \put(41,43.8){\circle{1}} %13 \put(43,45.2){\circle{1}} %14 \put(45,31.4){\circle{1}} %15 \put(47,23.8){\circle{1}} %16 \put(49,47.4){\circle{1}} %17 \put(51,28.35){\circle{1}} %18 \put(53,33.5){\circle{1}} %19 \put(55,20.3){\circle{1}} %20 \put(57,17.8){\circle{1}} %21 \put(59,25.7){\circle{1}} %22 \put(61,42.7){\circle{1}} %23 \put(63,23.65){\circle{1}} %24 \put(65,31.2){\circle{1}} %25 \put(67,20.7){\circle{1}} %26 \put(69,39.6){\circle{1}} %27 \put(71,28.4){\circle{1}} %28 \put(73,30.2){\circle{1}} %29 \put(75,47.2){\circle{1}} %30 \put(72,58){\circle*{1.5}} \put(72,53){\circle{1}} \put(84,32){$t$} \put(74,57){$x(t)$} \put(74,52){$v(t)$} \put(11,29){0} \put(33,28){10} \put(53,28){20} \put(73,35){30} \put(9,39){0.5} \put(9,46.5){1.0} \put(9,54){1.5} \put(8,24){-0.5} \put(8,16.5){-1.0} \put(8,9){-1.5} \put(5,2){\normalsize{\bf Fig.3~~Change of the added noise $v(t)$ and the state $x(t)$}} \end{picture} \vspace{10mm} 状態 $x(t)$ の変化を見ると、駆動雑音 $v(t)$ に対する応答は有界であり, 学習によって得られたフィードバックシステムは安定化されている。 一方,Fig.より,$t$ が大きい場合のゲイン $G_{k}$ はほぼ一定である. したがって,得られたゲインはフィードバックシステムを安定化していると いえる. また、ゲインの算出にシステムモデルの $A$ と $B$ を用いていないにも 関わらず,$G_{k}$ と $P_{k}$ は2.2節に示した 最適値 $G^{*}$=−0.5 と $P^{*}$=2.0 に収束していることがわかる。 ただし、$k>0$ において $H_{k}>0$ であるため、リッカチ差分方程式の 収束状況とは似ているが、違いがある。 \unitlength=1mm \begin{picture}(95,70) \thicklines \put(5,40){\vector(1,0){75}} \put(15,7){\vector(0,1){60}} \put(15,60){\line(1,0){2.5}} \put(15,80){\line(1,0){2.5}} \put(15,25){\line(1,0){2.5}} \put(15,10){\line(1,0){2.5}} \put(35,38.5){\line(0,1){3}} \put(35,38.5){\line(0,1){3}} \put(55,38.5){\line(0,1){3}} \put(75,38.5){\line(0,1){3}} \put(15,40){\circle*{1.5}} %0 \put(19,40){\circle*{1.5}} %1 \put(23,28){\circle*{1.5}} %2 \put(27,21.1){\circle*{1.5}} %3 \put(31,17.4){\circle*{1.5}} %4 \put(35,15.4){\circle*{1.5}} %5 \put(39,14.1){\circle*{1.5}} %6 \put(43,13.2){\circle*{1.5}} %7 \put(47,12.6){\circle*{1.5}} %8 \put(51,12.2){\circle*{1.5}} %9 \put(55,11.8){\circle*{1.5}} %10 \put(59,11.6){\circle*{1.5}} %11 \put(63,11.4){\circle*{1.5}} %12 \put(67,11.2){\circle*{1.5}} %13 \put(71,11.1){\circle*{1.5}} %14 \put(75,10.9){\circle*{1.5}} %15 \put(15,40){\circle{1.5}} %0 \put(19,50){\circle{1}} %1 \put(23,55.2){\circle{1}} %2 \put(27,60.0){\circle{1}} %3 \put(31,60.9){\circle{1}} %4 \put(35,60.55){\circle{1}} %5 \put(39,60.35){\circle{1}} %6 \put(43,60.2){\circle{1}} %7 \put(47,60.15){\circle{1}} %8 \put(51,60.1){\circle{1}} %9 \put(55,60.05){\circle{1}} %10 \put(59,60.05){\circle{1}} %11 \put(63,60.04){\circle{1}} %12 \put(67,60.03){\circle{1}} %13 \put(71,60.025){\circle{1}} %14 \put(75,60.015){\circle{1}} %15 \put(10,36){0} \put(34,35){5} \put(53,35){10} \put(73,35){15} \put(82,35){$k$} \put(9,49){1.0} \put(9,59){2.0} \put(6,24){-0.25} \put(7,9){-0.5} \put(55,15){$G_{k}$} \put(55,63){$P_{k}$} \put(5,2){\normalsize{\bf Fig.4~~Change of $G_{k}$ and $P_{k}$ in learning}} \end{picture} \\ 以上に示すように、漸近的にLQ最適システムが得られており、 十分大きい$t$ に対して、システムの動作は $v(t)$ で駆動した LQ最適フィードバックシステムをのとほぼ同じであることがわかる。 ここでは、$G_{0}=0$、$P_{0}=0$の場合の結果を示したが、これら初期値が 異なる場合、$G_{k}$と$B_{k}$の値は異なるが、同様に$G^{*}$=−0.5 と $P^{*}$=2.0 に収束する。 \section{出力フィードバックのモデル無しLQ学習制御} \subsection{拡大状態モデル} システムは可観測として、状態の一部しか直接に測定できない場合の 現代制御理論の標準的な手法はオブザーバを用いて状態の推定を行い、 真の状態ではないが、推定状態のフィードバックを行うものである。 ただし、標準的なオブザーバの構成にはシステムの方程式のかなりの 知識が必要であり、システムが未知な場合には容易に構成できない。 この出力フィードバック問題に対して,筆者らはシステムの構造が ほとんど未知な場合に、モデル無しLQ学習制御を実行する方法を 提案した\cite{kawamura-SCL}。 以下にはこの手法について説明する。 測定可能な状態からなる出力を \begin{eqnarray} y(t) = Cx(t) \label{mesurable output} \end{eqnarray} とおく。ただし$(C,A)$は可観測とする。 可観測性に着目すると、現在の出力は過去の出力と入力により、 適当な正数を$\bar{n}$として、 \begin{eqnarray} y(t) = a_{1} y(t-1)+a_{2} y(t-2)+...+a_{\bar{n}} y(t-\bar{n}) \\ +b_{1} u(t-1)+b_{2} u(t-2)+...+b_{\bar{n}} u(t-\bar{n}) \label{extend y} \end{eqnarray} と表すことができる。 実際、1入力1出力システムについて、この関係は$\bar{n}=n$として よく知られている。 ここで、測定可能な信号を用いて、 \begin{eqnarray} X(t) &=& (y(t-1)^{T} \ y(t-2)^{T} \ ... \ y(t-\bar{n})^{T}\\ & & u(t-1)^{T} \ u(t-2)^{T} \ ... \ u(t-\bar{n})^{T})^{T} \label{extend state} \end{eqnarray} とおき、$X((t)$を新たな状態とみなした拡大状態方程式 \begin{eqnarray} X(t+1) &=& \bar{A}X(t)+\bar{B} u(t),\\ y(t) &=& \bar{C} X(t),\\ \bar{A} &=& \pmatrix{ a_{1} \ a_{2} \ ... \ a_{\bar{n}} \ b_{1} \ b_{2} \ ... \ b_{\bar{n}} \cr {\bf I}_{\bar{n}-1} \ 0 \ \ \ \ \ \ \ \ \ \ {\bf 0} \cr 0 \ \ \ \ ... \ \ \ \ 0 \ 0 \ \ \ \ ... \ \ \ \ 0 \cr {\bf 0} \ \ \ \ \ \ \ \ \ \ \ {\bf I}_{\bar{n}-1} \ \ 0 \cr }, \\ \bar{B} &=& (0 \ 0 \ \ ... \ \ 0 \ \ \ I \ 0 \ \ ... \ \ 0)^{T},\\ \bar{C} &=& (a_{1} \ a_{2} \ ... \ a_{\bar{n}} \ b_{1} \ b_{2} \ ... \ b_{\bar{n}}),\\ \bar{D} &=& D \label{extend eq} \end{eqnarray} を考える。 ただし、${\bf I}_{\bar{n}-1}$は$\bar{n}-1$次のブロック対角行列である。 このシステムを$\bar{S}$とすと、次の関係が成立する\cite{kawamura-SCL}。\\ {\bf [定理7−1]} 条件1が成立し、$\bar{n}$を(\ref{extend y})式の表現が可能な整数とする。 このとき、システム$S$と$\bar{S}$は次の関係を満たす。\\ (1) $S$と$\bar{S}$は同一の入出力$(u,y)$関係を持つ。\\ (2) $t\to\infty$のとき、$X(t)\to 0$から$x(t)\to 0$が得られる。\\ (3) $(\bar{A},\bar{B})$は可制御であり、$(\bar{C},\bar{A})$は可検出 であり、$\bar{D}^{T}\bar{D}>0$である。\\ 以上の関係から、$\bar{S}$を拡大した状態方程式とみなし,拡大状態$X(t)$を 状態$x(t)$に置き換えて学習に使用することにより,状態の一部が測定できない システムに対しても,モデル無しLQ学習制御を適用できる。 ただし、$\bar{S}$の状態数は$S$の状態数より大きくなる場合が多い。 なお上記とは多少異なる拡大方程式の誘導法も存在する\cite{kawamura-SCL}。 \subsection{例題} 簡単なシステムとして,$x_{2}(t)$を測定できない \begin{eqnarray} \pmatrix{ x_{1}(t+1) \cr x_{2}(t+1) \cr } &=& \pmatrix{ 1.2 \ \ 0 \cr 1 \ \ \ 0 \cr }\pmatrix{ x_{1}(t) \cr x_{2}(t) \cr } + \pmatrix{ 0.2 \cr 0 \cr }u(t), \label{model_6} \\ y(t) &=& 1.5x_{1}(t) \nonumber \end{eqnarray} を考える(ただし、$D=1$). このとき、第3式に$t$を$t-1$に置き換えた第1式を代入し、 さらに同様の第3式を代入した \begin{eqnarray} y(t) &=& 1.2y(t-1)+0.3u(t-1) \nonumber \end{eqnarray} に注意する.したがって,$\bar{n}=1$とした \begin{eqnarray} X(t) &=&\pmatrix{ y(t-1) \cr u(t-1) \cr },\\ \bar{A} &=& \pmatrix{ 1.2 \ \ 0.3 \cr 0 \ \ \ \ 0 \cr }, \nonumber\\ \bar{B} &=& (0 \ \ 1)^{T},\nonumber\\ \bar{C} &=& (1.2 \ \ 0.3),\nonumber\\ \bar{D} &=& 1 \nonumber \end{eqnarray} は(\ref{model_6})式と同じ入出力関係を持つ可安定かつ可検出な 拡大モデル$\bar{S}$となる。 この例では,拡大モデルは最初の(\ref{model_6})式と 同じく2次である。 \vspace{150mm} \begin{thebibliography}{50} \bibitem{計測自動制御学会} 計測自動制御学会: 自動制御ハンドブック,基礎編,オーム(1983). \bibitem{木村(教)} 木村: デイジタル信号処理と制御,昭晃堂(1982). \bibitem{土屋,江上} 土屋、江上: 新版、現代制御工学,産業図書(1991). \bibitem{藤井他} 藤井: 新世代工学シリーズ,制御理論,オーム(2002). \bibitem{適応} 市川、金井、鈴木、田村:適応制御,昭晃堂(1984). \bibitem{河村data} 河村 嘉顯: 入出力データから最適レギュレータを構成する基礎的アルゴリズム, 計測自動制御学会論文集, 24-11,1216/1218(1988). \bibitem{片山} 片山徹:応用カルマンフィルタ,朝倉(1983). \bibitem{kawamura-SCL} Kawamura Y.: Direct construction of LQ regulator base on orthogonalization of signals: dynamical output feedback. {\it Systems \& Control Letters},{\bf 34}, 1-9(1998). \bibitem{データ設計} 河村 嘉顯:入出力データに基づくLQ最適制御系設計、システム/制御/情報 44 169/176(2000) \bibitem{河村ortho} 河村 嘉顯: 離散時間最適制御と最適推定について直交条件の双対性, 計測自動制御学会論文集,\\ 24-12, 1260/1267(1988). \bibitem{坂田,河村} 坂田厚志,河村嘉顯他:実データを用いた線形フィードバックシステムの最適化, 昭和60年度電気関係学会関西支部連合大会G2-7(1985) \bibitem{河村fast} 河村 嘉顯: LQ最適レギュレータ問題のための高速学習法の考察", 計測自動制御学会論文集,\\ 29-7, 767/775(1993). \bibitem{河村recurs} Kawamura Y, Nakano M and Yamamoto H.: Model-free Recursive LQ Controller Design (Learning LQ Control), {\it International Journal of Adaptive Control and Signal Processing} 18, 551-570(2004) \bibitem{中野} 中野 将宏 , 河村 嘉顯: 応答信号に基づく倒立振り子の高速学習LQ制御, 計測自動制御学会第26回制御理論シンポジウム,361/365(1997). \bibitem{古田} Furuta K and Wongsaisuwan M.: Closed-form solutions to discrete-time LQ optimal control and disturbance attenuation, {\it Systems \& Control Letters} 20,427/437 (1993). \bibitem{furuta-LQ} Furuta K, Wongsaisuwan M.: Closed-form solution to discrete-time LQ optimal control and disturbance attenuation. {\it Syst. Control Lett.} 1993; {\bf 20}: 427-437. \bibitem{hjal 95} Hjalmarsson H, Gunnarsson S, Gevers M.: Data-based tuning of a robust regulator for a flexible transmission system. {\it European Journal of control} 1995; {\bf 1}: 148-156. \bibitem{chan} Chan J. T.: Data-based synthesis of multivariable LQ regulator. {\it Automatica} 1996; {\bf 32}: 403-407. \bibitem{Fujisaki} Fujisaki Y, Duan Y, Ikeda M, Fukuda M.: A system representation and optimal control in input-output data space. {\it Trans. of SICE} (Japanese) 1999; {\bf 34}: 1845-1853. \bibitem{Nar-M} Narendra K.S, and McBride L.E.: Multiparameter self-optimization system using correlation techniques, {\it IEEE Trans. Automat. Control} AC-9, 31/38(1964) \bibitem{Nar-S} Narendra K.S. and Streeter D.N.: An adaptive proceduru for controlling undefined linear processes, {\it IEEE Trans. Automat. Control}, AC-9 545/548(1964) \bibitem{関数解析} コルモゴロフ,フォーミン:関数解析の基礎,岩波(1962). \bibitem{Hewer} Hewer G.A.: An iterative technique for the computation of the steady state gains for the discrete optimal regulator, {\it IEEE Trans. Automat. Control}, AC 16 382/384(1971) \bibitem{Landau} Landau I.D. and Lozano R.: Unification od discrete time explicit model reference adaptive control design, {\it Automatica} 17, 593/611(1981) \bibitem{河村sysid} Kawamura Y.: Direct synthesis of LQ regulator from inner product of response signals, 11th IFAC Symposium on system identification (SYSID'97) 1717/1222 (1997) \bibitem{河村ext Riccati} Kawamura Y.: Extension of the Riccati Difference Equation from Robust Gradient Method, 計測自動制御学会論文集, 33-2, 103/108(1997). \end{thebibliography} \end{document} \bibitem{Skelton} R.E.Skelton and G. Shi: The data-based LQG control problem, Proceedings of the 33rd IEEE Conference on Decision and Control, 1447/1452 (1994). \bibitem{Bitmead} Z. Zang, R. R .Bitmead and M. Gevers: Distrubance rejection: On-line refinement of controllers by closed loop modeling, Procc. of ACC 2829-2833 (1992). \bibitem{杉江} 杉江俊治,岡田昌史:"実験結果との対話的手法による ロバスト補償器の設計法", システム制御情報学会論文誌,8-2, 61-69 (1995). \bibitem{Willems} J.C.Willems: Paradigms and puzzles in the theory of dynamical systems, IEEE Trans. Automat. Control, 36-3, 259/294(1991) \bibitem{Landau} I.D.ランダウ,富塚:適応制御システムの理論と実際,オーム社 (1981). これら選定は理論上かなり自由であるが, 過大な制御入力による台車の激しい運動および過小入力による 倒立維持力不足にならない範囲として, $C^TC = {\rm diag}\pmatrix{1&0&5&0&0&0\cr}$, $D^TD = 0.02$, $P_0 = {\rm diag}\pmatrix{10^4&0&10^4&0&0&0\cr}$ としている. 初期ゲインについては情報がないものとして, $G_0\; = \pmatrix{0&0&0&0&0&0\cr}$ である. また,十分なロバスト性を得る $\lambda_{1k}~= ~0.99, ~\lambda_{2k}~= ~1.0$,$H_{0}=0$ を採用している. $v(t)$ は $\pm$10N 内の白色雑音であり, $t_{k+1}-t_{k}$ = 24$\Delta t$(1.44 s) 毎に1回のゲイン修正がなされる. 実システムの応答の内積をパラメータ感度として利用する報告は 筆者の知る限りきわめて少ないが, 1960年代の Narendra\cite{Narendra}らの研究に原型を見ることができ, 最近の Hjalmarsson, Gevers らのmodel-freeな方法\cite{Hjalmarsson} に見られる. \bibitem{Narendra} Narendra, K.S. and D.N. Streeter: An adaptive procedure for controlling undefined linear processes, IEEE Trans. Automat. Control,9, 545/548 (1964) . \bibitem{Hjalmarsson} H.Hjalmarsson and M.Gevers: Frequemcy domain expressions of the accuracy of a model-free control design scheme, 11th IFAC Symposium on system identification (SYSID'97) 135/140 (1997) \bibitem{重政} 森,重政:PIDオートチューニングコントローラの動向; 計測と制御,Vol.~29, No.~8, pp.~723--728 (1990) \bibitem{narendra-m1} K.\ S.\ Narendra and L.\ E.\ McBride: Multiparameter self-optimization system using correlation techniques; {\it IEEE Trans. Automatic Control}, AC-9, No.~1, pp.~31--38 (1964) \bibitem{narendra-m2} K.\ S.\ Narendra and L.\ E.\ McBride: Optimization of time-varying sytems; {\it IEEE Trans. Automatic Control}, AC-10, No.~7, pp.~289--294 (1965) \bibitem{narendra-s} K.\ S.\ Narendra and D.\ N.\ Streeter An adaptive procedure for controlling undefined linear processes; {\it IEEE Trans. Automatic Control}, AC-9, No.~10, pp.~545--548 (1964) \bibitem{error model ID} Special issue on system identification for robust control design; {\it IEEE trans. Automat. Control}, AC-37, No.~7, pp.899-1008 (1992) \bibitem{Hof} P. \ M.\ J.\ Van Den Hof and R.\ J.\ P.\ Schrama: Identification and control---Closed-loop issues; {\it Automatica}, Vol.~31, No.~12, pp.1751-1770 (1995) \bibitem{河村BP} 河村:リカレントニューラルネットの学習;日本ファジイ学会誌, Vol.~7, pp.~52--56 (1995) \bibitem{市川} 市川:適応制御における正実性と拡張誤差; 計測と制御,Vol.~29, No.~8, pp.~734--737 (1990) \bibitem{原} 原,山本:学習制御;計測と制御,Vol.~31, No.~1, pp.~133--137 (1992) \bibitem{池田} 池田,林:入出力データ蓄積によるデイジタル制御;第16回 SICE制御理論シンポジウム,pp.~47--50 (1987) \bibitem{藤崎array} 藤崎,段,池田;入出力データ配列に基づくシステム表現と制御方式 システム制御情報学会論文誌, Vol.~11, No.~11, pp.~630--637 (1998) \bibitem{藤崎opt} 藤崎,段,池田,福田;入出力データ空間におけるシステム表現と 最適制御;計測自動制御学会論文集, Vol.~34, No.~12, pp.~1845--1853 (1998) \bibitem{古田LQ} K.\ Furuta and M.\ Wongsaisuwan: Closed-form solutions to discrete-time LQ optimal control and disturbance attenuation; {\it Syst. Control Letters}, Vol.~20, pp.~427--437 (1993) \bibitem{古田KF} K.\ Furuta: Alternative solution of discrete-time Kalman filter; {\it Syst. Control Letters}, Vol.~22, pp.~429--435 (1994) \bibitem{furuta-LQG} K.\ Furuta and M.\ Wongsaisuwan: Discrete-time LQG dynamic controller design using plant Markov parameters; {\it Automatica}, Vol.~31, No.~9, pp.~1325--1332 (1995) \bibitem{skelton MF} R.\ E\ .Skelton and G.\ Shi; The data-based LQG Control problem; Proceedings of the 33rd IEEE Conference on Decision and Control, pp.~1447--1452 (1994) \bibitem{chan-LQ} J.\ T.\ Chan: Data-based synthesis of multivariable LQ regulator; {\it Automatica}, Vol.~32, No.~3, pp ~403--407 (1996) \bibitem{chan-outputf} J.\ T.\ Chan: Output feedback realization of LQ optimal systems: a general design using data-based synthesis; {\it Int. J. Control}, Vol.~72, No.~12, pp.~1054--1064 (1999) \bibitem{chan-pole} J.\ T.\ Chan: An LQ controller with a prescribed pole region-A data-based design approach; {\it Journal of Dynamic Syst., Measure., Control}, Vol.~119 pp.~.271--277 (1997) \bibitem{河 コortho} 河村 嘉顯: 離散時間最適制御と最適推定について直交条件の双対性; 計測自動制御学会論文集,Vol.~24, No.~12, pp.~1260--1267 (1988) \bibitem{河村 inner} Y. \ Kawamura: Inner products of some responses and iterative optimization; 9th SICE Dynamical System Symposium, pp.~59--62 (1986) \bibitem{河村data} 河村: 入出力データから最適レギュレータを構成する 基礎的アルゴリズム;計測自動制御学会論文集, Vol.~24, No.~11, pp.~1216--1218 (1988) \bibitem{kawamura-SCL} Y.\ Kawamura; Direct construction of LQ regulator based on orthogonalization of signals: dynamical output feedback; {\it Syst. Control Lett.} Vol.~34, No.~1, pp.~1--9 (1998) \bibitem{hajal 95} H.\ Hjalmarsson, S.\ Gunnarsson and M.\ Gevers; Model-free tuning of a robust regulator for a flexible transmission system; European Journal of control, 1, pp.~148--156 (1995) \bibitem{hjal 97} H.\ Hjalmarsson, M.\ Gevers and O.\ Lequin; Iterative feedback tuning: theory and applications in chemical process control: {\it Journal A}, Vol.~38, No.~1, pp.~16--25 (1997) \bibitem{hjal 98} H. \ Hjalmarsson, T.\ Birkeland: Iterative feedback tuning of linear time-invariant MIMO system; Proceedings of the 37rd CDC, pp.3893-3898 (1998) \bibitem{杉江} 浜本,杉江:Iterative Feedback Tuning による 準最適補償器の構成法; システム制御情報学会論文集,Vol.~35, No.~7, pp.~879--895 (1999) \bibitem{河村unimod} 河村:LQおよびLQG学習最適化問題における 評価関数の単峰性; 計測自動制御学会論文集,Vol.~29, No.~5, pp.~555--563 (1993) \bibitem{河村fast} 河村: LQ最適レギュレータ問題のための高速学習法の考察; 計測自動制御学会論文集,Vol.~29, No.~7, pp.~767--775 (1993) \bibitem{中野} 中野,河村: 応答信号に基づく倒立振り子の高速学習LQ制御; SICE第26回制御理論シンポジウム,pp.~361--365 (1997) \bibitem{河村ext Riccati} Y.Kawamura: Extension of the Riccati Difference Equation from Robust Gradient Method, {\it Trans. SICE}, Vol.~33, No.~2, pp.~103--108 (1997) \end{thebibliography} \bigskip %%このようなスペースを空けるコマンドは入稿時には使用しないでください \noindent \chosharyakureki \end{document} \subsection{直交条件} 無限期間の最適レギュレータは時不変状態フィードバックにより 構成できることがよく知られている. そこで,補助的な追加入力 $v(t)$ を伴った時不変状態フィードバック \begin{eqnarray} u(t)=Gx(t)+v(t) \label{feedback} \end{eqnarray} を考える.この閉ループシステムを改めて $\bar{S}$ と表す. このとき $v(t)$ は $\bar{S}$ の入力となる. $\bar{S}$ に対し,初期状態を $x^{a}(0)$, 追加入力を $v^{a}(t) \equiv 0$ とする 初期値応答を $\vect{z}^{a}$ と表そう. 初期時刻の単位インパルスを $\delta (t)$ として, 同様に,$x^{b}(0)=0$,$v^{b}(t) \equiv v^{b}(0)\delta (t)$ とする インパルス応答を $\vect{z}^{b}$ と表す. 簡単のため,本文では以下の標準条件を仮定する.\\ {\bf 条件1}~ $(A,B)$ は可制御,$(C,A)$ は可観測, $C^{T}D=0$,$D^{T}D>0$. 以上の閉ループシステムの応答を用いて, つぎの直交関係が得られる\cite{{河村ortho}}. {\bf [定理3−1]} 条件1を仮定する.このとき, 時不変状態フィードバック $u(t)=Gx(t)$ が無限期間の LQ最適制御であるための必要十分条件は すべての $x^{a}(0) \in R^{n}$ と $v^{b}(0) \in R^{m}$ について \[ \lim_{L \to \infty} <\vect{z}^{a},\vect{z}^{b}>~=0 \] が成立することである. この関係を最適応答と摂動(インパルス応答) との直交性と見ることができる(Fig.2 参照). 実際、もしこの直交条件が成立せず,$\vect{z}^{b}$が同図の細線 $\vect{z'}^{b}$のように$\vect{z}^{a}$と直交しない場合, $\gamma$を適切に選んだ$||\vect{z}^{a}+\gamma\vect{z}^{b'}||^{2}$は $\vect{z'}^{b}$への垂線となる.