「《不変埋没原理》」の版間の差分

提供: ORWiki
ナビゲーションに移動 検索に移動
(新しいページ: ''''【ふへんまいぼつげんり (principle of invariant imbedding)】'''  ある問題を解こうとするとき, この問題を含む部分問題からなる群(族)...')
 
3行目: 3行目:
 
 ある問題を解こうとするとき, この問題を含む部分問題からなる群(族)を考えることを「埋め込み」(imbedding)という. すなわち, 与問題をある問題群の1つと見做すことである. このとき, 問題の大きさは小さい(易しい)ものから大きい(難しい)ものまであり, 一番大きい(解きたい)問題が与問題である. しかし, 問題の「構造」は不変である. さらに, 相隣る問題間の関係式を導き, これを解くことによって, 与問題の「解」を求める. このような方法で解に至るまでを, [[不変埋没原理]] (principle of invariant imbedding)による方法という [1] [4] [5].   
 
 ある問題を解こうとするとき, この問題を含む部分問題からなる群(族)を考えることを「埋め込み」(imbedding)という. すなわち, 与問題をある問題群の1つと見做すことである. このとき, 問題の大きさは小さい(易しい)ものから大きい(難しい)ものまであり, 一番大きい(解きたい)問題が与問題である. しかし, 問題の「構造」は不変である. さらに, 相隣る問題間の関係式を導き, これを解くことによって, 与問題の「解」を求める. このような方法で解に至るまでを, [[不変埋没原理]] (principle of invariant imbedding)による方法という [1] [4] [5].   
  
 たとえば,「1から10までの自然数の和を求める」問題を考えてみよう. 以下ではいつも「1から」(前向きの方法で)考えることにして, この問題を $ {\rm P}(10) $ で表わし, 「解」(この場合, 和)を $ S(10) $ としよう. このとき, 「1から $ n $ までの自然数の和を求める」部分問題 $ {\rm P}(n) $ からなる群 $\{ {\rm P}(n); n = 1, 2, \ldots , 10\} $ を考える. このこと自体が埋め込みである. 部分問題 $ {\rm P}(n) $ の解($=$和)を $ S(n) $ とする. 最後の(一番大きい)問題 $ {\rm P}(10) $ の解 $ S(10) $ が求める解である. このとき, 最初の(一番易しい)問題の解は $ S(1) = 1$ であり, 相隣る問題の解 $ S(n) $ $ S(n+1) $ の間に漸化式
+
 たとえば,「1から10までの自然数の和を求める」問題を考えてみよう. 以下ではいつも「1から」(前向きの方法で)考えることにして, この問題を <math>{\rm P}(10)\, </math> で表わし, 「解」(この場合, 和)を <math>S(10)\, </math> としよう. このとき, 「1から <math>n\, </math> までの自然数の和を求める」部分問題 <math>{\rm P}(n)\, </math> からなる群 <math>\{ {\rm P}(n); n = 1, 2, \ldots , 10\}\, </math> を考える. このこと自体が埋め込みである. 部分問題 <math>{\rm P}(n)\, </math> の解(<math>=\, </math>和)を <math>S(n)\, </math> とする. 最後の(一番大きい)問題 <math>{\rm P}(10)\, </math> の解 <math>S(10)\, </math> が求める解である. このとき, 最初の (一番易しい) 問題の解は <math>S(1) = 1\, </math> であり, 相隣る問題の解 <math>S(n)\, </math> <math>S(n+1)\, </math> の間に漸化式
  
  
$$  S(n+1) = S(n) + n+1[[利用者:Orsjwiki|Orsjwiki]] 2007年7月3日 (水) 17:29 (JST)n = 1, 2, \ldots , 9;2007年7月3日 (水) 17:29 (JST)~S(1) = 1 $$
+
:<math>S(n+1) = S(n) + n+1 \quad n = 1, 2, \ldots , 9; \quad S(1) = 1\, </math>
  
が成り立つ. 漸化式を S(1), S(2), \ldots $ の順に前向きに逐次解くことによって, $ S(10) = 55 $を得る. 他方, 「$ n $ から(いつも!)10までの自然数の和を求める」部分問題 $ {\rm Q}(n) $ の族を考えても, 上述と同様に解くことができる. これを後向きの埋め込みという.
+
 
 +
が成り立つ. 漸化式を <math>S(1), S(2), \ldots\, </math> の順に前向きに逐次解くことによって, <math>S(10) = 55\, </math> を得る. 他方, 「<math>n\, </math> から(いつも!)10までの自然数の和を求める」部分問題 <math>{\rm Q}(n)\, </math> の族を考えても, 上述と同様に解くことができる. これを後向きの埋め込みという.
 
   
 
   
 
 一般の問題では, どのような大きさの問題群に埋め込むか, 関係式が導けるか, 解けるか, 解き易いかなど, 埋め込み方に工夫を要する. たとえば, 多段階の最適化問題
 
 一般の問題では, どのような大きさの問題群に埋め込むか, 関係式が導けるか, 解けるか, 解き易いかなど, 埋め込み方に工夫を要する. たとえば, 多段階の最適化問題
  
  
\begin{eqnarray*}
+
:<math>\mbox{max.} ~~ \psi(g_{1}(x_{1},x_{2}) \circ g_{2}(x_{2},x_{3}) \circ
& & \hspace{5mm} {\rm max.} \hspace{4mm}
+
  \cdots \circ g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1})) \, </math>
                  \psi(g_{1}(x_{1},x_{2}) \circ g_{2}(x_{2},x_{3}) \circ
+
 
  \cdots \circ g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1}))   \\
