実数値の状態 と制御 ( は 上の区分的に連続な実数値関数で、値に制限はない)について、状態方程式
のもとで、評価関数
を最小にしたい。時刻 に状態 から出発したときの の最小値を値関数 とし、 の形であることを用いてよい。 の最小値を求めよ。
動的計画法とハミルトン・ヤコビ・ベルマン方程式
値関数 について最適性原理から HJB 方程式 , を立て、括弧内を について最小化して最適なフィードバック制御 を で表せる
前提
- 偏微分と全微分 (大学数学 微分積分)
- ベルマン最適方程式と最適価値 (大学数学 オペレーションズ・リサーチ)
- 平方完成と 2 次関数のグラフ (数学I 2次関数)
この技能までの道筋(52 技能)
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 分数のたし算・ひき算 (算数 計算と数のきまり)
- 小数の四則計算 (算数 計算と数のきまり)
- 正負の数の加法・減法 (中学数学 数と式)
- 分数のかけ算・わり算 (算数 計算と数のきまり)
- 四則の混じった計算の順序 (算数 計算と数のきまり)
- 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
- 分配法則を使った計算のくふう (算数 計算と数のきまり)
- 文字式の計算(同類項・分配法則) (中学数学 数と式)
- 乗法公式による展開 (中学数学 数と式)
- 因数分解 (中学数学 数と式)
- 3 次式までの展開と因数分解 (数学I 数と式)
- 微分係数と導関数の定義 (数学II 微分法と積分法)
- 多項式の微分 (数学II 微分法と積分法)
- 等間隔にならんだ数の和 (算数 計算と数のきまり)
- 等差・等比数列の和と Σ (数学B 数列)
- 数列の極限 (数学III 極限)
- 関数の極限 (数学III 極限)
- 積と商の微分 (数学III 微分法)
- 合成関数の微分 (数学III 微分法)
- 偏微分と全微分 (大学数学 微分積分)
- 樹形図で数え上げる (算数 場合の数)
- 積の法則と和の法則 (算数 場合の数)
- 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
- 順列・円順列・重複順列 (数学A 場合の数と確率)
- 組合せ (数学A 場合の数と確率)
- 確率の定義と和事象・余事象 (数学A 場合の数と確率)
- 条件付き確率と乗法定理 (数学A 場合の数と確率)
- マルコフ連鎖と推移確率 (大学数学 確率・統計)
- 無限等比級数と無限級数 (数学III 極限)
- 三角形の角の大きさ (算数 平面図形)
- 対頂角と平行線の同位角・錯角 (中学数学 平面図形)
- 三角形の外角と角の組み合わせ (中学数学 平面図形)
- 小数と分数のまじった計算 (算数 計算と数のきまり)
- 逆算(□ を求める) (算数 計算と数のきまり)
- 1 次方程式の解き方 (中学数学 方程式)
- 二等辺三角形の角 (中学数学 平面図形)
- 平行四辺形と特別な四角形の性質 (中学数学 平面図形)
- 三角形・四角形の面積 (算数 平面図形)
- 約数の見つけ方 (算数 整数の性質)
- 素因数分解と約数の個数 (算数 整数の性質)
- 平方根の意味と根号の簡単化 (中学数学 数と式)
- 三平方の定理 (中学数学 相似と三平方の定理)
- 折り返した図形の角と長さ (中学数学 平面図形)
- 三平方の定理と平面図形 (中学数学 相似と三平方の定理)
- ベクトルの演算と成分 (数学C ベクトル)
- 行列の和・積と 2 次の逆行列 (大学数学 線形代数)
- 掃き出し法と連立 1 次方程式 (大学数学 線形代数)
- マルコフ決定過程と方策の価値 (大学数学 オペレーションズ・リサーチ)
- ベルマン最適方程式と最適価値 (大学数学 オペレーションズ・リサーチ)
- 比例・反比例の式とグラフ (中学数学 関数)
- 関数 の式と変域 (中学数学 関数)
- 平方完成と 2 次関数のグラフ (数学I 2次関数)
説明
状態 が に従って連続時間で動き、制御 を選んで費用 を最小にしたい、という最適制御問題を扱います。出発時刻 ・出発状態 から最適に進んだときの最小費用を値関数 とよび、離散時間のベルマン方程式の連続時間版である HJB 方程式 を立てます。括弧の中を について最小化すると、各時刻・各状態で取るべき制御(フィードバック制御) が で表せます。
なぜそうしてよいのか
ベルマン方程式は「今 1 ステップでかかる費用」+「その次の状態から先の最適費用」を最小化するという最適性原理でした。連続時間では 1 ステップを短い時間 と考えます。時刻 に状態 にいて、時間 の間ほぼ一定の制御 を使うと、その間の費用はおよそ 、時刻 の状態はおよそ です。その後は最適に進むとすると、最適性原理から
となります(割引のない、遷移が確定的なベルマン方程式で、報酬の最大化の代わりに費用の最小化をしています)。 が偏微分可能だとして全微分で 1 次まで展開すると なので、両辺から を引いて で割り、 とすると
が得られます。時刻 に出発すれば残りの費用は終端費用だけなので です。値関数は終端から時間を逆向きにたどって決まる、という点も離散時間の後ろ向き帰納と同じです。
逆向きの確認もできます。滑らかな関数 が HJB 方程式と終端条件を満たすとき、任意の制御で動く軌道に沿って (括弧内の最小値以上だから)なので、 から まで積分すると 、つまり です。括弧内を最小にする を使えば等号が成り立つので、 は確かに最小費用で、 が最適なフィードバック制御です。
実際の計算では、括弧の中 を「 を定数とみた の関数」として最小化します。たとえば が の 2 次式で が の 1 次式なら、平方完成で最小点 が の式として求まり、それを代入すると だけの偏微分方程式になります。
手順
問題を 、費用 の形に整理し、 を読み取る。
HJB 方程式 と終端条件 を書く。
括弧内を を定数とみて について最小化する(2 次式なら平方完成)。最小点が最適フィードバック ( で表される)になる。最小値が存在すること(2 次の係数が正など)を確認する。
最小値を HJB 方程式に代入して、 の偏微分方程式にする。
与えられた(または仮定した形の) について を計算し、方程式と終端条件を満たすことを確かめてから、 を の式に代入する。
例題
を定数とする。状態方程式 ( は実数)のもとで、費用 を最小にする問題を考える。()が HJB 方程式と終端条件を満たすことを確かめ、最適なフィードバック制御 を求めよ。
例題の解答
【手順 1】。
【手順 2】HJB 方程式は 、終端条件は 。
【手順 3】 と平方完成すると、2 次の係数が正なので最小点は 、最小値は 。
【手順 4】HJB 方程式は となる。
【手順 5】 より 、。すると で方程式を満たし、 で終端条件も満たす( では なので分母は 0 にならない)。よって
(終端時刻が近づくほど、状態を 0 に引き戻す力が強くなる。)
答え:
よくある誤り
最小化を済ませずに、 を含んだまま を方程式としてしまう誤り。正しくは括弧内を について最小化した値を入れる。例題なら ではなく である。
平方完成の係数を落とす誤り。 の最小点を としてしまう。正しくは より 。費用が ()なら になる。
終端条件を初期時刻に置いてしまう誤り。 としてしまう。正しくは値関数は「残りの最小費用」なので であり、時間を逆向きに解く。
最大化と最小化、または符号を取り違える誤り。強化学習のベルマン方程式にならって としてしまう。 が費用なら正しくは であり、 を にすると括弧内は上に有界でなく、最適制御が存在しない。
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
入口の問題
この技能を使う問題
を定数とし、, とする。区間 上の実数値区分的連続関数(有限個の点を除いて連続で、各不連続点で左右の極限が有限であるもの)全体を とする。 に対し、状態 を
で定め(すなわち , )、評価関数を
とする。このとき
が成り立つ(左辺の最小値が存在して右辺に等しい)ことを、関数 がハミルトン・ヤコビ・ベルマン方程式を満たすことを用いて証明せよ。実数値の状態 と制御 ( は 上の区分的に連続な実数値関数)について、状態方程式
のもとで、評価関数
を最小にする問題を考える( には制約を課さない)。値関数を とし、ハミルトン・ヤコビ・ベルマン方程式を用いて、 の最小値 を求めよ。とする。実数値の状態 と制御 ( は 上の区分的に連続な実数値関数)について、状態方程式 を考える(終端値 は自由)。評価関数 の最小値を求めよ。
この技能の次に学べること
- 線形 2 次(LQ)制御とリカッチ方程式 (大学院数学 変分法・最適制御)