+
:<math>\mbox{s. t.} ~~~ x_{n+1} \in A_{n}(x_{n}) \quad (1 \le n \le N), \, </math>
& & \hspace{5mm}\mbox{s. t.} \hspace{7mm}
+
 
                x_{n+1} \in A_{n}(x_{n}) [[利用者:Orsjwiki|Orsjwiki]] (1 \le n \le N),   
+
 
\end{eqnarray*}
+
の最大値 <math>u_{1}(x_{1})\, </math> と最大点  <math>x^{*} = (x_{1}, x_{2}^{*}, \ldots , x_{N+1}^{*})\, </math> を求めるには, 新たなパラメータ <math>\lambda_{n} (\in \Lambda_{n}(x_{n}))\, </math> を含む部分問題群 <math>{\mathcal P} = \{ {\rm P}_{n}(x_{n};\lambda_{n}) \}\, </math> :
 +
 
 +
 
 +
:<math>{\rm max.}~~ \psi(\lambda_{n} \circ g_{n}(x_{n},x_{n+1}) \circ \cdots
 +
  \circ g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1})) \, </math>
 +
 
 +
:<math>\mbox{s. t.}~~~ x_{m+1} \in A_{m}(x_{m}) \quad (n \le m \le N),\, </math>
  
 +
:<math>x_{n} \in X_{n},~~ \lambda_{n} \in \Lambda_{n}(x_{n}),~~(1 \le n \le N+1),\, </math>
  
の最大値 $ u_{1}(x_{1}) $ と最大点 $ x^{*} = (x_{1}, x_{2}^{*}, \ldots , x_{N+1}^{*}) $ を求めるには, 新たなパラメータ $ \lambda_{n} (\in \Lambda_{n}(x_{n})) $ を含む部分問題群 $ {\cal P} = \{ {\rm P}_{n}(x_{n};\lambda_{n}) \} $ :
 
%
 
  
\begin{eqnarray*}
+
に埋め込むと, パラメータ空間列 <math>\{\Lambda_{n}(\cdot)\}\, </math> は前向きの再帰式
& & \hspace{5mm} {\rm max.} \hspace{4mm}
 
                  \psi(\lambda_{n} \circ g_{n}(x_{n},x_{n+1}) \circ \cdots
 
\circ g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1}))  \\
 
& & \hspace{5mm}\mbox{s. t.} \hspace{7mm}
 
                x_{m+1} \in A_{m}(x_{m}) [[利用者:Orsjwiki|Orsjwiki]] (n \le m \le N), \\[2.34mm]
 
& & \hspace*{7.9mm} x_{n} \in X_{n},~~\lambda_{n}
 
  \in \Lambda_{n}(x_{n}),~~(1 \le n \le N+1),
 
\end{eqnarray*}
 
%
 
  
に埋め込むと, パラメータ空間列 $ \{\Lambda_{n}(\cdot)\} $ は前向きの再帰式
 
  
 +
:<math>\Lambda_{1}(x) = \{ \tilde{\lambda}\},~~x \in X_{1}\, </math> <math>(\tilde{\lambda}\, </math>は結合演算<math>\circ\, </math>の左単位元<math>)\, </math>     
  
\begin{eqnarray}
+
:<math>\begin{array}{lr}
& & \Lambda_{1}(x) = \{ \tilde{\lambda}\},~~x \in X_{1}[[利用者:Orsjwiki|Orsjwiki]] 2007年7月3日 (水) 17:29 (JST) (
+
\Lambda_{n+1}(y) = & \{\, \lambda \circ g_{n}(x,\,y) \, | \, \lambda \in \Lambda_{n}(x),~y \in A_{n}(x) \, \} \\  
\tilde{\lambda}\ は\mbox{結合演算}~\circ~ \mbox{の左単位元})     
+
& y \in X_{n+1},~~ n = 1, 2, \ldots , N
\nonumber \\
+
\end{array}\, </math>
& & \Lambda_{n+1}(y) = \{\, \lambda \circ g_{n}(x,\,y) \, | \, \lambda \in
 
\Lambda_{n}(x),~y \in A_{n}(x) \, \} \nonumber \\[-2.12mm]
 
& & \hspace*{40mm} y \in X_{n+1},~~ n = 1, 2, \ldots , N \nonumber
 
\end{eqnarray}
 
  
  
で生成され, 最適値関数 $ u_{n} = u_{n}(x_{n};\lambda_{n}) $は次の後向き再帰式を満たす:
+
で生成され, 最適値関数 <math>u_{n} = u_{n}(x_{n};\lambda_{n})\, </math>は次の後向き再帰式を満たす:
  
  
\begin{eqnarray}
+
:<math>u_{n}(x; \lambda) = \max_{y \in A_{n}(x)}u_{n+1}(\,y\,;  
& & u_{n}(x; \lambda) = \mathop{{\rm max}}_{y \in A_{n}(x)}u_{n+1}(\,y\,;  
+
\lambda \circ g_{n}(x,\,y))\, </math>
\lambda \circ g_{n}(x,\,y))   \nonumber \\[-2.12mm]
+
:::::<math>x \in X_{n}, ~~\lambda \in \Lambda_{n}(x),~~ n = 1, 2, \ldots , N\, </math>
& & \hspace*{40mm} x \in X_{n}, ~~\lambda \in \Lambda_{n}(x),~~ n = 1, 2,
 
\ldots , N \nonumber  \\
 
& & u_{N+1}(x; \lambda) = \psi(\lambda \circ k(x))2007年7月3日 (水) 17:29 (JST)~x \in
 
X_{N+1},~~\lambda \in \Lambda_{N+1}(x).        \nonumber
 
\end{eqnarray}
 
  
 +
:<math>u_{N+1}(x; \lambda) = \psi(\lambda \circ k(x))~~x \in X_{N+1},~~\lambda \in \Lambda_{N+1}(x).\, </math>
  
これを後ろから逐次解き, 最後の $ u_{1}(x_{1};\lambda_{1}) $ $ \lambda_{1} = \tilde{\lambda} $ を代入すると求める最大値が得られる: $ u_{1}(x_{1}) = u_{1}(x_{1};\tilde{\lambda}). $  
+
 
 +
これを後ろから逐次解き, 最後の <math>u_{1}(x_{1};\lambda_{1})\, </math> <math>\lambda_{1} = \tilde{\lambda}\, </math> を代入すると求める最大値が得られる: <math>u_{1}(x_{1}) = u_{1}(x_{1};\tilde{\lambda}).\, </math>  
  
 
 また, [[非最適化]]問題としては, [[木の総容量]]など, 多重和 ([[多重和の解法]])
 
 また, [[非最適化]]問題としては, [[木の総容量]]など, 多重和 ([[多重和の解法]])
  
  
\begin{eqnarray}
+
:<math>\mbox{S}_{1}(x_{1}):~~ \displaystyle {\sum \sum \cdots \sum}
{\rm S}_{1}(x_{1}):\hspace{-2.21mm}& & \sum
+
_{(x_{2}, x_{3}, \cdots , x_{N+1}) \in P_{1}(x_{1})}
\hspace{0.3mm}\sum\hspace{0.3mm}\cdots\hspace{0.3mm}\sum
+
\psi(g_{1}(x_{1},x_{2}) \circ \cdots \circ
_{\hspace{-21.1mm}(x_{2}, x_{3}, \cdots , x_{N+1}) \in P_{1}(x_{1})}
+
  g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1}))\, </math>
\hspace{-1.9mm}\psi(g_{1}(x_{1},x_{2}) \circ \cdots \circ
+
 
  g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1}))\ \nonumber \\[2.34mm]
+
 
& & \hspace*{0.8mm}( P_{1}(x_{1}) := \{(x_{2}, \cdots , x_{N+1})\, |\,
+
:<math>(P_{1}(x_{1}) := \{(x_{2}, \cdots , x_{N+1})\, |\,
  x_{n+1} \in A_{n}(x_{n})~~1 \le n \le N \}) \nonumber
+
  x_{n+1} \in A_{n}(x_{n})~~1 \le n \le N \})\, </math>
\end{eqnarray}
+
 
 +
 
 
を求める問題があって, やはりパラメータを含む埋め込みによって解くことができる.  
 
を求める問題があって, やはりパラメータを含む埋め込みによって解くことができる.  
  

2007年7月4日 (水) 15:06時点における版

【ふへんまいぼつげんり (principle of invariant imbedding)】

 ある問題を解こうとするとき, この問題を含む部分問題からなる群(族)を考えることを「埋め込み」(imbedding)という. すなわち, 与問題をある問題群の1つと見做すことである. このとき, 問題の大きさは小さい(易しい)ものから大きい(難しい)ものまであり, 一番大きい(解きたい)問題が与問題である. しかし, 問題の「構造」は不変である. さらに, 相隣る問題間の関係式を導き, これを解くことによって, 与問題の「解」を求める. このような方法で解に至るまでを, 不変埋没原理 (principle of invariant imbedding)による方法という [1] [4] [5].

 たとえば,「1から10までの自然数の和を求める」問題を考えてみよう. 以下ではいつも「1から」(前向きの方法で)考えることにして, この問題を で表わし, 「解」(この場合, 和)を としよう. このとき, 「1から までの自然数の和を求める」部分問題 からなる群 を考える. このこと自体が埋め込みである. 部分問題 の解(和)を とする. 最後の(一番大きい)問題 の解 が求める解である. このとき, 最初の (一番易しい) 問題の解は であり, 相隣る問題の解 の間に漸化式



が成り立つ. 漸化式を の順に前向きに逐次解くことによって, を得る. 他方, 「 から(いつも!)10までの自然数の和を求める」部分問題 の族を考えても, 上述と同様に解くことができる. これを後向きの埋め込みという.

 一般の問題では, どのような大きさの問題群に埋め込むか, 関係式が導けるか, 解けるか, 解き易いかなど, 埋め込み方に工夫を要する. たとえば, 多段階の最適化問題



の最大値 と最大点 を求めるには, 新たなパラメータ を含む部分問題群  :



に埋め込むと, パラメータ空間列 は前向きの再帰式


は結合演算の左単位元


で生成され, 最適値関数 は次の後向き再帰式を満たす:



これを後ろから逐次解き, 最後の を代入すると求める最大値が得られる:

 また, 非最適化問題としては, 木の総容量など, 多重和 (多重和の解法)




を求める問題があって, やはりパラメータを含む埋め込みによって解くことができる.

 このようなパラメータを導入した埋め込みは非可分性(動的計画法における) に起因し, 単一評価系(多段決定過程における), 複合評価系(多段決定過程における)の最適化, 期待値最適化, 多重和, 多重積分 (多重積分の解法) などで考えられる [2] [3]. 不変埋没原理は変数の離散と連続, システムの確定や確率やファジィ, 問題の最適と非最適を問わず, 歴史的には数学(微分方程式, 偏微分方程式の応用), 物理数学などで, また近年はコンピュータサイエンスで幅広く用いられている.



参考文献

[1] R. E. Bellman and E. D. Denman, Invariant Imbedding, Lect. Notes in Operation Research and Mathematical Systems, Vol. 52, Springer-Verlag, Berlin, 1971.

[2] S. Iwamoto and T. Fujita, "Stochastic Decision-making in a Fuzzy Environment," Journal of the Operations Research Society of Japan, 38 (1995), 467-482.

[3] 岩本誠一,「不変埋没によるファジィ動的計画法」, 日本オペレーションズ・リサーチ学会第33回シンポジウム, 25-33, 1995.

[4] E. S. Lee, Quasilinearization and Invariant Imbedding, Academic Press, 1968.

[5] 相良節夫, 杉坂政典,「Invariant Imbedding について」,『システムと制御』, 17 (1973), 596-601.