<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://orsj-ml.org/orwiki/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Imahori</id>
	<title>ORWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://orsj-ml.org/orwiki/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Imahori"/>
	<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Imahori"/>
	<updated>2026-04-08T09:29:40Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E5%B0%8F%E6%9C%A8%E5%95%8F%E9%A1%8C&amp;diff=9973</id>
		<title>最小木問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E5%B0%8F%E6%9C%A8%E5%95%8F%E9%A1%8C&amp;diff=9973"/>
		<updated>2008-08-06T08:23:08Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【さいしょうきもんだい (minimum spanning tree problem)】'''&lt;br /&gt;
&lt;br /&gt;
== 概要 ==&lt;br /&gt;
各枝に重みの与えられた(無向)グラフにおいて, そのグラフ上に存在する全張木(全域木)の中で枝の重みの総和が最小になるものを見出す組合せ最適化問題. それ自身も多くの応用例をもつが, より複雑な問題の子問題として利用されることも多い. クラスカル法やプリム法といった貪欲アルゴリズムにより多項式時間で解くことが可能である.&lt;br /&gt;
&lt;br /&gt;
== 詳説 ==&lt;br /&gt;
　[[無向グラフ]]&amp;lt;math&amp;gt;G=(V,E)\, &amp;lt;/math&amp;gt;の各枝&amp;lt;math&amp;gt;e\in E\, &amp;lt;/math&amp;gt;に実数の重み&amp;lt;math&amp;gt;w(e)\, &amp;lt;/math&amp;gt;が与えられているとする. グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;上において全点&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;を点集合とし[[木]]になっている部分グラフを全張木あるいは全域木(spanning tree)と呼ぶ. グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;上の全張木&amp;lt;math&amp;gt;T=(V,E_T)\, &amp;lt;/math&amp;gt;の重みは, &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;上の枝の重みの総和&amp;lt;math&amp;gt;\textstyle {\sum}_{e\in E_T}w(e)\, &amp;lt;/math&amp;gt;で定める. グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;上において重み最小の全張木を最小木 (minimum spaninng tree) といい, 最小木を求める問題を[[最小木問題]] (minimum spaninng tree problem) という. &lt;br /&gt;
&lt;br /&gt;
　最小木問題は, [[クラスター分析]]やネットワーク・デザインなどの分野で利用されているが, より複雑な問題の子問題として活用されることの多い基本的な問題である([2]). &lt;br /&gt;
&lt;br /&gt;
　グラフ上の問題として基本的である最小木問題がいつ頃から考えられたのかは明らかではない. 分かっている範囲では, 1926年に&amp;lt;math&amp;gt;{Bor\breve{u}vka}\, &amp;lt;/math&amp;gt;が,またそれとは独立に, 1930年にJarn&amp;amp;iacute;kがそれぞれ最小木問題を定式化しそのアルゴリズムを発表している（最小木問題に関する歴史は [4] が詳しい). その後,最小木問題に対する基本的なアルゴリズムとして[[クラスカル法]](Kruskal's algorithm) と[[プリム法]](Prim's algorithm) などが提案された. 現在までに提案されている主な効率的なアルゴリズムはこれらの二つのアルゴリズムのどちらかを基にデータ構造を工夫することによって構築されている([1, 8]). &lt;br /&gt;
&lt;br /&gt;
　クラスカル法は, 1956年に J. B. Kruskal [6] により, またそれとは独立に1957年にH. LobermanとA. Weinbergerにより提案された[[多項式時間アルゴリズム]]である. アルゴリズムの概要は以下のとおりである. クラスカル法では，まず, 枝のない点集合&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;のみからなる森&amp;lt;math&amp;gt;F=(V,\emptyset\, &amp;lt;/math&amp;gt;)を考え，次に, 閉路が発生しない限り枝の重みが小さい順に一本ずつ森&amp;lt;math&amp;gt;F\, &amp;lt;/math&amp;gt;に枝を加えるという操作を繰り返す. 森&amp;lt;math&amp;gt;F\, &amp;lt;/math&amp;gt;が全張木になった時点で繰り返しは終了し, 得られた&amp;lt;math&amp;gt;F\, &amp;lt;/math&amp;gt;が一つの最小木である. &lt;br /&gt;
&lt;br /&gt;
　一方, プリム法は, 1957年, R. C. Prim [7] によって提案された多項式時間アルゴリズムである(Jarn&amp;amp;iacute;k法と同様). プリム法では, まず, 任意の１点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;のみからなる木&amp;lt;math&amp;gt;T=(\{v\},\emptyset)\, &amp;lt;/math&amp;gt;を考え, 次に, グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;において現在の木&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;の点集合と木以外の点集合を接続する枝集合の中から枝の重みが最も小さい枝とその端点を新たに木&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;に加えるという操作を繰り返す. 木&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;がグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の全張木になった時点で繰り返しは終了し, 得られた&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;が一つの最小木である. &lt;br /&gt;
&lt;br /&gt;
　どちらのアルゴリズムも候補の枝集合から最小の重みの枝を選びながら最小木を構成していくという点から[[貪欲アルゴリズム]] (greedy algorithm) という種類に分類されるアルゴリズムである. クラスカル法とプリム法の違いは候補の枝集合の構成法にある. プリム法は与えられたグラフの点と枝の接続関係に強く依存したアルゴリズムであって, そのアルゴリズムの構造は最短路問題のダイクストラ法と全く同じである．一方, クラスカル法は，グラフの[[マトロイド]]構造にのみ依存したアルゴリズムであって, マトロイドの最小基問題に対する[[貪欲アルゴリズム]]へと一般化されている．逆に, このような貪欲アルゴリズムが最適解を見出す問題はマトロイド構造を持つことも知られている．&lt;br /&gt;
&lt;br /&gt;
　クラスカル法やプリム法のような貪欲アルゴリズムの考え方を用いたアルゴリズムは[[組合せ最適化]]の分野において数多く見受けられる. この貪欲アルゴリズムの考え方で解ける抽象的な組合せ最適化問題のクラスは[[マトロイド]]最適化問題と呼ばれ, そのクラスが持つ性質はマトロイド理論として組合せ最適化における多くの有用な知見を提供している[8]. &lt;br /&gt;
&lt;br /&gt;
　最小木問題は無向グラフ上において定義された問題であるが, 枝の向きに依存した[[有向グラフ]]上の問題も考えられる. 有向グラフ上での全張木は，根と呼ばれる１点から他の点への有向道がその全張木上に存在するとき有向木 (directed tree) あるいは根つき木 (rooted tree) と呼ばれる. 枝の重みの総和が最小となる有向木を求める問題は無向グラフ上の最小木を求めるほど簡単ではないが, 多項式時間アルゴリズムが存在する[8]. &lt;br /&gt;
&lt;br /&gt;
　最小木問題は重み最小の全張木を求める問題であるが, 「全張木」を「ある与えられた点集合&amp;lt;math&amp;gt;S \subseteq V\, &amp;lt;/math&amp;gt;を連結化する木」と変更してみる. この変更された問題を[[シュタイナー最小木]]問題 (または, シュタイナー木問題) と呼び, その最適解をシュタイナー最小木と呼ぶ. 与えられた無向グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の各枝の重みがすべて正である時, シュタイナー木の葉は点集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に属する点となり, 内点は点集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に属さない点（シュタイナー点と呼ばれる）をいくつか含む. &lt;br /&gt;
&lt;br /&gt;
　シュタイナー最小木問題は, &amp;lt;math&amp;gt;S=V\, &amp;lt;/math&amp;gt;の時に最小木問題と同一になり, また, &amp;lt;math&amp;gt;|S|=2\, &amp;lt;/math&amp;gt;かつ&amp;lt;math&amp;gt;w(e)&amp;gt;0\, &amp;lt;/math&amp;gt;の時は[[最短路問題]]と同一になるので, これらの基本的な問題の一般化として捉えることができる. 最小木問題や最短路問題には多項式時間アルゴリズムが存在するが, シュタイナー木問題は[[NP困難]]であることが示され, 多項式時間アルゴリズムの存在は絶望視されている. 問題を解く困難性は[[平面グラフ]]に限定した場合でも, また各枝の重みが等しい場合でも変わらない [3].&lt;br /&gt;
&lt;br /&gt;
　問題を解く困難性はあるが, シュタイナー最小木問題は通信ネットワーク, 電力供給網において顧客を結ぶネットワーク上の問題や施設配置問題などの子問題として多くの応用例を有する. その必要性からシュタイナー最小木問題に対して多くの近似解法が提案されてきている [5]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, ''Network Flows: Theory, Algorithms, and Applications'', Prentice Hall, New Jersey, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, &amp;quot;Applications of Network Optimization,&amp;quot; in ''Network Models'', M. O. Ball, T. L. Magnanti, C. L. Monma and G. L. Nemhauser, eds., North-Holland, 1995.                            &lt;br /&gt;
&lt;br /&gt;
[3] M. R. Garey and D. S. Johnson, ''Computers and Intractability: A Guide to the Theory of NP-completeness'', Freeman, San Francisco,1979.&lt;br /&gt;
&lt;br /&gt;
[4] R. L. Graham and P. Hell, &amp;quot;On the history of minimum spanning tree problem,&amp;quot; ''Annals of the History of Computing'', '''7''' (1985), 43-57.   &lt;br /&gt;
&lt;br /&gt;
[5] F. W. Hwang, D. S. Richards and P. Winter, ''The Steiner Tree problem'', Annals of Discrete Mathematics 53, North-Holland, Amsterdam,1992.&lt;br /&gt;
&lt;br /&gt;
[6] J. B. Kruskal, &amp;quot;On the shortest spanning tree of a graph and the traveling salesman problem,&amp;quot; ''Proceedings of the American Mathematical Society'', '''7''' (1956), 48-50.   &lt;br /&gt;
&lt;br /&gt;
[7] R. C. Prim, &amp;quot;Shortest connection networks and some generalizations,&amp;quot; ''Bell System Technical Journal'', '''36''' (1957), 1389-1401.&lt;br /&gt;
&lt;br /&gt;
[8] 久保，田村，松井 (編) 『応用数理計画ハンドブック』，朝倉書店，2002.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|さいしょうきもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%95%8F%E9%A1%8C&amp;diff=9967</id>
		<title>最短路問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%95%8F%E9%A1%8C&amp;diff=9967"/>
		<updated>2008-08-06T07:48:37Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【さいたんろもんだい (shortest path problem)】'''&lt;br /&gt;
&lt;br /&gt;
== 概要 ==&lt;br /&gt;
有向グラフの各枝に長さが付与されたネットワークにおいて, 指定された2点間の有向道の中で最短の長さをもつもの(最短路)を見出す組合せ最適化問題. ナップサック問題, PERT等様々な問題が最短路問題とも関係し, さらに, ネットワークフロー問題や配送計画等のより複雑な問題の子問題として出現することも多い. ダイクストラ法やベルマン・フォード法等を用いて解くことができる. 無向グラフに対しても同様に定義される.&lt;br /&gt;
&lt;br /&gt;
== 詳説 ==&lt;br /&gt;
　[[有向グラフ]]&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;の各[[枝]]&amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt;に長さ&amp;lt;math&amp;gt;l(a)\in \mathbf{R}\, &amp;lt;/math&amp;gt;が付与されている[[ネットワーク]]&amp;lt;math&amp;gt;N=(G=(V,A),l)\, &amp;lt;/math&amp;gt;が与えられているとする. 有向グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の任意の2点&amp;lt;math&amp;gt;s,t\in V\, &amp;lt;/math&amp;gt;に対して, 点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を始点とし点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;を終点とする有向道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;の長さ&amp;lt;math&amp;gt;l(P)\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;上の枝の長さの総和, &amp;lt;math&amp;gt;\textstyle l(P)={\sum}_{a\in P}l(a)\, &amp;lt;/math&amp;gt;, と定める. 始点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から終点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への有向道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;のなかで, その長さを最小にするもの(が存在すれば, それ)を点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への最短路(shortest path)といい, 最短路を求める問題を[[最短路問題]] (shortest path problem) という. 与えられたネットワークにおいて負の長さの有向閉路(負閉路と呼ぶ)が存在する場合には一般に最短路は存在しなくなる. ただし，負閉路を持つネットワーク上でも，初等的な（点を繰り返さない）道で最短なものを求める問題を考えることもあるが，一般的には解くことが難しい問題となる．&lt;br /&gt;
&lt;br /&gt;
　最短路問題は[[組合せ最適化問題]]の中での最も基本的かつ重要な問題の一つである. 例えば, [[ナップサック問題]], [[PERT]], [[巡回セールスマン問題]]など様々な組合せ最適化問題が最短路問題とも関係し, 最短路問題において得られた知識はそれらの組合せ最適化問題の解法にも影響を与えている. また, 交通計画や通信ネットワークの分野などでは最短路問題を利用し解析に必要な基本データを算出している. さらに, [[ネットワークフロー問題]], [[配送計画問題]]やネットワークデザインなどのより複雑な問題に対するアルゴリズムにおいて，子問題として最短路問題を解くことがしばしば要求され, その応用は広範囲におよぶ ([2]). &lt;br /&gt;
&lt;br /&gt;
　最短路問題に対して様々なアルゴリズムが提案されている ([1, 6]). それらのアルゴリズムは, それが適用できるネットワークの種類から大きく二つに分類できる. 一つは, 負の長さの枝が存在しても適用できるアルゴリズムで, もう一つは, 負の長さの枝が存在しない時にのみ適用できるアルゴリズムである. &lt;br /&gt;
&lt;br /&gt;
　前者のタイプのアルゴリズムとしては, L. R. Ford [5] とR. E. Bellman [3] によって独立に示された[[ベルマン・フォード法]](Bellman-Ford algorithm)（フォード・ベルマン法ともいう）が良く知られている. この方法では, &amp;lt;math&amp;gt;p(s)=0, p(v)=+\infty\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(v\in V)\, &amp;lt;/math&amp;gt;なる点のラベル&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;を用意して, 枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;に対して&amp;lt;math&amp;gt;l(u,v)+p(u)&amp;lt;p(v)\, &amp;lt;/math&amp;gt;ならば&amp;lt;math&amp;gt;p(v)\leftarrow l(u,v)+p(u)\, &amp;lt;/math&amp;gt;とおく．ここで，すべての枝に対して１回ずつこの操作を行うことを基本操作として，ラベルの減少が起る限り高々&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回基本操作を繰り返す．基本操作が&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回繰り返された場合には負閉路が検出される．そうでない場合には, 終了時に得られたラベル&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;によって，&amp;lt;math&amp;gt;l(u,v)+p(u)-p(v)=0\, &amp;lt;/math&amp;gt;を満たす枝の全体からなる&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の部分グラフ中の点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から各点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への有向道が最短路を与える．なお，ベルマン・フォード法の変種で隣接２点間の距離行列のべき乗と同等と見做される行列演算によって理解されるアルゴリズムとして，べき乗法(power method)も知られている. これらは&amp;lt;math&amp;gt;{\rm O}(|V||A|)\, &amp;lt;/math&amp;gt;時間のアルゴリズムである．&lt;br /&gt;
&lt;br /&gt;
　一方, すべての枝の長さが非負の時に，より高速に最短路を見出すタイプの代表的なアルゴリズムとして, E. W. Dijkstra [4] によって提案された[[ダイクストラ法]] (Dijkstra's algorithm) が知られている.この方法では，出発点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;からの(最短)距離が小さい順に最短路および(最短)距離が確定していく．初期ラベル&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;はベルマン・フォード法と同じで, アルゴリズム実行中に最短路が確定した点集合を&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;とすると，&amp;lt;math&amp;gt;p(v)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(v\in W)\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への(最短)距離に等しく, &amp;lt;math&amp;gt;l(u,v)+p(u)-p(v)=0\, &amp;lt;/math&amp;gt;である枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;を通って&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;内において点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へ行く有向道が点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への最短路である．&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;内で最後に(最短)距離が確定した点を&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;として, &amp;lt;math&amp;gt;l(u,v)+p(u)&amp;lt;p(v)\, &amp;lt;/math&amp;gt;なる各点&amp;lt;math&amp;gt;v\in V-W\, &amp;lt;/math&amp;gt;に対し&amp;lt;math&amp;gt;p(v)\leftarrow l(u,v)+p(u)\, &amp;lt;/math&amp;gt;とおき，&amp;lt;math&amp;gt;V-W\, &amp;lt;/math&amp;gt;中でラベルの最小な点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;を見つけて&amp;lt;math&amp;gt;W\leftarrow W\cup\{v\}\, &amp;lt;/math&amp;gt;とおく．初期には&amp;lt;math&amp;gt;W=\{s\}\, &amp;lt;/math&amp;gt;である．ダイクストラ法は&amp;lt;math&amp;gt;{\rm O}(|A|+|V|\log|V|)\, &amp;lt;/math&amp;gt;時間のアルゴリズムとして実現可能である．&lt;br /&gt;
&lt;br /&gt;
　ベルマン・フォード法やダイクストラ法など現在提案されている最短路問題に対するアルゴリズムは本質的に始点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から全点までの最短路を同時に求める. 全点間の最短路を求めたい場合には, １点から全点への最短路を求めるアルゴリズムを繰り返し適用し求めればよい．この場合, 負の長さの枝が存在する場合には１点からの最短路問題を１回解いてすべての枝の長さを非負に等価変換することが可能であり, 基本的にダイクストラ法を&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回適用する手間で解くことができる．なお，全点間最短路問題の&amp;lt;math&amp;gt;{\rm O}(|V|^3)\, &amp;lt;/math&amp;gt;時間のアルゴリズムであるワーシャル・フロイド法 (Warshall-Floyd algorithm) も知られている.&lt;br /&gt;
&lt;br /&gt;
　最短路問題は有向グラフ上で定義されているが, [[無向グラフ]]上の最短路問題を考えたい場合には, 各枝をそれと同じ長さの互いに逆向きの有向枝で置き換えることにより, 有向グラフの場合に帰着することができる．ただし，負の長さの枝が存在する場合は, この帰着によって負閉路が含まれるので, 通常の最短路問題には帰着されない．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, ''Network Flows: Theory, Algorithms, and Applications'', Prentice Hall, New Jersey, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, &amp;quot;Applications of Network Optimization,&amp;quot; in ''Network Models'', M. O, Ball, T. L. Magnanti, C. L. Monma and G. L. Nemhauser, eds., North-Holland, 1995.                            &lt;br /&gt;
&lt;br /&gt;
[3] R. E. Bellman, &amp;quot;On a routing problem,&amp;quot; ''Quarterly of Applied Mathematics'', '''16''' (1958), 87-90. &lt;br /&gt;
&lt;br /&gt;
[4] E. W. Dijkstra, &amp;quot;A note on two problems in connexion with graphs,&amp;quot; ''Numerische Mathematik'', '''1''' (1959), 268-271. &lt;br /&gt;
&lt;br /&gt;
[5] L. R. Ford, Jr., &amp;quot;Network Flow Theory,&amp;quot; Report P-923, Rand Corp., Santa Monica,1956.&lt;br /&gt;
&lt;br /&gt;
[6] 久保，田村，松井 (編) 『応用数理計画ハンドブック』，朝倉書店，2002.&lt;br /&gt;
&lt;br /&gt;
[7] アルゴリズムデータベース　http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|さいたんろもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%95%8F%E9%A1%8C&amp;diff=9966</id>
		<title>最短路問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%95%8F%E9%A1%8C&amp;diff=9966"/>
		<updated>2008-08-06T07:47:30Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【さいたんろもんだい (shortest path problem)】'''&lt;br /&gt;
&lt;br /&gt;
== 概要 ==&lt;br /&gt;
有向グラフの各枝に長さが付与されたネットワークにおいて, 指定された2点間の有向道の中で最短の長さをもつもの(最短路)を見出す組合せ最適化問題. ナップサック問題, PERT等様々な問題が最短路問題とも関係し, さらに, ネットワークフロー問題や配送計画等のより複雑な問題の子問題として出現することも多い. ダイクストラ法やベルマン・フォード法等を用いて解くことができる. 無向グラフに対しても同様に定義される.&lt;br /&gt;
&lt;br /&gt;
== 詳説 ==&lt;br /&gt;
　[[有向グラフ]]&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;の各[[枝]]&amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt;に長さ&amp;lt;math&amp;gt;l(a)\in \mathbf{R}\, &amp;lt;/math&amp;gt;が付与されている[[ネットワーク]]&amp;lt;math&amp;gt;N=(G=(V,A),l)\, &amp;lt;/math&amp;gt;が与えられているとする. 有向グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の任意の2点&amp;lt;math&amp;gt;s,t\in V\, &amp;lt;/math&amp;gt;に対して, 点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を始点とし点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;を終点とする有向道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;の長さ&amp;lt;math&amp;gt;l(P)\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;上の枝の長さの総和, &amp;lt;math&amp;gt;\textstyle l(P)={\sum}_{a\in P}l(a)\, &amp;lt;/math&amp;gt;, と定める. 始点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から終点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への有向道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;のなかで, その長さを最小にするもの(が存在すれば, それ)を点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への最短路(shortest path)といい, 最短路を求める問題を[[最短路問題]] (shortest path problem) という. 与えられたネットワークにおいて負の長さの有向閉路(負閉路と呼ぶ)が存在する場合には一般に最短路は存在しなくなる. ただし，負閉路を持つネットワーク上でも，初等的な（点を繰り返さない）道で最短なものを求める問題を考えることもあるが，一般的には解くことが難しい問題となる．&lt;br /&gt;
&lt;br /&gt;
　最短路問題は[[組合せ最適化問題]]の中での最も基本的かつ重要な問題の一つである. 例えば, [[ナップサック問題]], [[PERT]], [[巡回セールスマン問題]]など様々な組合せ最適化問題が最短路問題とも関係し, 最短路問題において得られた知識はそれらの組合せ最適化問題の解法にも影響を与えている. また, 交通計画や通信ネットワークの分野などでは最短路問題を利用し解析に必要な基本データを算出している. さらに, [[ネットワークフロー問題]], [[配送計画問題]]やネットワークデザインなどのより複雑な問題に対するアルゴリズムにおいて，子問題として最短路問題を解くことがしばしば要求され, その応用は広範囲におよぶ ([2]). &lt;br /&gt;
&lt;br /&gt;
　最短路問題に対して様々なアルゴリズムが提案されている ([1, 6]). それらのアルゴリズムは, それが適用できるネットワークの種類から大きく二つに分類できる. 一つは, 負の長さの枝が存在しても適用できるアルゴリズムで, もう一つは, 負の長さの枝が存在しない時にのみ適用できるアルゴリズムである. &lt;br /&gt;
&lt;br /&gt;
　前者のタイプのアルゴリズムとしては, L. R. Ford [5] とR. E. Bellman [3] によって独立に示された[[ベルマン・フォード法]](Bellman-Ford algorithm)（フォード・ベルマン法ともいう）が良く知られている. この方法では, &amp;lt;math&amp;gt;p(s)=0, p(v)=+\infty\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(v\in V)\, &amp;lt;/math&amp;gt;なる点のラベル&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;を用意して, 枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;に対して&amp;lt;math&amp;gt;l(u,v)+p(u)&amp;lt;p(v)\, &amp;lt;/math&amp;gt;ならば&amp;lt;math&amp;gt;p(v)\leftarrow l(u,v)+p(u)\, &amp;lt;/math&amp;gt;とおく．ここで，すべての枝に対して１回ずつこの操作を行うことを基本操作として，ラベルの減少が起る限り高々&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回基本操作を繰り返す．基本操作が&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回繰り返された場合には負閉路が検出される．そうでない場合には, 終了時に得られたラベル&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;によって，&amp;lt;math&amp;gt;l(u,v)+p(u)-p(v)=0\, &amp;lt;/math&amp;gt;を満たす枝の全体からなる&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の部分グラフ中の点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から各点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への有向道が最短路を与える．なお，ベルマン・フォード法の変種で隣接２点間の距離行列のべき乗と同等と見做される行列演算によって理解されるアルゴリズムとして，べき乗法(power method)も知られている. これらは&amp;lt;math&amp;gt;{\rm O}(|V||A|)\, &amp;lt;/math&amp;gt;時間のアルゴリズムである．&lt;br /&gt;
&lt;br /&gt;
　一方, すべての枝の長さが非負の時に，より高速に最短路を見出すタイプの代表的なアルゴリズムとして, E. W. Dijkstra [4] によって提案された[[ダイクストラ法]] (Dijkstra's algorithm) が知られている.この方法では，出発点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;からの(最短)距離が小さい順に最短路および(最短)距離が確定していく．初期ラベル&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;はベルマン・フォード法と同じで, アルゴリズム実行中に最短路が確定した点集合を&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;とすると，&amp;lt;math&amp;gt;p(v)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(v\in W)\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への(最短)距離に等しく, &amp;lt;math&amp;gt;l(u,v)+p(u)-p(v)=0\, &amp;lt;/math&amp;gt;である枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;を通って&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;内において点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へ行く有向道が点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への最短路である．&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;内で最後に(最短)距離が確定した点を&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;として, &amp;lt;math&amp;gt;l(u,v)+p(u)&amp;lt;p(v)\, &amp;lt;/math&amp;gt;なる各点&amp;lt;math&amp;gt;v\in V-W\, &amp;lt;/math&amp;gt;に対し&amp;lt;math&amp;gt;p(v)\leftarrow l(u,v)+p(u)\, &amp;lt;/math&amp;gt;とおき，&amp;lt;math&amp;gt;V-W\, &amp;lt;/math&amp;gt;中でラベルの最小な点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;を見つけて&amp;lt;math&amp;gt;W\leftarrow W\cup\{v\}\, &amp;lt;/math&amp;gt;とおく．初期には&amp;lt;math&amp;gt;W=\{s\}\, &amp;lt;/math&amp;gt;である．ダイクストラ法は&amp;lt;math&amp;gt;{\rm O}(|A|+|V|\log|V|)\, &amp;lt;/math&amp;gt;時間のアルゴリズムとして実現可能である．&lt;br /&gt;
&lt;br /&gt;
　ベルマン・フォード法やダイクストラ法など現在提案されている最短路問題に対するアルゴリズムは本質的に始点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から全点までの最短路を同時に求める. 全点間の最短路を求めたい場合には, １点から全点への最短路を求めるアルゴリズムを繰り返し適用し求めればよい．この場合, 負の長さの枝が存在する場合には１点からの最短路問題を１回解いてすべての枝の長さを非負に等価変換することが可能であり, 基本的にダイクストラ法を&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回適用する手間で解くことができる．なお，全点間最短路問題の&amp;lt;math&amp;gt;{\rm O}(|V|^3)\, &amp;lt;/math&amp;gt;時間のアルゴリズムであるワーシャル・フロイド法 (Warshall-Floyd algorithm) も知られている.&lt;br /&gt;
&lt;br /&gt;
　最短路問題は有向グラフ上で定義されているが, [[無向グラフ]]上の最短路問題を考えたい場合には, 各枝をそれと同じ長さの互いに逆向きの有向枝で置き換えることにより, 有向グラフの場合に帰着することができる．ただし，負の長さの枝が存在する場合は, この帰着によって負閉路が含まれるので, 通常の最短路問題には帰着されない．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, ''Network Flows: Theory, Algorithms, and Applications'', Prentice Hall, New Jersey, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, &amp;quot;Applications of Network Optimization,&amp;quot; in ''Network Models'', M. O, Ball, T. L. Magnanti, C. L. Monma and G. L. Nemhauser, eds., North-Holland, 1995.                            &lt;br /&gt;
&lt;br /&gt;
[3] R. E. Bellman, &amp;quot;On a routing problem,&amp;quot; ''Quarterly of Applied Mathematics'', '''16''' (1958), 87-90. &lt;br /&gt;
&lt;br /&gt;
[4] E. W. Dijkstra, &amp;quot;A note on two problems in connexion with graphs,&amp;quot; ''Numerische Mathematik'', '''1''' (1959), 268-271. &lt;br /&gt;
&lt;br /&gt;
[5] L. R. Ford, Jr., &amp;quot;Network Flow Theory,&amp;quot; Report P-923, Rand Corp., Santa Monica,1956.&lt;br /&gt;
&lt;br /&gt;
[6] 久保，田村，松井 (編) 『応用数理計画ハンドブック』，朝倉書店，2002.&lt;br /&gt;
&lt;br /&gt;
[7] アルゴリズムデータベース　http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|さいたんろもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9956</id>
		<title>離散凸解析</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9956"/>
		<updated>2008-08-06T04:33:42Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【りさんとつかいせき (discrete convex analysis)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を, 凸解析の視点とマトロイド理論の視点の両方から考察する方法論を, 離散凸解析と呼ぶ. より一般的には, 解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す. 離散最適化, システム解析, 数理経済学などへの応用がある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を，凸解析 ([7]) とマトロイド理論 ([1, 8, 9]) の両方の視点から考察する方法論を，[[離散凸解析]] (discrete convex analysis) ([1, 3, 4, 5, 6])と呼ぶ．より一般的には，解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す．離散最適化 ([2, 5])，システム解析 ([6])，数理経済学・ゲーム理論 ([5, 6, 8])，確率過程（[5]）などへの応用がある．&lt;br /&gt;
ネットワークフローとの密接な関係も知られている[4, 5, 6]．&lt;br /&gt;
&lt;br /&gt;
　整数格子点上で定義され整数値をとる関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{n} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt;を考える．&amp;lt;math&amp;gt;{{\rm dom\,}} f = \{ x \in {\mathbf Z}^{n} \mid -\infty &amp;lt; f(x) &amp;lt; +\infty \}\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域と呼び，以下では，&amp;lt;math&amp;gt;{{\rm dom\,}} f \not= \emptyset\, &amp;lt;/math&amp;gt;であるような関数だけを考える．&amp;lt;math&amp;gt;i \in n\, &amp;lt;/math&amp;gt;に対してその特性ベクトルを&amp;lt;math&amp;gt;\chi_{i} \ (\in \{ 0,1 \}^{n})\, &amp;lt;/math&amp;gt; と表わす，すなわち&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\chi_i(v) = \left\{ \begin{array}{ll} &lt;br /&gt;
1 &amp;amp; (v=i) \\ 0 &amp;amp; (v \neq 1) \end{array} \right.\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
とする．ベクトル&amp;lt;math&amp;gt;x \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;{{\rm supp}^{+}}(x) = \{ i \in V \mid x_{i} &amp;gt; 0 \}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;{{\rm supp}^{-}}(x) = \{ i \in V \mid x_{i} &amp;lt; 0 \}\, &amp;lt;/math&amp;gt;とおく．関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が交換公理:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;任意の &amp;lt;math&amp;gt;x, y \in {{\rm dom\,}} f\, &amp;lt;/math&amp;gt; と任意の &amp;lt;math&amp;gt;i \in {{\rm supp}^{+}}(x-y)\, &amp;lt;/math&amp;gt; に対して, ある&amp;lt;br&amp;gt; &amp;lt;math&amp;gt;j \in {{\rm supp}^{-}}(x-y)\, &amp;lt;/math&amp;gt; が存在して&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x)+f(y) \geq f(x-\chi_{i}+\chi_{j}) + f(y+\chi_{i}-\chi_{j})\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[M凸関数]] (M-convex function) という．M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} f\, &amp;lt;/math&amp;gt;は整基多面体(に含まれる整数格子点)である ([3, 4]参照)．&lt;br /&gt;
&lt;br /&gt;
　関数g:&amp;lt;math&amp;gt; {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が2条件:&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;g(p) + g(q) \geq g(p \vee q) + g(p \wedge q)&lt;br /&gt;
\qquad ( p, q \in {\mathbf Z}^{V})  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\exists r \in {\mathbf Z}, \forall p \in {\mathbf Z}^{V}: \ &lt;br /&gt;
 g(p+{\mathbf 1}) = g(p) + r  &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[L凸関数]] (L-convex function) という．ここで，&amp;lt;math&amp;gt;p \vee q, p \wedge q\, &amp;lt;/math&amp;gt;は，それぞれ，成分毎に最大値, 最小値をとって得られるベクトル(すなわち，&amp;lt;math&amp;gt;(p \vee q)_{i} = \max(p_{i}, q_{i})\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(p \wedge q)_{i} = \min(p_{i}, q_{i}))\, &amp;lt;/math&amp;gt;を表し，&amp;lt;math&amp;gt;{\mathbf 1}=(1,1,\ldots,1) \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;である．L凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} g\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;\vee\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\wedge\, &amp;lt;/math&amp;gt;に関して&amp;lt;math&amp;gt;{\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;の部分束を成す．また，正斉次L凸関数は，[[劣モジュラ関数|劣モジュラ集合関数]]と同一視することができる．&lt;br /&gt;
&lt;br /&gt;
　一般に関数&amp;lt;math&amp;gt;h: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt; の凸共役&amp;lt;math&amp;gt;h^{\bullet}\, &amp;lt;/math&amp;gt;，凹共役&amp;lt;math&amp;gt;h^{\circ}\, &amp;lt;/math&amp;gt;を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
 h^{\bullet}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \sup\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V}) ,&lt;br /&gt;
\\&lt;br /&gt;
 h^{\circ}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \inf\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V})&lt;br /&gt;
\end{array}&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と定義する．ここで，&amp;lt;math&amp;gt;\textstyle \langle p, x \rangle = \sum_{i \in V} p_{i}x_{i}\, &amp;lt;/math&amp;gt;である．この対応&amp;lt;math&amp;gt;h \mapsto h^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;h \mapsto h^{\circ}\, &amp;lt;/math&amp;gt; を(凸，凹)離散フェンシェル・ルジャンドル(Fenchel-Legendre)変換と呼ぶ．M凸関数とL凸関数は離散フェンシェル・ルジャンドル変換に関して共役関係にあり，対応&amp;lt;math&amp;gt;f \mapsto f^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;g \mapsto g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の間の１対１対応を与える．すなわち，M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;f^{\bullet}\, &amp;lt;/math&amp;gt;はL凸関数, &amp;lt;math&amp;gt;g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数で，&amp;lt;math&amp;gt;(f^{\bullet})^{\bullet}=f\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(g^{\bullet})^{\bullet}=g\, &amp;lt;/math&amp;gt;が成り立つ(共役性定理)．&lt;br /&gt;
&lt;br /&gt;
　M凸関数やL凸関数に対して，[[離散分離定理]] (discrete separation theorem) や[[フェンシェル型双対定理]] (Fenchel-type duality theorem) に象徴されるような離散双対性が成り立つ．&lt;br /&gt;
&lt;br /&gt;
　M凸関数に関する離散分離定理(M分離定理)を述べる:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[M分離定理] &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &amp;lt;math&amp;gt;f(x) \geq g(x)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;ならば, ある&amp;lt;math&amp;gt;\alpha \in {\mathbf Z}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;p \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;が存在して &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x) \geq \alpha + \langle p, x \rangle  \geq g(x)   \qquad  (\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ(&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;がM凹関数とは&amp;lt;math&amp;gt;-g\, &amp;lt;/math&amp;gt;がM凸関数のことである)．&lt;br /&gt;
&lt;br /&gt;
ここで，&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が整数ベクトルに選べることが離散性の反映である．上の主張で，&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;をL凸関数，&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;をL凹関数に置き換えたものも成立する(L分離定理)．L分離定理は，その特殊ケースとして，劣モジュラ集合関数に関するA. Frankの離散分離定理 ([1] 参照) を含んでいる．&lt;br /&gt;
&lt;br /&gt;
　M分離定理とL分離定理は互いに共役の関係にあるが，次に述べるフェンシェル型双対定理は自己共役の形になっている．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[フェンシェル型双対定理]   &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\inf\{ f(x) - g(x) \mid x \in {\mathbf Z}^{V}  \}&lt;br /&gt;
 = \sup\{ g^{\circ}(p) - f^{\bullet}(p) \mid p \in {\mathbf Z}^{V} \}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ．さらに，この両辺が有限値なら，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;x \in {{\rm dom\,}} f \cap {{\rm dom\,}} g&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;p \in {{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ}\, &amp;lt;/math&amp;gt;が存在する．&lt;br /&gt;
&lt;br /&gt;
上の定理は，非線形整数計画に関する強双対性を主張しており，その本質的な部分は，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;をとる範囲をそれぞれ整数ベクトルに限ってよいという主張にある．&lt;br /&gt;
&lt;br /&gt;
M凸関数，L凸関数の具体的な例，２次のM凸関数，L凸関数の特徴付け，M凸性，L凸性について閉じた基本的な演算については[4, 5, 6] を参照されたい．&lt;br /&gt;
特に[5]では，線形代数，組合せ論，距離空間，確率論，オペレーションズリサーチなど，いろいろな文脈で離散凸解析が現れることが紹介されている．&lt;br /&gt;
　M凸関数，L凸関数に関する種々の問題に対して効率的なアルゴリズムが開発されている．これに関しては [4, 6] を参照されたい．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] S. Fujishige, ''Submodular Functions and Optimization'',2nd ed.,  Elsevier, 2005.&lt;br /&gt;
&lt;br /&gt;
[2] N. Katoh and T. Ibaraki, &amp;quot;Resource allocation problems,&amp;quot; in ''Handbook of Combinatorial Optimization, Vol.2'', D. -Z. Du and P. M. Pardalos, eds., Kluwer, 159-260, 1998.&lt;br /&gt;
&lt;br /&gt;
[3] K. Murota, &amp;quot;Discrete convex analysis&amp;quot;, ''Mathematical Programming'', '''83''' (1998), 313-371.&lt;br /&gt;
&lt;br /&gt;
[4] 室田一雄, 『離散凸解析』, 共立出版，2001.&lt;br /&gt;
&lt;br /&gt;
[5] 室田一雄, 『離散凸解析の考え方』, 共立出版，2007.&lt;br /&gt;
&lt;br /&gt;
[6] K.Murota, ''Discrete Convex Analysis'', SIAM, 2003.&lt;br /&gt;
&lt;br /&gt;
[7] R. T. Rockafellar, ''Convex Analysis'', Princeton University Press, 1970. &lt;br /&gt;
&lt;br /&gt;
[8] A.Tamura, &amp;quot;Applications of discrete convex analysis to mathmatical economics&amp;quot;, ''Publ. RIMS'', '''40''' (2004) , 1015-1037.&lt;br /&gt;
&lt;br /&gt;
[9] D. J. A. Welsh, ''Matroid Theory''，Academic Press, 1976.&lt;br /&gt;
&lt;br /&gt;
[10] N. White, ed., ''Theory of Matroids'', Cambridge University Press, 1986.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|りさんとつかいせき]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9955</id>
		<title>離散凸解析</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9955"/>
		<updated>2008-08-06T04:32:03Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【りさんとつかいせき (discrete convex analysis)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を, 凸解析の視点とマトロイド理論の視点の両方から考察する方法論を, 離散凸解析と呼ぶ. より一般的には, 解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す. 離散最適化, システム解析, 数理経済学などへの応用がある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を，凸解析 ([7]) とマトロイド理論 ([1, 8, 9]) の両方の視点から考察する方法論を，[[離散凸解析]] (discrete convex analysis) ([1, 3, 4, 5, 6])と呼ぶ．より一般的には，解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す．離散最適化 ([2, 5])，システム解析 ([6])，数理経済学・ゲーム理論 ([5, 6, 8])，確率過程（[5]）などへの応用がある．&lt;br /&gt;
ネットワークフローとの密接な関係も知られている[4, 5, 6]．&lt;br /&gt;
&lt;br /&gt;
　整数格子点上で定義され整数値をとる関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{n} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt;を考える．&amp;lt;math&amp;gt;{{\rm dom\,}} f = \{ x \in {\mathbf Z}^{n} \mid -\infty &amp;lt; f(x) &amp;lt; +\infty \}\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域と呼び，以下では，&amp;lt;math&amp;gt;{{\rm dom\,}} f \not= \emptyset\, &amp;lt;/math&amp;gt;であるような関数だけを考える．&amp;lt;math&amp;gt;i \in n\, &amp;lt;/math&amp;gt;に対してその特性ベクトルを&amp;lt;math&amp;gt;\chi_{i} \ (\in \{ 0,1 \}^{n})\, &amp;lt;/math&amp;gt; と表わす，すなわち&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\chi_i(v) = \left\{ \begin{array}{ll} &lt;br /&gt;
1 &amp;amp; (v=i) \\ 0 &amp;amp; (v \neq 1) \end{array} \right.\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
とする．ベクトル&amp;lt;math&amp;gt;x \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;{{\rm supp}^{+}}(x) = \{ i \in V \mid x_{i} &amp;gt; 0 \}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;{{\rm supp}^{-}}(x) = \{ i \in V \mid x_{i} &amp;lt; 0 \}\, &amp;lt;/math&amp;gt;とおく．関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が交換公理:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;任意の &amp;lt;math&amp;gt;x, y \in {{\rm dom\,}} f\, &amp;lt;/math&amp;gt; と任意の &amp;lt;math&amp;gt;i \in {{\rm supp}^{+}}(x-y)\, &amp;lt;/math&amp;gt; に対して, ある&amp;lt;br&amp;gt; &amp;lt;math&amp;gt;j \in {{\rm supp}^{-}}(x-y)\, &amp;lt;/math&amp;gt; が存在して&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x)+f(y) \geq f(x-\chi_{i}+\chi_{j}) + f(y+\chi_{i}-\chi_{j})\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[M凸関数]] (M-convex function) という．M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} f\, &amp;lt;/math&amp;gt;は整基多面体(に含まれる整数格子点)である ([3, 4]参照)．&lt;br /&gt;
&lt;br /&gt;
　関数g:&amp;lt;math&amp;gt; {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が2条件:&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;g(p) + g(q) \geq g(p \vee q) + g(p \wedge q)&lt;br /&gt;
\qquad ( p, q \in {\mathbf Z}^{V})  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\exists r \in {\mathbf Z}, \forall p \in {\mathbf Z}^{V}: \ &lt;br /&gt;
 g(p+{\mathbf 1}) = g(p) + r  &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[L凸関数]] (L-convex function) という．ここで，&amp;lt;math&amp;gt;p \vee q, p \wedge q\, &amp;lt;/math&amp;gt;は，それぞれ，成分毎に最大値, 最小値をとって得られるベクトル(すなわち，&amp;lt;math&amp;gt;(p \vee q)_{i} = \max(p_{i}, q_{i})\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(p \wedge q)_{i} = \min(p_{i}, q_{i}))\, &amp;lt;/math&amp;gt;を表し，&amp;lt;math&amp;gt;{\mathbf 1}=(1,1,\ldots,1) \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;である．L凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} g\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;\vee\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\wedge\, &amp;lt;/math&amp;gt;に関して&amp;lt;math&amp;gt;{\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;の部分束を成す．また，正斉次L凸関数は，[[劣モジュラ集合関数|劣モジュラ関数]]と同一視することができる．&lt;br /&gt;
&lt;br /&gt;
　一般に関数&amp;lt;math&amp;gt;h: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt; の凸共役&amp;lt;math&amp;gt;h^{\bullet}\, &amp;lt;/math&amp;gt;，凹共役&amp;lt;math&amp;gt;h^{\circ}\, &amp;lt;/math&amp;gt;を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
 h^{\bullet}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \sup\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V}) ,&lt;br /&gt;
\\&lt;br /&gt;
 h^{\circ}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \inf\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V})&lt;br /&gt;
\end{array}&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と定義する．ここで，&amp;lt;math&amp;gt;\textstyle \langle p, x \rangle = \sum_{i \in V} p_{i}x_{i}\, &amp;lt;/math&amp;gt;である．この対応&amp;lt;math&amp;gt;h \mapsto h^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;h \mapsto h^{\circ}\, &amp;lt;/math&amp;gt; を(凸，凹)離散フェンシェル・ルジャンドル(Fenchel-Legendre)変換と呼ぶ．M凸関数とL凸関数は離散フェンシェル・ルジャンドル変換に関して共役関係にあり，対応&amp;lt;math&amp;gt;f \mapsto f^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;g \mapsto g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の間の１対１対応を与える．すなわち，M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;f^{\bullet}\, &amp;lt;/math&amp;gt;はL凸関数, &amp;lt;math&amp;gt;g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数で，&amp;lt;math&amp;gt;(f^{\bullet})^{\bullet}=f\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(g^{\bullet})^{\bullet}=g\, &amp;lt;/math&amp;gt;が成り立つ(共役性定理)．&lt;br /&gt;
&lt;br /&gt;
　M凸関数やL凸関数に対して，[[離散分離定理]] (discrete separation theorem) や[[フェンシェル型双対定理]] (Fenchel-type duality theorem) に象徴されるような離散双対性が成り立つ．&lt;br /&gt;
&lt;br /&gt;
　M凸関数に関する離散分離定理(M分離定理)を述べる:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[M分離定理] &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &amp;lt;math&amp;gt;f(x) \geq g(x)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;ならば, ある&amp;lt;math&amp;gt;\alpha \in {\mathbf Z}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;p \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;が存在して &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x) \geq \alpha + \langle p, x \rangle  \geq g(x)   \qquad  (\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ(&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;がM凹関数とは&amp;lt;math&amp;gt;-g\, &amp;lt;/math&amp;gt;がM凸関数のことである)．&lt;br /&gt;
&lt;br /&gt;
ここで，&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が整数ベクトルに選べることが離散性の反映である．上の主張で，&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;をL凸関数，&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;をL凹関数に置き換えたものも成立する(L分離定理)．L分離定理は，その特殊ケースとして，劣モジュラ集合関数に関するA. Frankの離散分離定理 ([1] 参照) を含んでいる．&lt;br /&gt;
&lt;br /&gt;
　M分離定理とL分離定理は互いに共役の関係にあるが，次に述べるフェンシェル型双対定理は自己共役の形になっている．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[フェンシェル型双対定理]   &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\inf\{ f(x) - g(x) \mid x \in {\mathbf Z}^{V}  \}&lt;br /&gt;
 = \sup\{ g^{\circ}(p) - f^{\bullet}(p) \mid p \in {\mathbf Z}^{V} \}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ．さらに，この両辺が有限値なら，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;x \in {{\rm dom\,}} f \cap {{\rm dom\,}} g&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;p \in {{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ}\, &amp;lt;/math&amp;gt;が存在する．&lt;br /&gt;
&lt;br /&gt;
上の定理は，非線形整数計画に関する強双対性を主張しており，その本質的な部分は，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;をとる範囲をそれぞれ整数ベクトルに限ってよいという主張にある．&lt;br /&gt;
&lt;br /&gt;
　M凸関数，L凸関数に関する種々の問題に対して効率的なアルゴリズムが開発されている．これに関しては [4, 6] を参照されたい．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] S. Fujishige, ''Submodular Functions and Optimization'',2nd ed.,  Elsevier, 2005.&lt;br /&gt;
&lt;br /&gt;
[2] N. Katoh and T. Ibaraki, &amp;quot;Resource allocation problems,&amp;quot; in ''Handbook of Combinatorial Optimization, Vol.2'', D. -Z. Du and P. M. Pardalos, eds., Kluwer, 159-260, 1998.&lt;br /&gt;
&lt;br /&gt;
[3] K. Murota, &amp;quot;Discrete convex analysis&amp;quot;, ''Mathematical Programming'', '''83''' (1998), 313-371.&lt;br /&gt;
&lt;br /&gt;
[4] 室田一雄, 『離散凸解析』, 共立出版，2001.&lt;br /&gt;
&lt;br /&gt;
[5] 室田一雄, 『離散凸解析の考え方』, 共立出版，2007.&lt;br /&gt;
&lt;br /&gt;
[6] K.Murota, ''Discrete Convex Analysis'', SIAM, 2003.&lt;br /&gt;
&lt;br /&gt;
[7] R. T. Rockafellar, ''Convex Analysis'', Princeton University Press, 1970. &lt;br /&gt;
&lt;br /&gt;
[8] A.Tamura, &amp;quot;Applications of discrete convex analysis to mathmatical economics&amp;quot;, ''Publ. RIMS'', '''40''' (2004) , 1015-1037.&lt;br /&gt;
&lt;br /&gt;
[9] D. J. A. Welsh, ''Matroid Theory''，Academic Press, 1976.&lt;br /&gt;
&lt;br /&gt;
[10] N. White, ed., ''Theory of Matroids'', Cambridge University Press, 1986.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|りさんとつかいせき]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9954</id>
		<title>離散凸解析</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9954"/>
		<updated>2008-08-06T04:27:29Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【りさんとつかいせき (discrete convex analysis)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を, 凸解析の視点とマトロイド理論の視点の両方から考察する方法論を, 離散凸解析と呼ぶ. より一般的には, 解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す. 離散最適化, システム解析, 数理経済学などへの応用がある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を，凸解析 ([7]) とマトロイド理論 ([1, 8, 9]) の両方の視点から考察する方法論を，[[離散凸解析]] (discrete convex analysis) ([1, 3, 4, 5, 6])と呼ぶ．より一般的には，解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す．離散最適化 ([2, 5])，システム解析 ([6])，数理経済学・ゲーム理論 ([5, 6, 8])，確率過程（[5]）などへの応用がある．&lt;br /&gt;
ネットワークフローとの密接な関係も知られている[4, 5, 6]．&lt;br /&gt;
&lt;br /&gt;
　整数格子点上で定義され整数値をとる関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{n} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt;を考える．&amp;lt;math&amp;gt;{{\rm dom\,}} f = \{ x \in {\mathbf Z}^{n} \mid -\infty &amp;lt; f(x) &amp;lt; +\infty \}\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域と呼び，以下では，&amp;lt;math&amp;gt;{{\rm dom\,}} f \not= \emptyset\, &amp;lt;/math&amp;gt;であるような関数だけを考える．&amp;lt;math&amp;gt;i \in n\, &amp;lt;/math&amp;gt;に対してその特性ベクトルを&amp;lt;math&amp;gt;\chi_{i} \ (\in \{ 0,1 \}^{n})\, &amp;lt;/math&amp;gt; と表わす，すなわち&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\chi_i(v) = \left\{ \begin{array}{ll} &lt;br /&gt;
1 &amp;amp; (v=i) \\ 0 &amp;amp; (v \neq 1) \end{array} \right.\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
とする．ベクトル&amp;lt;math&amp;gt;x \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;{{\rm supp}^{+}}(x) = \{ i \in V \mid x_{i} &amp;gt; 0 \}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;{{\rm supp}^{-}}(x) = \{ i \in V \mid x_{i} &amp;lt; 0 \}\, &amp;lt;/math&amp;gt;とおく．関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が交換公理:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;任意の &amp;lt;math&amp;gt;x, y \in {{\rm dom\,}} f\, &amp;lt;/math&amp;gt; と任意の &amp;lt;math&amp;gt;i \in {{\rm supp}^{+}}(x-y)\, &amp;lt;/math&amp;gt; に対して, ある&amp;lt;br&amp;gt; &amp;lt;math&amp;gt;j \in {{\rm supp}^{-}}(x-y)\, &amp;lt;/math&amp;gt; が存在して&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x)+f(y) \geq f(x-\chi_{i}+\chi_{j}) + f(y+\chi_{i}-\chi_{j})\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[M凸関数]] (M-convex function) という．M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} f\, &amp;lt;/math&amp;gt;は整基多面体(に含まれる整数格子点)である．&lt;br /&gt;
&lt;br /&gt;
　関数g:&amp;lt;math&amp;gt; {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が2条件:&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;g(p) + g(q) \geq g(p \vee q) + g(p \wedge q)&lt;br /&gt;
\qquad ( p, q \in {\mathbf Z}^{V})  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\exists r \in {\mathbf Z}, \forall p \in {\mathbf Z}^{V}: \ &lt;br /&gt;
 g(p+{\mathbf 1}) = g(p) + r  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[L凸関数]] (L-convex function) という．ここで，&amp;lt;math&amp;gt;p \vee q, p \wedge q\, &amp;lt;/math&amp;gt;は，それぞれ，成分毎に最大値, 最小値をとって得られるベクトル(すなわち，&amp;lt;math&amp;gt;(p \vee q)_{i} = \max(p_{i}, q_{i})\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(p \wedge q)_{i} = \min(p_{i}, q_{i}))\, &amp;lt;/math&amp;gt;を表し，&amp;lt;math&amp;gt;{\mathbf 1}=(1,1,\ldots,1) \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;である．L凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} g\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;\vee\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\wedge\, &amp;lt;/math&amp;gt;に関して&amp;lt;math&amp;gt;{\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;の部分束を成す．また，正斉次L凸関数は，劣モジュラ集合関数と同一視することができる．&lt;br /&gt;
&lt;br /&gt;
　一般に関数&amp;lt;math&amp;gt;h: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt; の凸共役&amp;lt;math&amp;gt;h^{\bullet}\, &amp;lt;/math&amp;gt;，凹共役&amp;lt;math&amp;gt;h^{\circ}\, &amp;lt;/math&amp;gt;を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
 h^{\bullet}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \sup\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V}) ,&lt;br /&gt;
\\&lt;br /&gt;
 h^{\circ}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \inf\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V})&lt;br /&gt;
\end{array}&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と定義する．ここで，&amp;lt;math&amp;gt;\textstyle \langle p, x \rangle = \sum_{i \in V} p_{i}x_{i}\, &amp;lt;/math&amp;gt;である．この対応&amp;lt;math&amp;gt;h \mapsto h^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;h \mapsto h^{\circ}\, &amp;lt;/math&amp;gt; を(凸，凹)離散フェンシェル・ルジャンドル(Fenchel-Legendre)変換と呼ぶ．M凸関数とL凸関数は離散フェンシェル・ルジャンドル変換に関して共役関係にあり，対応&amp;lt;math&amp;gt;f \mapsto f^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;g \mapsto g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の間の１対１対応を与える．すなわち，M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;f^{\bullet}\, &amp;lt;/math&amp;gt;はL凸関数, &amp;lt;math&amp;gt;g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数で，&amp;lt;math&amp;gt;(f^{\bullet})^{\bullet}=f\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(g^{\bullet})^{\bullet}=g\, &amp;lt;/math&amp;gt;が成り立つ(共役性定理)．&lt;br /&gt;
&lt;br /&gt;
　M凸関数やL凸関数に対して，[[離散分離定理]] (discrete separation theorem) や[[フェンシェル型双対定理]] (Fenchel-type duality theorem) に象徴されるような離散双対性が成り立つ．&lt;br /&gt;
&lt;br /&gt;
　M凸関数に関する離散分離定理(M分離定理)を述べる:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[M分離定理] &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &amp;lt;math&amp;gt;f(x) \geq g(x)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;ならば, ある&amp;lt;math&amp;gt;\alpha \in {\mathbf Z}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;p \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;が存在して &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x) \geq \alpha + \langle p, x \rangle  \geq g(x)   \qquad  (\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ(&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;がM凹関数とは&amp;lt;math&amp;gt;-g\, &amp;lt;/math&amp;gt;がM凸関数のことである)．&lt;br /&gt;
&lt;br /&gt;
ここで，&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が整数ベクトルに選べることが離散性の反映である．上の主張で，&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;をL凸関数，&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;をL凹関数に置き換えたものも成立する(L分離定理)．L分離定理は，その特殊ケースとして，劣モジュラ集合関数に関するA. Frankの離散分離定理 ([1] 参照) を含んでいる．&lt;br /&gt;
&lt;br /&gt;
　M分離定理とL分離定理は互いに共役の関係にあるが，次に述べるフェンシェル型双対定理は自己共役の形になっている．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[フェンシェル型双対定理]   &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\inf\{ f(x) - g(x) \mid x \in {\mathbf Z}^{V}  \}&lt;br /&gt;
 = \sup\{ g^{\circ}(p) - f^{\bullet}(p) \mid p \in {\mathbf Z}^{V} \}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ．さらに，この両辺が有限値なら，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;x \in {{\rm dom\,}} f \cap {{\rm dom\,}} g&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;p \in {{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ}\, &amp;lt;/math&amp;gt;が存在する．&lt;br /&gt;
&lt;br /&gt;
上の定理は，非線形整数計画に関する強双対性を主張しており，その本質的な部分は，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;をとる範囲をそれぞれ整数ベクトルに限ってよいという主張にある．&lt;br /&gt;
&lt;br /&gt;
　M凸関数，L凸関数に関する種々の問題に対して効率的なアルゴリズムが開発されている．これに関しては [4, 6] を参照されたい．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] S. Fujishige, ''Submodular Functions and Optimization'',2nd ed.,  Elsevier, 2005.&lt;br /&gt;
&lt;br /&gt;
[2] N. Katoh and T. Ibaraki, &amp;quot;Resource allocation problems,&amp;quot; in ''Handbook of Combinatorial Optimization, Vol.2'', D. -Z. Du and P. M. Pardalos, eds., Kluwer, 159-260, 1998.&lt;br /&gt;
&lt;br /&gt;
[3] K. Murota, &amp;quot;Discrete convex analysis&amp;quot;, ''Mathematical Programming'', '''83''' (1998), 313-371.&lt;br /&gt;
&lt;br /&gt;
[4] 室田一雄, 『離散凸解析』, 共立出版，2001.&lt;br /&gt;
&lt;br /&gt;
[5] 室田一雄, 『離散凸解析の考え方』, 共立出版，2007.&lt;br /&gt;
&lt;br /&gt;
[6] K.Murota, ''Discrete Convex Analysis'', SIAM, 2003.&lt;br /&gt;
&lt;br /&gt;
[7] R. T. Rockafellar, ''Convex Analysis'', Princeton University Press, 1970. &lt;br /&gt;
&lt;br /&gt;
[8] A.Tamura, &amp;quot;Applications of discrete convex analysis to mathmatical economics&amp;quot;, ''Publ. RIMS'', '''40''' (2004) , 1015-1037.&lt;br /&gt;
&lt;br /&gt;
[9] D. J. A. Welsh, ''Matroid Theory''，Academic Press, 1976.&lt;br /&gt;
&lt;br /&gt;
[10] N. White, ed., ''Theory of Matroids'', Cambridge University Press, 1986.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|りさんとつかいせき]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9953</id>
		<title>離散凸解析</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9953"/>
		<updated>2008-08-06T04:26:02Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【りさんとつかいせき (discrete convex analysis)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を, 凸解析の視点とマトロイド理論の視点の両方から考察する方法論を, 離散凸解析と呼ぶ. より一般的には, 解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す. 離散最適化, システム解析, 数理経済学などへの応用がある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を，凸解析 ([7]) とマトロイド理論 ([1, 8, 9]) の両方の視点から考察する方法論を，[[離散凸解析]] (discrete convex analysis) ([1, 3, 4, 5, 6])と呼ぶ．より一般的には，解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す．離散最適化 ([2, 5])，システム解析 ([6])，数理経済学・ゲーム理論 ([5, 6, 8])，確率過程（[5]）などへの応用がある．&lt;br /&gt;
ネットワークフローとの密接な関係も知られている[4, 5, 6]．&lt;br /&gt;
&lt;br /&gt;
　整数格子点上で定義され整数値をとる関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{n} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt;を考える．&amp;lt;math&amp;gt;{{\rm dom\,}} f = \{ x \in {\mathbf Z}^{n} \mid -\infty &amp;lt; f(x) &amp;lt; +\infty \}\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域と呼び，以下では，&amp;lt;math&amp;gt;{{\rm dom\,}} f \not= \emptyset\, &amp;lt;/math&amp;gt;であるような関数だけを考える．&amp;lt;math&amp;gt;i \in n\, &amp;lt;/math&amp;gt;に対してその特性ベクトルを&amp;lt;math&amp;gt;\chi_{i} \ (\in \{ 0,1 \}^{n})\, &amp;lt;/math&amp;gt; と表わす，すなわち&amp;lt;math&amp;gt;\chi_i(v) = \left\{ \begin{array}{ll} &lt;br /&gt;
1 &amp;amp; (v=i) \\ 0 &amp;amp; (v \neq 1) \end{array} \right.\, &amp;lt;/math&amp;gt;&lt;br /&gt;
とする．．ベクトル&amp;lt;math&amp;gt;x \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;{{\rm supp}^{+}}(x) = \{ i \in V \mid x_{i} &amp;gt; 0 \}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;{{\rm supp}^{-}}(x) = \{ i \in V \mid x_{i} &amp;lt; 0 \}\, &amp;lt;/math&amp;gt;とおく．関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が交換公理:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;任意の &amp;lt;math&amp;gt;x, y \in {{\rm dom\,}} f\, &amp;lt;/math&amp;gt; と任意の &amp;lt;math&amp;gt;i \in {{\rm supp}^{+}}(x-y)\, &amp;lt;/math&amp;gt; に対して, ある&amp;lt;br&amp;gt; &amp;lt;math&amp;gt;j \in {{\rm supp}^{-}}(x-y)\, &amp;lt;/math&amp;gt; が存在して&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x)+f(y) \geq f(x-\chi_{i}+\chi_{j}) + f(y+\chi_{i}-\chi_{j})\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[M凸関数]] (M-convex function) という．M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} f\, &amp;lt;/math&amp;gt;は整基多面体(に含まれる整数格子点)である．&lt;br /&gt;
&lt;br /&gt;
　関数g:&amp;lt;math&amp;gt; {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が2条件:&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;g(p) + g(q) \geq g(p \vee q) + g(p \wedge q)&lt;br /&gt;
\qquad ( p, q \in {\mathbf Z}^{V})  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\exists r \in {\mathbf Z}, \forall p \in {\mathbf Z}^{V}: \ &lt;br /&gt;
 g(p+{\mathbf 1}) = g(p) + r  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[L凸関数]] (L-convex function) という．ここで，&amp;lt;math&amp;gt;p \vee q, p \wedge q\, &amp;lt;/math&amp;gt;は，それぞれ，成分毎に最大値, 最小値をとって得られるベクトル(すなわち，&amp;lt;math&amp;gt;(p \vee q)_{i} = \max(p_{i}, q_{i})\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(p \wedge q)_{i} = \min(p_{i}, q_{i}))\, &amp;lt;/math&amp;gt;を表し，&amp;lt;math&amp;gt;{\mathbf 1}=(1,1,\ldots,1) \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;である．L凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} g\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;\vee\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\wedge\, &amp;lt;/math&amp;gt;に関して&amp;lt;math&amp;gt;{\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;の部分束を成す．また，正斉次L凸関数は，劣モジュラ集合関数と同一視することができる．&lt;br /&gt;
&lt;br /&gt;
　一般に関数&amp;lt;math&amp;gt;h: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt; の凸共役&amp;lt;math&amp;gt;h^{\bullet}\, &amp;lt;/math&amp;gt;，凹共役&amp;lt;math&amp;gt;h^{\circ}\, &amp;lt;/math&amp;gt;を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
 h^{\bullet}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \sup\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V}) ,&lt;br /&gt;
\\&lt;br /&gt;
 h^{\circ}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \inf\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V})&lt;br /&gt;
\end{array}&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と定義する．ここで，&amp;lt;math&amp;gt;\textstyle \langle p, x \rangle = \sum_{i \in V} p_{i}x_{i}\, &amp;lt;/math&amp;gt;である．この対応&amp;lt;math&amp;gt;h \mapsto h^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;h \mapsto h^{\circ}\, &amp;lt;/math&amp;gt; を(凸，凹)離散フェンシェル・ルジャンドル(Fenchel-Legendre)変換と呼ぶ．M凸関数とL凸関数は離散フェンシェル・ルジャンドル変換に関して共役関係にあり，対応&amp;lt;math&amp;gt;f \mapsto f^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;g \mapsto g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の間の１対１対応を与える．すなわち，M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;f^{\bullet}\, &amp;lt;/math&amp;gt;はL凸関数, &amp;lt;math&amp;gt;g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数で，&amp;lt;math&amp;gt;(f^{\bullet})^{\bullet}=f\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(g^{\bullet})^{\bullet}=g\, &amp;lt;/math&amp;gt;が成り立つ(共役性定理)．&lt;br /&gt;
&lt;br /&gt;
　M凸関数やL凸関数に対して，[[離散分離定理]] (discrete separation theorem) や[[フェンシェル型双対定理]] (Fenchel-type duality theorem) に象徴されるような離散双対性が成り立つ．&lt;br /&gt;
&lt;br /&gt;
　M凸関数に関する離散分離定理(M分離定理)を述べる:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[M分離定理] &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &amp;lt;math&amp;gt;f(x) \geq g(x)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;ならば, ある&amp;lt;math&amp;gt;\alpha \in {\mathbf Z}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;p \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;が存在して &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x) \geq \alpha + \langle p, x \rangle  \geq g(x)   \qquad  (\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ(&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;がM凹関数とは&amp;lt;math&amp;gt;-g\, &amp;lt;/math&amp;gt;がM凸関数のことである)．&lt;br /&gt;
&lt;br /&gt;
ここで，&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が整数ベクトルに選べることが離散性の反映である．上の主張で，&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;をL凸関数，&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;をL凹関数に置き換えたものも成立する(L分離定理)．L分離定理は，その特殊ケースとして，劣モジュラ集合関数に関するA. Frankの離散分離定理 ([1] 参照) を含んでいる．&lt;br /&gt;
&lt;br /&gt;
　M分離定理とL分離定理は互いに共役の関係にあるが，次に述べるフェンシェル型双対定理は自己共役の形になっている．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[フェンシェル型双対定理]   &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\inf\{ f(x) - g(x) \mid x \in {\mathbf Z}^{V}  \}&lt;br /&gt;
 = \sup\{ g^{\circ}(p) - f^{\bullet}(p) \mid p \in {\mathbf Z}^{V} \}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ．さらに，この両辺が有限値なら，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;x \in {{\rm dom\,}} f \cap {{\rm dom\,}} g&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;p \in {{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ}\, &amp;lt;/math&amp;gt;が存在する．&lt;br /&gt;
&lt;br /&gt;
上の定理は，非線形整数計画に関する強双対性を主張しており，その本質的な部分は，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;をとる範囲をそれぞれ整数ベクトルに限ってよいという主張にある．&lt;br /&gt;
&lt;br /&gt;
　M凸関数，L凸関数に関する種々の問題に対して効率的なアルゴリズムが開発されている．これに関しては [4, 6] を参照されたい．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] S. Fujishige, ''Submodular Functions and Optimization'',2nd ed.,  Elsevier, 2005.&lt;br /&gt;
&lt;br /&gt;
[2] N. Katoh and T. Ibaraki, &amp;quot;Resource allocation problems,&amp;quot; in ''Handbook of Combinatorial Optimization, Vol.2'', D. -Z. Du and P. M. Pardalos, eds., Kluwer, 159-260, 1998.&lt;br /&gt;
&lt;br /&gt;
[3] K. Murota, &amp;quot;Discrete convex analysis&amp;quot;, ''Mathematical Programming'', '''83''' (1998), 313-371.&lt;br /&gt;
&lt;br /&gt;
[4] 室田一雄, 『離散凸解析』, 共立出版，2001.&lt;br /&gt;
&lt;br /&gt;
[5] 室田一雄, 『離散凸解析の考え方』, 共立出版，2007.&lt;br /&gt;
&lt;br /&gt;
[6] K.Murota, ''Discrete Convex Analysis'', SIAM, 2003.&lt;br /&gt;
&lt;br /&gt;
[7] R. T. Rockafellar, ''Convex Analysis'', Princeton University Press, 1970. &lt;br /&gt;
&lt;br /&gt;
[8] A.Tamura, &amp;quot;Applications of discrete convex analysis to mathmatical economics&amp;quot;, ''Publ. RIMS'', '''40''' (2004) , 1015-1037.&lt;br /&gt;
&lt;br /&gt;
[9] D. J. A. Welsh, ''Matroid Theory''，Academic Press, 1976.&lt;br /&gt;
&lt;br /&gt;
[10] N. White, ed., ''Theory of Matroids'', Cambridge University Press, 1986.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|りさんとつかいせき]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9952</id>
		<title>離散凸解析</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9952"/>
		<updated>2008-08-06T04:23:24Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【りさんとつかいせき (discrete convex analysis)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を, 凸解析の視点とマトロイド理論の視点の両方から考察する方法論を, 離散凸解析と呼ぶ. より一般的には, 解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す. 離散最適化, システム解析, 数理経済学などへの応用がある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を，凸解析 ([7]) とマトロイド理論 ([1, 8, 9]) の両方の視点から考察する方法論を，[[離散凸解析]] (discrete convex analysis) ([1, 3, 4, 5, 6])と呼ぶ．より一般的には，解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す．離散最適化 ([2, 5])，システム解析 ([6])，数理経済学・ゲーム理論 ([5, 6, 8])，確率過程（[5]）などへの応用がある．&lt;br /&gt;
ネットワークフローとの密接な関係も知られている[4, 5, 6]．&lt;br /&gt;
&lt;br /&gt;
　整数格子点上で定義され整数値をとる関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{n} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt;を考える．&amp;lt;math&amp;gt;{{\rm dom\,}} f = \{ x \in {\mathbf Z}^{n} \mid -\infty &amp;lt; f(x) &amp;lt; +\infty \}\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域と呼び，以下では，&amp;lt;math&amp;gt;{{\rm dom\,}} f \not= \emptyset\, &amp;lt;/math&amp;gt;であるような関数だけを考える．&amp;lt;math&amp;gt;i \in n\, &amp;lt;/math&amp;gt;に対してその特性ベクトルを&amp;lt;math&amp;gt;\chi_{i} \ (\in \{ 0,1 \}^{n})\, &amp;lt;/math&amp;gt; と表わす，すなわち&amp;lt;math&amp;gt;\chi_i(v) = {1  (v=i)&lt;br /&gt;
                  0  (v \neq 1)&amp;lt;/math&amp;gt;&lt;br /&gt;
とする．．ベクトル&amp;lt;math&amp;gt;x \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;{{\rm supp}^{+}}(x) = \{ i \in V \mid x_{i} &amp;gt; 0 \}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;{{\rm supp}^{-}}(x) = \{ i \in V \mid x_{i} &amp;lt; 0 \}\, &amp;lt;/math&amp;gt;とおく．関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が交換公理:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;任意の &amp;lt;math&amp;gt;x, y \in {{\rm dom\,}} f\, &amp;lt;/math&amp;gt; と任意の &amp;lt;math&amp;gt;i \in {{\rm supp}^{+}}(x-y)\, &amp;lt;/math&amp;gt; に対して, ある&amp;lt;br&amp;gt; &amp;lt;math&amp;gt;j \in {{\rm supp}^{-}}(x-y)\, &amp;lt;/math&amp;gt; が存在して&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x)+f(y) \geq f(x-\chi_{i}+\chi_{j}) + f(y+\chi_{i}-\chi_{j})\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[M凸関数]] (M-convex function) という．M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} f\, &amp;lt;/math&amp;gt;は整基多面体(に含まれる整数格子点)である．&lt;br /&gt;
&lt;br /&gt;
　関数g:&amp;lt;math&amp;gt; {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が2条件:&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;g(p) + g(q) \geq g(p \vee q) + g(p \wedge q)&lt;br /&gt;
\qquad ( p, q \in {\mathbf Z}^{V})  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\exists r \in {\mathbf Z}, \forall p \in {\mathbf Z}^{V}: \ &lt;br /&gt;
 g(p+{\mathbf 1}) = g(p) + r  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[L凸関数]] (L-convex function) という．ここで，&amp;lt;math&amp;gt;p \vee q, p \wedge q\, &amp;lt;/math&amp;gt;は，それぞれ，成分毎に最大値, 最小値をとって得られるベクトル(すなわち，&amp;lt;math&amp;gt;(p \vee q)_{i} = \max(p_{i}, q_{i})\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(p \wedge q)_{i} = \min(p_{i}, q_{i}))\, &amp;lt;/math&amp;gt;を表し，&amp;lt;math&amp;gt;{\mathbf 1}=(1,1,\ldots,1) \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;である．L凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} g\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;\vee\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\wedge\, &amp;lt;/math&amp;gt;に関して&amp;lt;math&amp;gt;{\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;の部分束を成す．また，正斉次L凸関数は，劣モジュラ集合関数と同一視することができる．&lt;br /&gt;
&lt;br /&gt;
　一般に関数&amp;lt;math&amp;gt;h: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt; の凸共役&amp;lt;math&amp;gt;h^{\bullet}\, &amp;lt;/math&amp;gt;，凹共役&amp;lt;math&amp;gt;h^{\circ}\, &amp;lt;/math&amp;gt;を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
 h^{\bullet}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \sup\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V}) ,&lt;br /&gt;
\\&lt;br /&gt;
 h^{\circ}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \inf\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V})&lt;br /&gt;
\end{array}&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と定義する．ここで，&amp;lt;math&amp;gt;\textstyle \langle p, x \rangle = \sum_{i \in V} p_{i}x_{i}\, &amp;lt;/math&amp;gt;である．この対応&amp;lt;math&amp;gt;h \mapsto h^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;h \mapsto h^{\circ}\, &amp;lt;/math&amp;gt; を(凸，凹)離散フェンシェル・ルジャンドル(Fenchel-Legendre)変換と呼ぶ．M凸関数とL凸関数は離散フェンシェル・ルジャンドル変換に関して共役関係にあり，対応&amp;lt;math&amp;gt;f \mapsto f^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;g \mapsto g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の間の１対１対応を与える．すなわち，M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;f^{\bullet}\, &amp;lt;/math&amp;gt;はL凸関数, &amp;lt;math&amp;gt;g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数で，&amp;lt;math&amp;gt;(f^{\bullet})^{\bullet}=f\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(g^{\bullet})^{\bullet}=g\, &amp;lt;/math&amp;gt;が成り立つ(共役性定理)．&lt;br /&gt;
&lt;br /&gt;
　M凸関数やL凸関数に対して，[[離散分離定理]] (discrete separation theorem) や[[フェンシェル型双対定理]] (Fenchel-type duality theorem) に象徴されるような離散双対性が成り立つ．&lt;br /&gt;
&lt;br /&gt;
　M凸関数に関する離散分離定理(M分離定理)を述べる:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[M分離定理] &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &amp;lt;math&amp;gt;f(x) \geq g(x)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;ならば, ある&amp;lt;math&amp;gt;\alpha \in {\mathbf Z}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;p \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;が存在して &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x) \geq \alpha + \langle p, x \rangle  \geq g(x)   \qquad  (\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ(&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;がM凹関数とは&amp;lt;math&amp;gt;-g\, &amp;lt;/math&amp;gt;がM凸関数のことである)．&lt;br /&gt;
&lt;br /&gt;
ここで，&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が整数ベクトルに選べることが離散性の反映である．上の主張で，&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;をL凸関数，&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;をL凹関数に置き換えたものも成立する(L分離定理)．L分離定理は，その特殊ケースとして，劣モジュラ集合関数に関するA. Frankの離散分離定理 ([1] 参照) を含んでいる．&lt;br /&gt;
&lt;br /&gt;
　M分離定理とL分離定理は互いに共役の関係にあるが，次に述べるフェンシェル型双対定理は自己共役の形になっている．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[フェンシェル型双対定理]   &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\inf\{ f(x) - g(x) \mid x \in {\mathbf Z}^{V}  \}&lt;br /&gt;
 = \sup\{ g^{\circ}(p) - f^{\bullet}(p) \mid p \in {\mathbf Z}^{V} \}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ．さらに，この両辺が有限値なら，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;x \in {{\rm dom\,}} f \cap {{\rm dom\,}} g&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;p \in {{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ}\, &amp;lt;/math&amp;gt;が存在する．&lt;br /&gt;
&lt;br /&gt;
上の定理は，非線形整数計画に関する強双対性を主張しており，その本質的な部分は，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;をとる範囲をそれぞれ整数ベクトルに限ってよいという主張にある．&lt;br /&gt;
&lt;br /&gt;
　M凸関数，L凸関数に関する種々の問題に対して効率的なアルゴリズムが開発されている．これに関しては [4, 6] を参照されたい．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] S. Fujishige, ''Submodular Functions and Optimization'',2nd ed.,  Elsevier, 2005.&lt;br /&gt;
&lt;br /&gt;
[2] N. Katoh and T. Ibaraki, &amp;quot;Resource allocation problems,&amp;quot; in ''Handbook of Combinatorial Optimization, Vol.2'', D. -Z. Du and P. M. Pardalos, eds., Kluwer, 159-260, 1998.&lt;br /&gt;
&lt;br /&gt;
[3] K. Murota, &amp;quot;Discrete convex analysis&amp;quot;, ''Mathematical Programming'', '''83''' (1998), 313-371.&lt;br /&gt;
&lt;br /&gt;
[4] 室田一雄, 『離散凸解析』, 共立出版，2001.&lt;br /&gt;
&lt;br /&gt;
[5] 室田一雄, 『離散凸解析の考え方』, 共立出版，2007.&lt;br /&gt;
&lt;br /&gt;
[6] K.Murota, ''Discrete Convex Analysis'', SIAM, 2003.&lt;br /&gt;
&lt;br /&gt;
[7] R. T. Rockafellar, ''Convex Analysis'', Princeton University Press, 1970. &lt;br /&gt;
&lt;br /&gt;
[8] A.Tamura, &amp;quot;Applications of discrete convex analysis to mathmatical economics&amp;quot;, ''Publ. RIMS'', '''40''' (2004) , 1015-1037.&lt;br /&gt;
&lt;br /&gt;
[9] D. J. A. Welsh, ''Matroid Theory''，Academic Press, 1976.&lt;br /&gt;
&lt;br /&gt;
[10] N. White, ed., ''Theory of Matroids'', Cambridge University Press, 1986.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|りさんとつかいせき]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9951</id>
		<title>離散凸解析</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%9B%A2%E6%95%A3%E5%87%B8%E8%A7%A3%E6%9E%90&amp;diff=9951"/>
		<updated>2008-08-06T04:20:40Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【りさんとつかいせき (discrete convex analysis)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を, 凸解析の視点とマトロイド理論の視点の両方から考察する方法論を, 離散凸解析と呼ぶ. より一般的には, 解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す. 離散最適化, システム解析, 数理経済学などへの応用がある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　離散的な集合(例えば整数格子点の集合)の上で定義された関数の構造を，凸解析 ([7]) とマトロイド理論 ([1, 8, 9]) の両方の視点から考察する方法論を，[[離散凸解析]] (discrete convex analysis) ([1, 3, 4, 5, 6])と呼ぶ．より一般的には，解析的な視点と組合せ論的な視点の両方から「組合せ論的な凸性」という構造を考察する方法論を指す．離散最適化 ([2, 5])，システム解析 ([6])，数理経済学・ゲーム理論 ([5, 6, 8])，確率過程（[5]）などへの応用がある．&lt;br /&gt;
ネットワークフローとの密接な関係も知られている[4, 5, 6]．&lt;br /&gt;
&lt;br /&gt;
　整数格子点上で定義され整数値をとる関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{n} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt;を考える．&amp;lt;math&amp;gt;{{\rm dom\,}} f = \{ x \in {\mathbf Z}^{V} \mid -\infty &amp;lt; f(x) &amp;lt; +\infty \}\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域と呼び，以下では，&amp;lt;math&amp;gt;{{\rm dom\,}} f \not= \emptyset\, &amp;lt;/math&amp;gt;であるような関数だけを考える．&amp;lt;math&amp;gt;i \in V\, &amp;lt;/math&amp;gt;に対してその特性ベクトルを&amp;lt;math&amp;gt;\chi_{i} \ (\in \{ 0,1 \}^{V})\, &amp;lt;/math&amp;gt; と表わす．ベクトル&amp;lt;math&amp;gt;x \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;{{\rm supp}^{+}}(x) = \{ i \in V \mid x_{i} &amp;gt; 0 \}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;{{\rm supp}^{-}}(x) = \{ i \in V \mid x_{i} &amp;lt; 0 \}\, &amp;lt;/math&amp;gt;とおく．関数&amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が交換公理:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;任意の &amp;lt;math&amp;gt;x, y \in {{\rm dom\,}} f\, &amp;lt;/math&amp;gt; と任意の &amp;lt;math&amp;gt;i \in {{\rm supp}^{+}}(x-y)\, &amp;lt;/math&amp;gt; に対して, ある&amp;lt;br&amp;gt; &amp;lt;math&amp;gt;j \in {{\rm supp}^{-}}(x-y)\, &amp;lt;/math&amp;gt; が存在して&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x)+f(y) \geq f(x-\chi_{i}+\chi_{j}) + f(y+\chi_{i}-\chi_{j})\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[M凸関数]] (M-convex function) という．M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} f\, &amp;lt;/math&amp;gt;は整基多面体(に含まれる整数格子点)である．&lt;br /&gt;
&lt;br /&gt;
　関数g:&amp;lt;math&amp;gt; {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt;が2条件:&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;g(p) + g(q) \geq g(p \vee q) + g(p \wedge q)&lt;br /&gt;
\qquad ( p, q \in {\mathbf Z}^{V})  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\exists r \in {\mathbf Z}, \forall p \in {\mathbf Z}^{V}: \ &lt;br /&gt;
 g(p+{\mathbf 1}) = g(p) + r  ,\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき，[[L凸関数]] (L-convex function) という．ここで，&amp;lt;math&amp;gt;p \vee q, p \wedge q\, &amp;lt;/math&amp;gt;は，それぞれ，成分毎に最大値, 最小値をとって得られるベクトル(すなわち，&amp;lt;math&amp;gt;(p \vee q)_{i} = \max(p_{i}, q_{i})\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(p \wedge q)_{i} = \min(p_{i}, q_{i}))\, &amp;lt;/math&amp;gt;を表し，&amp;lt;math&amp;gt;{\mathbf 1}=(1,1,\ldots,1) \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;である．L凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の実効定義域&amp;lt;math&amp;gt;{{\rm dom\,}} g\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;\vee\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\wedge\, &amp;lt;/math&amp;gt;に関して&amp;lt;math&amp;gt;{\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;の部分束を成す．また，正斉次L凸関数は，劣モジュラ集合関数と同一視することができる．&lt;br /&gt;
&lt;br /&gt;
　一般に関数&amp;lt;math&amp;gt;h: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ \pm\infty \}\, &amp;lt;/math&amp;gt; の凸共役&amp;lt;math&amp;gt;h^{\bullet}\, &amp;lt;/math&amp;gt;，凹共役&amp;lt;math&amp;gt;h^{\circ}\, &amp;lt;/math&amp;gt;を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
 h^{\bullet}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \sup\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V}) ,&lt;br /&gt;
\\&lt;br /&gt;
 h^{\circ}(p) &lt;br /&gt;
 &amp;amp;=&amp;amp; \inf\{  \langle p, x \rangle - h(x) \mid x \in {\mathbf Z}^{V} \}&lt;br /&gt;
\qquad ( p \in {\mathbf Z}^{V})&lt;br /&gt;
\end{array}&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と定義する．ここで，&amp;lt;math&amp;gt;\textstyle \langle p, x \rangle = \sum_{i \in V} p_{i}x_{i}\, &amp;lt;/math&amp;gt;である．この対応&amp;lt;math&amp;gt;h \mapsto h^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;h \mapsto h^{\circ}\, &amp;lt;/math&amp;gt; を(凸，凹)離散フェンシェル・ルジャンドル(Fenchel-Legendre)変換と呼ぶ．M凸関数とL凸関数は離散フェンシェル・ルジャンドル変換に関して共役関係にあり，対応&amp;lt;math&amp;gt;f \mapsto f^{\bullet}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;g \mapsto g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;の間の１対１対応を与える．すなわち，M凸関数&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;とL凸関数&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;に対して，&amp;lt;math&amp;gt;f^{\bullet}\, &amp;lt;/math&amp;gt;はL凸関数, &amp;lt;math&amp;gt;g^{\bullet}\, &amp;lt;/math&amp;gt;はM凸関数で，&amp;lt;math&amp;gt;(f^{\bullet})^{\bullet}=f\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;(g^{\bullet})^{\bullet}=g\, &amp;lt;/math&amp;gt;が成り立つ(共役性定理)．&lt;br /&gt;
&lt;br /&gt;
　M凸関数やL凸関数に対して，[[離散分離定理]] (discrete separation theorem) や[[フェンシェル型双対定理]] (Fenchel-type duality theorem) に象徴されるような離散双対性が成り立つ．&lt;br /&gt;
&lt;br /&gt;
　M凸関数に関する離散分離定理(M分離定理)を述べる:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[M分離定理] &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &amp;lt;math&amp;gt;f(x) \geq g(x)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;ならば, ある&amp;lt;math&amp;gt;\alpha \in {\mathbf Z}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;p \in {\mathbf Z}^{V}\, &amp;lt;/math&amp;gt;が存在して &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(x) \geq \alpha + \langle p, x \rangle  \geq g(x)   \qquad  (\forall \ x \in {\mathbf Z}^{V})\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ(&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;がM凹関数とは&amp;lt;math&amp;gt;-g\, &amp;lt;/math&amp;gt;がM凸関数のことである)．&lt;br /&gt;
&lt;br /&gt;
ここで，&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が整数ベクトルに選べることが離散性の反映である．上の主張で，&amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;をL凸関数，&amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt;をL凹関数に置き換えたものも成立する(L分離定理)．L分離定理は，その特殊ケースとして，劣モジュラ集合関数に関するA. Frankの離散分離定理 ([1] 参照) を含んでいる．&lt;br /&gt;
&lt;br /&gt;
　M分離定理とL分離定理は互いに共役の関係にあるが，次に述べるフェンシェル型双対定理は自己共役の形になっている．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[フェンシェル型双対定理]   &amp;lt;math&amp;gt;f: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ +\infty \}\, &amp;lt;/math&amp;gt; をM凸関数，&amp;lt;math&amp;gt;g: {\mathbf Z}^{V} \to {\mathbf Z} \cup \{ -\infty \}\, &amp;lt;/math&amp;gt;をM凹関数とし, &amp;lt;math&amp;gt;{{\rm dom\,}} f \cap {{\rm dom\,}} g \not= \emptyset\, &amp;lt;/math&amp;gt;または&amp;lt;math&amp;gt;{{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ} \not= \emptyset\, &amp;lt;/math&amp;gt;であると仮定する．このとき, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\inf\{ f(x) - g(x) \mid x \in {\mathbf Z}^{V}  \}&lt;br /&gt;
 = \sup\{ g^{\circ}(p) - f^{\bullet}(p) \mid p \in {\mathbf Z}^{V} \}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が成り立つ．さらに，この両辺が有限値なら，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;x \in {{\rm dom\,}} f \cap {{\rm dom\,}} g&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;を達成する&amp;lt;math&amp;gt;p \in {{\rm dom\,}} f^{\bullet} \cap {{\rm dom\,}} g^{\circ}\, &amp;lt;/math&amp;gt;が存在する．&lt;br /&gt;
&lt;br /&gt;
上の定理は，非線形整数計画に関する強双対性を主張しており，その本質的な部分は，&amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\sup\, &amp;lt;/math&amp;gt;をとる範囲をそれぞれ整数ベクトルに限ってよいという主張にある．&lt;br /&gt;
&lt;br /&gt;
　M凸関数，L凸関数に関する種々の問題に対して効率的なアルゴリズムが開発されている．これに関しては [4, 6] を参照されたい．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] S. Fujishige, ''Submodular Functions and Optimization'',2nd ed.,  Elsevier, 2005.&lt;br /&gt;
&lt;br /&gt;
[2] N. Katoh and T. Ibaraki, &amp;quot;Resource allocation problems,&amp;quot; in ''Handbook of Combinatorial Optimization, Vol.2'', D. -Z. Du and P. M. Pardalos, eds., Kluwer, 159-260, 1998.&lt;br /&gt;
&lt;br /&gt;
[3] K. Murota, &amp;quot;Discrete convex analysis&amp;quot;, ''Mathematical Programming'', '''83''' (1998), 313-371.&lt;br /&gt;
&lt;br /&gt;
[4] 室田一雄, 『離散凸解析』, 共立出版，2001.&lt;br /&gt;
&lt;br /&gt;
[5] 室田一雄, 『離散凸解析の考え方』, 共立出版，2007.&lt;br /&gt;
&lt;br /&gt;
[6] K.Murota, ''Discrete Convex Analysis'', SIAM, 2003.&lt;br /&gt;
&lt;br /&gt;
[7] R. T. Rockafellar, ''Convex Analysis'', Princeton University Press, 1970. &lt;br /&gt;
&lt;br /&gt;
[8] A.Tamura, &amp;quot;Applications of discrete convex analysis to mathmatical economics&amp;quot;, ''Publ. RIMS'', '''40''' (2004) , 1015-1037.&lt;br /&gt;
&lt;br /&gt;
[9] D. J. A. Welsh, ''Matroid Theory''，Academic Press, 1976.&lt;br /&gt;
&lt;br /&gt;
[10] N. White, ed., ''Theory of Matroids'', Cambridge University Press, 1986.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|りさんとつかいせき]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%8A%A3%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%A9%E6%9C%80%E9%81%A9%E5%8C%96&amp;diff=9946</id>
		<title>劣モジュラ最適化</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%8A%A3%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%A9%E6%9C%80%E9%81%A9%E5%8C%96&amp;diff=9946"/>
		<updated>2008-08-06T04:01:33Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【れつもじゅらさいてきか (submodular optimization)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
劣モジュラ最適化とは, 劣モジュラ関数を制約条件または目的関数に含んだ離散最適化を指す. 劣モジュラ関数に関連した最適化問題に 対しては, 離散構造を利用した効率的なアルゴリズムが存在することが少なくない. そのため, 劣モジュラ最適化は, 非線形最適化における凸最適化のように, 離散最適化における基本的な位置を占めている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[劣モジュラ最適化]] (submodular optimization) とは, [[劣モジュラ関数]] (submodular function) を制約条件または目的関数に含んだ離散最適化を指す. 劣モジュラ最適化は, 非線型最適化における凸最適化のように, 離散最適化における基本的な位置を占めている. &lt;br /&gt;
&lt;br /&gt;
　有限集合 &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt; の部分集合族 &amp;lt;math&amp;gt;\mathcal {D}\subseteq 2^N\, &amp;lt;/math&amp;gt; が, &amp;lt;math&amp;gt;\emptyset\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt; を共に含み, 任意の &amp;lt;math&amp;gt;X,Y\in\mathcal {D}\, &amp;lt;/math&amp;gt; に対して &amp;lt;math&amp;gt;X\cup Y, X\cap Y\in\mathcal {D}\, &amp;lt;/math&amp;gt; を満たすものとする. このとき, &amp;lt;math&amp;gt;\mathcal {D}\, &amp;lt;/math&amp;gt; は分配束をなす. 関数 &amp;lt;math&amp;gt;f:\mathcal {D}\to\mathbf {R}\, &amp;lt;/math&amp;gt; が, 任意の &amp;lt;math&amp;gt;X,Y\in\mathcal {D}\, &amp;lt;/math&amp;gt; に対して &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(X)+f(Y)\geq f(X\cup Y)+f(X\cap Y)\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たすとき, &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt; は劣モジュラ関数と呼ばれる. 不等号が常に等号で成立する場合には, &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt; をモジュラ関数という. 分配束 &amp;lt;math&amp;gt;\mathcal {D}\, &amp;lt;/math&amp;gt; と劣モジュラ関数 &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt; の組 &amp;lt;math&amp;gt;(\mathcal {D},f)\, &amp;lt;/math&amp;gt; は, &amp;lt;math&amp;gt;f(\emptyset)=0\, &amp;lt;/math&amp;gt; のとき, [[劣モジュラシステム]] (submodular system) と呼ばれる. さらに, &amp;lt;math&amp;gt;\mathcal {D}=2^N\, &amp;lt;/math&amp;gt; であり, &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt; が単調性を有するとき, すなわち任意の &amp;lt;math&amp;gt;X,Y\subseteq N\, &amp;lt;/math&amp;gt; に対して &amp;lt;math&amp;gt;X\subseteq Y \Rightarrow f(X)\leq f(Y)\, &amp;lt;/math&amp;gt; が成り立つとき, &amp;lt;math&amp;gt;(N,f)\, &amp;lt;/math&amp;gt; を[[ポリマトロイド]] (polymatroid)という. &lt;br /&gt;
&lt;br /&gt;
　オペレーションズ・リサーチにおいて重要な劣モジュラ関数の代表的な例を以下に挙げる. &lt;br /&gt;
&lt;br /&gt;
'''カット容量関数'''　有向グラフ &amp;lt;math&amp;gt;G=(N,A)\, &amp;lt;/math&amp;gt; において, 各枝 &amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt; に非負の容量 &amp;lt;math&amp;gt;c(a)\, &amp;lt;/math&amp;gt; が与えられているとき, &amp;lt;math&amp;gt;\textstyle \kappa(X)=\sum\{c(a)\mid a\in \Delta^+X\}\, &amp;lt;/math&amp;gt; で定義される容量関数 &amp;lt;math&amp;gt;\kappa:2^N\to\mathbf {R}\, &amp;lt;/math&amp;gt; は, 劣モジュラ関数となる. ここで, &amp;lt;math&amp;gt;\Delta^+X\, &amp;lt;/math&amp;gt; は, &amp;lt;math&amp;gt;X\subseteq N\, &amp;lt;/math&amp;gt; から出る枝の集合を表す. &lt;br /&gt;
&lt;br /&gt;
'''マトロイド階数関数'''　マトロイド &amp;lt;math&amp;gt;\mathcal {M}=(N,\mathcal {I})\, &amp;lt;/math&amp;gt; において, 階数関数 &amp;lt;math&amp;gt;\rho:2^N\to\mathbf {Z}\, &amp;lt;/math&amp;gt; を &amp;lt;math&amp;gt;\rho(X)=\max\{|I|\mid I\subseteq X,\,I\in \mathcal {I}\}\, &amp;lt;/math&amp;gt; で定めると, &amp;lt;math&amp;gt;(N,\rho)\, &amp;lt;/math&amp;gt; はポリマトロイドとなる.  &lt;br /&gt;
&lt;br /&gt;
'''エントロピー関数'''　有限アルファベットの離散確率変数の集合 &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt; に関して, 空でない部分集合 &amp;lt;math&amp;gt;X\subseteq N\, &amp;lt;/math&amp;gt; のエントロピーを &amp;lt;math&amp;gt;\eta(X)\, &amp;lt;/math&amp;gt; と書き, &amp;lt;math&amp;gt;\eta(\emptyset)=0\, &amp;lt;/math&amp;gt; と定めると, &amp;lt;math&amp;gt;(N,\eta)\, &amp;lt;/math&amp;gt; はポリマトロイドとなる. &lt;br /&gt;
&lt;br /&gt;
　有限集合 &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt; 上の実数値関数全体のなす線型空間を &amp;lt;math&amp;gt;\mathbf {R}^N\, &amp;lt;/math&amp;gt; と表す. ベクトル &amp;lt;math&amp;gt;x\in\mathbf {R}^N\, &amp;lt;/math&amp;gt; は, 部分集合 &amp;lt;math&amp;gt;X\subseteq N\, &amp;lt;/math&amp;gt; に対して &amp;lt;math&amp;gt;\textstyle x(X)=\sum\{x(i)\mid i\in X\}\, &amp;lt;/math&amp;gt; と定義することによって, &amp;lt;math&amp;gt;x(\emptyset)=0\, &amp;lt;/math&amp;gt; であるようなモジュラ関数 &amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt; と同一視される.劣モジュラシステム &amp;lt;math&amp;gt;(\mathcal {D},f)\, &amp;lt;/math&amp;gt; は, &amp;lt;math&amp;gt;\mathbf {R}^N\, &amp;lt;/math&amp;gt; 中の[[基多面体]]　(base polyhedron)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\mbox{B}(f)=\{x\mid x\in\mathbf {R}^N,\;x(N)=f(N),\;\forall X\in\mathcal {D}: x(X)\leq f(X)\} \, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を定める. 基 &amp;lt;math&amp;gt;x\in\mbox{B}(f)\, &amp;lt;/math&amp;gt; と相異なる &amp;lt;math&amp;gt;i,j\in N\, &amp;lt;/math&amp;gt; に対して, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\tilde{c}(x,i,j)=\min\{f(X)-x(X)\mid i\in X\in\mathcal {D}, j\notin X\}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で定義される量を交換容量と呼ぶ. &lt;br /&gt;
&lt;br /&gt;
　基多面体上では, 貪欲アルゴリズムによって, 線型目的関数の最適化が可能である. 一般に, 楕円体法を通じて, 最適化問題と分離問題とが計算量の多項式性という観点からは等価であるという原理に基づいて, 強多項式時間で劣モジュラ関数の最小化が可能であることが示されている [3] . しかし, 楕円体法は実際上効率的とは言い難く, 組合せ的な多項式時間アルゴリズムの開発が望まれていた. &lt;br /&gt;
2000年前後に, Iwata-Fleischer-Fujishige[6]とSchrijver[7]によって独立に解決された. &lt;br /&gt;
&lt;br /&gt;
　有向グラフ &amp;lt;math&amp;gt;G=(N,A)\, &amp;lt;/math&amp;gt; と, &amp;lt;math&amp;gt;f(N)=0\, &amp;lt;/math&amp;gt; を満たす &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt; 上の劣モジュラシステム &amp;lt;math&amp;gt;(\mathcal {D},f)\, &amp;lt;/math&amp;gt; を考える. 各枝 &amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt; の始点を &amp;lt;math&amp;gt;\partial^+a\, &amp;lt;/math&amp;gt;, 終点を &amp;lt;math&amp;gt;\partial^-a\, &amp;lt;/math&amp;gt; と書き, &amp;lt;math&amp;gt;X\subseteq N\, &amp;lt;/math&amp;gt; から出る枝の集合を &amp;lt;math&amp;gt;\Delta^+X\, &amp;lt;/math&amp;gt;, 入る枝の集合を &amp;lt;math&amp;gt;\Delta^-X\, &amp;lt;/math&amp;gt; と表す. 任意の &amp;lt;math&amp;gt;\varphi\in\mathbf {R}^A\, &amp;lt;/math&amp;gt; に対して, 境界 &amp;lt;math&amp;gt;\partial\varphi\in\mathbf {R}^N\, &amp;lt;/math&amp;gt; を &amp;lt;math&amp;gt;\partial\varphi(X)=\varphi(\Delta^+X)-\varphi(\Delta^-X)\, &amp;lt;/math&amp;gt; で定める. [[劣モジュラフロー問題]] (submodular flow problem) とは, 枝流量の上下限 &amp;lt;math&amp;gt;\bar {c},\underline {c}\in\mathbf {R}^A\, &amp;lt;/math&amp;gt; と費用 &amp;lt;math&amp;gt;d\in\mathbf {R}^A\, &amp;lt;/math&amp;gt; が与えられたとき, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\min\{\sum_{a\in A}d(a)\varphi(a)\mid\partial\varphi\in\mbox{B}(f),\; &lt;br /&gt;
\forall a\in A: \underline {c}(a)\leq\varphi(a)\leq\bar {c}(a)\}\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を求める問題である [1] . 特に, &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt; がモジュラ関数の場合には, 最小費用フロー問題となることに注意する. &lt;br /&gt;
&lt;br /&gt;
　劣モジュラフロー問題は, 任意の &amp;lt;math&amp;gt;X\in\mathcal {D}\, &amp;lt;/math&amp;gt; に対して&amp;lt;math&amp;gt;\underline {c}(\Delta^+X)-\bar {c}(\Delta^-X)\leq f(X)\, &amp;lt;/math&amp;gt; が成立するとき, かつそのときに限り, 実行可能解を有する. さらに, &amp;lt;math&amp;gt;\bar {c},\underline {c},f\, &amp;lt;/math&amp;gt; が整数値関数であれば, 整数実行可能解が存在する. &lt;br /&gt;
&lt;br /&gt;
　実行可能解 &amp;lt;math&amp;gt;\varphi\, &amp;lt;/math&amp;gt; は, 以下の条件を満たす &amp;lt;math&amp;gt;p\in\mathbf {R}^N\, &amp;lt;/math&amp;gt; が存在するとき, かつそのときに限り, 最適解である. ただし, 各枝 &amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt; に対して&amp;lt;math&amp;gt;d_p(a)=d(a)+p(\partial^+a)-p(\partial^-a)\, &amp;lt;/math&amp;gt; と定める. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*任意の &amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt; に対して, &amp;lt;math&amp;gt;d_p(a)&amp;gt;0\Rightarrow\varphi(a)=\underline {c}(a)\, \, &amp;lt;/math&amp;gt;, および&amp;lt;math&amp;gt;d_p(a)&amp;lt;0 \Rightarrow \varphi(a)=\bar {c}(a)\, &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
*任意の相異なる &amp;lt;math&amp;gt;i,j\in N\, &amp;lt;/math&amp;gt; に対して, &amp;lt;math&amp;gt;p(j)&amp;lt;p(i)\Rightarrow \tilde{c}(\partial\varphi,i,j)=0\, &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
さらに, &amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt; が整数値関数の場合には, &amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt; を整数値関数に限ることができる.&lt;br /&gt;
&lt;br /&gt;
　最小費用フロー問題の解法を一般化することによって, 劣モジュラフロー問題を解くアルゴリズムが提案されている [5] . これらの組合せ的なアルゴリズムは, いずれも劣モジュラシステム &amp;lt;math&amp;gt;(\mathcal {D},f)\, &amp;lt;/math&amp;gt; に関する交換容量を計算する手続きの存在を仮定している. 交換容量の計算は, 定義より明らかなように, 劣モジュラ関数の最小化になっており, 楕円体法を用いれば強多項式時間で可能なことが知られている. しかし, 劣モジュラフロー問題の応用に際しては, 問題の特殊性を活かした組合せ的な手続きが設計できる場合が少なくない. &lt;br /&gt;
&lt;br /&gt;
　劣モジュラ関数 &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt; の最小値を達成する &amp;lt;math&amp;gt;X\in\mathcal {D}\, &amp;lt;/math&amp;gt; の全体は, &amp;lt;math&amp;gt;\mathcal {D}\, &amp;lt;/math&amp;gt; の部分分配束をなす. バーコフ(G. Birkhoff)の表現定理より, この部分分配束は &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt; の適当な部分集合への分割と各成分間の半順序関係によって表すことができる. この原理に基づいて劣モジュラ関数で記述された離散システムを分解する手法を総称して[[基本分割]] (principal partition) と呼ぶ. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] J. Edmonds and R. Giles, &amp;quot;A min-max relation for submodular functions on graphs,&amp;quot; in ''Studies in Integer Programming'', P. L. Hammer, E. L. Johnson, and B. H. Korte, eds., North-Holland, 185-204, 1977.  &lt;br /&gt;
&lt;br /&gt;
[2] S. Fujishige, ''Submodular Functions and Optimization'', 2nd ed., Elsevier, 2005.&lt;br /&gt;
&lt;br /&gt;
[3] M. Gr&amp;amp;ouml;tschel, L. Lov\'asz and A. Schrijver, ''Geometric Algorithms and Combinatorial Optimization'', Springer-Verlag, 1988. &lt;br /&gt;
&lt;br /&gt;
[4] 伊理正夫, 藤重悟, 大山逹雄, 『グラフ・ネットワーク・マトロイド』, 産業図書, 1986. &lt;br /&gt;
&lt;br /&gt;
[5] 岩田覚, 「劣モジュラ流問題」, 藤重悟 編　『離散構造とアルゴリズム Ⅵ』, 近代科学社, 第4章，127-170, 1999.&lt;br /&gt;
&lt;br /&gt;
[6] S.Iwata, L.Fleischer and S.Fujishige, ''A combinatorial strongly polynomial algorithm for minimizing submodular functions'', Journal of ACM 48 (2001) , 761--777.&lt;br /&gt;
&lt;br /&gt;
[7] A.Schrijver, ''A combinatorial algorithm minimizing submodular functions in strongly polynomial time'', Journal of Combinatorial Theory, Ser. B, 80 (2000) , 346--355.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|れつもじゅらさいてきか]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%9E%E3%83%88%E3%83%AD%E3%82%A4%E3%83%89&amp;diff=9939</id>
		<title>マトロイド</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%9E%E3%83%88%E3%83%AD%E3%82%A4%E3%83%89&amp;diff=9939"/>
		<updated>2008-08-06T03:30:36Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【まとろいど (matroid)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
マトロイドとは, ベクトル集合の一次独立性・従属性といった概念を組合せ論的に抽象化することによって得られる公理系を満たすものである．&lt;br /&gt;
1935年にホイットニー(H. Whitney)が導入し，1950年代以降タット(W. T. Tutte)らにより研究が発展してきた．&lt;br /&gt;
1960年代にエドモンズ(J. Edmonds)によって数理計画法における重要性が指摘されて以来, マトロイドは, &lt;br /&gt;
効率的に解くことのできる離散最適化問題を把握する枠組として中心的な役割を担っている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[マトロイド]] (matroid) は, 線型空間内のベクトル集合の一次独立・従属といった概念の組合せ論的な側面を抽象化して得られる公理系を満たすものとして定義されている. 有限集合 &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt; とその部分集合族 &amp;lt;math&amp;gt;\mathcal I\, &amp;lt;/math&amp;gt; が以下の (I0)-(I2) を満たすとき, &amp;lt;math&amp;gt;(N,\mathcal I)\, &amp;lt;/math&amp;gt; はマトロイドと呼ばれる.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(I0)} \quad \emptyset \in \mathcal I., &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(I1)} \quad I\subseteq J \in \mathcal I\Rightarrow I \in \mathcal I.\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(I2)} \quad I,J \in \mathcal I, |I|&amp;lt;|J|\Rightarrow\exists j \in  J \setminus I: I\cup\{j\} \in \mathcal I.\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
マトロイド &amp;lt;math&amp;gt;\mathbf{M}=(N,\mathcal I)\, &amp;lt;/math&amp;gt; において, &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt; を &amp;lt;math&amp;gt;\mathbf{M}\, &amp;lt;/math&amp;gt; の台集合, &amp;lt;math&amp;gt;\mathcal I\, &amp;lt;/math&amp;gt; を[[独立集合族]] (independent set family) という.部分集合 &amp;lt;math&amp;gt;I \in \mathcal I\, &amp;lt;/math&amp;gt; は, &amp;lt;math&amp;gt;\mathbf{M}\, &amp;lt;/math&amp;gt; の独立集合と呼ばれる. &lt;br /&gt;
&lt;br /&gt;
　マトロイド &amp;lt;math&amp;gt;\mathbf{M}\, &amp;lt;/math&amp;gt; の基とは, 極大な独立集合のことである. 公理 (I2) から明らかなように, 基の要素数は全て等しい. この数をマトロイド &amp;lt;math&amp;gt;\mathbf{M}\, &amp;lt;/math&amp;gt; の階数という. 基の全体を&amp;lt;math&amp;gt;\mathcal{B}\, &amp;lt;/math&amp;gt; と書き, &amp;lt;math&amp;gt;\mathbf{M}\, &amp;lt;/math&amp;gt; の[[基族]] (base family) と呼ぶ. 基族 &amp;lt;math&amp;gt;\mathcal{B}\, &amp;lt;/math&amp;gt; は以下の (B0)-(B1) を満たす. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(B0)} \quad \mathcal{B}\neq\emptyset.\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(B1)} \quad B,F \in \mathcal{B}, i \in  B\setminus F\Rightarrow\exists j \in  F\setminus B: (B\setminus\{i\})\cup\{j\} \in \mathcal{B}.\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　マトロイド &amp;lt;math&amp;gt;\mathbf{M}\, &amp;lt;/math&amp;gt; の[[階数関数]] (rank function) &amp;lt;math&amp;gt;\rho\, &amp;lt;/math&amp;gt; は, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\rho(X)=\max\{|I|\mid I\subseteq X,\, I  \in \mathcal I\} &lt;br /&gt;
\quad\quad\quad(X\subseteq N)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と定義される. 階数関数 &amp;lt;math&amp;gt;\rho\, &amp;lt;/math&amp;gt; は以下の (R0)-(R3) を満たしている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(R0)} \quad \rho(\emptyset)=0\, &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(R1)} \quad \forall X\subseteq N: \rho(X)\leq |X|\, &amp;lt;/math&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(R2)} \quad X\subseteq Y \Rightarrow \rho(X)\leq\rho(Y)\, &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbf{(R3)} \quad \forall X,Y\subseteq N: \rho(X)+\rho(Y)\geq\rho(X\cap Y)+\rho(X\cup Y)\, &amp;lt;/math&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
特に, (R3) は &amp;lt;math&amp;gt;\rho\, &amp;lt;/math&amp;gt; が[[劣モジュラ関数]] (submodular function) であることを示している. &lt;br /&gt;
&lt;br /&gt;
　ここでは, (I0)-(I2) によってマトロイドを定義したが, (B0)-(B1) を満たす基族 &amp;lt;math&amp;gt;\mathcal{B}\, &amp;lt;/math&amp;gt; からマトロイドを定義することもできる. この場合, 独立集合は基の部分集合として定義される. 同様に, (R0)-(R3) を満たす階数関数によってマトロイドを定義することもできる.  この場合, 独立集合族は &amp;lt;math&amp;gt;\mathcal I=\{I\subseteq N \mid \rho(I)=|I|\}\, &amp;lt;/math&amp;gt; によって定められる. &lt;br /&gt;
&lt;br /&gt;
　離散最適化に現れるマトロイドの代表的な例を以下に挙げる. &lt;br /&gt;
&lt;br /&gt;
'''グラフ的マトロイド'''　(graphic matroid) 点集合 &amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;, 枝集合 &amp;lt;math&amp;gt;E\, &amp;lt;/math&amp;gt; を持つ無向グラフ &amp;lt;math&amp;gt;G=(V,E)\, &amp;lt;/math&amp;gt; を考える. 枝集合の部分集合のうち, 閉路を含まないものの全体を &amp;lt;math&amp;gt;\mathcal I\, &amp;lt;/math&amp;gt; とすると, &amp;lt;math&amp;gt;(E,\mathcal I)\, &amp;lt;/math&amp;gt; は (I0)-(I2) を満たし, マトロイドになる. このようにして得られるマトロイドをグラフ的マトロイドと呼ぶ.  &lt;br /&gt;
&lt;br /&gt;
'''横断マトロイド'''　(transversal matroid) 点集合 &amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;, 枝集合 &amp;lt;math&amp;gt;E\, &amp;lt;/math&amp;gt; からなる2部グラフ &amp;lt;math&amp;gt;H=(U,V;E)\, &amp;lt;/math&amp;gt; を考える. 枝部分集合 &amp;lt;math&amp;gt;M\subseteq E\, &amp;lt;/math&amp;gt; で端点を共有しないものを &amp;lt;math&amp;gt;H\, &amp;lt;/math&amp;gt; のマッチングという. 点集合 &amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt; の部分集合で, &amp;lt;math&amp;gt;H\, &amp;lt;/math&amp;gt; のマッチングの &amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt; における端点集合となり得るものの全体を &amp;lt;math&amp;gt;\mathcal I\, &amp;lt;/math&amp;gt; とする. このとき, &amp;lt;math&amp;gt;(U,\mathcal I)\, &amp;lt;/math&amp;gt; は (I0)-(I2) を満たし, マトロイドになる. このようにして得られるマトロイド &amp;lt;math&amp;gt;(U,\mathcal I)\, &amp;lt;/math&amp;gt; を横断マトロイドと呼ぶ.  &lt;br /&gt;
&lt;br /&gt;
　マトロイド &amp;lt;math&amp;gt;\mathbf{M}=(N,\mathcal I)\, &amp;lt;/math&amp;gt; の各要素 &amp;lt;math&amp;gt;i \in  N\, &amp;lt;/math&amp;gt; に重み &amp;lt;math&amp;gt;w(i)\, &amp;lt;/math&amp;gt; が与えられたとき, 以下の様な[[貪欲アルゴリズム]]　(greedy algorithm)　を適用して最終的に得られる &amp;lt;math&amp;gt;I\, &amp;lt;/math&amp;gt; が, 重み最小の基, すなわち, &amp;lt;math&amp;gt;\textstyle w(B)=\sum\{w(i)\mid i \in  B\}\, &amp;lt;/math&amp;gt; を最小にする基 &amp;lt;math&amp;gt;B \in \mathcal{B}\, &amp;lt;/math&amp;gt; となる.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;math&amp;gt;I\leftarrow\emptyset; S\leftarrow N; \, &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;math&amp;gt;S=\emptyset\, &amp;lt;/math&amp;gt; となるまで, 以下を繰り返す.  &lt;br /&gt;
::&amp;lt;math&amp;gt;- \; S\, &amp;lt;/math&amp;gt; の中で, 重み最小の要素を &amp;lt;math&amp;gt;j\, &amp;lt;/math&amp;gt; とする; &amp;lt;math&amp;gt;S\leftarrow S-\{j\};\, &amp;lt;/math&amp;gt; &lt;br /&gt;
:: &amp;lt;math&amp;gt;-\, &amp;lt;/math&amp;gt;もし &amp;lt;math&amp;gt;I\cup\{j\} \in \mathcal I\, &amp;lt;/math&amp;gt; であれば, &amp;lt;math&amp;gt;I\leftarrow I\cup \{j\}.\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
全く同様のアルゴリズムによって, 重み最大の基を求めることもできる． &lt;br /&gt;
&lt;br /&gt;
　離散最適化におけるマトロイドの重要性は, 貪欲アルゴリズムのみならず, [[共通マトロイド問題]] (matroid intersection problem)　に負うところが大きい. 共通マトロイド問題とは, 台集合を共有するマトロイド &amp;lt;math&amp;gt;\mathbf{M}^+=(N,\mathcal I^+)\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;\mathbf{M}^-=(N,\mathcal I^-)\, &amp;lt;/math&amp;gt; における共通独立集合のうちで, 要素数最大のものを求める問題である. この問題の最適値は, &amp;lt;math&amp;gt;\mathbf{M}^+\, &amp;lt;/math&amp;gt; の階数関数 &amp;lt;math&amp;gt;\rho^+\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;\mathbf{M}^-\, &amp;lt;/math&amp;gt; の階数関数 &amp;lt;math&amp;gt;\rho^-\, &amp;lt;/math&amp;gt; を用いて, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\max\{|I|\mid I \in \mathcal I^+\cap\mathcal I^-\}=\min\{\rho^+(X)+\rho^-(N\setminus X)\mid X\subseteq N\}\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と特徴付けられる [1] . 共通マトロイド問題は, 回路理論やシステム解析においても本質的な役割を果たしている [2, 3, 5] .  &lt;br /&gt;
&lt;br /&gt;
　マトロイドが, 行列における一次独立性を抽象化して得られたのに対し, 対称行列や歪対称行列の正則主小行列の組合せ的な性質を抽象化した概念として，[[デルタマトロイド]] (delta-matroid) が提案された. デルタマトロイドは, マトロイドの一般化であり, 貪欲アルゴリズムが適用可能であると同時に, 一般グラフ上のマッチングの端点集合族をも包含する枠組として注目されている.&lt;br /&gt;
&lt;br /&gt;
　また, 多項式行列の小行列式の次数の抽象化として[[付値マトロイド]] (valuated matroid) が提案された. 付値マトロイドの研究は, 劣モジュラ関数の凸性に関する理論と結び付いて, 離散凸解析と呼ばれる分野に発展している.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] J. Edmonds, &amp;quot;Submodular functions, matroids, and certain polyhedra,&amp;quot; in ''Combinatorial Structures and Their Applications'', R. Guy, H. Hanani, N. Sauer, and J. Sch&amp;amp;ouml;nheim, eds., Gordon and Breach, 69-87, 1970. &lt;br /&gt;
&lt;br /&gt;
[2] 室田一雄, 「マトロイドとシステム解析」, 藤重悟 編『離散構造とアルゴリズムⅠ』, 近代科学社, 第2章，57-109, 1992.&lt;br /&gt;
&lt;br /&gt;
[3] K. Murota, ''Matrices and Matroids for Systems Analysis'', Springer-Verlag, 2000. &lt;br /&gt;
&lt;br /&gt;
[4] J. G. Oxley, ''Matroid Theory'', Oxford University Press, 1992. &lt;br /&gt;
&lt;br /&gt;
[5] A. Recski, ''Matroid Theory and Its Applications in Electric Network Theory and in Statics'', Springer-Verlag, 1989. &lt;br /&gt;
&lt;br /&gt;
[6] D. J. A. Welsh, ''Matroid Theory'', Academic Press, 1976.&lt;br /&gt;
&lt;br /&gt;
[7] N.White (ed.) , ''Matroid Applications'', Cambridge University Press, 1992.&lt;br /&gt;
&lt;br /&gt;
[8] 伊理正夫, 藤重悟, 大山達雄,『グラフ・ネットワーク・マトロイド』, 産業図書, 1986.&lt;br /&gt;
&lt;br /&gt;
[9] J. Lee, ''A First Course in Combinatorial Optimization'', Cambridge University Press, 2004. &lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|まとろいど]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%9E%E3%83%83%E3%83%81%E3%83%B3%E3%82%B0%E5%95%8F%E9%A1%8C&amp;diff=9935</id>
		<title>マッチング問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%9E%E3%83%83%E3%83%81%E3%83%B3%E3%82%B0%E5%95%8F%E9%A1%8C&amp;diff=9935"/>
		<updated>2008-08-06T03:18:56Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【まっちんぐもんだい (matching problem)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
無向グラフが与えられたときに, ある目的にしたがってマッチングを選ぶ問題をマッチング問題と呼ぶ.  例えば, 最大要素マッチング問題, 最大重みマッチング問題(割当問題), 安定なマッチングを求める安定結婚問題などが挙げられる.  2部グラフでのマッチング問題はネットワークフロー問題の特殊ケースとして解くことができるのに対し, 一般のグラフの場合は問題の構造がより複雑になり多少工夫を要するが, いずれの問題も多項式時間で解くことができる.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　&amp;lt;math&amp;gt;G = (V, A)\, &amp;lt;/math&amp;gt; を無向グラフとする.  &amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt; の[[マッチング]] (matching) とは, 端点を共有しない枝の集合 &amp;lt;math&amp;gt;M \subseteq A\, &amp;lt;/math&amp;gt; のことである.  &amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt; 本の枝からなるマッチングを &amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-マッチングと呼び, 特に &amp;lt;math&amp;gt;k = |V|/2\, &amp;lt;/math&amp;gt; のときは完全マッチングと呼ぶ.  与えられた目的に従ってマッチングを選ぶ問題のことを, [[マッチング問題]]という. 以下, 幾つかのマッチング問題について簡単に説明する. &lt;br /&gt;
&lt;br /&gt;
'''(a) 最大マッチング問題'''　枝数が最大のマッチングを求める問題を, 最大マッチング問題という. マッチング &amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt; に対し, 長さが奇数の道 &amp;lt;math&amp;gt;P =(a_1, a_2, \cdots, a_{2k+1})\, &amp;lt;/math&amp;gt; が, 条件 &amp;lt;math&amp;gt;a_i \in A\setminus M\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(\forall i:\, &amp;lt;/math&amp;gt; 奇数),  &amp;lt;math&amp;gt;a_i \in M\, &amp;lt;/math&amp;gt;　&amp;lt;math&amp;gt;(\forall i:\, &amp;lt;/math&amp;gt; 偶数&amp;lt;math&amp;gt;)\, &amp;lt;/math&amp;gt; を満たし、道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;の始点と終点が&amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt;の端点でないとき, &amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt; は &amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt; に関する増加道と呼ばれる. 増加道に関して, 以下の性質が成り立つ: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*マッチング &amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt; 及び &amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt; に関する増加道 &amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt; に対し, 枝集合 &amp;lt;math&amp;gt;(M \setminus P) \cup (P \setminus M)\, &amp;lt;/math&amp;gt; は枝数 &amp;lt;math&amp;gt;|M| + 1\, &amp;lt;/math&amp;gt; のマッチングである. &lt;br /&gt;
 &lt;br /&gt;
*&amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt; は最大マッチング &amp;lt;math&amp;gt;\iff M\, &amp;lt;/math&amp;gt; に関する増加道が存在しない. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　従って, 枝数 0 のマッチングからはじめ, 各反復では, 増加道を求めてマッチングの枝数を増やしていくことで, 最大マッチングが求められる.  &amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt; が2部グラフの場合には, 増加道の存在判定及び検出が容易に実行できるのに対し, 一般のグラフの場合には多少工夫を要する． いずれの場合も多項式時間で最大マッチングを求めることができる. &lt;br /&gt;
&lt;br /&gt;
　点集合 &amp;lt;math&amp;gt;U \subseteq V\, &amp;lt;/math&amp;gt; に対して, 任意の枝 &amp;lt;math&amp;gt;a \in A\, &amp;lt;/math&amp;gt; の端点のうち少なくとも一方が &amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt; に含まれるとき, &amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt; は &amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt; の[[被覆 (グラフ理論における)|被覆]] と呼ばれる. 任意のマッチング &amp;lt;math&amp;gt;M \subseteq A\, &amp;lt;/math&amp;gt; と任意の被覆 &amp;lt;math&amp;gt;U \subseteq V\, &amp;lt;/math&amp;gt; に対して, 不等式 &amp;lt;math&amp;gt;|M| \leq |U|\, &amp;lt;/math&amp;gt; が成り立つ.  特に, &amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt; が2部グラフならば, 最大マッチングの枝数と最小被覆の点数は等しい:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\max\{|M| \mid M: G\, &amp;lt;/math&amp;gt; のマッチング&amp;lt;math&amp;gt;\} = \min\{|U| \mid U: G\, &amp;lt;/math&amp;gt; の被覆&amp;lt;math&amp;gt;\}.\, &amp;lt;/math&amp;gt;　　&amp;lt;math&amp;gt;(1)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
これを, 2部グラフに関する[[最大マッチング最小被覆定理]]という. &lt;br /&gt;
&lt;br /&gt;
　一般のグラフの場合, 式(1)は成り立つとは限らないが，成り立つようにその右辺を修正することができる．奇数個の点からなる点集合の族を &amp;lt;math&amp;gt;{\mathcal U} = \{U_1, U_2, \cdots, U_k\}\, &amp;lt;/math&amp;gt; とする. 任意の枝 &amp;lt;math&amp;gt;a \in A\, &amp;lt;/math&amp;gt; に対して, 以下の条件 (i) または (ii) が成り立つとき, &amp;lt;math&amp;gt;\mathcal U\, &amp;lt;/math&amp;gt; を &amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt; の奇被覆と呼ぶ:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\mbox{(i)} \quad |U_i| = 1\, &amp;lt;/math&amp;gt; なる &amp;lt;math&amp;gt;U_i\, &amp;lt;/math&amp;gt; が存在して, &amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt; の一方の端点が &amp;lt;math&amp;gt;U_i\, &amp;lt;/math&amp;gt; に含まれる. &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\mbox{(ii)} \quad|U_i| &amp;gt; 1\, &amp;lt;/math&amp;gt; なる &amp;lt;math&amp;gt;U_i\, &amp;lt;/math&amp;gt; が存在して, &amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt; の両端点が &amp;lt;math&amp;gt;U_i\, &amp;lt;/math&amp;gt; に含まれる.&lt;br /&gt;
&lt;br /&gt;
各 &amp;lt;math&amp;gt;U \in \mathcal U\, &amp;lt;/math&amp;gt; に対し, &amp;lt;math&amp;gt;c(U)\, &amp;lt;/math&amp;gt; を, &amp;lt;math&amp;gt;|U| = 1\, &amp;lt;/math&amp;gt; ならば &amp;lt;math&amp;gt;c(U) = 1, |U| &amp;gt; 1\, &amp;lt;/math&amp;gt; ならば &amp;lt;math&amp;gt;c(U) = (|U| - 1)/2\, &amp;lt;/math&amp;gt;, と定める.  このとき, 次の最大・最小定理が成り立つ:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\textstyle  \max\{|M| \mid M: G\, &amp;lt;/math&amp;gt; のマッチング &amp;lt;math&amp;gt;\textstyle \} = \min\{{\sum}_{U \in {\mathcal U}} c(U) \mid {\mathcal U}: G\, &amp;lt;/math&amp;gt; の奇被覆&amp;lt;math&amp;gt;\}.\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　2部グラフ &amp;lt;math&amp;gt;G = (V^+, V^-; A)\, &amp;lt;/math&amp;gt; において, &amp;lt;math&amp;gt;|M| = |V^+|\, &amp;lt;/math&amp;gt;であるマッチング &amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt; を, 左側端点集合 &amp;lt;math&amp;gt;V^+\, &amp;lt;/math&amp;gt; に関する完全マッチングという.  左側端点集合 &amp;lt;math&amp;gt;V^+\, &amp;lt;/math&amp;gt; に関する完全マッチングが存在するための必要十分条件は次のように書ける:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;|U^+| \leq |\{v \in V^- \mid \ u \in U^+, (u, v) \in A\}| \qquad&lt;br /&gt;
(\forall U^+ \subseteq V^+).&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
これを, [[ホールの定理]] (Hall's theorem) と呼ぶ. &lt;br /&gt;
&lt;br /&gt;
　最小被覆族の構造に基づいた2部グラフの分解として[[ダルメジ・メンデルゾーン分解]] (Dulmage-Mendelsohn decomposition) が知られている. 略してDM分解と呼ばれる. この分解は, 与えられた2部グラフを, 半順序構造を有する部分グラフの族へと一意的に分解する.  DM 分解は, 連立一次方程式を解く際にも有用である. 係数行列に関連する2部グラフのDM分解を用いて係数行列のブロック三角化が出来, これにより計算時間を削減することができる.&lt;br /&gt;
&lt;br /&gt;
'''(b) 最大重みマッチング問題'''　無向グラフ &amp;lt;math&amp;gt;G = (V, A)\, &amp;lt;/math&amp;gt; 及び各枝 &amp;lt;math&amp;gt;a \in A\, &amp;lt;/math&amp;gt; の重み &amp;lt;math&amp;gt;w(a) \in \mathbf{R}\, &amp;lt;/math&amp;gt;が与えられたとき, 枝重みの和 &amp;lt;math&amp;gt;\textstyle {\sum}_{a \in M}w(a)\, &amp;lt;/math&amp;gt; を最大にするマッチング &amp;lt;math&amp;gt;M \subseteq A\, &amp;lt;/math&amp;gt; を求める問題を最大重みマッチング問題と呼ぶ.  最大重み&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-マッチング問題,  最大重み完全マッチング問題も同様に定義される. ２部グラフにおける最大重み完全マッチング問題は[[割当問題]]　(assignment problem)　とも呼ばれる.&lt;br /&gt;
&lt;br /&gt;
　最大重みマッチングを求めるときも, 最大マッチングと同様に 増加道を用いて繰り返しマッチングの枝数を増やしていき, 最終的に所望のマッチングを求めることができる. その際, 各反復でのマッチングがある種の最適性を満たすように, 増加道をうまく選ぶ必要がある.&lt;br /&gt;
&lt;br /&gt;
　一般のグラフの場合には, まず最大重みマッチング問題を線形計画問題として定式化し, そこから現れる相補性条件を考え,その条件が満たされるように増加道を選ぶ. 特に, &amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt; が2部グラフの場合は, マッチングの重みの増加量が最大となるように, 各反復において増加道を選べば良い. いずれの場合も, 多項式時間で最大重みマッチングを求めることが出来る.  以上のような主双対算法の他に多くの解法が提案されている．&lt;br /&gt;
&lt;br /&gt;
'''(c) 安定結婚問題'''　2部グラフでのマッチング問題の一種として, [[安定結婚問題]]が挙げられる. 同じ人数の男性と女性が存在して, 各々が異性に対して結婚相手としての選好順序をもつと仮定する. ここで, 男女を全て結婚させること, すなわち男女間の完全マッチングについて考える. 男女間の完全マッチングが与えられたとき, それが安定であるとは, 結婚していない男性と女性の任意の対 &amp;lt;math&amp;gt;(m, f)\, &amp;lt;/math&amp;gt; に対して, &amp;lt;math&amp;gt;m\, &amp;lt;/math&amp;gt; が &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt; より現在の結婚相手を好むか, または &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt; が &amp;lt;math&amp;gt;m\, &amp;lt;/math&amp;gt; より現在の結婚相手を好むことである.  男女間の安定な完全マッチングを求める問題を安定結婚問題と呼ぶ.&lt;br /&gt;
 &lt;br /&gt;
　安定な完全マッチングは常に存在し, ゲイル・シャプレー(Gale-Shapley) の解法により多項式時間で求められる. この解法では, 各々の男性は1番目に好きな女性から, 2番目に好きな女性, ...と順に, 拒否されたら順位を１つ下げて, 求婚する. 一方, 各々の女性は求婚してきた男性のうち, 最も好きな人との結婚を仮受託し, それ以外の求婚してきた男性を拒否する. この手順を繰り返し, すべての女性が仮受託したら終了であり, 安定な完全マッチングが求められる.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, ''Network Flows: Theory, Algorithms, and Applications'', Prentice Hall, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] W. J. Cook, W. H. Cunningham, W. R. Pulleyblank and A. Schrijver, ''Combinatorial Optimization'',  John Wiley &amp;amp; Sons, 1998.&lt;br /&gt;
&lt;br /&gt;
[3] 藤重悟,『離散数学』, 岩波講座応用数学基礎12, 岩波書店, 1993.&lt;br /&gt;
&lt;br /&gt;
[4] 藤重悟,『グラフ・ネットワーク・組合せ論』, 工系数学講座18, 共立出版, 2002.&lt;br /&gt;
&lt;br /&gt;
[5] D. Gusfield and R. W. Irving, ''The Stable Marriage Problem: Structure and Algorithms'', MIT Press, 1989.&lt;br /&gt;
&lt;br /&gt;
[6] 伊理正夫, 藤重悟, 大山達雄,『グラフ・ネットワーク・マトロイド』, 産業図書, 1986.&lt;br /&gt;
&lt;br /&gt;
[7] B. Korte and J. Vygen, ''Combinatorial Optimization'', 4th ed., Springer, 2007.  浅野孝夫，平田富夫，小野孝男，浅野泰仁訳，『組合せ最適化：理論とアルゴリズム (第２版) 』、シュプリンガー・フェアラーク東京，2005.&lt;br /&gt;
&lt;br /&gt;
[8] E. L. Lawler, ''Combinatorial Optimization, Networks and Matroids'', Holt, Rinehart and Winston, 1976.&lt;br /&gt;
&lt;br /&gt;
[9] L. Lov&amp;amp;aacute;sz and M. D. Plummer, ''Matching Theory'', North-Holland, 1986.&lt;br /&gt;
&lt;br /&gt;
[10] C. H. Papadimitriou and K. Steiglitz, ''Combinatorial Optimization, Algorithms and Complexity'', Prentice-Hall, 1982.&lt;br /&gt;
&lt;br /&gt;
[11] W. R. Pullyblank, &amp;quot;Matchings and Extensions,&amp;quot; in ''Handbook of Combinatorics, Vol. I'', R. L. Graham, M. Gr&amp;amp;ouml;tschel and L. Lov&amp;amp;aacute;sz, eds., North-Holland, 1995.&lt;br /&gt;
&lt;br /&gt;
[12] A.Schrijver, ''Combinatorial Optimization, Polyhedra and Efficiency'', Springer, 2003.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|まっちんぐもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E5%95%8F%E9%A1%8C&amp;diff=9933</id>
		<title>ネットワークフロー問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E5%95%8F%E9%A1%8C&amp;diff=9933"/>
		<updated>2008-08-06T03:15:46Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ねっとわーくふろーもんだい (network flow problem)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
ネットワーク上のフローを扱う最適化問題の総称. 最大フロー問題, 最小費用フロー問題, 輸送問題, 多品種フロー問題, 利得/損失付きフロー問題(一般化フロー問題)などがある. 最短路問題, 割当問題, 最小カット問題もネットワークフロー問題として扱うこともある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　ネットワーク上のモノの流れを扱う．モノは与えられた有向グラフ&amp;lt;math&amp;gt;G=(V, A)\, &amp;lt;/math&amp;gt;の各枝に沿って流れ，点で分岐や合流をする．ただし，各枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;の容量&amp;lt;math&amp;gt;c(a)\, &amp;lt;/math&amp;gt;を超えず，各点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;から出る正味の流量が，与えられた供給量&amp;lt;math&amp;gt;d(v)\, &amp;lt;/math&amp;gt;と等しくなるようにする．枝aを流れる量を&amp;lt;math&amp;gt;\varphi(a)\, &amp;lt;/math&amp;gt;としたとき，&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''容量制約'''　&amp;lt;math&amp;gt;0 \leq \varphi(a) \leq c(a) \; \;   (a \in A)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''流量保存則'''　&amp;lt;math&amp;gt;{\sum}_{a \in \delta^+v} \varphi(a)-{\sum}_{a \in \delta^-v}&lt;br /&gt;
\varphi(a)=d(v)&lt;br /&gt;
\; \;  (v \in V)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たす&amp;lt;math&amp;gt;\varphi\, &amp;lt;/math&amp;gt;をフローといい，フローを扱った最適化問題を[[ネットワークフロー問題]]という [1] ．ただし，&amp;lt;math&amp;gt;\delta^+v (\delta^-v)\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;から出る (へ入る) 枝の全体を表す．&lt;br /&gt;
　代表的なネットワークフロー問題に最大フロー問題がある．最大フロー問題とは，特別な点として入口&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;と出口&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;があり，&amp;lt;math&amp;gt;s, t\, &amp;lt;/math&amp;gt;以外での供給量&amp;lt;math&amp;gt;d(v)\, &amp;lt;/math&amp;gt;が0であるとき，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から入る量 (フロー値) を最大にするようなフロー (最大フロー) を求める問題であり，以下のように定式化できる．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
\mbox{maximize}  &amp;amp; {\sum}_{a \in \delta^+ s} \varphi(a)-{\sum}_{a \in \delta^-&lt;br /&gt;
s}\varphi(a) \\&lt;br /&gt;
\mbox{subject to}&amp;amp; 0 \leq \varphi(a) \leq c(a) &amp;amp;  (a \in A), \\&lt;br /&gt;
                 &amp;amp;  {\sum}_{e \in \delta^+v} \varphi(a)-{\sum}_{e \in \delta^-v}&lt;br /&gt;
\varphi(a)=0 &amp;amp;&lt;br /&gt;
                 (v \in V \setminus\{s, t \}).&lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　点の部分集合&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を含み，&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;を含まないとき，&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;s-t\, &amp;lt;/math&amp;gt;カットという．始点が&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;にあり終点が&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;にない枝の容量の和を&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;の容量といい，容量最小の&amp;lt;math&amp;gt;s-t\, &amp;lt;/math&amp;gt;カットを最小カットという．任意のフローのフロー値は任意の&amp;lt;math&amp;gt;s-t\, &amp;lt;/math&amp;gt;カットの容量よりも大きくなり得ない．この値が一致するようなフローと&amp;lt;math&amp;gt;s-t\, &amp;lt;/math&amp;gt;カットが存在することを示したのが，[[最大フロー最小カット定理]]  [2] である．実際，ある&amp;lt;math&amp;gt;s-t\, &amp;lt;/math&amp;gt;カットの容量に一致するフロー値をもつフローが以下の操作で得られる．&lt;br /&gt;
&lt;br /&gt;
　まず，任意のフロー&amp;lt;math&amp;gt;\varphi\, &amp;lt;/math&amp;gt;に対し，補助ネットワーク&amp;lt;math&amp;gt;{\mathcal N}_\varphi=(G_\varphi=(V, A_\varphi), c_\varphi)\, &amp;lt;/math&amp;gt;を定義する．&amp;lt;math&amp;gt;G_\varphi\, &amp;lt;/math&amp;gt;は，与えられたグラフと同じ点集合&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;をもち，枝集合が&amp;lt;math&amp;gt;A_\varphi=\{a \mid a \in A, \varphi(a) &amp;lt; c(a) \}\cup \{\bar{a} \mid a \in A, \varphi(a)&amp;gt;0 \}\, &amp;lt;/math&amp;gt;のグラフとする．ただし，&amp;lt;math&amp;gt;\bar{a}\, &amp;lt;/math&amp;gt;は，枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;の向きを逆にした枝である．&amp;lt;math&amp;gt;c_\varphi\, &amp;lt;/math&amp;gt;は，&amp;lt;math&amp;gt;A_\varphi\, &amp;lt;/math&amp;gt;の枝に定義される残余容量であり，&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;c_\varphi(a)=\left\{ \begin{array}{ll}&lt;br /&gt;
c(a)-\varphi(a) &amp;amp; (a \in A) \\ \varphi(\bar{a}) &amp;amp; (\bar{a} \in A)&lt;br /&gt;
\end{array} \right.\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で与えられる．補助ネットワーク上の&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への有向道を増加道という．増加道に沿ってフローの更新を繰り返し，フロー値を増加させる方法を増加道法という．任意のフローから始め，以下の手順を繰り返す．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''手順1:''' &amp;lt;math&amp;gt;{\mathcal N}_\varphi\, &amp;lt;/math&amp;gt;を作成し，増加道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;をみつける．増加道がなければ終了．&lt;br /&gt;
&lt;br /&gt;
'''手順2:''' &amp;lt;math&amp;gt;\varepsilon=\min\{c_\varphi(a) \mid a\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;上の枝&amp;lt;math&amp;gt;\}\, &amp;lt;/math&amp;gt;を求め，&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;上のすべての枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;に関して，&amp;lt;math&amp;gt;a \in A\, &amp;lt;/math&amp;gt;ならば，&amp;lt;math&amp;gt;\varphi(a)\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;\varepsilon\, &amp;lt;/math&amp;gt;増加し，&amp;lt;math&amp;gt;\bar{a} \in A\, &amp;lt;/math&amp;gt;ならば，&amp;lt;math&amp;gt;\varphi(a)\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;\varepsilon\, &amp;lt;/math&amp;gt;減少させる．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　増加道が存在しなくなったとき，&amp;lt;math&amp;gt;{\mathcal N}_\varphi\, &amp;lt;/math&amp;gt;上で&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から到達可能な点集合を&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;とすると，&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;s-t\, &amp;lt;/math&amp;gt;カットであり，その容量はフロー値と一致する．よって，増加道法が終了したときのフローが最大フローであり，&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;が最小カットである．&lt;br /&gt;
&lt;br /&gt;
　増加道の選択を，枝数最小や，&amp;lt;math&amp;gt;\varepsilon\, &amp;lt;/math&amp;gt;最大の基準で行うと，多項式時間の[[最大フローアルゴリズム]]となる．一方，流量保存則を緩和したプリフローを用い，増加道が存在しないようなプリフローを維持しながら，最大フローを求めるプッシュ・再ラベル法も効率よい最大フローアルゴリズムである．&lt;br /&gt;
&lt;br /&gt;
　[[最小費用フロー問題]]もネットワーク・フロー問題の一つである．各枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;のフロー1単位あたりの費用&amp;lt;math&amp;gt;\gamma(a)\, &amp;lt;/math&amp;gt;が与えられているとき，総費用&amp;lt;math&amp;gt;\textstyle {\sum}_{a \in A}\gamma(a)\varphi(a)\, &amp;lt;/math&amp;gt;を最小にするフローを求める問題である．特に，すべての点で供給量&amp;lt;math&amp;gt;d(v)=0\, &amp;lt;/math&amp;gt;のとき，[[循環フロー]]という．また，[[輸送問題]]も最小費用フロー問題の特殊ケースである．複数の供給地と需要地があり，各々の供給/需要量と，各供給地と需要地間の輸送費用がわかっているとき，供給/需要を満たし，輸送にかかる総費用を最小とする輸送方法とその輸送量を決定する輸送問題は，容量制約のない2部グラフ上の最小費用フロー問題である．&lt;br /&gt;
　最小費用フローアルゴリズムも多数ある．補助ネットワーク&amp;lt;math&amp;gt;{\mathcal N}_\varphi\, &amp;lt;/math&amp;gt;上の費用を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\gamma_\varphi(a)=\left\{ \begin{array}{ll}&lt;br /&gt;
\gamma(a) &amp;amp; (a \in A) \\ -\gamma(\bar{a}) &amp;amp; (\bar{a} \in A)&lt;br /&gt;
\end{array} \right. &lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で定義すると，フローが最小費用である必要十分条件は，その補助ネットワーク上に負の費用の閉路が存在しないことである．補助ネットワーク上の負の費用の閉路を繰り返し除去することによって最適フローを求めるのが負閉路消去法である．この他にも，点に対応する双対変数を与え，相補スラック条件を満たす枝からなるネットワーク上で最大フロー問題を繰り返し解く方法，最短路問題を繰り返し解く方法，単体法を用いたネットワーク単体法などがある．いずれの方法も強多項式時間アルゴリズムが存在する．&lt;br /&gt;
&lt;br /&gt;
　最大フロー問題，最小費用フロー問題ともに，容量，供給量が整数で与えられているときには，整数値の最適フローが存在することが知られている．また，ネットワークの構造を用いた効率よいアルゴリズムがいくつか存在する．一方，１つのネットワーク上に複数品種を流す[[多品種フロー]]問題は，品種ごとに流量保存則が満たされており，かつすべての品種をあわせて容量制約が満たされている多品種フローを扱う．多くのアルゴリズムは線形計画法の手法に基づいている．整数値の多品種フローを求める問題はNP完全である．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, ''Network Flows: Theory, Algorithms, and Applications'', Prentice Hall, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] L. R. Ford, Jr. and D. R. Fulkerson, ''Flows in Networks'', Princeton University Press, 1962.&lt;br /&gt;
&lt;br /&gt;
[3] B. Korte and J. Vygen, ''Combinatorial Optimization'', 4th ed., Springer, 2007. 浅野孝夫 他 訳, &lt;br /&gt;
『組合せ最適化』, シュプリンガー・フェアラーク東京，2005．&lt;br /&gt;
&lt;br /&gt;
[4] アルゴリズムデータベース　http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|ねっとわーく・ふろーもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B0%E3%83%A9%E3%83%95_(%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96%E3%81%AE)&amp;diff=9932</id>
		<title>グラフ (グラフ理論の)</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B0%E3%83%A9%E3%83%95_(%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96%E3%81%AE)&amp;diff=9932"/>
		<updated>2008-08-06T03:15:33Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ぐらふ (graph)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
グラフは, 点の集合&amp;lt;math&amp;gt;V\,&amp;lt;/math&amp;gt;, 枝の集合&amp;lt;math&amp;gt;A\,&amp;lt;/math&amp;gt;および各枝&amp;lt;math&amp;gt;a\in A\,&amp;lt;/math&amp;gt;の始点と終点を指定する2つの写像&amp;lt;math&amp;gt;\partial^+: A \to V\,&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\partial^-: A \to V\,&amp;lt;/math&amp;gt;からなる複合概念であり, グラフ&amp;lt;math&amp;gt;G=(V,A;\partial^+,\partial^-)\,&amp;lt;/math&amp;gt; (あるいは &amp;lt;math&amp;gt;(V,A)\,&amp;lt;/math&amp;gt; )のように記される. グラフは平面上に, 点を丸で, 枝を矢線で描き, 幾何学的に表現される. 枝&amp;lt;math&amp;gt;a\,&amp;lt;/math&amp;gt;の矢線の始点が&amp;lt;math&amp;gt;\partial^+a\,&amp;lt;/math&amp;gt;を, 終点が&amp;lt;math&amp;gt;\partial^-a\,&amp;lt;/math&amp;gt;を表す.  枝の方向を考慮する場合を有向グラフ, 考慮しない場合を無向グラフと呼び区別する.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[グラフ (グラフ理論の)|グラフ]] (graph)は，[[点 (グラフの)|点]]の集合&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;，[[枝]]の集合&amp;lt;math&amp;gt;A\, &amp;lt;/math&amp;gt;および各枝&amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt;の始点と終点を指定する二つの写像&amp;lt;math&amp;gt;\partial^+: A \to V\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\partial^-: A \to V\, &amp;lt;/math&amp;gt;からなる複合概念であり，グラフ&amp;lt;math&amp;gt;G=(V,A;\partial^+,\partial^-)\, &amp;lt;/math&amp;gt;のように記される．また，しばしば&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;のように略記される．グラフは平面上に，点を丸で，枝を矢線で描き，幾何学的に表現される．枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;の矢線の始点が&amp;lt;math&amp;gt;\partial^+a\, &amp;lt;/math&amp;gt;を，終点が&amp;lt;math&amp;gt;\partial^-a\, &amp;lt;/math&amp;gt;を表している．&amp;lt;math&amp;gt;u=\partial^+a\, &amp;lt;/math&amp;gt;で&amp;lt;math&amp;gt;v=\partial^-a\, &amp;lt;/math&amp;gt;であるとき，枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝といわれる．すべての２点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;に対して点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝が高々１本だけであるとき, 点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝があればそれを&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;のように点の順序対で表現することも多い．これからも分かるようにグラフはその点集合上の２項関係を表すものであると考えることができる．様々なシステムの構造を捕らえるとき, それらのシステムの構成要素の間の２項関係を考えることはもっとも基本的であり, モデル化も容易である．枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へのものの流れ（の存在）を表現したり, &amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への因果関係，通信ケーブルや道路などのリンクの存在などを表現したりする．日常的にも用いられる「・・・ネットワーク」や「・・・網」といわれるものはグラフ構造を持つものである．&lt;br /&gt;
&lt;br /&gt;
　取り扱う問題によっては, 各枝の始点と終点がどちらであるかを気にしない（すなわち対称な２項関係を考える）こともある．このようなとき，平面上の幾何学的表現では各枝を表現する矢線から矢印を取って，そのグラフを表現する．このようなグラフは[[無向グラフ]] (undirected graph) と呼ばれる．最初に定義した通常のグラフを無向グラフと対比して示したいとき, これを[[有向グラフ]] (directed graph あるいは digraph) という．グラフの用語については，日本語および英語の両方とも，必ずしも統一されていない．点は，頂点，節点とも呼ばれ，枝は，辺，弧，線などとも呼ばれる．英語では，点はvertex, node, 枝は edge, arc などがよく用いられる（枝に対し有向グラフでarc, 無向グラフでedgeを用いる流儀もある）．グラフの枝（や点）にそれに付随する容量，長さ，費用などの属性を付与してグラフ中のものの流れなどを考える場合, これを[[ネットワーク]] (network) と呼ぶ．&lt;br /&gt;
&lt;br /&gt;
　グラフ&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;上の点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へ枝の向きは無視して接続する点と枝をたどって到達できるとき，たどる順に得られる点と枝の交互列を点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への道（あるいは路）(path) という．その道上の枝がたどる向きにすべて揃っているとき，そのような道を有向道（あるいは有向路）(directed path)という．道および有向道は，少なくとも１本の枝を含み, その始点と終点が一致するとき，閉路(closed path (cycle))および有向閉路(directed closed path (directed cycle))と呼ばれる．平面上に枝を交差させることなく幾何学的に表現することが可能なグラフを[[平面グラフ]] (planar graph) という．閉路を含まない連結なグラフを[[木]] (tree)という．グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の点集合&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;のある２分割&amp;lt;math&amp;gt;\{U,W\}\, &amp;lt;/math&amp;gt;が存在して，各枝が&amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt;の点と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の点を結ぶとき，このグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;を[[2部グラフ]] (bipartite graph) という．&amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の点の数がそれぞれ&amp;lt;math&amp;gt;m\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;であって，&amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt;の各点と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の各点を結ぶ枝が丁度１本存在するとき，この２部グラフを完全２部グラフと言い, &amp;lt;math&amp;gt;{\rm K}_{m,n}\, &amp;lt;/math&amp;gt;のように表す．グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;が自己閉路（１本の枝からなる閉路）を含まず, そのすべての相異なる２点に対してそれらを結ぶ丁度１本の枝が存在するとき，このグラフを[[完全グラフ]] (complete graph)（あるいは完備グラフ）という．ここで，&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;の点の数が&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;であるとき，これを&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;点完全グラフと呼び, &amp;lt;math&amp;gt;{\rm K}_n\, &amp;lt;/math&amp;gt;のように表す．&lt;br /&gt;
&lt;br /&gt;
　二つのグラフ&amp;lt;math&amp;gt;G_1=(V_1,A_1;\partial^+_1,\partial^-_1)\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;G_2=(V_2,A_2;\partial^+_2,\partial^-_2)\, &amp;lt;/math&amp;gt;に対して, グラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;の点と枝の接続関係は保ったまま&amp;lt;math&amp;gt;V_1\, &amp;lt;/math&amp;gt;の各点の名前（ラベル）を変えて&amp;lt;math&amp;gt;V_2\, &amp;lt;/math&amp;gt;とし，同時に&amp;lt;math&amp;gt;A_1\, &amp;lt;/math&amp;gt;の各枝の名前（ラベル）を変えて&amp;lt;math&amp;gt;A_2\, &amp;lt;/math&amp;gt;としてグラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;からグラフ&amp;lt;math&amp;gt;G_2\, &amp;lt;/math&amp;gt;を得ることが可能であるとき, これらの二つのグラフは[[同形性 (グラフの)|同形である]] (isomorphic)という．また，二つのグラフ&amp;lt;math&amp;gt;G_1=(V_1,A_1;\partial^+_1,\partial^-_1)\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;G_2=(V_2,A_2;\partial^+_2,\partial^-_2)\, &amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;V_2\subseteq V_1\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_2\subseteq A_1\, &amp;lt;/math&amp;gt;であり，&amp;lt;math&amp;gt;\partial^+_2\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;\partial^+_1\, &amp;lt;/math&amp;gt;を，&amp;lt;math&amp;gt;\partial^-_2\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;\partial^-_1\, &amp;lt;/math&amp;gt;を，それぞれ，&amp;lt;math&amp;gt;A_2\, &amp;lt;/math&amp;gt;上に制限したものになっているとき, グラフ&amp;lt;math&amp;gt;G_2\, &amp;lt;/math&amp;gt;をグラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;の部分グラフという．与えられたグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の幾何学的表現から，いくつかの枝を消し，いくつかの孤立して残る点を消して得られる幾何学的表現に対応するグラフが元のグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の部分グラフである．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] C. Berge, ''Graphes et Hypergraphes'', Dunod, 1970. 伊理正夫 他 訳，『グラフの理論, I～III』, サイエンス社，1976.&lt;br /&gt;
&lt;br /&gt;
[2] J. A. Bondy and U. S. R. Murty, ''Graph Theory with Applications'', North-Holland, 1976.&lt;br /&gt;
&lt;br /&gt;
[3] R. Diestel, ''Graph Theory'', 3rd ed., Springer, 2005. 根上生也，太田克弘 訳，&lt;br /&gt;
『グラフ理論』, シュプリンガー・フェアラーク東京，2000．&lt;br /&gt;
&lt;br /&gt;
[4] F. Harary, ''Graph Theory'', Addison-Wesley, 1969. 池田貞雄 訳，『グラフ理論』, 共立出版，1971.&lt;br /&gt;
&lt;br /&gt;
[5] 伊理正夫, 藤重悟, 大山達雄，『グラフ・ネットワーク・マトロイド』,産業図書，1986.&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|ぐらふ・ねっとわーく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%95%8F%E9%A1%8C&amp;diff=9928</id>
		<title>最短路問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%95%8F%E9%A1%8C&amp;diff=9928"/>
		<updated>2008-08-06T03:10:09Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【さいたんろもんだい (shortest path problem)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
有向グラフの各枝に長さが付与されたネットワークにおいて, 指定された2点間の有向道の中で最短の長さをもつもの(最短路)を見出す組合せ最適化問題. ナップサック問題, PERT等様々な問題が最短路問題とも関係し, さらに, ネットワークフロー問題や配送計画等のより複雑な問題の子問題として出現することも多い. ダイクストラ法やベルマン・フォード法等を用いて解くことができる. 無向グラフに対しても同様に定義される.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[有向グラフ]]&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;の各[[枝]]&amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt;に長さ&amp;lt;math&amp;gt;l(a)\in \mathbf{R}\, &amp;lt;/math&amp;gt;が付与されている[[ネットワーク]]&amp;lt;math&amp;gt;N=(G=(V,A),l)\, &amp;lt;/math&amp;gt;が与えられているとする. 有向グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の任意の2点&amp;lt;math&amp;gt;s,t\in V\, &amp;lt;/math&amp;gt;に対して, 点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を始点とし点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;を終点とする有向道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;の長さ&amp;lt;math&amp;gt;l(P)\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;上の枝の長さの総和, &amp;lt;math&amp;gt;\textstyle l(P)={\sum}_{a\in P}l(a)\, &amp;lt;/math&amp;gt;, と定める. 始点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から終点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への有向道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;のなかで, その長さを最小にするもの(が存在すれば, それ)を点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への最短路(shortest path)といい, 最短路を求める問題を[[最短路問題]] (shortest path problem) という. 与えられたネットワークにおいて負の長さの有向閉路(負閉路と呼ぶ)が存在する場合には一般に最短路は存在しなくなる. ただし，負閉路を持つネットワーク上でも，初等的な（点を繰り返さない）道で最短なものを求める問題を考えることもあるが，一般的には解くことが難しい問題となる．&lt;br /&gt;
&lt;br /&gt;
　最短路問題は[[組合せ最適化問題]]の中での最も基本的かつ重要な問題の一つである. 例えば, [[ナップサック問題]], [[PERT]], [[巡回セールスマン問題]]など様々な組合せ最適化問題が最短路問題とも関係し, 最短路問題において得られた知識はそれらの組合せ最適化問題の解法にも影響を与えている. また, 交通計画や通信ネットワークの分野などでは最短路問題を利用し解析に必要な基本データを算出している. さらに, [[ネットワークフロー問題]], [[配送計画問題]]やネットワークデザインなどのより複雑な問題に対するアルゴリズムにおいて，子問題として最短路問題を解くことがしばしば要求され, その応用は広範囲におよぶ ([2]). &lt;br /&gt;
&lt;br /&gt;
　最短路問題に対して様々なアルゴリズムが提案されている ([1, 6]). それらのアルゴリズムは, それが適用できるネットワークの種類から大きく二つに分類できる. 一つは, 負の長さの枝が存在しても適用できるアルゴリズムで, もう一つは, 負の長さの枝が存在しない時にのみ適用できるアルゴリズムである. &lt;br /&gt;
&lt;br /&gt;
　前者のタイプのアルゴリズムとしては, L. R. Ford [5] とR. E. Bellman [3] によって独立に示された[[ベルマン・フォード法]](Bellman-Ford algorithm)（フォード・ベルマン法ともいう）が良く知られている. この方法では, &amp;lt;math&amp;gt;p(s)=0, p(v)=+\infty\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(v\in V)\, &amp;lt;/math&amp;gt;なる点のラベル&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;を用意して, 枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;に対して&amp;lt;math&amp;gt;l(u,v)+p(u)&amp;lt;p(v)\, &amp;lt;/math&amp;gt;ならば&amp;lt;math&amp;gt;p(v)\leftarrow l(u,v)+p(u)\, &amp;lt;/math&amp;gt;とおく．ここで，すべての枝に対して１回ずつこの操作を行うことを基本操作として，ラベルの減少が起る限り高々&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回基本操作を繰り返す．基本操作が&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回繰り返された場合には負閉路が検出される．そうでない場合には, 終了時に得られたラベル&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;によって，&amp;lt;math&amp;gt;l(u,v)+p(u)-p(v)=0\, &amp;lt;/math&amp;gt;を満たす枝の全体からなる&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の部分グラフ中の点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から各点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への有向道が最短路を与える．なお，ベルマン・フォード法の変種で隣接２点間の距離行列のべき乗と同等と見做される行列演算によって理解されるアルゴリズムとして，べき乗法(power method)も知られている. これらは&amp;lt;math&amp;gt;{\rm O}(|V||A|)\, &amp;lt;/math&amp;gt;時間のアルゴリズムである．&lt;br /&gt;
&lt;br /&gt;
　一方, すべての枝の長さが非負の時に，より高速に最短路を見出すタイプの代表的なアルゴリズムとして, E. W. Dijkstra [4] によって提案された[[ダイクストラ法]] (Dijkstra's algorithm) が知られている.この方法では，出発点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;からの(最短)距離が小さい順に最短路および(最短)距離が確定していく．初期ラベル&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;はベルマン・フォード法と同じで, アルゴリズム実行中に最短路が確定した点集合を&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;とすると，&amp;lt;math&amp;gt;p(v)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(v\in W)\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への(最短)距離に等しく, &amp;lt;math&amp;gt;l(u,v)+p(u)-p(v)=0\, &amp;lt;/math&amp;gt;である枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;を通って&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;内において点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へ行く有向道が点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への最短路である．&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;内で最後に(最短)距離が確定した点を&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;として, &amp;lt;math&amp;gt;l(u,v)+p(u)&amp;lt;p(v)\, &amp;lt;/math&amp;gt;なる各点&amp;lt;math&amp;gt;v\in V-W\, &amp;lt;/math&amp;gt;に対し&amp;lt;math&amp;gt;p(v)\leftarrow l(u,v)+p(u)\, &amp;lt;/math&amp;gt;とおき，&amp;lt;math&amp;gt;V-W\, &amp;lt;/math&amp;gt;中でラベルの最小な点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;を見つけて&amp;lt;math&amp;gt;W\leftarrow W\cup\{v\}\, &amp;lt;/math&amp;gt;とおく．初期には&amp;lt;math&amp;gt;W=\{s\}\, &amp;lt;/math&amp;gt;である．ダイクストラ法は&amp;lt;math&amp;gt;{\rm O}(|A|+|V|\log|V|)\, &amp;lt;/math&amp;gt;時間のアルゴリズムとして実現可能である．&lt;br /&gt;
&lt;br /&gt;
　ベルマン・フォード法やダイクストラ法など現在提案されている最短路問題に対するアルゴリズムは本質的に始点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から全点までの最短路を同時に求める. 全点間の最短路を求めたい場合には, １点から全点への最短路を求めるアルゴリズムを繰り返し適用し求めればよい．この場合, 負の長さの枝が存在する場合には１点からの最短路問題を１回解いてすべての枝の長さを非負に等価変換することが可能であり, 基本的にダイクストラ法を&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回適用する手間で解くことができる．なお，全点間最短路問題の&amp;lt;math&amp;gt;{\rm O}(|V|^3)\, &amp;lt;/math&amp;gt;時間のアルゴリズムであるワーシャル・フロイド法 (Warshall-Floyd algorithm) も知られている.&lt;br /&gt;
&lt;br /&gt;
　最短路問題は有向グラフ上で定義されているが, [[無向グラフ]]上の最短路問題を考えたい場合には, 各枝をそれと同じ長さの互いに逆向きの有向枝で置き換えることにより, 有向グラフの場合に帰着することができる．ただし，負の長さの枝が存在する場合は, この帰着によって負閉路が含まれるので, 通常の最短路問題には帰着されない．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, ''Network Flows: Theory, Algorithms, and Applications'', Prentice Hall, New Jersey, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, &amp;quot;Applications of Network Optimization,&amp;quot; in ''Network Models'', M. O, Ball, T. L. Magnanti, C. L. Monma and G. L. Nemhauser, eds., North-Holland, 1995.                            &lt;br /&gt;
&lt;br /&gt;
[3] R. E. Bellman, &amp;quot;On a routing problem,&amp;quot; ''Quarterly of Applied Mathematics'', '''16''' (1958), 87-90. &lt;br /&gt;
&lt;br /&gt;
[4] E. W. Dijkstra, &amp;quot;A note on two problems in connexion with graphs,&amp;quot; ''Numerische Mathematik'', '''1''' (1959), 268-271. &lt;br /&gt;
&lt;br /&gt;
[5] L. R. Ford, Jr., &amp;quot;Network Flow Theory,&amp;quot; Report P-923, Rand Corp., Santa Monica,1956.&lt;br /&gt;
&lt;br /&gt;
[6] 久保，田村，松井 (編) 『応用数理計画ハンドブック』，朝倉書店，2002.&lt;br /&gt;
&lt;br /&gt;
[7] アルゴリズムデータベース　http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|さいたんろもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%B7%A1%E5%9B%9E%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%83%9E%E3%83%B3%E5%95%8F%E9%A1%8C&amp;diff=9926</id>
		<title>巡回セールスマン問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%B7%A1%E5%9B%9E%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%83%9E%E3%83%B3%E5%95%8F%E9%A1%8C&amp;diff=9926"/>
		<updated>2008-08-06T03:03:31Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【じゅんかいせーるすまんもんだい (traveling salesman problem (TSP))】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
枝に重みを与えたグラフ&amp;lt;math&amp;gt;G\,&amp;lt;/math&amp;gt;において, すべての点を丁度1度ずつ訪問して元に戻る巡回路(ハミルトン閉路)のうち, 総重みを最小にするものを求める問題. グラフの枝が有向であるか無向であるかで大別する. 平面上(あるいは空間内)の&amp;lt;math&amp;gt;n\,&amp;lt;/math&amp;gt;点と各点の間の距離が与えられたとき, すべての点を訪問する順回路のうち最短のものを求める問題, と定義されることもある. 代表的な組合せ最適化問題の1つ.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　点集合 &amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;，枝集合 &amp;lt;math&amp;gt;A\, &amp;lt;/math&amp;gt; から構成されるグラフ &amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;, 枝 &amp;lt;math&amp;gt;(i,j) \in A\, &amp;lt;/math&amp;gt; 上の距離 &amp;lt;math&amp;gt;d_{ij}\, &amp;lt;/math&amp;gt; が与えられたとき，点集合 &amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt; のすべての点をちょうど1回ずつ経由する巡回路（ハミルトン閉路）で，枝の距離の合計を最小にするものを求める問題を[[巡回セールスマン問題]] (traveling salesman problem) （行商人問題）とよぶ．&lt;br /&gt;
&lt;br /&gt;
　特に，距離の対称性（&amp;lt;math&amp;gt;d_{ij}=d_{ji}\, &amp;lt;/math&amp;gt;）を満たすものを対称巡回セールスマン問題，三角不等式（&amp;lt;math&amp;gt;d_{ij} \leq d_{ik} + d_{kj}\, &amp;lt;/math&amp;gt;）を満たすものを三角不等式を満たす巡回セールスマン問題，点集合が &amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt; 次元超立方体 &amp;lt;math&amp;gt;[0,1]^d\, &amp;lt;/math&amp;gt; 内に分布しており，&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt; 点間の距離が点間のユークリッド距離で定義されたものを[[ユークリッド巡回セールスマン問題]] (Euclidean (Euclidian) traveling salesman problem) とよぶ．&lt;br /&gt;
&lt;br /&gt;
　巡回セールスマン問題に対する応用は，数百点を扱う基盤配線，運搬経路計画，スケジューリング，数万点を扱う基盤穿孔，X線結晶構造解析 (タンパク質の構造解析)，数百万点を扱うVLSI設計など，さまざまである．また，次世代のVLSI設計においては，数千万点の問題を解く必要があると言われている．&lt;br /&gt;
&lt;br /&gt;
　巡回セールスマン問題は，[[NP困難]] (NP-hard) であり, 多項式時間の厳密解法が絶望視されているばかりでなく，近似比が 一定値&amp;lt;math&amp;gt;\alpha (&amp;lt;\infty)\, &amp;lt;/math&amp;gt; で抑えられる多項式時間の近似解法さえ&amp;lt;math&amp;gt;{\rm P} \neq {\rm NP}\, &amp;lt;/math&amp;gt; のもとでは存在しないことが示されている．&lt;br /&gt;
&lt;br /&gt;
　三角不等式を満たす対称巡回セールスマン問題に対しては，近似比が &amp;lt;math&amp;gt;3/2\, &amp;lt;/math&amp;gt; 以下の保証をもつ多項式時間の近似解法が知られている．また，&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt; を定数としたときの &amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt; 次元ユークリッド巡回セールスマン問題に対しては，固定された &amp;lt;math&amp;gt;\epsilon &amp;gt;0\, &amp;lt;/math&amp;gt; を与えたときに，近似比が &amp;lt;math&amp;gt;1+\epsilon\, &amp;lt;/math&amp;gt; 以下に抑えられる多項式時間の近似解法（近似スキーム）が存在する．&lt;br /&gt;
&lt;br /&gt;
　実用的な近似解法としては，[[最近近傍法]] (nearest neighbor method) や[[セービング法]] (saving method) によって構築された巡回路を[[k-opt法 (巡回セールスマン問題の)|k-opt法]] (&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-opt)で改善する方法が一般的である．厳密解法としては，巡回セールスマン問題の多面体構造（[[TSP多面体]](TSP polytope)）を利用した[[分枝カット法]] (branch and cut method) が有効であり，実務的な大規模問題の求解に成功している．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] 山本芳嗣, 久保幹雄,『巡回セールスマン問題への招待』, 朝倉書店，1997.&lt;br /&gt;
&lt;br /&gt;
[2] D. L. Applegate, R. E. Bixby, V. Chvatal and W. J. Cook, ''The Traveling Salesman Problem'', Princeton, 2006. &lt;br /&gt;
&lt;br /&gt;
[3] アルゴリズムデータベース　http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|じゅんかいせーるすまんもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%95%8F%E9%A1%8C&amp;diff=9924</id>
		<title>最短路問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%95%8F%E9%A1%8C&amp;diff=9924"/>
		<updated>2008-08-06T02:59:02Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【さいたんろもんだい (shortest path problem)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
有向グラフの各枝に長さが付与されたネットワークにおいて, 指定された2点間の有向道の中で最短の長さをもつもの(最短路)を見出す組合せ最適化問題. ナップサック問題, PERT等様々な問題が最短路問題とも関係し, さらに, ネットワークフロー問題や配送計画等のより複雑な問題の子問題として出現することも多い. ダイクストラ法やベルマン・フォード法等を用いて解くことができる. 無向グラフに対しても同様に定義される.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[有向グラフ]]&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;の各[[枝]]&amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt;に長さ&amp;lt;math&amp;gt;l(a)\in \mathbf{R}\, &amp;lt;/math&amp;gt;が付与されている[[ネットワーク]]&amp;lt;math&amp;gt;N=(G=(V,A),l)\, &amp;lt;/math&amp;gt;が与えられているとする. 有向グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の任意の2点&amp;lt;math&amp;gt;s,t\in V\, &amp;lt;/math&amp;gt;に対して, 点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を始点とし点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;を終点とする有向道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;の長さ&amp;lt;math&amp;gt;l(P)\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;上の枝の長さの総和, &amp;lt;math&amp;gt;\textstyle l(P)={\sum}_{a\in P}l(a)\, &amp;lt;/math&amp;gt;, と定める. 始点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から終点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への有向道&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;のなかで, その長さを最小にするもの(が存在すれば, それ)を点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への最短路(shortest path)といい, 最短路を求める問題を[[最短路問題]] (shortest path problem) という. 与えられたネットワークにおいて負の長さの有向閉路(負閉路と呼ぶ)が存在する場合には一般に最短路は存在しなくなる. ただし，負閉路を持つネットワーク上でも，初等的な（点を繰り返さない）道で最短なものを求める問題を考えることもあるが，一般的には解くことが難しい問題となる．&lt;br /&gt;
&lt;br /&gt;
　最短路問題は[[組合せ最適化問題]]の中での最も基本的かつ重要な問題の一つである. 例えば, [[ナップサック問題]], [[PERT]], [[巡回セールスマン問題]]など様々な組合せ最適化問題が最短路問題とも関係し, 最短路問題において得られた知識はそれらの組合せ最適化問題の解法にも影響を与えている. また, 交通計画や通信ネットワークの分野などでは最短路問題を利用し解析に必要な基本データを算出している. さらに, [[ネットワークフロー問題]], [[配送計画問題]]やネットワークデザインなどのより複雑な問題に対するアルゴリズムにおいて，子問題として最短路問題を解くことがしばしば要求され, その応用は広範囲におよぶ ([2]). &lt;br /&gt;
&lt;br /&gt;
　最短路問題に対して様々なアルゴリズムが提案されている ([1, 6]). それらのアルゴリズムは, それが適用できるネットワークの種類から大きく二つに分類できる. 一つは, 負の長さの枝が存在しても適用できるアルゴリズムで, もう一つは, 負の長さの枝が存在しない時にのみ適用できるアルゴリズムである. &lt;br /&gt;
&lt;br /&gt;
　前者のタイプのアルゴリズムとしては, L. R. Ford [5] とR. E. Bellman [3] によって独立に示された[[ベルマン・フォード法]](Bellman-Ford algorithm)（フォード・ベルマン法ともいう）が良く知られている. この方法では, &amp;lt;math&amp;gt;p(s)=0, p(v)=+\infty\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(v\in V)\, &amp;lt;/math&amp;gt;なる点のラベル&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;を用意して, 枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;に対して&amp;lt;math&amp;gt;l(u,v)+p(u)&amp;lt;p(v)\, &amp;lt;/math&amp;gt;ならば&amp;lt;math&amp;gt;p(v)\leftarrow l(u,v)+p(u)\, &amp;lt;/math&amp;gt;とおく．ここで，すべての枝に対して１回ずつこの操作を行うことを基本操作として，ラベルの減少が起る限り高々&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回基本操作を繰り返す．基本操作が&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回繰り返された場合には負閉路が検出される．そうでない場合には, 終了時に得られたラベル&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;によって，&amp;lt;math&amp;gt;l(u,v)+p(u)-p(v)=0\, &amp;lt;/math&amp;gt;を満たす枝の全体からなる&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の部分グラフ中の点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から各点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への有向道が最短路を与える．なお，ベルマン・フォード法の変種で隣接２点間の距離行列のべき乗と同等と見做される行列演算によって理解されるアルゴリズムとして，べき乗法(power method)も知られている. これらは&amp;lt;math&amp;gt;{\rm O}(|V||A|)\, &amp;lt;/math&amp;gt;時間のアルゴリズムである．&lt;br /&gt;
&lt;br /&gt;
　一方, すべての枝の長さが非負の時に，より高速に最短路を見出すタイプの代表的なアルゴリズムとして, E. W. Dijkstra [4] によって提案された[[ダイクストラ法]] (Dijkstra's algorithm) が知られている.この方法では，出発点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;からの(最短)距離が小さい順に最短路および(最短)距離が確定していく．初期ラベル&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;はベルマン・フォード法と同じで, アルゴリズム実行中に最短路が確定した点集合を&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;とすると，&amp;lt;math&amp;gt;p(v)\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(v\in W)\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への(最短)距離に等しく, &amp;lt;math&amp;gt;l(u,v)+p(u)-p(v)=0\, &amp;lt;/math&amp;gt;である枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;を通って&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;内において点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へ行く有向道が点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への最短路である．&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;内で最後に(最短)距離が確定した点を&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;として, &amp;lt;math&amp;gt;l(u,v)+p(u)&amp;lt;p(v)\, &amp;lt;/math&amp;gt;なる各点&amp;lt;math&amp;gt;v\in V-W\, &amp;lt;/math&amp;gt;に対し&amp;lt;math&amp;gt;p(v)\leftarrow l(u,v)+p(u)\, &amp;lt;/math&amp;gt;とおき，&amp;lt;math&amp;gt;V-W\, &amp;lt;/math&amp;gt;中でラベルの最小な点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;を見つけて&amp;lt;math&amp;gt;W\leftarrow W\cup\{v\}\, &amp;lt;/math&amp;gt;とおく．初期には&amp;lt;math&amp;gt;W=\{s\}\, &amp;lt;/math&amp;gt;である．ダイクストラ法は&amp;lt;math&amp;gt;{\rm O}(|A|+|V|\log|V|)\, &amp;lt;/math&amp;gt;時間のアルゴリズムとして実現可能である．&lt;br /&gt;
&lt;br /&gt;
　ベルマン・フォード法やダイクストラ法など現在提案されている最短路問題に対するアルゴリズムは本質的に始点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から全点までの最短路を同時に求める. 全点間の最短路を求めたい場合には, １点から全点への最短路を求めるアルゴリズムを繰り返し適用し求めればよい．この場合, 負の長さの枝が存在する場合には１点からの最短路問題を１回解いてすべての枝の長さを非負に等価変換することが可能であり, 基本的にダイクストラ法を&amp;lt;math&amp;gt;|V|\, &amp;lt;/math&amp;gt;回適用する手間で解くことができる．なお，全点間最短路問題の&amp;lt;math&amp;gt;{\rm O}(|V|^3)\, &amp;lt;/math&amp;gt;時間のアルゴリズムであるワーシャル・フロイド法 (Warshall-Floyd algorithm) も知られている.&lt;br /&gt;
&lt;br /&gt;
　最短路問題は有向グラフ上で定義されているが, [[無向グラフ]]上の最短路問題を考えたい場合には, 各枝をそれと同じ長さの互いに逆向きの有向枝で置き換えることにより, 有向グラフの場合に帰着することができる．ただし，負の長さの枝が存在する場合は, この帰着によって負閉路が含まれるので, 通常の最短路問題には帰着されない．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, ''Network Flows:Theory, Algorithms, and Applications'', Prentice Hall, New Jersey, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, &amp;quot;Applications of Network Optimization,&amp;quot; in ''Network Models'', M. O, Ball, T. L. Magnanti, C. L. Monma and G. L. Nemhauser, eds., North-Holland, 1995.                            &lt;br /&gt;
&lt;br /&gt;
[3] R. E. Bellman, &amp;quot;On a routing problem,&amp;quot; ''Quarterly of Applied Mathematics'', '''16''' (1958), 87-90. &lt;br /&gt;
&lt;br /&gt;
[4] E. W. Dijkstra, &amp;quot;A note on two problems in connexion with graphs,&amp;quot; ''Numerische Mathematik'', '''1''' (1959), 268-271. &lt;br /&gt;
&lt;br /&gt;
[5] L. R. Ford, Jr., &amp;quot;Network Flow Theory,&amp;quot; Report P-923, Rand Corp., Santa Monica,1956.&lt;br /&gt;
&lt;br /&gt;
[6] 久保，田村，松井 (編) 『応用数理計画ハンドブック』，朝倉書店，2002.&lt;br /&gt;
&lt;br /&gt;
[7] アルゴリズムデータベース　http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|さいたんろもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E5%B0%8F%E6%9C%A8%E5%95%8F%E9%A1%8C&amp;diff=9923</id>
		<title>最小木問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E5%B0%8F%E6%9C%A8%E5%95%8F%E9%A1%8C&amp;diff=9923"/>
		<updated>2008-08-06T02:56:40Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【さいしょうきもんだい (minimum spanning tree problem)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
各枝に重みの与えられた(無向)グラフにおいて, そのグラフ上に存在する全張木(全域木)の中で枝の重みの総和が最小になるものを見出す組合せ最適化問題. それ自身も多くの応用例をもつが, より複雑な問題の子問題として利用されることも多い. クラスカル法やプリム法といった貪欲アルゴリズムにより多項式時間で解くことが可能である.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[無向グラフ]]&amp;lt;math&amp;gt;G=(V,E)\, &amp;lt;/math&amp;gt;の各枝&amp;lt;math&amp;gt;e\in E\, &amp;lt;/math&amp;gt;に実数の重み&amp;lt;math&amp;gt;w(e)\, &amp;lt;/math&amp;gt;が与えられているとする. グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;上において全点&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;を点集合とし[[木]]になっている部分グラフを全張木あるいは全域木(spanning tree)と呼ぶ. グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;上の全張木&amp;lt;math&amp;gt;T=(V,E_T)\, &amp;lt;/math&amp;gt;の重みは, &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;上の枝の重みの総和&amp;lt;math&amp;gt;\textstyle {\sum}_{e\in E_T}w(e)\, &amp;lt;/math&amp;gt;で定める. グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;上において重み最小の全張木を最小木 (minimum spaninng tree) といい, 最小木を求める問題を[[最小木問題]] (minimum spaninng tree problem) という. &lt;br /&gt;
&lt;br /&gt;
　最小木問題は, [[クラスター分析]]やネットワーク・デザインなどの分野で利用されているが, より複雑な問題の子問題として活用されることの多い基本的な問題である([2]). &lt;br /&gt;
&lt;br /&gt;
　グラフ上の問題として基本的である最小木問題がいつ頃から考えられたのかは明らかではない. 分かっている範囲では, 1926年に&amp;lt;math&amp;gt;{Bor\breve{u}vka}\, &amp;lt;/math&amp;gt;が,またそれとは独立に, 1930年にJarn&amp;amp;iacute;kがそれぞれ最小木問題を定式化しそのアルゴリズムを発表している（最小木問題に関する歴史は [4] が詳しい). その後,最小木問題に対する基本的なアルゴリズムとして[[クラスカル法]](Kruskal's algorithm) と[[プリム法]](Prim's algorithm) などが提案された. 現在までに提案されている主な効率的なアルゴリズムはこれらの二つのアルゴリズムのどちらかを基にデータ構造を工夫することによって構築されている([1, 8]). &lt;br /&gt;
&lt;br /&gt;
　クラスカル法は, 1956年に J. B. Kruskal [6] により, またそれとは独立に1957年にH. LobermanとA. Weinbergerにより提案された[[多項式時間アルゴリズム]]である. アルゴリズムの概要は以下のとおりである. クラスカル法では，まず, 枝のない点集合&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;のみからなる森&amp;lt;math&amp;gt;F=(V,\emptyset\, &amp;lt;/math&amp;gt;)を考え，次に, 閉路が発生しない限り枝の重みが小さい順に一本ずつ森&amp;lt;math&amp;gt;F\, &amp;lt;/math&amp;gt;に枝を加えるという操作を繰り返す. 森&amp;lt;math&amp;gt;F\, &amp;lt;/math&amp;gt;が全張木になった時点で繰り返しは終了し, 得られた&amp;lt;math&amp;gt;F\, &amp;lt;/math&amp;gt;が一つの最小木である. &lt;br /&gt;
&lt;br /&gt;
　一方, プリム法は, 1957年, R. C. Prim [7] によって提案された多項式時間アルゴリズムである(Jarn&amp;amp;iacute;k法と同様). プリム法では, まず, 任意の１点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;のみからなる木&amp;lt;math&amp;gt;T=(\{v\},\emptyset)\, &amp;lt;/math&amp;gt;を考え, 次に, グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;において現在の木&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;の点集合と木以外の点集合を接続する枝集合の中から枝の重みが最も小さい枝とその端点を新たに木&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;に加えるという操作を繰り返す. 木&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;がグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の全張木になった時点で繰り返しは終了し, 得られた&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;が一つの最小木である. &lt;br /&gt;
&lt;br /&gt;
　どちらのアルゴリズムも候補の枝集合から最小の重みの枝を選びながら最小木を構成していくという点から[[貪欲アルゴリズム]] (greedy algorithm) という種類に分類されるアルゴリズムである. クラスカル法とプリム法の違いは候補の枝集合の構成法にある. プリム法は与えられたグラフの点と枝の接続関係に強く依存したアルゴリズムであって, そのアルゴリズムの構造は最短路問題のダイクストラ法と全く同じである．一方, クラスカル法は，グラフの[[マトロイド]]構造にのみ依存したアルゴリズムであって, マトロイドの最小基問題に対する[[貪欲アルゴリズム]]へと一般化されている．逆に, このような貪欲アルゴリズムが最適解を見出す問題はマトロイド構造を持つことも知られている．&lt;br /&gt;
&lt;br /&gt;
　クラスカル法やプリム法のような貪欲アルゴリズムの考え方を用いたアルゴリズムは[[組合せ最適化]]の分野において数多く見受けられる. この貪欲アルゴリズムの考え方で解ける抽象的な組合せ最適化問題のクラスは[[マトロイド]]最適化問題と呼ばれ, そのクラスが持つ性質はマトロイド理論として組合せ最適化における多くの有用な知見を提供している[8]. &lt;br /&gt;
&lt;br /&gt;
　最小木問題は無向グラフ上において定義された問題であるが, 枝の向きに依存した[[有向グラフ]]上の問題も考えられる. 有向グラフ上での全張木は，根と呼ばれる１点から他の点への有向道がその全張木上に存在するとき有向木 (directed tree) あるいは根つき木 (rooted tree) と呼ばれる. 枝の重みの総和が最小となる有向木を求める問題は無向グラフ上の最小木を求めるほど簡単ではないが, 多項式時間アルゴリズムが存在する[8]. &lt;br /&gt;
&lt;br /&gt;
　最小木問題は重み最小の全張木を求める問題であるが, 「全張木」を「ある与えられた点集合&amp;lt;math&amp;gt;S \subseteq V\, &amp;lt;/math&amp;gt;を連結化する木」と変更してみる. この変更された問題を[[シュタイナー最小木]]問題 (または, シュタイナー木問題) と呼び, その最適解をシュタイナー最小木と呼ぶ. 与えられた無向グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の各枝の重みがすべて正である時, シュタイナー木の葉は点集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に属する点となり, 内点は点集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に属さない点（シュタイナー点と呼ばれる）をいくつか含む. &lt;br /&gt;
&lt;br /&gt;
　シュタイナー最小木問題は, &amp;lt;math&amp;gt;S=V\, &amp;lt;/math&amp;gt;の時に最小木問題と同一になり, また, &amp;lt;math&amp;gt;|S|=2\, &amp;lt;/math&amp;gt;かつ&amp;lt;math&amp;gt;w(e)&amp;gt;0\, &amp;lt;/math&amp;gt;の時は[[最短路問題]]と同一になるので, これらの基本的な問題の一般化として捉えることができる. 最小木問題や最短路問題には多項式時間アルゴリズムが存在するが, シュタイナー木問題は[[NP困難]]であることが示され, 多項式時間アルゴリズムの存在は絶望視されている. 問題を解く困難性は[[平面グラフ]]に限定した場合でも, また各枝の重みが等しい場合でも変わらない [3].&lt;br /&gt;
&lt;br /&gt;
　問題を解く困難性はあるが, シュタイナー最小木問題は通信ネットワーク, 電力供給網において顧客を結ぶネットワーク上の問題や施設配置問題などの子問題として多くの応用例を有する. その必要性からシュタイナー最小木問題に対して多くの近似解法が提案されてきている [5]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, ''Network Flows: Theory, Algorithms, and Applications'', Prentice Hall, New Jersey, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, &amp;quot;Applications of Network Optimization,&amp;quot; in ''Network Models'', M. O. Ball, T. L. Magnanti, C. L. Monma and G. L. Nemhauser, eds., North-Holland, 1995.                            &lt;br /&gt;
&lt;br /&gt;
[3] M. R. Garey and D. S. Johnson, ''Computers and Intractability: A Guide to the Theory of NP-completeness'', Freeman, San Francisco,1979.&lt;br /&gt;
&lt;br /&gt;
[4] R. L. Graham and P. Hell, &amp;quot;On the history of minimum spanning tree problem,&amp;quot; ''Annals of the History of Computing'', '''7''' (1985), 43-57.   &lt;br /&gt;
&lt;br /&gt;
[5] F. W. Hwang, D. S. Richards and P. Winter, ''The Steiner Tree problem'', Annals of Discrete Mathematics 53, North-Holland, Amsterdam,1992.&lt;br /&gt;
&lt;br /&gt;
[6] J. B. Kruskal, &amp;quot;On the shortest spanning tree of a graph and the traveling salesman problem,&amp;quot; ''Proceedings of the American Mathematical Society'', '''7''' (1956), 48-50.   &lt;br /&gt;
&lt;br /&gt;
[7] R. C. Prim, &amp;quot;Shortest connection networks and some generalizations,&amp;quot; ''Bell System Technical Journal'', '''36''' (1957), 1389-1401.&lt;br /&gt;
&lt;br /&gt;
[8] 久保，田村，松井 (編) 『応用数理計画ハンドブック』，朝倉書店，2002.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|さいしょうきもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%80%A3%E7%B5%90%E5%BA%A6_(%E3%82%B0%E3%83%A9%E3%83%95%E3%81%AE)&amp;diff=9922</id>
		<title>連結度 (グラフの)</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E9%80%A3%E7%B5%90%E5%BA%A6_(%E3%82%B0%E3%83%A9%E3%83%95%E3%81%AE)&amp;diff=9922"/>
		<updated>2008-08-06T02:55:32Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【れんけつど (connectivity of graph)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
無向(有向)グラフ&amp;lt;math&amp;gt;G\,&amp;lt;/math&amp;gt;の辺の部分集合は, それを除去するとグラフが連結(強連結)でなくなるとき, 辺カットという. &amp;lt;math&amp;gt;G\,&amp;lt;/math&amp;gt;の点の部分集合は, それを除去すると残ったグラフが2点以上をもち, かつ連結(強連結)でなくなるとき, 点カットという. 辺カット(点カット)の大きさの最小値を辺連結度(点連結度)という.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　無向グラフ&amp;lt;math&amp;gt;G=(V,E)\, &amp;lt;/math&amp;gt;において，&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;上の二項関係&amp;lt;math&amp;gt;R_1\, &amp;lt;/math&amp;gt;を2点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;の間に路が存在するとき&amp;lt;math&amp;gt;uR_1 v\, &amp;lt;/math&amp;gt;と定めると&amp;lt;math&amp;gt;R_1\, &amp;lt;/math&amp;gt;は同値関係となる．&amp;lt;math&amp;gt;R_1\, &amp;lt;/math&amp;gt;による各同値類の誘導する部分グラフは連結成分 (component) と呼ばれる．また，&amp;lt;math&amp;gt;e\, &amp;lt;/math&amp;gt;上の二項関係&amp;lt;math&amp;gt;R_2\, &amp;lt;/math&amp;gt;を2本の辺&amp;lt;math&amp;gt;e\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;e'\, &amp;lt;/math&amp;gt;を通る閉路が存在するとき&amp;lt;math&amp;gt;eR_2 e'\, &amp;lt;/math&amp;gt;と定めると&amp;lt;math&amp;gt;R_2\, &amp;lt;/math&amp;gt;は同値関係となる．&amp;lt;math&amp;gt;R_2\, &amp;lt;/math&amp;gt;による各同値類の誘導する部分グラフは2連結成分(biconnected component) と呼ばれる．2つ以上の2連結成分に属する点は関節点 (articulation point) と呼ばれる (グラフからこの点を除くと非連結となる)．有向グラフ&amp;lt;math&amp;gt;G=(V,E)\, &amp;lt;/math&amp;gt;において，&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;上の二項関係&amp;lt;math&amp;gt;R_3\, &amp;lt;/math&amp;gt;を2点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;の間に&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への有向路と&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;への有向路とが存在するとき&amp;lt;math&amp;gt;uR_3 v\, &amp;lt;/math&amp;gt;と定めると&amp;lt;math&amp;gt;R_3\, &amp;lt;/math&amp;gt;は同値関係となる．&amp;lt;math&amp;gt;R_3\, &amp;lt;/math&amp;gt;による各同値類の誘導する部分グラフは強連結成分 (strong component) と呼ばれる．無向(有向)グラフはそれ自体が１つの連結成分(強連結成分)であるとき連結 (connected)(強連結(strongly connected))であるという．&lt;br /&gt;
&lt;br /&gt;
　無向 (有向) グラフの2点&amp;lt;math&amp;gt;s,t\, &amp;lt;/math&amp;gt;に対し，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への辺素である (すなわち互いに辺を共有しない) 路の本数の最大値を&amp;lt;math&amp;gt;s,t\, &amp;lt;/math&amp;gt;間の[[局所辺連結度]] (local edge connectivity) という．この値は，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への路をなくすために取り除くべき辺の本数の最小値に等しい(辺型のMengerの定理)．また，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への内素である(すなわち&amp;lt;math&amp;gt;s,t\, &amp;lt;/math&amp;gt;以外では点を共有しない)路の本数の最大値を&amp;lt;math&amp;gt;s,t\, &amp;lt;/math&amp;gt;間の[[局所点連結度]] (local vertex connectivity) という．この値は，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への辺が存在しないとき，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;への路をなくすために取り除くべき&amp;lt;math&amp;gt;s,t\, &amp;lt;/math&amp;gt;以外の点の個数の最小値に等しい(点型のMengerの定理)．&lt;br /&gt;
&lt;br /&gt;
　無向(有向)グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の辺の部分集合は，それを除去するとグラフが連結(強連結)でなくなるとき，辺カットという．&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の点の部分集合は，それを除去するとグラフが2点以上をもち，かつ連結(強連結)でなくなるとき，点カットという．辺カット(点カット)の大きさの最小値を[[辺連結度]] (edge connectivity)([[点連結度]] (vertex connectivity))という．これらの値は辺(点)に重みが付いているときは重み和の最小値として定義することもある．辺連結度(点連結度)が&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;以上であるグラフを&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;辺連結(&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;点連結)であるという．重みなし無向グラフ&amp;lt;math&amp;gt;G=(V,E)\, &amp;lt;/math&amp;gt;の点連結度&amp;lt;math&amp;gt;\kappa(G)\, &amp;lt;/math&amp;gt;，辺連結度&amp;lt;math&amp;gt;\lambda(G)\, &amp;lt;/math&amp;gt;，最小次数&amp;lt;math&amp;gt;\delta(G)\, &amp;lt;/math&amp;gt;の間には，次の不等式が成り立つ．&amp;lt;math&amp;gt;\kappa(G)\leq \lambda(G)\leq \delta(G)\leq 2|E|/|V|\, &amp;lt;/math&amp;gt;．&lt;br /&gt;
&lt;br /&gt;
　グラフの辺連結度(点連結度)は全点対間の局所辺連結度(局所点連結度)の最小値に一致する．局所辺連結度や局所点連結度は，最大フロー・最小カット定理の特別な場合であるメンガーの定理により特徴づけされるので，これらの連結度(および連結度を決めている辺カットや点カットの１つ）はフローアルゴリズムをもちいて多項式時間で計算できる [3]．任意の無向グラフには２点間の局所辺連結度(局所点連結度)が一方の点の次数に等しい２点が存在し，そのような点対を線形時間で見つけることができる [8]．このような点対を繰り返し縮約していくことで辺連結度を容易に求めることもできる [9]．&lt;br /&gt;
&lt;br /&gt;
　指定点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を持つ重みなし有向グラフに対し，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を含む点の真部分集合から残りの点の集合へ向かう有向辺の集合を&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;-カットと呼ぶとき，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;-カットの大きさの最小値は，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を根とする有向全域出木(すなわち全域木に根から葉へ向かって辺に向きをつけたもの)の互いに辺素な集合の最大値に等しい(J.Edmondsの定理 [1] )．大きさ最小の&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;-カットを多項式時間で求めることができる．&lt;br /&gt;
&lt;br /&gt;
　与えられた無向(有向)グラフの辺連結度，あるいは点連結度を指定された目標値まで大きくするためにグラフに最小費用の辺の集合を付加する問題を[[連結度増大問題]] (connectivity augmentation problem)と呼ぶ．この問題はNP困難であるが [2] ，付加辺の本数を最小にする場合には，以下の問題に対して多項式時間の解法が知られている．無向(有向)グラフの辺連結度を目標値まで上げる問題，無向グラフの点連結度を4以下の目標値に上げる問題，有向グラフの点連結度を１だけ上げる問題．&lt;br /&gt;
&lt;br /&gt;
　無向(有向)グラフにおいて１つの点&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;を選び，&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;に接続する２本の (有向) 辺&amp;lt;math&amp;gt;(u,s),(s,v)\, &amp;lt;/math&amp;gt;を1本の(有向)辺&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;に取り替える操作を辺分離という．このとき，次の[[辺分離定理]] (edge splitting theorem) が知られている．&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;に接続する２本の辺をうまく選ぶと辺分離後も，グラフの辺連結度(正確には&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;以外の２点間の局所辺連結度の最小値)を変化させずに保つことができる[5, 7]．特に，無向グラフに対しては(特殊な場合を除き)，辺分離後に&amp;lt;math&amp;gt;s\, &amp;lt;/math&amp;gt;以外のすべての２点間の局所辺連結度を変化させない２本の辺の選択が存在する [6]．辺分離定理は連結度増大問題を解くアルゴリズムに使われている[4]．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] J. Edmonds &amp;quot;Edge-disjoint branchings,&amp;quot; ''Combinatorial Algorithms'', R. Rustin, eds., Algorithmics Press, New York (1973) 91-96.&lt;br /&gt;
&lt;br /&gt;
[2] K. P. Eswaran and R. E. Tarjan, &amp;quot;Augmentation problems,&amp;quot; ''SIAM Journal on Computing'', 5 (1976), 653-665.&lt;br /&gt;
&lt;br /&gt;
[3] S. Even and R. E. Tarjan, &amp;quot;Network flow and testing graph connectivity,&amp;quot; ''SIAM Journal on Computing'', '''4''' (1975), 507-518.&lt;br /&gt;
&lt;br /&gt;
[4] A. Frank, &amp;quot;Augmenting graphs to meet edge-connectivity requirements,&amp;quot; ''SIAM Journal on Discrete Mathematics'', '''5''' (1992), 25-53.&lt;br /&gt;
&lt;br /&gt;
[5] L. Lov&amp;amp;aacute;sz, ''Combinatorial Problems and Exercises'', North-Holland  1979.&lt;br /&gt;
&lt;br /&gt;
[6] W. Mader, &amp;quot;A reduction method for edge-connectivity in graphs,&amp;quot; ''Ann. Discrete Math.'', 3 (1978), 145-164.&lt;br /&gt;
&lt;br /&gt;
[7] W. Mader, &amp;quot;Konstruktion aller ''n''-fach kantenzusammenh&amp;amp;auml;ngenden Digraphen,&amp;quot; ''Europ. J. Combinatorics'', 3 (1982), 63-67.&lt;br /&gt;
&lt;br /&gt;
[8] H. Nagamochi, &amp;quot;Graph algorithms for network connectivity problems,&amp;quot; ''Journal of the Operations Research Society of Japan'', '''47''' (2004) , 199-223.&lt;br /&gt;
&lt;br /&gt;
[9] H. Nagamochi and T. Ibaraki, &amp;quot;A linear-time algorithm for finding a sparse ''k''-connected spanning subgraph of a ''k''-connected graph,&amp;quot; ''Algorithmica'', '''7''' (1992), 583-596.&lt;br /&gt;
&lt;br /&gt;
[10] H. Nagamochi and T. Ibaraki, &amp;quot;Computing edge-connectivity in multigraphs and capacitated graphs,&amp;quot; ''SIAM Journal on Discrete Mathematics'', '''5''' (1992), 54-66.&lt;br /&gt;
&lt;br /&gt;
[11] アルゴリズムデータベース　http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|ぐらふのれんけつど]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B0%E3%83%A9%E3%83%95_(%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96%E3%81%AE)&amp;diff=9920</id>
		<title>グラフ (グラフ理論の)</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B0%E3%83%A9%E3%83%95_(%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96%E3%81%AE)&amp;diff=9920"/>
		<updated>2008-08-06T02:51:24Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ぐらふ (graph)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
グラフは, 点の集合&amp;lt;math&amp;gt;V\,&amp;lt;/math&amp;gt;, 枝の集合&amp;lt;math&amp;gt;A\,&amp;lt;/math&amp;gt;および各枝&amp;lt;math&amp;gt;a\in A\,&amp;lt;/math&amp;gt;の始点と終点を指定する2つの写像&amp;lt;math&amp;gt;\partial^+: A \to V\,&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\partial^-: A \to V\,&amp;lt;/math&amp;gt;からなる複合概念であり, グラフ&amp;lt;math&amp;gt;G=(V,A;\partial^+,\partial^-)\,&amp;lt;/math&amp;gt; (あるいは &amp;lt;math&amp;gt;(V,A)\,&amp;lt;/math&amp;gt; )のように記される. グラフは平面上に, 点を丸で, 枝を矢線で描き, 幾何学的に表現される. 枝&amp;lt;math&amp;gt;a\,&amp;lt;/math&amp;gt;の矢線の始点が&amp;lt;math&amp;gt;\partial^+a\,&amp;lt;/math&amp;gt;を, 終点が&amp;lt;math&amp;gt;\partial^-a\,&amp;lt;/math&amp;gt;を表す.  枝の方向を考慮する場合を有向グラフ, 考慮しない場合を無向グラフと呼び区別する.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[グラフ (グラフ理論の)|グラフ]] (graph)は，[[点 (グラフの)|点]]の集合&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;，[[枝]]の集合&amp;lt;math&amp;gt;A\, &amp;lt;/math&amp;gt;および各枝&amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt;の始点と終点を指定する二つの写像&amp;lt;math&amp;gt;\partial^+: A \to V\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\partial^-: A \to V\, &amp;lt;/math&amp;gt;からなる複合概念であり，グラフ&amp;lt;math&amp;gt;G=(V,A;\partial^+,\partial^-)\, &amp;lt;/math&amp;gt;のように記される．また，しばしば&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;のように略記される．グラフは平面上に，点を丸で，枝を矢線で描き，幾何学的に表現される．枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;の矢線の始点が&amp;lt;math&amp;gt;\partial^+a\, &amp;lt;/math&amp;gt;を，終点が&amp;lt;math&amp;gt;\partial^-a\, &amp;lt;/math&amp;gt;を表している．&amp;lt;math&amp;gt;u=\partial^+a\, &amp;lt;/math&amp;gt;で&amp;lt;math&amp;gt;v=\partial^-a\, &amp;lt;/math&amp;gt;であるとき，枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝といわれる．すべての２点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;に対して点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝が高々１本だけであるとき, 点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝があればそれを&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;のように点の順序対で表現することも多い．これからも分かるようにグラフはその点集合上の２項関係を表すものであると考えることができる．様々なシステムの構造を捕らえるとき, それらのシステムの構成要素の間の２項関係を考えることはもっとも基本的であり, モデル化も容易である．枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へのものの流れ（の存在）を表現したり, &amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への因果関係，通信ケーブルや道路などのリンクの存在などを表現したりする．日常的にも用いられる「・・・ネットワーク」や「・・・網」といわれるものはグラフ構造を持つものである．&lt;br /&gt;
&lt;br /&gt;
　取り扱う問題によっては, 各枝の始点と終点がどちらであるかを気にしない（すなわち対称な２項関係を考える）こともある．このようなとき，平面上の幾何学的表現では各枝を表現する矢線から矢印を取って，そのグラフを表現する．このようなグラフは[[無向グラフ]] (undirected graph) と呼ばれる．最初に定義した通常のグラフを無向グラフと対比して示したいとき, これを[[有向グラフ]] (directed graph あるいは digraph) という．グラフの用語については，日本語および英語の両方とも，必ずしも統一されていない．点は，頂点，節点とも呼ばれ，枝は，辺，弧，線などとも呼ばれる．英語では，点はvertex, node, 枝は edge, arc などがよく用いられる（枝に対し有向グラフでarc, 無向グラフでedgeを用いる流儀もある）．グラフの枝（や点）にそれに付随する容量，長さ，費用などの属性を付与してグラフ中のものの流れなどを考える場合, これを[[ネットワーク]] (network) と呼ぶ．&lt;br /&gt;
&lt;br /&gt;
　グラフ&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;上の点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へ枝の向きは無視して接続する点と枝をたどって到達できるとき，たどる順に得られる点と枝の交互列を点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への道（あるいは路）(path) という．その道上の枝がたどる向きにすべて揃っているとき，そのような道を有向道（あるいは有向路）(directed path)という．道および有向道は，少なくとも１本の枝を含み, その始点と終点が一致するとき，閉路(closed path (cycle))および有向閉路(directed closed path (directed cycle))と呼ばれる．平面上に枝を交差させることなく幾何学的に表現することが可能なグラフを[[平面グラフ]] (planar graph) という．閉路を含まない連結なグラフを[[木]] (tree)という．グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の点集合&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;のある２分割&amp;lt;math&amp;gt;\{U,W\}\, &amp;lt;/math&amp;gt;が存在して，各枝が&amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt;の点と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の点を結ぶとき，このグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;を[[2部グラフ]] (bipartite graph) という．&amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の点の数がそれぞれ&amp;lt;math&amp;gt;m\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;であって，&amp;lt;math&amp;gt;U\, &amp;lt;/math&amp;gt;の各点と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の各点を結ぶ枝が丁度１本存在するとき，この２部グラフを完全２部グラフと言い, &amp;lt;math&amp;gt;{\rm K}_{m,n}\, &amp;lt;/math&amp;gt;のように表す．グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;が自己閉路（１本の枝からなる閉路）を含まず, そのすべての相異なる２点に対してそれらを結ぶ丁度１本の枝が存在するとき，このグラフを[[完全グラフ]] (complete graph)（あるいは完備グラフ）という．ここで，&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;の点の数が&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;であるとき，これを&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;点完全グラフと呼び, &amp;lt;math&amp;gt;{\rm K}_n\, &amp;lt;/math&amp;gt;のように表す．&lt;br /&gt;
&lt;br /&gt;
　二つのグラフ&amp;lt;math&amp;gt;G_1=(V_1,A_1;\partial^+_1,\partial^-_1)\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;G_2=(V_2,A_2;\partial^+_2,\partial^-_2)\, &amp;lt;/math&amp;gt;に対して, グラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;の点と枝の接続関係は保ったまま&amp;lt;math&amp;gt;V_1\, &amp;lt;/math&amp;gt;の各点の名前（ラベル）を変えて&amp;lt;math&amp;gt;V_2\, &amp;lt;/math&amp;gt;とし，同時に&amp;lt;math&amp;gt;A_1\, &amp;lt;/math&amp;gt;の各枝の名前（ラベル）を変えて&amp;lt;math&amp;gt;A_2\, &amp;lt;/math&amp;gt;としてグラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;からグラフ&amp;lt;math&amp;gt;G_2\, &amp;lt;/math&amp;gt;を得ることが可能であるとき, これらの二つのグラフは[[同形性 (グラフの)|同形である]] (isomorphic)という．また，二つのグラフ&amp;lt;math&amp;gt;G_1=(V_1,A_1;\partial^+_1,\partial^-_1)\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;G_2=(V_2,A_2;\partial^+_2,\partial^-_2)\, &amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;V_2\subseteq V_1\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_2\subseteq A_1\, &amp;lt;/math&amp;gt;であり，&amp;lt;math&amp;gt;\partial^+_2\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;\partial^+_1\, &amp;lt;/math&amp;gt;を，&amp;lt;math&amp;gt;\partial^-_2\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;\partial^-_1\, &amp;lt;/math&amp;gt;を，それぞれ，&amp;lt;math&amp;gt;A_2\, &amp;lt;/math&amp;gt;上に制限したものになっているとき, グラフ&amp;lt;math&amp;gt;G_2\, &amp;lt;/math&amp;gt;をグラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;の部分グラフという．与えられたグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の幾何学的表現から，いくつかの枝を消し，いくつかの孤立して残る点を消して得られる幾何学的表現に対応するグラフが元のグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の部分グラフである．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] C. Berge, ''Graphes et Hypergraphes'', Dunod, 1970. 伊理正夫 他 訳，『グラフの理論, I～III』, サイエンス社，1976.&lt;br /&gt;
&lt;br /&gt;
[2] J. A. Bondy and U. S. R. Murty, ''Graph Theory with Applications'', North-Holland, 1976.&lt;br /&gt;
&lt;br /&gt;
[3] R. Diestel, ''Graph Theory'', 3rd ed., Springer, 2005. 根上生也，太田克弘 訳，『グラフ理論』, シュプリンガー・ジャパン，2000．&lt;br /&gt;
&lt;br /&gt;
[4] F. Harary, ''Graph Theory'', Addison-Wesley, 1969. 池田貞雄 訳，『グラフ理論』, 共立出版，1971.&lt;br /&gt;
&lt;br /&gt;
[5] 伊理正夫, 藤重悟, 大山達雄，『グラフ・ネットワーク・マトロイド』,産業図書，1986.&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|ぐらふ・ねっとわーく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%A1%E3%82%BF%E3%83%92%E3%83%A5%E3%83%BC%E3%83%AA%E3%82%B9%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9&amp;diff=9891</id>
		<title>メタヒューリスティクス</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%A1%E3%82%BF%E3%83%92%E3%83%A5%E3%83%BC%E3%83%AA%E3%82%B9%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9&amp;diff=9891"/>
		<updated>2008-08-02T09:20:10Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【めたひゅーりすてぃくす (metaheuristics)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
組合せ最適化問題において, 遺伝アルゴリズム, アニーリング法, タブー探索といった発見的な探索を行う手法を総合した枠組. 暫定解に対し局所探索によって解の更新を行うが, 局所最適解に捕捉されることを防ぐための工夫を付加するというのが基本的な考え方である. 一般に最適性は保証できないが, 少ない計算時間で質の良い解を求めることができる場合が多いので極めて実用性が高く, 様々な問題への応用がなされている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[メタヒューリスティクス]] (metaheuristics) とは組合せ最適化問題に対しての, 発見的解法の枠組みであり, 従来の数理的, 分析的手法に基づく厳密解法に対し, ある暫定解からより良い解を発見的に探索するための方法論である. 1) 個々の問題の性質に依拠しないより包括的な枠組みである, 2) 最適解を求めることではなく, より良い解を現実的な時間で求めることを目的とする, といった特徴が挙げられる. メタヒューリスティクスに含まれる多くの手法は局所探索法 (local search) を元にしているが, 局所最適解で探索が終了してしまうという欠点を補うためのさまざまな工夫がなされている[7]. &lt;br /&gt;
&lt;br /&gt;
　[[多スタート局所探索]] (multi start local search) は適当な方法で生成した初期解からの局所探索法を繰り返し行うことにより, 改善された局所最適解を求めるものである. &lt;br /&gt;
&lt;br /&gt;
　[[可変近傍法]] (variable neighborhood search) は複数の近傍を定義し, 暫定解 （それまでに得られた最善解） に対しある近傍から一つ初期解を選択し, その解に対して局所探索法を適用するという手順を繰り返す. この反復において暫定解が更新されたか否かによって初期解を選択するための近傍を変える点に特徴がある. &lt;br /&gt;
&lt;br /&gt;
　[[アニーリング法]] (simulated aneealing) は局所探索法の実行過程に確率的な振る舞いを加え局所最適解に陥らないようにしたアルゴリズムであり, Kirkpatrickらによって提案された [2]. アニーリング法では改悪の方向への移行を確率&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;で受け入れる. &amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;は温度&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;と呼ばれる制御パラメータを含む関数で定義され, 目的関数が改悪される度合が大きくなれば小さくなるように定義される. 一般に用いられるのは, 変更にともなう目的関数値の変化量を&amp;lt;math&amp;gt;\Delta \, &amp;lt;/math&amp;gt;(改悪ならば正、改良ならば負の値をとる)とすると, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;P=\left\{\begin{array}{l}&lt;br /&gt;
1,\;\Delta\le 0\\&lt;br /&gt;
\exp (-\Delta /t ),\Delta &amp;gt;0&lt;br /&gt;
\end{array}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
と定義される. パラメータ&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;は最初は大きな値に設定されるが、その後&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;を徐々に小さくすることによって, 探索の初期の段階では広い領域を探索し, 後期では探索が最適解に落ち着くことをねらっている. &lt;br /&gt;
&lt;br /&gt;
　[[タブー探索]]　(tabu search)　は局所探索法において局所最適解から脱出するため, 近傍内の最良解（改悪解であっても）へ移行するという操作を加えたものである [3, 4] . 一つの局所最適解とその近傍のみの移行という繰り返しを避けるために, 現在までの移行の履歴を保持し, 移行に制約を設ける. この制約をタブーという. またタブーにより良い局所最適解への移行を妨げる場合があるのでタブー保有期間と呼ばれる一定期間を経るとタブーは解消される. これにより局所最適解に陥ることなく広範囲の解を探索することが可能になる. &lt;br /&gt;
&lt;br /&gt;
　[[遺伝アルゴリズム]] (genetic algorithm) は生物の形質遺伝による進化を組合せ最適化問題における解の進化, すなわち目的関数値を向上させることに利用した解法である [6]. まず候補解を記号列として表現したものを遺伝子と名付け, これらの遺伝子からなる集団に対し1) 次世代に子孫を残す解を選択し (選択), 2) &amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;つの親の遺伝子より子の遺伝子を生成し (交叉), 3) 遺伝子の一部を一定の確率で変化させ (突然変異), 4) 劣っている解は集団より除去する (淘汰), という操作を繰り返し行う. 交叉において遺伝子の特徴がどのように次の世代に遺伝していくかということは[[スキーマ定理]] (scheme theorem) によって確率的に示されている [5]. ここでスキーマ&amp;lt;math&amp;gt;H\, &amp;lt;/math&amp;gt;とは遺伝子を2進数で表現したときの部分列であり, その次元を&amp;lt;math&amp;gt;o(H)\, &amp;lt;/math&amp;gt;, 定義長を&amp;lt;math&amp;gt;\delta(H)\, &amp;lt;/math&amp;gt;とし, &amp;lt;math&amp;gt;m(H,t)\, &amp;lt;/math&amp;gt;を次世代&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;でスキーマ&amp;lt;math&amp;gt;H\, &amp;lt;/math&amp;gt;を含む個体の数, &amp;lt;math&amp;gt;f(H)\, &amp;lt;/math&amp;gt;スキーマ&amp;lt;math&amp;gt;H\, &amp;lt;/math&amp;gt;を含む個体の適応度の平均値, &amp;lt;math&amp;gt;\overline{f}(t)\, &amp;lt;/math&amp;gt;を世代&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;での個体の平均適応度とすると&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
m(H,t+1) &amp;amp;\geq&amp;amp; m(H,t)f(H)&lt;br /&gt;
\{1-p_c\delta(H)/(l-1)\}(1-p)^{o(H)}/\overline{f}(t) \\&lt;br /&gt;
&amp;amp;\approx&amp;amp; m(H,t)f(H)\{1-p_c\delta(H)/(l-1)-po(H)\}/\overline{f}(t) &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
が成立する. &lt;br /&gt;
&lt;br /&gt;
　遺伝アルゴリズムは[[進化的計算]] (evolutionary computation), 進化的プログラミング (evolutionary programming) といった生物の遺伝, 進化の過程を模倣して最適化問題における最適解を探索するという枠組みの中のひとつであり、さらには[[人工生命]] (artificial life) という生命システムをコンピュータでシミュレートする研究との関連においても注目されている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] G. Hansen and N. Mladenovic, &amp;quot;An Introduction to Variable Depth Search,&amp;quot; in ''Meta-heuristics: Advances and Trends in Local Search Paradigms for Optimization'', S. Voss, eds., Kluwer Academic Publishers, 1998.&lt;br /&gt;
&lt;br /&gt;
[2] S. Kirkpatrick, C. D. Gellat and M. P. Vecchi, &amp;quot;Optimization by Simulated Annealing,&amp;quot; ''Science'', '''220''' (1983), 671-680. &lt;br /&gt;
&lt;br /&gt;
[3] F. Glover, &amp;quot;Tabu Search I,&amp;quot; ''ORSA Journal on Computing'', '''1''' (1989), 190-206.&lt;br /&gt;
&lt;br /&gt;
[4] F. Glover, &amp;quot;Tabu Search II,&amp;quot; ''ORSA Journal on Computing'', '''2''' (1989), 4-32.&lt;br /&gt;
&lt;br /&gt;
[5] D. E. Goldberg, ''Genetic Algorithms in Search, Optimization, and Machine Learning'', Addison-Wesley, 1989.&lt;br /&gt;
&lt;br /&gt;
[6] J. H. Holland, ''Adaptation in Natural and Artificial Sytems'', University of Michigan Press, 1975.&lt;br /&gt;
&lt;br /&gt;
[7] 柳浦睦憲, 茨木俊秀, 「組合せ最適化」, 朝倉書店, 2001.&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|めたひゅーりすてぃくす]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=ORWiki:ORWiki%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=9883</id>
		<title>ORWiki:ORWikiについて</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=ORWiki:ORWiki%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=9883"/>
		<updated>2008-04-15T09:18:27Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 刊行にあたって ==&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;&lt;br /&gt;
OR事典編集委員長&amp;lt;BR&amp;gt;&lt;br /&gt;
青木　利晴&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　1957（昭和32) 年に創立された&lt;br /&gt;
[https://orsj.org/ 日本オペレーションズ・ リサーチ（OR）学会]&lt;br /&gt;
は、今年6月に創立50周年という大きな節目を迎えました。これを記念して今春より数々の事業を実施していますが、その一つとして「ＯＲ事典」の改訂を行っています。初版は１９７５年に刊行し、１９９７年の創立４０周年には改訂版をＣＤ－ＲＯＭで提供いたしましたが、今回は創立５０周年記念事業として、改訂とともに新たにインターネットでの公開を実現いたしました。&lt;br /&gt;
&lt;br /&gt;
　さて「知の世紀」といわれる21世紀に入った今、新たな時代環境の中で本学会も大きな変化を求められています。本学会は、これまでに築いてきた基盤の上に立って、今後とも発展し続けるように、新たなOR活用分野・研究手法の開拓、広報・研究普及活動の更なる拡充による社会への貢献、国際化の推進とアジア地域との連携などの課題について重点的に取り組み、真に役立つＯＲの研究・実践に努力を積み重ねてまいります。このような時期に「ＯＲ事典」を新たに編集し刊行することは、きわめて意義深いことだと思います。&lt;br /&gt;
&lt;br /&gt;
　今回のＯＲ事典編集作業の結果、[[基礎編：大項目一覧|基礎編]]、&lt;br /&gt;
[[用語編]]に関してはＰＤＦベースから、ＷＩＫＩを使った方式に変換し、&lt;br /&gt;
より柔軟な使い方ができるようになりました。基礎編の見出し項目としては２８項目を追加、４項目を削除、用語は３００語が追加されました。&lt;br /&gt;
[[事例編]]については、「[https://orsj.org/wp-content/or-archives50/ ＯＲアーカイブ集]」より，事例に関する論文等を分類整理しました。&lt;br /&gt;
[http://www.ozsons.com/ORstory/ 資料編]では最近までのデータをアップデートしてあります。&lt;br /&gt;
&lt;br /&gt;
　今回の改訂は，センテニアルに向けた新たな半世紀に大きな一歩を踏み出す契機になるものと自負しております。&lt;br /&gt;
&lt;br /&gt;
　おわりに困難な編集事業に取り組まれた[[ＯＲ事典編集委員会]]の皆様、&lt;br /&gt;
ご支援いただいたＯＲ学会５０周年記念事業関係者およびＯＲ学会事務局の方々に心から感謝の意を表します。（2007.9.1）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
　　　　&lt;br /&gt;
　　　　&lt;br /&gt;
== 執筆協力者一覧 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 基礎編、用語編執筆者 ===&lt;br /&gt;
:浅野孝夫, 朝野煕彦, 穴太克則, 飯島淳一, 飯田耕司, 石井博昭, 石渡徳彌, 一森哲男, 伊藤和憲, 伊藤健, 乾口雅弘, 茨木俊秀, 今井桂子, 今井浩, 今泉淳, 岩城秀樹, 岩田覚, 岩本誠一, 上田徹, 上野哲郎, 上原隆平, 宇野毅明, 梅沢豊, 大内東, 大隅昇, 太田敏澄, 大西匡光, 大野勝久, 大山達雄, 岡田章, 尾崎俊治, 小沢利久, 小澤正典, 海生直人, 嘉数侑昇, 片岡靖詞, 片桐英樹, 片山隆仁, 片山勁, 片山徹, 刈屋武昭, 川崎英文, 川島幸之助, 川島武, 河野浩之, 城川俊一, 菊田健作, 木瀬洋, 紀一誠, 木村武, 木村俊一, 久野誉人, 久保幹雄, 久保田光一, 栗田治, 倉橋（筑波）, 黒田充, 腰塚武志, 小島政和, 小林和朝, 古林隆, 今野浩, 齋藤雄志, 逆瀬川浩孝, 佐藤馨一, 佐藤大輔, 猿渡康文, 澤木勝茂, 三道弘明, 椎塚久雄, 塩浦昭義, 塩出省吾, 繁野麻衣子, 篠原正明, 下村雅彦, 白川浩, 杉原厚吉, 杉原左右一, 杉山学, 鈴木敦夫, 鈴木和幸, 鈴木賢一, 鈴木久敏, 関口恭毅, 関谷和之, 戴陽, 高井英造, 高木英明, 高橋勝, 高橋真吾, 高橋磐郎, 高橋幸雄, 高橋豊, 高橋敬隆, 滝根哲哉, 田口東, 田中環, 田中雅博, 田中雅康, 谷野哲三, 田畑吉雄, 田村明久, 田村隆善, 田村坦之, 佃純誠, 佃良彦, 土谷隆, 角田康夫, 寺野隆雄, 徳山博干, 刀根薫, 土肥正, 中井暉久, 中川覃夫, 中里宗敬, 中島恭一, 中島康之, 中塚利直, 中西昌武, 中野文平, 中丸麻由子, 永持仁, 長山いづみ, 中山幹夫, 生田目崇, 並木誠, 難波和明, 西岡靖之, 西村彰一, 根本俊男, 野々部宏司, 野村淳二, 橋田温, 蜂谷豊彦, 浜田和樹, 枇々木規雄, 平野雅章, 平林, 福川忠昭, 福島雅夫, 福本聡, 藤井進, 藤江, 藤重悟, 伏見正則, 藤本衡, 船木由喜彦, 古川浩一, 宝崎隆祐, 星野朝子, 堀内正博, 牧本直樹, 増山繁, 町原文明, 松井知己, 松井泰子, 真鍋龍太郎, 丸田利昌, 丸山明, 水谷昌義, 宮川（筑波）, 宮沢政清, 三好直人, 巳波弘佳, 六十里繁, 武藤滋夫, 棟近雅彦, 村松正和, 室田一雄, 毛利進太郎, 森清堯, 守口剛, 森平爽一郎, 森戸晋, 森村英典, 柳浦睦憲, 矢島安敏, 矢部博, 山川栄樹, 八巻直一, 山口俊和, 山口浩, 山下信雄, 山下英明, 山田茂, 山田善靖, 山地憲治, 大和毅彦, 由良憲二, 吉川武男, 吉瀬章子, 和光純, 渡辺隆裕&lt;br /&gt;
&lt;br /&gt;
=== 事例編分類作業担当者 ===&lt;br /&gt;
:飯田哲夫, 小澤正典, 後藤順哉, 鈴木秀男, 武田朗子, 田中健一, 中田和秀, 福田恵美子, 宮代隆平, 宮本裕一郎, 森雅夫, 矢島安敏&lt;br /&gt;
&lt;br /&gt;
=== 資料編執筆者 ===&lt;br /&gt;
:青木兼一, 朝尾正, 石井博昭, 石田甫, 梅根定, 亀澤善一郎, 児玉正憲, 後藤義雄, 権藤元, 田口東, 時永祥三, 中川覃夫, 永次廣, 西田俊夫, 日比野康文, 藤野義一, 三上操, 三根久, 本告光男, 柳井浩, 横山清, 若林信夫, 若山邦紘&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%88%E3%83%BC%E3%82%AF:P-%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC%E5%95%8F%E9%A1%8C&amp;diff=9731</id>
		<title>トーク:P-センター問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%88%E3%83%BC%E3%82%AF:P-%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC%E5%95%8F%E9%A1%8C&amp;diff=9731"/>
		<updated>2008-03-31T07:07:43Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 書込みの削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AC%E3%83%83%E3%82%AF%E3%82%B9%E6%B3%95&amp;diff=9727</id>
		<title>シンプレックス法</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AC%E3%83%83%E3%82%AF%E3%82%B9%E6%B3%95&amp;diff=9727"/>
		<updated>2008-03-23T16:05:56Z</updated>

		<summary type="html">&lt;p&gt;Imahori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【しんぷれっくすほう (simplex method)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
単体法と訳され,&lt;br /&gt;
1947年, ダンツィク(G.B. Dantzig) によって提案された,線形計画問題を解くための手法.理論的には有限回反復での収束性しか示されていないが,実用的には高速に最適解が得られることが知られている.また, 実用の際には, 単体法を改良した改訂単体法が良く用いられる.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　ダンツイック（G. B. Dantzig）によって提案された[[単体法]]（simplex method）（[[シンプレックス法]]）は, [[カーマーカー法]]の出現する1984年までは線形計画問題を解くもっとも有効な解法とされていた.  単体法は問題の構造を巧妙に利用しており, いまでも, 線形計画, 整数計画, 組合せ最適化の多くの分野で使われている[2, 3, 4].  以下, 次のような基準形と呼ばれる線形計画問題を考えることにする.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\mbox{(P)} \quad&lt;br /&gt;
\begin{array}{lll}&lt;br /&gt;
          &amp;amp; \mbox{max.}  &amp;amp; {\displaystyle \sum_{j=1}^{n}c_j x_j} \\&lt;br /&gt;
&amp;amp; \mbox{s. t.}  &amp;amp; {\displaystyle \sum_{j=1}^{n}a_{ij} x_j}&lt;br /&gt;
                           \leq b_i \; \;  (i=1,2,\ldots,m), &lt;br /&gt;
              x_1,x_2,\ldots ,x_n \geq 0.&lt;br /&gt;
\end{array}&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ここで, &amp;lt;math&amp;gt;c_j \,(j=1,2,\ldots,n), \, b_i \, (i=1,2,\ldots,m),\, a_{ij} \, (i=1,2,\ldots,m, j=1,2,\ldots,n)&amp;lt;/math&amp;gt;は実数, &amp;lt;math&amp;gt;\boldsymbol{x}=(x_1,x_2,\ldots,x_m)&amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;n\,&amp;lt;/math&amp;gt;個の変数からなる&amp;lt;math&amp;gt;n\,&amp;lt;/math&amp;gt;次元ベクトルである.  すべての線形計問題は, 簡単な変換によって基準形に帰着できる.  問題（P）の制約条件を満たす&amp;lt;math&amp;gt;\boldsymbol{x}&amp;lt;/math&amp;gt;を[[実行可能解]]（feasible solution）, その集まりを[[実行可能多面体]]（feasible polyhedron）と呼ぶ.  実行可能解のなかで目的関数を最大にするものを[[最適解]]（optimal solution）と呼ぶ.&lt;br /&gt;
&lt;br /&gt;
　ここで, 問題（P）にスラック変数と呼ばれる非負の変数&amp;lt;math&amp;gt;x_{n+i} \, (i=1,\ldots,m)&amp;lt;/math&amp;gt;を導入する&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
\mbox{max.}        &amp;amp; c_1 x_1+\cdots+ c_nx_n   \\&lt;br /&gt;
\mbox{s. t.} &amp;amp; a_{i1} x_1 +\cdots+a_{in} x_n + x_{n+i} = b_i&lt;br /&gt;
             \; \; (i=1, 2, \ldots, m), \\&lt;br /&gt;
            &amp;amp; x_1 \geq 0,\ldots,x_{n+m}\geq 0.&lt;br /&gt;
\end{array}&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
さらに, 目的関数を &amp;lt;math&amp;gt;z=c_0+\sum_{j=1}^n c_j x_j \ (c_0=0)&amp;lt;/math&amp;gt; と書き, 制約式左辺のスラック変数以外の項を移行すると, 上の問題は以下のようになる.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
\mbox{max.}        &amp;amp; z  \\&lt;br /&gt;
\mbox{s. t.} &amp;amp; x_{n+i}= b_i-a_{i1}x_{1}-\cdots-a_{in}x_{n}&lt;br /&gt;
               \quad (i=1, 2, \ldots, m), \\&lt;br /&gt;
            &amp;amp; z=c_0+c_1 x_1+\cdots+c_n x_n, \\&lt;br /&gt;
            &amp;amp; x_1 \geq 0,\ldots, x_{n+m} \geq 0.&lt;br /&gt;
\end{array}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
制約式の左辺の変数を基底変数, 右辺の変数を非基底変数と呼ぶ.  ここで, 非基底変数の添字を&amp;lt;math&amp;gt;N(1)=1,\ldots,N(n)=n&amp;lt;/math&amp;gt;, 基底変数の添字を&amp;lt;math&amp;gt;B(1)=n+1,\ldots,B(m)=n+m&amp;lt;/math&amp;gt;とおき, 各変数の係数の添字も対応するものにする.　非基底変数の値を任意に固定すると基底変数の値は一意に定まるが,　特に非基底変数をすべて&amp;lt;math&amp;gt;0\,&amp;lt;/math&amp;gt;に固定して得られる解を[[基底解]]（basic solution）と呼ぶ.  また, 上の等式系を辞書と呼ぶ.  係数&amp;lt;math&amp;gt;b_i \, (i=1,\ldots,m)&amp;lt;/math&amp;gt;が非負のとき, 基底解は実行可能解であるが, このような辞書を実行可能辞書と呼ぶ.  線形計画問題の実行可能な基底解は実行可能多面体の頂点に対応する [3].  単体法は目的関数の値を最大化する実行可能な基底解を求めるものであり, 辞書を等価な辞書へと繰り返し変換することによって実現される.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
単体法&lt;br /&gt;
&lt;br /&gt;
入力：実行可能な辞書&lt;br /&gt;
&lt;br /&gt;
ステップ１（最適性判定）&lt;br /&gt;
&lt;br /&gt;
:(1) &amp;lt;math&amp;gt;c_{N(s)}&amp;gt;0\,&amp;lt;/math&amp;gt;となる添字&amp;lt;math&amp;gt;s (1\le s \le n)&amp;lt;/math&amp;gt;を1つ選ぶ.&lt;br /&gt;
&lt;br /&gt;
:(2) もし, そのような添字がなければ, 現在の基底解は最適となり, 終了する.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ステップ２（有界性判定）&lt;br /&gt;
&lt;br /&gt;
:(1) &amp;lt;math&amp;gt;\textstyle \frac{b_r}{a_{rN(s)}}=\min\{\frac{b_i}{a_{iN(s)}} : a_{iN(s)}&amp;gt;0, 1 \le i \le m \}&amp;lt;/math&amp;gt;を計算し, 行番号&amp;lt;math&amp;gt;r\,&amp;lt;/math&amp;gt;を求める（この操作は現在の基底解から実行可能性を保ったまま非基底変数&amp;lt;math&amp;gt;x_{N(s)}\,&amp;lt;/math&amp;gt;だけをできる限り増加させる）.&lt;br /&gt;
&lt;br /&gt;
:(2) そのような番号&amp;lt;math&amp;gt;r\,&amp;lt;/math&amp;gt;がなければ（つまり, 変数&amp;lt;math&amp;gt;x_{N(s)}\,&amp;lt;/math&amp;gt;を限りなく増加させることができる）, 問題は非有界となり, 終了する.&lt;br /&gt;
&lt;br /&gt;
:(3) &amp;lt;math&amp;gt;r\,&amp;lt;/math&amp;gt;が存在する場合, ステップ３へ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ステップ３（（&amp;lt;math&amp;gt;r, s\,&amp;lt;/math&amp;gt;）を中心とするピボット演算を行う）&lt;br /&gt;
&lt;br /&gt;
:（1）辞書の&amp;lt;math&amp;gt;r\,&amp;lt;/math&amp;gt;番目の式について&amp;lt;math&amp;gt;x_{N(s)}\,&amp;lt;/math&amp;gt;の表現式を求める.&lt;br /&gt;
&lt;br /&gt;
:（2）求めた&amp;lt;math&amp;gt;x_{N(s)}\,&amp;lt;/math&amp;gt;の式を辞書の他の行 (&amp;lt;math&amp;gt;i\not = r\,&amp;lt;/math&amp;gt;) に代入する.&lt;br /&gt;
&lt;br /&gt;
:（3）添字&amp;lt;math&amp;gt;N(s)\,&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;B(r)\,&amp;lt;/math&amp;gt;を交換し, ステップ１へ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
実行可能解をもつ問題に対して単体法が有限回で終了すれば, その問題は最適解をもつか, または非有界である.  しかし, 辞書の右辺に&amp;lt;math&amp;gt;0\,&amp;lt;/math&amp;gt;の定数&amp;lt;math&amp;gt;b_i\,&amp;lt;/math&amp;gt;を少なくとも1つ含むとき, 辞書は退化しており, 単体法は有限回で終わるとは限らない.  このとき, ピボット演算を施しても, 基底解が変化しないことになり, 目的関数値も変化しない.  有限回収束を保証するための手段として, Blandのピボット選択規則 [1] が提案されており, これを用いると単体法は必ず有限回で収束する.&lt;br /&gt;
&lt;br /&gt;
　先の説明で述べたように, 単体法の入力として実行可能な辞書が必要とされる.  現在の辞書が実行可能でない場合, 単体法を用いて実行可能な辞書を求めることができる.  そのため, 新しい変数（人工変数）&amp;lt;math&amp;gt;x_a\,&amp;lt;/math&amp;gt;を用いて補助問題&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
\mbox{max.}        &amp;amp; -x_a  \\&lt;br /&gt;
\mbox{s. t.} &amp;amp; x_{n+i}= b_i-a_{i1}x_{1}-\cdots-a_{in}x_{n}+x_a&lt;br /&gt;
               \; \;  (i=1, 2, \ldots, m),  \\&lt;br /&gt;
            &amp;amp; x_1 \geq 0,\ldots, x_{n+m} \geq 0, \; x_a \geq 0, &lt;br /&gt;
\end{array}&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を作る.  元問題が実行可能であることと補助問題の最適目的関数値が&amp;lt;math&amp;gt;0\,&amp;lt;/math&amp;gt;であることは等価なので, 補助問題を解くことにより, 元問題の実行可能解の有無を判定できる.&lt;br /&gt;
&lt;br /&gt;
　一般に, 基準形の線形計画問題を解く際には, 2段階単体法と呼ばれるものを用いる.  第1段階では, 補助問題を解き, 実行可能解の有無を判定し, 実行可能解が存在する場合は実行可能辞書を求める.  第2段階では, 求めた実行可能辞書を初期の辞書として, もう一度単体法を使い, 元問題を解く.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1]  R. G. Bland, &amp;quot;New finite pivot ruless for the simplex method&amp;quot;, ''Mathematics of Operations Research'' '''2'''（1977）, 103-107.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[2]  V. Chv&amp;amp;aacute;tal, ''Linear Programming'', W. H. Freeman and Company, 1983.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[3]  G. B. Dantzig, ''Linear Programming and Extensions'', Princeton Univesity Press, 1963.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[4]  G. L. Nemhauser and L. A. Wolsey, ''Integer and Combinatorial Optimization'', John Wiley &amp;amp; Sons, 1988.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:線形計画|たんたいほう]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B0%E3%83%A9%E3%83%95_(%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96%E3%81%AE)&amp;diff=9726</id>
		<title>グラフ (グラフ理論の)</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B0%E3%83%A9%E3%83%95_(%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96%E3%81%AE)&amp;diff=9726"/>
		<updated>2008-03-23T09:06:05Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ぐらふ (graph)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
グラフは, 点の集合&amp;lt;math&amp;gt;V\,&amp;lt;/math&amp;gt;, 枝の集合&amp;lt;math&amp;gt;A\,&amp;lt;/math&amp;gt;および各枝&amp;lt;math&amp;gt;a\in A\,&amp;lt;/math&amp;gt;の始点と終点を指定する2つの写像&amp;lt;math&amp;gt;\partial^+: A \to V\,&amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\partial^-: A \to V\,&amp;lt;/math&amp;gt;からなる複合概念であり, グラフ&amp;lt;math&amp;gt;G=(V,A;\partial^+,\partial^-)\,&amp;lt;/math&amp;gt; (あるいは &amp;lt;math&amp;gt;(V,A)\,&amp;lt;/math&amp;gt; )のように記される. グラフは平面上に, 点を丸で, 枝を矢線で描き, 幾何学的に表現される. 枝&amp;lt;math&amp;gt;a\,&amp;lt;/math&amp;gt;の矢線の始点が&amp;lt;math&amp;gt;\partial^+a\,&amp;lt;/math&amp;gt;を, 終点が&amp;lt;math&amp;gt;\partial^-a\,&amp;lt;/math&amp;gt;を表す.  枝の方向を考慮する場合を有向グラフ, 考慮しない場合を無向グラフと呼び区別する.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[グラフ (グラフ理論の)|グラフ]] (graph)は，[[点 (グラフの)|点]]の集合&amp;lt;math&amp;gt;V\, &amp;lt;/math&amp;gt;，[[枝]]の集合&amp;lt;math&amp;gt;A\, &amp;lt;/math&amp;gt;および各枝&amp;lt;math&amp;gt;a\in A\, &amp;lt;/math&amp;gt;の始点と終点を指定する二つの写像&amp;lt;math&amp;gt;\partial^+: A \to V\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\partial^-: A \to V\, &amp;lt;/math&amp;gt;からなる複合概念であり，グラフ&amp;lt;math&amp;gt;G=(V,A;\partial^+,\partial^-)\, &amp;lt;/math&amp;gt;のように記される．また，しばしば&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;のように略記される．グラフは平面上に，点を丸で，枝を矢線で描き，幾何学的に表現される．枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;の矢線の始点が&amp;lt;math&amp;gt;\partial^+a\, &amp;lt;/math&amp;gt;を，終点が&amp;lt;math&amp;gt;\partial^-a\, &amp;lt;/math&amp;gt;を表している．&amp;lt;math&amp;gt;u=\partial^+a\, &amp;lt;/math&amp;gt;で&amp;lt;math&amp;gt;v=\partial^+a\, &amp;lt;/math&amp;gt;であるとき，枝&amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝といわれる．すべての２点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;に対して点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝が高々１本だけであるとき, 点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への枝があればそれを&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;のように点の順序対で表現することも多い．これからも分かるようにグラフはその点集合上の２項関係を表すものであると考えることができる．様々なシステムの構造を捕らえるとき, それらのシステムの構成要素の間の２項関係を考えることはもっとも基本的であり, モデル化も容易である．枝&amp;lt;math&amp;gt;(u,v)\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へのものの流れ（の存在）を表現したり, &amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への因果関係，通信ケーブルや道路などのリンクの存在などを表現したりする．日常的にも用いられる「・・・ネットワーク」や「・・・網」といわれるものはグラフ構造を持つものである．&lt;br /&gt;
&lt;br /&gt;
　取り扱う問題によっては, 各枝の始点と終点がどちらであるかを気にしない（すなわち対称な２項関係を考える）こともある．このようなとき，平面上の幾何学的表現では各枝を表現する矢線から矢印を取って，そのグラフを表現する．このようなグラフは[[無向グラフ]] (undirected graph) と呼ばれる．最初に定義した通常のグラフを無向グラフと対比して示したいとき, これを[[有向グラフ]] (directed graph あるいは digraph) という．グラフの用語については，日本語および英語の両方とも，必ずしも統一されていない．点は，頂点，節点とも呼ばれ，枝は，辺，弧，線などとも呼ばれる．英語では，点はvertex, node, 枝は edge, arc などがよく用いられる（枝に対し有向グラフでarc, 無向グラフでedgeを用いる流儀もある）．グラフの枝（や点）にそれに付随する容量，長さ，費用などの属性を付与してグラフ中のものの流れなどを考える場合, これを[[ネットワーク]] (network) と呼ぶ．&lt;br /&gt;
&lt;br /&gt;
　グラフ&amp;lt;math&amp;gt;G=(V,A)\, &amp;lt;/math&amp;gt;上の点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;へ枝の向きは無視して接続する点と枝をたどって到達できるとき，たどる順に得られる点と枝の交互列を点&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;から点&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;への道（あるいは路）(path) という．その道上の枝がたどる向きにすべて揃っているとき，そのような道を有向道（あるいは有向路）(directed path)という．道および有向道は，少なくとも１本の枝を含み, その始点と終点が一致するとき，閉路(closed path (cycle))および有向閉路(directed closedpath (directed cycle))と呼ばれる．平面上に枝を交差させることなく幾何学的に表現することが可能なグラフを[[平面グラフ]] (planar graph) という．閉路を含まない連結なグラフを[[木]] (tree)という．グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の点集合&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;のある２分割&amp;lt;math&amp;gt;\{U,W\}\, &amp;lt;/math&amp;gt;が存在して，各枝が&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;の点と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の点を結ぶとき，このグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;を[[2部グラフ]] (bipartite graph) という．&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の点の数がそれぞれ&amp;lt;math&amp;gt;m\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;であって，&amp;lt;math&amp;gt;u\, &amp;lt;/math&amp;gt;の各点と&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;の各点を結ぶ枝が丁度１本存在するとき，この２部グラフを完全２部グラフと言い, &amp;lt;math&amp;gt;{\rm K}_{m,n}\, &amp;lt;/math&amp;gt;のように表す．グラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;が自己閉路（１本の枝からなる閉路）を含まず, そのすべての相異なる２点に対してそれらを結ぶ丁度１本の枝が存在するとき，このグラフを[[完全グラフ]] (complete graph)（あるいは完備グラフ）という．ここで，&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;の点の数が&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;であるとき，これを&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;点完全グラフと呼び, &amp;lt;math&amp;gt;{\rm K}_n\, &amp;lt;/math&amp;gt;のように表す．&lt;br /&gt;
&lt;br /&gt;
　二つのグラフ&amp;lt;math&amp;gt;G_1=(V_1,A_1;\partial^+_1,\partial^-_1)\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;G_2=(V_2,A_2;\partial^+_2,\partial^-_2)\, &amp;lt;/math&amp;gt;に対して, グラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;の点と枝の接続関係は保ったまま&amp;lt;math&amp;gt;V_1\, &amp;lt;/math&amp;gt;の各点の名前（ラベル）を変えて&amp;lt;math&amp;gt;V_2\, &amp;lt;/math&amp;gt;とし，同時に&amp;lt;math&amp;gt;A_1\, &amp;lt;/math&amp;gt;の各枝の名前（ラベル）を変えて&amp;lt;math&amp;gt;A_2\, &amp;lt;/math&amp;gt;としてグラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;からグラフ&amp;lt;math&amp;gt;G_2\, &amp;lt;/math&amp;gt;を得ることが可能であるとき, これらの二つのグラフは[[同形性 (グラフの)|同形である]] (isomorphic)という．また，二つのグラフ&amp;lt;math&amp;gt;G_1=(V_1,A_1;\partial^+_1,\partial^-_1)\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;G_2=(V_2,A_2;\partial^+_2,\partial^-_2)\, &amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;V_2\subseteq V_1\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_2\subseteq A_1\, &amp;lt;/math&amp;gt;であり，&amp;lt;math&amp;gt;\partial^+_2\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;\partial^+_1\, &amp;lt;/math&amp;gt;を，&amp;lt;math&amp;gt;\partial^-_2\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;\partial^-_1\, &amp;lt;/math&amp;gt;を，それぞれ，&amp;lt;math&amp;gt;A_2\, &amp;lt;/math&amp;gt;上に制限したものになっているとき, グラフ&amp;lt;math&amp;gt;G_2\, &amp;lt;/math&amp;gt;をグラフ&amp;lt;math&amp;gt;G_1\, &amp;lt;/math&amp;gt;の部分グラフという．与えられたグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の幾何学的表現から，いくつかの枝を消し，いくつかの孤立して残る点を消して得られる幾何学的表現に対応するグラフが元のグラフ&amp;lt;math&amp;gt;G\, &amp;lt;/math&amp;gt;の部分グラフである．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] C. Berge, ''Graphes et Hypergraphes'', Dunod, 1970. 伊理正夫 他 訳，『グラフの理論, I～III』, サイエンス社，1976.&lt;br /&gt;
&lt;br /&gt;
[2] J. A. Bondy and U. S. R. Murty, ''Graph Theory with Applications'', North-Holland, 1976.&lt;br /&gt;
&lt;br /&gt;
[3] R.Diestel, ''Graph Theory'', 3rd ed., Springer, 2005.&lt;br /&gt;
&lt;br /&gt;
[4] F. Harary, ''Graph Theory'', Addison-Wesley, 1969. 池田貞雄 訳，『グラフ理論』, 共立出版，1971.&lt;br /&gt;
&lt;br /&gt;
[5] 伊理正夫, 藤重悟, 大山達雄，『グラフ・ネットワーク・マトロイド』,産業図書，1986.&lt;br /&gt;
&lt;br /&gt;
[[Category:グラフ･ネットワーク|ぐらふ・ねっとわーく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%83%BB%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E3%83%BB%E3%83%9E%E3%82%B7%E3%83%BC%E3%83%B3&amp;diff=9725</id>
		<title>サポート・ベクター・マシーン</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%83%BB%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E3%83%BB%E3%83%9E%E3%82%B7%E3%83%BC%E3%83%B3&amp;diff=9725"/>
		<updated>2008-03-23T09:00:44Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【 さぽーと・べくたー・ましん (support vector machine) 】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
線形な[[判別関数]]を求める教師付き機械学習法のひとつである．&lt;br /&gt;
判別関数の複雑さの度合いと判別の精度の双方を考慮した，&lt;br /&gt;
二次計画問題として定式化され，判別関数が算出される．&lt;br /&gt;
ここで用いられる二次計画問題の構造に特化した最適化アルゴリズムが知られており，&lt;br /&gt;
データ数が多い大規模な判別問題でも，&lt;br /&gt;
多くの場合，実用的な速度で最適化を行うことが可能である．&lt;br /&gt;
また，カーネル関数を用いることで，&lt;br /&gt;
非線形な判別関数を算出することも可能である．&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　サポート・ベクター・マシン (SVM) は, 判別関数を求める教師付き学習法のひとつである. &lt;br /&gt;
&lt;br /&gt;
　今, &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt;個の属性を持ったデータが&amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt;個与えられており,これを,&amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt;次元空間&amp;lt;math&amp;gt;\mathbb{R}^{N}\, &amp;lt;/math&amp;gt;の点&amp;lt;math&amp;gt;\boldsymbol{a}_{1}, \boldsymbol{a}_{2},\ldots, \boldsymbol{a}_{M} \in \mathbb{R}^{N}\, &amp;lt;/math&amp;gt;と考える. 各点&amp;lt;math&amp;gt;\boldsymbol{a}_{j}\ (j=1,2,\ldots,M)\, &amp;lt;/math&amp;gt;は2種類のクラスのいづれか一方に属しており, 対応する2値のラベル&amp;lt;math&amp;gt;y_{j} \in \{-1,+1\}\, &amp;lt;/math&amp;gt;が与えられているとする. このとき, ラベルの値にしたがって点を判別する2クラスの判別問題を考える.&lt;br /&gt;
&lt;br /&gt;
　SVMでは線形関数を用いた判別を行う. &amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt;次元の法線ベクトル&amp;lt;math&amp;gt;\boldsymbol{w} \, &amp;lt;/math&amp;gt;および実数&amp;lt;math&amp;gt;b\, &amp;lt;/math&amp;gt;で定まる線形関数を&amp;lt;math&amp;gt;f(\boldsymbol{x}) = \boldsymbol{x}^{T}  \boldsymbol{w}- b\, &amp;lt;/math&amp;gt; とすれば, 与えられたデータおよびラベルにしたがって,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
f(\boldsymbol{a}_{j}) = \boldsymbol{a}_{j}^{T} \boldsymbol{w}- b \left\{&lt;br /&gt;
\begin{array}{ll}&lt;br /&gt;
 &amp;gt; 0 &amp;amp; \mbox{if}\ \  y_{j} = 1,\\&lt;br /&gt;
 &amp;lt; 0 &amp;amp; \mbox{if}\ \  y_{j} = -1,&lt;br /&gt;
\end{array}&lt;br /&gt;
\right.\quad j=1,2,\ldots,M&lt;br /&gt;
\, &amp;lt;/math&amp;gt;　　　　&amp;lt;math&amp;gt;(1)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
となるベクトル&amp;lt;math&amp;gt;\boldsymbol{w} \, &amp;lt;/math&amp;gt;とスカラ&amp;lt;math&amp;gt;b\, &amp;lt;/math&amp;gt;を次に示す最適化問題を解くことで算出する.&lt;br /&gt;
&lt;br /&gt;
　一般的には, 与えられた点全てに対して式 (1) を満たす&amp;lt;math&amp;gt;\boldsymbol{w},b\, &amp;lt;/math&amp;gt;が存在するとは限らないので, 非負の変数&amp;lt;math&amp;gt;\xi_{j}\ (j=1,2,\ldots,M)\, &amp;lt;/math&amp;gt;を導入し, 次の制約条件&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{array}{lll}&lt;br /&gt;
 {\displaystyle  \boldsymbol{a}_{j}^{T}  \boldsymbol{w}- b + \xi_{j} \geq 1 }&lt;br /&gt;
   &amp;amp; \mbox{if}&amp;amp; y_{j} = 1, \\&lt;br /&gt;
 {\displaystyle  \boldsymbol{a}_{j}  \boldsymbol{w}- b - \xi_{j} \leq -1 }&lt;br /&gt;
   &amp;amp; \mbox{if}&amp;amp; y_{j} = -1&lt;br /&gt;
\end{array}&lt;br /&gt;
\, &amp;lt;/math&amp;gt;　　　　&amp;lt;math&amp;gt;(2)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
のもと,&amp;lt;math&amp;gt;\xi_{j}\, &amp;lt;/math&amp;gt;の和と&amp;lt;math&amp;gt;\boldsymbol{w}\, &amp;lt;/math&amp;gt;のノルムができるだけ小さくなる線形関数を考える. すなわち, 次の二次計画問題を解き&amp;lt;math&amp;gt;\boldsymbol{w},b\, &amp;lt;/math&amp;gt;を算出する [2].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;4&amp;quot;&amp;gt; &amp;lt;math&amp;gt;\left| &lt;br /&gt;
\begin{array}{l}&lt;br /&gt;
\\&lt;br /&gt;
\\&lt;br /&gt;
\\&lt;br /&gt;
\\&lt;br /&gt;
\\&lt;br /&gt;
\end{array} \right.&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;最大化 &amp;lt;/td&amp;gt;&lt;br /&gt;
           &amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\textstyle \frac{1}{2}\| \boldsymbol{w} \|^{2}_{2} + C \ {\sum}_{j=1}^{M} \xi_{j}&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;4&amp;quot;&amp;gt;　　　　&amp;lt;math&amp;gt;(3)\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;制約 &amp;lt;/td&amp;gt;&lt;br /&gt;
           &amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\textstyle &lt;br /&gt;
      \boldsymbol{a}_{j}^{T}  \boldsymbol{w}- b + \xi_{j} \geq 1,&lt;br /&gt;
         \quad \mbox{if } y_{j} = 1,&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\textstyle&lt;br /&gt;
      \boldsymbol{a}_{j}^{T}  \boldsymbol{w}- b - \xi_{j} \leq -1,&lt;br /&gt;
         \quad \mbox{if } y_{j} = -1,&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\textstyle&lt;br /&gt;
      \xi_{j} \ge 0, \quad j=1,2,\ldots,M&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ここで,&amp;lt;math&amp;gt;C\, &amp;lt;/math&amp;gt;はあらかじめ設定された正の定数で, &amp;lt;math&amp;gt;\textstyle \| \boldsymbol{w} \|^{2}_{2}\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;\textstyle {\sum}_{j=1}^{M} \xi_{j}\, &amp;lt;/math&amp;gt;とのバランスをコントロールするパラメータである. また, &amp;lt;math&amp;gt;\textstyle \| \boldsymbol{w} \|^{2}_{2}\, &amp;lt;/math&amp;gt;は正則化項とも呼ばれ, これを小さくすることは判別関数に用いるデータの属性を少なくし, 過学習を防ぐ役割があるとされる [6]. 問題 (3) は, 1ノルムソフトマージンSVMと呼ばれる定式化である.&lt;br /&gt;
&lt;br /&gt;
　通常は,この問題の双対問題を考え最適化を行う [5]. &amp;lt;math&amp;gt;\alpha_{1},\alpha_{2},\ldots,\alpha_{M}\, &amp;lt;/math&amp;gt; を双対変数とすれば, 問題 (3) の双対問題は&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;4&amp;quot;&amp;gt; &amp;lt;math&amp;gt;\left| &lt;br /&gt;
\begin{array}{l}&lt;br /&gt;
\\&lt;br /&gt;
\\&lt;br /&gt;
\\&lt;br /&gt;
\\&lt;br /&gt;
\end{array} \right.&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;最大化 &amp;lt;/td&amp;gt;&lt;br /&gt;
           &amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\textstyle &lt;br /&gt;
      - \frac{1}{2} \sum_{i=1}^{M}\sum_{j=1}^{M}&lt;br /&gt;
         y_{i}y_{j} \boldsymbol{a}_{i}^{T} \boldsymbol{a}_{j}\alpha_{i}\alpha_{j}&lt;br /&gt;
      + \sum_{j=1}^{M} \alpha_{j}&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;4&amp;quot;&amp;gt;　　　　&amp;lt;math&amp;gt;(4)\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;制約 &amp;lt;/td&amp;gt;&lt;br /&gt;
           &amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\textstyle \sum_{j=1}^{M} y_{j} \alpha_{j}= 0,&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;0 \leq \alpha_{j} \leq C,\quad j=1,2,\ldots,M&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と書くことができ, これは1本の等式制約と各変数の上下限制約のみの凹二次関数の最大化となる. この特殊構造を用いた最適化アルゴリズム [3, 4] が知られており, データ数&amp;lt;math&amp;gt;(M)\, &amp;lt;/math&amp;gt;が数10万を超えるような大規模問題であっても, 高速に最適化が可能である.&lt;br /&gt;
&lt;br /&gt;
　双対問題 (4) の最適解を&amp;lt;math&amp;gt;\alpha^{*}_{1},\alpha^{*}_{2},\ldots,\alpha^{*}_{M}\, &amp;lt;/math&amp;gt;とすれば,KKT条件より主問題 (3) の最適解&amp;lt;math&amp;gt;\boldsymbol{w}^{*},b^{*}\, &amp;lt;/math&amp;gt;とは, &amp;lt;math&amp;gt;\textstyle \boldsymbol{w}^{*} = \sum_{j=1}^{M} \alpha_{j}^{*} y_{j} \boldsymbol{a}_{j}\, &amp;lt;/math&amp;gt;となる関係があり, さらに&amp;lt;math&amp;gt;0&amp;lt;\alpha_{k}^{*}&amp;lt;C\, &amp;lt;/math&amp;gt;となる添え字を&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;とすれば, &amp;lt;math&amp;gt;b^{*} = \boldsymbol{a}^{T}_{k}  \boldsymbol{w}^{*}-y_{k}\, &amp;lt;/math&amp;gt;となることが示される. また, 特に添え字の集合&amp;lt;math&amp;gt;SV=\{j|\alpha_{j}^{*} \not = 0 \}\, &amp;lt;/math&amp;gt;を定義すれば,&amp;lt;math&amp;gt;j \in SV\, &amp;lt;/math&amp;gt;に対応するデータ&amp;lt;math&amp;gt;\boldsymbol{a}_{j}\, &amp;lt;/math&amp;gt;をサポート・ベクターと呼ぶ.したがって, 判別関数は双対問題の最適解とサポート・ベクターにより次のように表されることとなる.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f(\boldsymbol{x}) = \boldsymbol{x}^{T}  \boldsymbol{w}^{*} - b^{*}&lt;br /&gt;
        = \sum_{j \in SV} \alpha_{j}^{*} y_{j} \boldsymbol{x}^{T} \boldsymbol{a}_{j} - b^{*}\, &amp;lt;/math&amp;gt;　　　　　&amp;lt;math&amp;gt;(5)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
さらに, 双対問題 (4) や主問題 (3) は, サポート・ベクター以外を全て取り除いても最適解は不変であり, これらの点はSVMでの判別にはまったく寄与していないことになる.&lt;br /&gt;
&lt;br /&gt;
　SVMの最大の特徴は, 双対問題(4)を応用することで非線形な判別関数を構成できる点にある. 非線形な判別関数を構成するためには, まず, 適当な非線形変換&amp;lt;math&amp;gt;\phi: \mathbb{R}^{N} \to {\mathcal F}\, &amp;lt;/math&amp;gt;を使い各データ&amp;lt;math&amp;gt;\boldsymbol{a}_{j}\, &amp;lt;/math&amp;gt;をより高い次元の特徴空間&amp;lt;math&amp;gt;{\mathcal F}\, &amp;lt;/math&amp;gt;の元へと射影する. 射影された&amp;lt;math&amp;gt;{\mathcal F}\, &amp;lt;/math&amp;gt;の元&amp;lt;math&amp;gt;\phi(\boldsymbol{a}_{1}),\phi(\boldsymbol{a}_{2}),\ldots,\phi(\boldsymbol{a}_{M})\, &amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;{\mathcal F}\, &amp;lt;/math&amp;gt;上での線形な判別関数を求めれば, 元の空間で見れば非線形な判別関数を求めたこととなる.&lt;br /&gt;
&lt;br /&gt;
　ここで, 双対問題 (4) に注目すれば,&amp;lt;math&amp;gt;{\mathcal F}\, &amp;lt;/math&amp;gt;上の内積&amp;lt;math&amp;gt;\phi(\boldsymbol{a}_{i})^{T}\phi(\boldsymbol{a}_{j})\, &amp;lt;/math&amp;gt;の値のみが得られれば定式化が可能であり, 特徴空間での点&amp;lt;math&amp;gt;\phi(\boldsymbol{a}_{j})\, &amp;lt;/math&amp;gt;の座標を必ずしも必要としないことが分かる. そこで, SVMではカーネル関数と呼ばれる特殊な関数&amp;lt;math&amp;gt;\mathcal {K} ( {\cdot} , {\cdot} )\, &amp;lt;/math&amp;gt;を用い元のデータ&amp;lt;math&amp;gt;\boldsymbol{x}, \boldsymbol{x}' \in \mathbb{R}^{N}\, &amp;lt;/math&amp;gt;から直接&amp;lt;math&amp;gt;{\mathcal F}\, &amp;lt;/math&amp;gt;の元&amp;lt;math&amp;gt;\phi(\boldsymbol{x}),\phi(\boldsymbol{x}')\, &amp;lt;/math&amp;gt;の内積&amp;lt;math&amp;gt;\phi(\boldsymbol{x})^{T}\phi(\boldsymbol{x}')\, &amp;lt;/math&amp;gt;を算出し, 双対問題の最適化により非線形の判別関数が求められる [1]. よく用いられる代表的なカーネル関数として, 多項式カーネル&amp;lt;math&amp;gt;\mathcal{K} (\boldsymbol{x}, \boldsymbol{x}' ) = \left( \boldsymbol{x}^{T}\boldsymbol{x}' + c \right)^{d}\,&amp;lt;/math&amp;gt; やRBFカーネル &amp;lt;math&amp;gt;\mathcal{K} (\boldsymbol{x},\boldsymbol{x}' ) = \exp\left( -\| \boldsymbol{x} -  \boldsymbol{x}' \|^{2}/ \sigma^{2} \right )\, &amp;lt;/math&amp;gt;, (ただし&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;は自然数のパラメータ, &amp;lt;math&amp;gt;c,\sigma\, &amp;lt;/math&amp;gt; は実数のパラメータである) などがある.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　カーネル関数の値&amp;lt;math&amp;gt;\mathcal{K} ( \boldsymbol{a}_{i}, \boldsymbol{a}_{j} ) \, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;i-j\, &amp;lt;/math&amp;gt;成分とする&amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt;次の対称行列を&amp;lt;math&amp;gt;K\, &amp;lt;/math&amp;gt;とすれば, &amp;lt;math&amp;gt;K\, &amp;lt;/math&amp;gt;が半正定値行列となるようなカーネル関数をMercerカーネル(あるいは半正定値カーネル)と呼び, このようなカーネル関数であれば,&amp;lt;math&amp;gt;\mathcal{K} ( \boldsymbol{a}_{i}, \boldsymbol{a}_{j} )=\phi(\boldsymbol{a}_{i})^{T}\phi(\boldsymbol{a}_{j})\, &amp;lt;/math&amp;gt;となる特徴空間への変換&amp;lt;math&amp;gt;\phi(\cdot)\, &amp;lt;/math&amp;gt;が存在することが保証される. 多項式カーネルやRBFカーネルはMercerカーネルである [5].また, Mercerカーネルを用いるのであれば, 対応した双対問題は常に凹二次関数の最大化となり, 通常の二次計画問題の解法を用いれば大域的に最適化が可能である.&lt;br /&gt;
&lt;br /&gt;
　すなわち, 双対問題の最適解を&amp;lt;math&amp;gt;\alpha_{j}^{*}\, &amp;lt;/math&amp;gt;とすれば, カーネル関数を用いた場合には, 次の非線形な判別関数が求められることとなる.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(\boldsymbol{x}) = \sum_{j \in SV}\alpha_{j}^{*} y_{j}&lt;br /&gt;
                       \mathcal{K} ( \boldsymbol{x}, \boldsymbol{a}_{j} )- b^{*}.\, &amp;lt;/math&amp;gt;　　　　　&amp;lt;math&amp;gt;(6)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　すなわち, 判別関数&amp;lt;math&amp;gt;f(\cdot)\, &amp;lt;/math&amp;gt;は, サポート・ベクター &amp;lt;math&amp;gt;\boldsymbol{a}_{j}\ (j \in SV)\, &amp;lt;/math&amp;gt;に対応するカーネル関数&amp;lt;math&amp;gt;\mathcal{K} (\boldsymbol{x}, \boldsymbol{a}_{j} )\, &amp;lt;/math&amp;gt;の重ね合せとして算出されると見ることができる.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] B. E. Boser, I. M. Guyon, and V. N. Vapnik, &amp;quot;A training algorithm for optimal margin classifiers,&amp;quot; in ''Proceedings of the fifth annual workshop on Computationa learning theory'', USA, 144-152, 1992.&lt;br /&gt;
&lt;br /&gt;
[2] C. Cortes and V. Vapnik, &amp;quot;Support-vector networks,&amp;quot; ''Machine learning'', '''20''' (1995), 273-297.&lt;br /&gt;
&lt;br /&gt;
[3] T. Joachims, &amp;quot;Making large-scale support vector machine learning practical,&amp;quot; in ''Advances in Kernel Methods'', B. Sch&amp;amp;ouml;lkopf, C. Burges, and A. Smola, eds., The MIT Press, 169-184, 1999.&lt;br /&gt;
&lt;br /&gt;
[4] J. C. Platt, &amp;quot;Fast training of support vector machines using sequential minimal optimization,&amp;quot; in ''Advances in Kernel Methods'', B. Sch&amp;amp;ouml;lkopf, C. Burges, and A. Smola, eds., The MIT Press, 185-208. 1999.&lt;br /&gt;
&lt;br /&gt;
[5] J. Shawe-Taylor and N. Cristianini, ''Kernel Methods for Pattern Analysis'', Cambridge University Press, 2004.&lt;br /&gt;
&lt;br /&gt;
[6] V. N. Vapnik, ''The nature of statistical learning theory'', Statistics for Engineering and Information Science, Springer-Verlag, 2000.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|さぽーとべくたーましん]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E8%AB%96%E7%90%86%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&amp;diff=9724</id>
		<title>論理プログラミング</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E8%AB%96%E7%90%86%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&amp;diff=9724"/>
		<updated>2008-03-23T08:59:31Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ろんりぷろぐらみんぐ (logic programming)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
知識や森羅万象の因果関係を論理記号と非論理記号を使って形式的に記述したものは論理式と呼ばれる. この中で一階述語論理式と呼ばれ, &amp;quot;それを成り立つようにするには, いくつかのそれぞれ異なる条件が満たされればよい&amp;quot; ことを記述する論理式集合の処理を対象として, ある論理式が成り立つかどうかの検証過程を計算過程とみなしたコンピュータプログラムを論理プログラム, このような計算原理に基づくプログラム法を論理プログラミングという.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　論理とは「推理の仕方, 論証の筋道」を意味し, 論理学とは「正しい認識を得るための規範となるべき思惟の法則及び形式を研究する学問一般」をいう. その中で [[記号論理学]] (symbolic logic) とは「論理の対象となる思考の終局的要素とその基本的な関係を数学の記号に類するもので表現し, 論理的操作を数学の演算に類する操作で行う論理学」であって, 論理計算, 数学的論理学と大体同義であるとされる [1]. 従って, 記号論理は[[論理推論]] (logical reasoning) 分野に属し, その研究はわれわれの興味の対象要素(思考の終局的要素)と対象間の論理的関係を操作し, 論証の道筋を検証し, 正しい認識を得ることに関する方法論の探究を意味する. &lt;br /&gt;
&lt;br /&gt;
　このことはわれわれが計算機を使って計算を行う, 問題を解く, あるいは, 対象を計算機で制御するなどの諸計算行為と多くの類似点をもつ. しかし, こうした (数値的) 計算行為には, 使用するプログラム言語のもつ諸規則 (文法など) や計算順序などを勘案しつつアルゴリズムを構築しプログラミングを行うことが要求されるため, こうした方法では, 知識としての論理の対象となる思考の終局的要素とその基本的な関係を, 直接表現し利用することは, 従来, 困難であった. 近年, 知識工学 (knowledge engineering) と呼称され, 知識を計算行為の対象, すなわち知識処理を対象とする分野が展開されてきた. これは知識を約束に従って記号化し, いわゆる知識ベースとして計算機の中にこれを蓄え, これらを利用しつつ, 対象問題 (ここでは命題) を解こうとする研究分野であって, 記号論理学がその理論的基礎を成す. &lt;br /&gt;
&lt;br /&gt;
　さて, 知識工学では, 理論・実用の両面にわたって特に多くの研究やシステム開発が, 一階述語論理(first-order predicate logic)を利用して行われている. 一階述語論理に基づく場合, 知識は記号列で表現され, 知識の操作は, 短い列から長い列を生成する構文的規則(syntax), 与えられた記号列を解釈する意味論的規則 (semantics), 構文的規則に基づく推論規則 (rule of inference) および系全体に関する公理 (axiom) に基づいて行われる. これは例えて言えば, アルファベットから単語が構成され, 単語群から文節が構成され文節群から文が構成される仕組である. 文法に相当するものとして構文的規則があり, 文字列としての単語や文節, 文章の意味解釈に相当する操作が意味論的規則に則って用意される. &lt;br /&gt;
&lt;br /&gt;
　記号論理的に見ると一階述語論理の記号列は, 論理記号 (結合子, 限定記号など) と非論理記号 (定数, 変数, 述語, 関数) からなり, 非論理記号に固有の意味を与えたとき, その解釈は一意的に決まる. このことを, 一階言語を定めたという. またここで言う述語 (predicate) は, その引き数である定数や変数の状態や性状 (つまり, ～である；～する, など) を記述する. 述語の解釈としての論理的意味付けには, ブール代数では0か1, 二値論理では真か偽, ファジィ論理では数値的真理値や言語的(linguistic)真理値を割り当てる. 変数や定数, さらに, 変数や定数をすべての引数に代入した関数を項 (term) と呼ぶ. &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;変数の述語の各引数に項を代入した論理式を原子論理式 (atomic formula) といい, これらを論理記号で結合したものも論理式という. さらに, 論理式同士を論理記号で結合したものも論理式という. 代表的論理式同士の関係を意味づけしたものがいわゆる真理値表 (truth table) を構成する. &lt;br /&gt;
&lt;br /&gt;
　論理式 &amp;lt;math&amp;gt;\phi\, &amp;lt;/math&amp;gt; を真とするある解釈と項への値割り当てが存在するならば, この論理式は充足可能 (satisfiable) であるという. さらに論理式の集合&amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; を充足する任意の解釈と割り当てがある論理式 &amp;lt;math&amp;gt;\phi\, &amp;lt;/math&amp;gt; を充足するとき, この論理式 &amp;lt;math&amp;gt;\phi\, &amp;lt;/math&amp;gt; は論理式集合 &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; の論理的帰結と呼ばれる. ゲーデルの完全性定理 (completeness theorem) によれば, ある論理式 &amp;lt;math&amp;gt;\phi\, &amp;lt;/math&amp;gt; が論理式集合 &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; の論理的帰結であるならば, 論理式集合 &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; からその論理式 &amp;lt;math&amp;gt;\phi\, &amp;lt;/math&amp;gt; を導く有限の長さの記号列を生成できる. これは論理式集合から有限回のステップで機械的に論理的帰結を導くことができるアルゴリズムの存在を言明している. ここから一階述語論理の推論規則として唯一定義されるモーダス・ポーネスが提示される. すなわち, &amp;quot;二つの論理式 &amp;lt;math&amp;gt;\phi\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;\psi\, &amp;lt;/math&amp;gt; があり, 論理式 &amp;lt;math&amp;gt;\phi\, &amp;lt;/math&amp;gt; が論理式集合 &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; の論理的帰結かつ「&amp;lt;math&amp;gt;\phi\, &amp;lt;/math&amp;gt; ならば &amp;lt;math&amp;gt;\psi \, &amp;lt;/math&amp;gt;」も &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; の論理的帰結ならば, &amp;lt;math&amp;gt;\psi\, &amp;lt;/math&amp;gt; は &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; の論理的帰結である. &amp;quot;これは連続値を扱う[[ファジィ推論]] (fuzzyinference) [3] の場合にも前提, 条件および近似的帰結として成り立つ推論規則である. &lt;br /&gt;
&lt;br /&gt;
　次に, [[論理プログラミング]] (logic programming) において重要な「証明」の概念を述べる. 論理式の列 &amp;lt;math&amp;gt;\phi_\iota (\iota=1, 2, . . n)\, &amp;lt;/math&amp;gt; が存在し, 全ての &amp;lt;math&amp;gt;\phi_\iota\, &amp;lt;/math&amp;gt; が公理か, 論理式集合 &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; の元か, または列のそれ以前に位置する他の論理式からモーダ・ポーネスによって導かれたか, のいずれかが成り立つとする. この時, 論理式の列 &amp;lt;math&amp;gt;\phi_\iota\, &amp;lt;/math&amp;gt; は論理式 &amp;lt;math&amp;gt;\phi_n\, &amp;lt;/math&amp;gt; の証明と呼ばれ, 論理式 &amp;lt;math&amp;gt;\phi_n\, &amp;lt;/math&amp;gt; は論理式集合 &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; から証明可能である, といわれる. &lt;br /&gt;
&lt;br /&gt;
　以上の議論の結果として形式的知識表現としての論理式はプログラムに, その推論過程としての証明は計算に対応することが理解できる. 現実的視点から一階述語論理のある制限されたクラスのみを対象としてプログラミング環境を実現したものを論理プログラミングという. そのような制限されたクラスとして[[ホーン節]]がある. 一般に論理プログラミングでは, 与えられた論理式の否定(&amp;lt;math&amp;gt;\phi_1\, &amp;lt;/math&amp;gt;)からトップダウン的またはボトムアップ的に[[導出原理]]を利用して演繹的に空節(&amp;lt;math&amp;gt;\phi_n\, &amp;lt;/math&amp;gt;)を導くという証明の手続きが利用される. このようにして &amp;lt;math&amp;gt;\phi_1\, &amp;lt;/math&amp;gt; の充足不可能性を証明することによって, 元の論理式が真であることを証明するのである. 論理プログラミングにおける代表的プログラム言語がPROLOGであり, わが国の第５世代コンピュータ計画をはじめとして知識工学, 人工知能分野に多くの影響を与えている. &lt;br /&gt;
&lt;br /&gt;
　論理プログラミングの直接的応用としてはパズル, 定理証明などが知られているが, その実際的応用はいわゆる各種[[エキスパートシステム]] (expert system) の構築にある. エキスパートシステムでは, 事実や専門家の知識を論理式, 特にホーン節形式で表現して知識ベースとして蓄え, 知識ベースの内容を論理式集合 &amp;lt;math&amp;gt;\Gamma\, &amp;lt;/math&amp;gt; として, 与えられた問題 (論理式) に対して論理的帰結を自動的に得る手続きを論理プログラミングが受け持つ [4]. 論理プログラミングによる証明の解釈そのものが, エキスパートシステムにおいては人間への自動説明機能となる. このようなエキスパートシステムの持つ宿命的課題は必要十分な知識をいかに獲得するかである. [[知識獲得]] (knowledge acquisition) の方法として人手による方法ばかりではなく自律的学習機能を導入する研究もなされている. さらに, 実用上の問題として蓄えた知識の上の推論の非単調性 (non-monotonicity) の問題, すなわち新しく入力された知識が以前の知識と矛盾するような結果を引き起こす現象がしばしば起こることが指摘されている. これに対する有力な方法は未だに確立されていないが, 実際にはこのような場合でも[[非単調推論]] (non-monotonic reasoning) と呼ばれる方法が利用される. &lt;br /&gt;
&lt;br /&gt;
　論理プログラミングが人の論理的知識を蓄積し利用しようとするものであるのに対して, [[定性推論]] (qualitative inference) は物理法則に基づいた因果関係を基本として, 対象とする系の動的挙動を定性的に推論し, 理解しようとする [5]. 通常は微分方程式で表わされ解析され理解されるところの物理現象を, 素朴に理解しようとするものと考えることができるが, 計算機の数値計算能力に依存する部分がある. 定性推論は物理現象に対して素直に抱く疑問「なぜ?」, 「こうなったらどうなる?」に答えるのに有効な推論方式と考えられる. &lt;br /&gt;
&lt;br /&gt;
　ここで取り上げた伝統的な記号論理的推論に基づく論理プログラミング, 曖昧さを導入したファジィ推論, あるいは知識の直接利用を狙ったエキスパートシステム, さらには, 物理現象の動的振る舞いを対象とする定性推論を有機的に結合することにより, 真に有効な人工知能が実現されることを期待したい. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] 新村出編, 『広辞苑(第5版)』, 岩波書店, 1998. &lt;br /&gt;
&lt;br /&gt;
[2] 森下真一, 『知識と推論』, 情報数学講座10, 共立出版, 1997. &lt;br /&gt;
&lt;br /&gt;
[3] 水本雅晴, 『ファジィ理論とその応用』, サイエンス社, 1988. &lt;br /&gt;
&lt;br /&gt;
[4] 安部憲広, 滝寛和, 『エキスパート・システム入門』, 共立出版, 1987. &lt;br /&gt;
&lt;br /&gt;
[5] 溝口文雄, 古川康一, 安西祐一郎, 『定性推論』, 知識情報処理シリーズ別巻1, 共立出版, 1989.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|ろんりぷろぐらみんぐ]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD&amp;diff=9723</id>
		<title>人工知能</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD&amp;diff=9723"/>
		<updated>2008-03-23T08:58:41Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【じんこうちのう (artificial intelligence)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
人間や生物の知能を, 機械によって実現したもの, あるいはその研究分野. 具体的には, コンピュータを処理の中心とし, 各種入出力機器を結合したシステムである. その主要なテーマは, チェス, 将棋等のゲームを典型的問題とする問題解決・推論, 文字, パターン等の認識, 言語の理解, 診断等の現象の分析, 経験からの学習等がある. 計算のパラダイムとして, 述語論理, ニューラルネットワーク, 遺伝的アルゴリズム, プロダクションシステム等がある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[人工知能]] (artificial intelligence)とは, 人間(あるいは広く生物)の知的活動の機能を人工的に実現するための, 主としてコンピュータを中心とする人工物を指す. そして, 人工知能を実現するための研究が人工知能研究である. 人工知能実現のためには, 知的活動の本質的原理を明確にするための分析的科学的アプローチと, 知的活動の機能をモデル化し, それを実現することによって, 知的活動の本質に迫る構成的工学的アプローチの両面からの研究が必要である. &lt;br /&gt;
&lt;br /&gt;
　人工知能研究は, 大きく分けると以下の3つの分野から研究が進められている. 人工知能の実現にはこれら3つの分野から総合的に研究を進めることが必要であるとの認識がなされている. &lt;br /&gt;
&lt;br /&gt;
:*生理学分野: 生理学的に直接脳の機能を明らかにする立場であり, 脳科学はその典型である. &lt;br /&gt;
&lt;br /&gt;
:*認知心理学分野: 人間の行動を通して間接的に知能を研究する立場であり, 認知心理学が代表的である. &lt;br /&gt;
&lt;br /&gt;
:*情報工学分野: 知能処理のモデルを立て, 知能の機能を実現することを目指す立場であり, 情報工学を中心とする工学的アプローチはこれに属する. &lt;br /&gt;
&lt;br /&gt;
　人工知能における研究は多岐にわたるが, 情報工学分野における基本的研究課題として, 以下の5つがあげられる. &lt;br /&gt;
&lt;br /&gt;
:(1) 知識　知識の獲得と表現とその利用　 &lt;br /&gt;
&lt;br /&gt;
:(2) 推論　推論表現と推論方式　 &lt;br /&gt;
&lt;br /&gt;
:(3) 学習　学習理論と学習機能　 &lt;br /&gt;
&lt;br /&gt;
:(4) アルゴリズム　有効な解探索戦略　 &lt;br /&gt;
&lt;br /&gt;
:(5) プログラム　人工知能プログラミング言語の開発&lt;br /&gt;
&lt;br /&gt;
　人工知能の研究を計算パラダイムから見ると, 論理計算パラダイムとシミュレーション計算パラダイムに分けられる. 論理計算パラダイムは, 知能や知識や推論を論理で表現し, アルゴリズムを駆使して人工知能の機能を実現するパラダイムである. 一方, シミュレーション計算パラダイムは, モデルを与え, シミュレーションを基礎に問題解決をはかる計算パラダイムである. 人工知能研究の歴史では, この2つのパラダイムが交互に盛んになっている. 人工知能研究の歩みに沿って, 主要な研究成果を概観する. &lt;br /&gt;
&lt;br /&gt;
:(1) 1940年～1960年&lt;br /&gt;
&lt;br /&gt;
　人工知能の発展からみると, この時期にはアルゴリズム, 論理, シミュレーションの計算パラダイムが混然として誕生した. 特筆すべきことは, 黎明期と言うべきこの時期にすでに, 現在の人工知能に関するほとんどの基本的概念が議論されていたことである. ニューラルネットワーク, パーセプトロン, サイバネティックス, チューリングマシン, リスト処理言語Lisp等が提案された. J. McCarthy(マッカーシー)による人工知能と言う名前が合意されたのは, 1956年に開催されたダートマス会議でのことであった. &lt;br /&gt;
&lt;br /&gt;
:(2) 1960年代～1990年&lt;br /&gt;
&lt;br /&gt;
　この時期は, 論理型計算パラダイムが中心となった時期である. また, 認知心理学的アプローチも盛んになるなど, 人工知能研究が盛んになった時期であった. E. A. Feigenbaum(ファイゲンバウム)が実用的問題に対する挑戦として知識工学を提唱した. 知識に関する基本的課題として, [[知識表現]] (knowledge representation), 知識獲得, 知識利用が明確にされた. 　&lt;br /&gt;
&lt;br /&gt;
:*知識獲得　人間の知識を人工知能に持たせ, 知識の集積を行う. 　 &lt;br /&gt;
&lt;br /&gt;
:*知識表現　知識を人工知能内で表現する. 宣言型知識表現として, 意味ネットワーク, [[フレーム]] (frame)システム, 手続き型知識表現として[[プロダクション規則]] (production rule), 論理型知識表現として述語論理による表現がある. 　&lt;br /&gt;
&lt;br /&gt;
:*知識利用　問題解決に知識を利用する. [[プロダクションシステム]] (production system), エキスパートシステムがある. &lt;br /&gt;
&lt;br /&gt;
　意味ネットワークやプロダクションシステムによる推論型知識表現と医療診断エキスパートシステムMYCIN(マイシン)等の実用人工知能を目指すエキスパートシステムが開発された. アルゴリズムとして, 幅優先探索法, 深さ優先探索法, [[発見的探索]] (heuristic search) 法が普及した. 論理型知識の代表として, J. A. Robinsonによる一階述語論理における[[導出原理]] (resolution principle) を応用した論理型プログラミング言語Prologの開発が行われた. また, 日本の第5世代コンピュータ計画(1982-1991)もPrologをベースに行われた. &lt;br /&gt;
&lt;br /&gt;
:(3) 1990年以降&lt;br /&gt;
&lt;br /&gt;
　これまでの研究で, 人間の直感, 感性等は, 論理型計算パラダイムでは, 実現が難しいとの認識がなされた. また, エキスパートシステムは知識獲得が決定的なボトルネックとなることも判明した. 代わって, 盛んになってきたのが, シミュレーションを基本とする分散計算パラダイムである. ニューラルネットワークが復活し,[[逆伝播学習アルゴリズム]] (error back propagation learning)による学習とパターン認識への応用, [[包摂アーキテクチャ]] (subsumption architecture)のロボット工学への応用, 遺伝的アルゴリズムによる人工生命の研究等が行われている. &lt;br /&gt;
&lt;br /&gt;
　さらに, これらの計算機構を取り入れたマルチエージェント計算は, 個々のエージェントの自律的行動とエージェント間のコミュニケーションにより, システム全体の目的にとって, 最適な行動の創発を期待する計算パラダイムである. &lt;br /&gt;
&lt;br /&gt;
　以上の工学的アプローチに対して, 大脳生理学や脳科学の立場から脳機能の解明を目指す脳研究が盛んになりつつある. 脳機能の解明は, 人工知能のモデルを構築するために必要なものとして, 人工知能研究からもその成果が期待されている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] 白井良明, 辻井潤一, 『人工知能』, 岩波書店, 1984. &lt;br /&gt;
&lt;br /&gt;
[2] S. Russell and P. Norvig, ''Artificial Intelligence - A Modern Approach,'' Prentice-Hall, 1995. 古川康一監訳, 『エージェントアプローチ人工知能』, 共立出版, 1997. &lt;br /&gt;
&lt;br /&gt;
[3] 前田隆, 青木文夫, 『新しい人工知能』, オーム社, 1999.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|じんこうちのう]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%88%B6%E7%B4%84%E5%85%85%E8%B6%B3%E5%95%8F%E9%A1%8C&amp;diff=9722</id>
		<title>制約充足問題</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%88%B6%E7%B4%84%E5%85%85%E8%B6%B3%E5%95%8F%E9%A1%8C&amp;diff=9722"/>
		<updated>2008-03-23T08:57:45Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【せいやくじゅうそくもんだい (constraint satisfaction problem)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
与えられたすべての制約を満たすような各変数への値の割当てを求める問題.多くの組合せ問題を定式化することができ,問題解決の一般的な枠組みと位置付けられる.主に人工知能の分野で, 基盤技術の1つとして研究されている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[制約充足問題]] (constraint satisfaction problem, CSP) は,一般に, &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt; 個の変数 &amp;lt;math&amp;gt;X_i\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(i = 1, 2, \ldots, n)\, &amp;lt;/math&amp;gt;と各変数 &amp;lt;math&amp;gt;X_i\, &amp;lt;/math&amp;gt; がとり得る有限個の値から成る領域 &amp;lt;math&amp;gt;D_i\, &amp;lt;/math&amp;gt;,及び &amp;lt;math&amp;gt;m\, &amp;lt;/math&amp;gt;個の制約&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;C_j(X_{j_1},X_{j_2}, \ldots, X_{j_{t_j}})   \subseteq D_{j_1} \times D_{j_2} \times \cdots \times D_{j_{t_j}}  (j = 1, 2, \ldots, m)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で定義される.制約 &amp;lt;math&amp;gt;C_j\, &amp;lt;/math&amp;gt; は,変数 &amp;lt;math&amp;gt;X_{j_1}, X_{j_2}, \ldots, X_{j_{t_j}}\, &amp;lt;/math&amp;gt; に対する &amp;lt;math&amp;gt;t_j\, &amp;lt;/math&amp;gt; 項制約であり,これらの変数が同時にとることのできる値の組の集合である.ここで, すべての制約を満たす値の組&amp;lt;math&amp;gt;(d_1, d_2, \ldots, d_n) \in D_1 \times D_2 \times \cdots \times D_n\, &amp;lt;/math&amp;gt;をCSPの解と呼び, (存在するならば) 一つ, あるいはすべての解を求めることがCSPの目的である.&lt;br /&gt;
&lt;br /&gt;
　なお, 人為的に新たな変数を加えることで,多項制約を複数の二項制約で記述することができ,制約を二項制約に限定した形で定式化することも多く, 二項CSP (binary CSP) と呼ばれる.また, 上の定義では, 制約は値の組の集合で与えられるが, それらすべてを陽に記述する必要はなく,等式や論理式などを用いて表現することもできる.&lt;br /&gt;
&lt;br /&gt;
　CSPの高い定式化能力を活かして汎用問題解決器 (general problem solver) の開発が可能である.すなわち, 与えられた問題をCSPとして定式化し, その解を求めることで元の問題を解くことができる.この考えは[[制約プログラミング]]に通ずるものである. 制約プログラミングでは, 制約充足はシステムが行うものとし, それゆえ, 制約を記述することのみがプログラマ (ユーザ) の仕事であり, それ自体がプログラミングと考えられる [1].&lt;br /&gt;
&lt;br /&gt;
　CSPの解法としては,バックトラッキング法 (backtracking method) が代表的である. これは制約違反が起こらないように, ある順序に従って, 変数への値の割当てを順次行っていく方法であり, 木探索 (tree search) とも呼ばれる.変数に値を割当てる際, すべての制約を満たす値が存在しなければ, 一つ前の変数に戻ってその値を取消し, 他の値を試みる (バックトラック) という操作を繰り返す. この方法により, CSPを厳密に解くことが可能であるが, バックトラックが頻繁に発生する場合には効率的ではない. そこで, 木探索を効率的に行うための手法が種々提案されている. フォワードチェッキング (forward checking) は, 変数に値を割当てる度に, まだ値が割当てられていない変数の値域から, 制約に矛盾する値を予め削除しておく方法である. このとき, ある変数の値域が空になれば, 木探索を進めることなく, 現在の割当てが解の一部とはなり得ないと結論づけられる. このように, 制約に矛盾する値を変数の値域から削除する方法は, 一般に[[制約伝播]] (constraint propagation) と呼ばれ, 問題縮小のための前処理としても用いられる. また, バックジャンピング (backjumping) では, 木探索において変数に値を割当てる際, そのすべての値が, 変数 &amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt; 以前に値が割当てられた変数と制約矛盾を起こす場合, 一つ前の変数に戻るのではなく, 変数 &amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt; まで戻ってその値を変更する. いずれも無駄な探索を防ぐために枝刈りを行うものであり, この他, バックマーキング (backmarking) やバックチェッキング (backchecking) などの手法が提案されている. また, バックトラックの数は, 値を割当てる変数の順序や変数に割当てる値の順序に依存する. これらの順序を発見的手法を用いて定める方法も提案されている [3].&lt;br /&gt;
&lt;br /&gt;
　上述の手法を用いることにより, 多少の探索の効率化が可能であるが, CSPが解を持つかどうかを決定する問題はNP完全であり, 多項式時間でCSPを(厳密に)解くアルゴリズムは存在しないと考えられる. そこで, バックトラックなしの木探索で(すなわち多項式時間で)解を一つ求めることができるCSPの部分クラスが,&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-整合 (&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-consistency) や &amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-木 (&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-tree) といった概念を用いて定義されている [2, 3].&lt;br /&gt;
&lt;br /&gt;
　CSPに対する[[近似アルゴリズム]]の研究も数多くなされている.その多くは,すべての制約を満たすとは限らない全変数の値の組 &amp;lt;math&amp;gt;(d_1, d_2, \ldots, d_n)\, &amp;lt;/math&amp;gt; に対して, 値の変更を繰り返していくことで解を求めようとするものであり, 反復改善法 (iterative improvement) や山登り法 (hill climbing method) などと呼ばれている.厳密性は保証されないが, 実用上, 非常に有効であることが計算実験により確かめられている. これらの最も初期のものとしては, MCHC法 (min-conflict hill climbing) が挙げられる. これは,制約に違反している変数を一つ任意に選び, その値を制約違反数が最も少なくなる値に変更するという操作を, どの変数の値を変更しても制約違反数を減らすことができなくなるまで繰り返すものである. もちろんこれだけでは高い性能は望めず, 初期割当てを変えて何度か試行を繰り返すなどの工夫が必要である. ニューラルネットワーク (neural network) による近似解法の研究も比較的古く, 代表的なものとして GENET と呼ばれるものがある. その他多数の手法が提案されており, アニーリング法 (simulated annealing) や遺伝アルゴリズム (genetic algorithm) など, 組合せ最適化問題に対する一般的な枠組みとして近年盛んに研究されている, メタ戦略 (meta-heuristics) の適用も行われている [3].&lt;br /&gt;
&lt;br /&gt;
　制約充足最適化問題 (constraint satisfaction optimization problem, CSOP) は, 解 &amp;lt;math&amp;gt;(d_1, d_2, \ldots, d_n) \in S\, &amp;lt;/math&amp;gt; に対してその評価値を定める関数 &amp;lt;math&amp;gt;f: S \rightarrow Z\, &amp;lt;/math&amp;gt; が与えられ, それを最小化(あるいは最大化)する問題である(ここで, &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; は解集合, &amp;lt;math&amp;gt;Z\, &amp;lt;/math&amp;gt; は整数集合). CSOPはCSPの拡張であり, スケジューリング問題など多くの現実問題を含む. CSOPの厳密解法としては, 分枝限定法が一般的である. 基本的には CSP のバックトラッキング法と同じであり, 無駄な探索を省くため, いかに効率良く枝刈りを行うかが重要となる.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] 渕一博 監修, 溝口文雄, 古川康一, J-L. Lassez 編, 『制約論理プログラミング』, 1989.       &lt;br /&gt;
&lt;br /&gt;
[2] 西原清一, 「制約充足問題の基礎と展望」, 『人工知能学会誌』, '''12''' (3) (1997), 351-358.&lt;br /&gt;
&lt;br /&gt;
[3] E. Tsang, ''Foundations of Constraint Satisfaction'', Academic Press, 1993.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|せいやくじゅうそくもんだい]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF&amp;diff=9721</id>
		<title>ニューラルネットワーク</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF&amp;diff=9721"/>
		<updated>2008-03-23T08:56:54Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【にゅーらるねっとわーく (neural network)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
(1)　生物体の神経回路網のこと. &lt;br /&gt;
&lt;br /&gt;
(2)　神経回路の構造やニューロン(neuron)の作用を部分的に模倣した, コンピュータや電子回路を用いた人工的な「神経回路網」で, 記憶, 認識, 連想などの機能を実現する工学的なシステムのこと. ノイズに対する頑健性(robustness), 類似入力に対する汎化性(generalization), 学習が容易な高い適応性(adaptability), 並列処理への潜在的可能性をもつ.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[ニューラルネットワーク]] (neural network) は神経回路網のことであり, その機能をコンピュータや専用ハードウェアで模倣したものを人工ニューラルネットワーク (artificial neural network) という. ORなどの分野で単にニューラルネットワークという場合は, 多くは人工ニューラルネットワークのことを指し, 具体的には比較的単純な非線形信号処理ユニットを結合することで構成されるネットワークのことと考えることが多い. ニューラルネットワークは本質的に並列分散処理的であり, 自己組織的であるといった特徴を内包している. &lt;br /&gt;
&lt;br /&gt;
　ニューラルネットワークの歴史を概観すると以下のようになる. 1943年にマッカロック（W. McCulloch）とピッツ（W. Pitts） [1] によるしきい値素子モデルが提案された. 1949年の心理学者D. Hebbの &amp;quot;The Organization of Behavior&amp;quot; [2] において示されたシナプス強化則とも言われる学習方法に関する考え方は, その後提案された多くのニューラルネットの学習方法の基礎となっている. 1962年, ローゼンブラット（F. Rosenblatt）によるパーセプトロン [3] (perceptron) が提案されたが, 1969年, ミンスキー（M. Minsky）とパパート（S. Papert）によるパーセプトロンの限界の呈示, 何人かの研究者による初期バージョンの後, 1986年にラメルハート（D. Rumelhart）, ヒントン（G. Hinton）, ウイリアムス（R. Williams）によりまとめられた階層型ニューラルネットワークの誤差[[逆伝播法]] (back propagation) の定式化 [4] などを経て, 近年は, 脳の機能の実現を強く意識した研究も盛んに行われている. &lt;br /&gt;
&lt;br /&gt;
　ニューラルネットワークは2つの側面から最適化と関係が深い. まず1つは, ニューラルネットワークの機能としての最適化, もう1つは, 何らかの機能を実現するためのニューラルネットワークの学習における最適化である. &lt;br /&gt;
&lt;br /&gt;
　[[ホップフィールドネットワーク]] [5] (Hopfield network) は, 連想記憶を行ったり巡回セールスマン問題などの最適化問題を解くために考え出されたニューラルネットワークで, 1982年, ホップフィールド (J. J. Hopfield) により提案された. 記憶したいパターン情報は定係数&amp;lt;math&amp;gt;T_{ij}\, &amp;lt;/math&amp;gt;の中に埋めこまれる. このモデルは1984年, 連続値モデルに拡張された. 離散および連続モデルを合わせてホップフィールドネットワークと呼ばれる. ホップフィールドとタンク(T. W. Tank)は1985年に, ホップフィールドネットワークを巡回セールスマン問題の解法に用いる方法を示し [6] , ニューラルネットワークの最適化への応用の道を開いた. &lt;br /&gt;
&lt;br /&gt;
　[[ニューラルネットワークによる学習]]は, 教師あり学習, 教師なし学習に大別される. 教師あり学習とは, サンプルデータにおいて, 入力値に対して出力値が与えられ, 多数の入出力組の関係を同時に実現するようにモデルの中のパラメータを調整するモデルであり, その用途としては, 分類及び非線形回帰がある. この２つの本質的な違いは教師出力信号として2値信号を用いるか実数値を用いるかという点である. パーセプトロン, 階層型ネットワーク, RBF (radial basis function) ネットワークなどがあり, データのクラス判定や非線形関数近似を行うモデルを, 例 (examples) としてのデータから構築する. しきい値関数を使ったモデルでは, パーセプトロンなどのように, 誤り訂正学習が用いられる. また, ロジスティック (logistic) 関数などの微分可能関数を用いたモデルでは, 二乗誤差を最小化するような評価関数が学習に用いられる. 階層型ニューラルネットに二乗誤差最小化を取り入れると, 誤差逆伝播法が導かれる. 教師なし学習とは, 入力ベクトルだけがあるもので, 入力ベクトルに関する分布の情報を学習するものであり, 情報圧縮, 確率密度関数モデルを用いた推論などに応用される. コホネン（T. Kohonen）の自己組織化マップ (self organizing map), ガウス混合モデル (Gaussian mixture model), k-meansクラスタリングなどが代表的な例である. &lt;br /&gt;
&lt;br /&gt;
　人工知能においては, 記号論理をベースにしたシンボリストモデル (symbolist model) に対し, ニューラルネットワークの相互結合をもじったコネクショニストモデル (connectionist model) は, 相互に対極にあるものとして対比されてきた. シンボリストモデルは論理的な説明に適しており, コネクショニストモデルは学習が容易であるという特長を持つ反面, 一般にシンボリストモデルは学習が困難であり, コネクショニストモデルは説明能力に欠けるということがいえる. コネクショニストモデルが説明能力に欠けるというのは, 入力空間を自在に切り分けることができるがゆえにその複雑な切り口を言語的に説明することが困難なためであり, 欠点というよりもそのモデルの持つ特質からくる特徴であって, 特に言語的な説明を要しない制御などの分野では明らかに優れた能力を発揮する. また, 日々の売上データから顧客の特徴を抽出したり, クレジットカードの入会審査を行ったりする[[データマイニング]]（data mining）の分野においても有力な手法として注目されている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] W. W. McCulloch and W. Pitts, &amp;quot;A Logical Calculus of the Ideas Immanent in Nervous Activity,&amp;quot; ''Bull. Math. Biophysics'', '''5''' (1943), 115-133.&lt;br /&gt;
&lt;br /&gt;
[2] A. O. Hebb, ''The Organization of Behavior'', Wiley, 1949. 白井 訳, 『行動の機構』, 岩波書店, 1957.&lt;br /&gt;
&lt;br /&gt;
[3] F. Rosenblatt, ''Principles of Neurodynamics'', Spartan, 1962.&lt;br /&gt;
&lt;br /&gt;
[4] D. E. Rumelhart, G. E. Hinton and R. J. Williams, &amp;quot;Learning Internal Representation by Error Propagation&amp;quot;, in D. E. Rumelhart, J. L. McClelland and the PDP Research Group, ''Parallel Distributed Processing: Explorations in the Microstructure of Cognition'', '''1''', Foundations, MIT Press, 1986. 甘利（監訳）, 『PDPモデル-認知科学とニューロン回路網の探索-』, 産業図書, 1989.&lt;br /&gt;
&lt;br /&gt;
[5] J. J. Hopfield, &amp;quot;Neural Networks and Physical Systems with Emergent Collective Computational Abilities,&amp;quot; in ''Proceedings of the National Academy of Sciences U.S.A.'', '''79''', 2554-2558, 1982.&lt;br /&gt;
&lt;br /&gt;
[6] J. J. Hopfield and T. W. Tank, &amp;quot;Neural Computation of Decisions in Optimization Problems,&amp;quot; ''Biological Cybernetics'', '''52''' (1985), 141-152.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|にゅーらるねっとわーく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%B8%E3%82%A3%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E5%A4%89%E6%95%B0&amp;diff=9720</id>
		<title>ファジィランダム変数</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%B8%E3%82%A3%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E5%A4%89%E6%95%B0&amp;diff=9720"/>
		<updated>2008-03-23T08:55:56Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【 ふぁじぃらんだむへんすう (fuzzy random variable) 】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
確率変数の実現値を[[ファジィ集合]]に拡張した概念で，&lt;br /&gt;
1978年にKawakernaakにより導入された．&lt;br /&gt;
例えば，&lt;br /&gt;
「確率0.3でおおよそ100ぐらい，確率0.7でおおよそ200ぐらい」というように，&lt;br /&gt;
あいまい性を伴う確率的現象を数学的に表現することができる．&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　不確実性(randomness)を含むデータは一般に確率変数(random variable)で表すことができるが，現実には確率的現象を正確に観測できなかったり，確率変数の実現値を確定値ではなく「確率0.3でおおよそ100ぐらい，確率0.7でおおよそ200ぐらい」という形で与えることもある．また，ある母集団の年齢を表す場合に，「おおよそ20歳」や「若い」というようなあいまいなデータで表現されているときには，この母集団の年齢の期待値(expectation)は従来の統計学の枠組みでは計算できない．&lt;br /&gt;
&lt;br /&gt;
　ファジィランダム変数(fuzzy random variable)は，このようなあいまい性(fuzziness)と不確実性を同時に含むデータを数学的に表現したり，統計的に処理する際に基礎となる数学的概念であり，ファジィ確率変数，ランダムファジィ集合(random fuzzy set)とも呼ばれる．確率変数が確率空間(probability space)における標本空間(sample space)から実数値への可測写像(measurable map)であるのに対して，ファジィランダム変数は標本空間からファジィ集合(fuzzy set)への可測写像として定義される．すなわち，直感的に言えば，確率変数の実現値をファジィ集合に拡張した概念とみなすことができる．&lt;br /&gt;
&lt;br /&gt;
　ファジィランダム変数は1978年にKawakernaakにより最初に導入され，元の確率変数のあいまいな観測の結果得られる値として多値論理(multivalued logic)に基づいて定義された[5]．その後，PuriとRalescuはランダム集合(random set)を拡張した概念としてファジィランダム変数を定義し，数学的基礎を構築した[7]．ファジィランダム変数の値域がコンパクトファジィ集合である場合には，Kwakernaakの定義とPuri-Ralescuの定義は同値であるため，特に応用において重要となるファジィ数(fuzzy number)を値域とするファジィランダム変数においては2つの定義は一致する．&lt;br /&gt;
&lt;br /&gt;
　1980年代以降，ファジィランダム変数の期待値や分散(variance)などの定義を初めとして，大数の法則(law of large numbers)や中心極限定理(central limit theorem)，ルベーグの収束定理(Lebesgue dominated convergence theorem)，エルゴード定理(ergodic theorem)などに関する数多くの理論的な研究が行われてきている．&lt;br /&gt;
&lt;br /&gt;
　ファジィランダム変数のＯＲへの応用研究についても線形計画問題(linear programming problem)[3]，在庫管理問題(inventory model)，スケジューリング問題(scheduling problem)，最小木問題(minimum spanning tree problem)，最適停止問題(optimal stopping problem)，オプション理論(option theory)，ベイズネットワーク(Bayesian network)など，様々な領域で近年急速に広がっており，ファジィＯＲ[2]の一分野としても今後益々発展していくものと予想される．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] M.A. Gil, M. Lopez-Diaz and D.A. Ralescu, Overview on the development of fuzzy random variables, ''Fuzzy Sets and Systems'','''157''' (2006), 2546-2557.&lt;br /&gt;
&lt;br /&gt;
[2] 片桐英樹，石井博昭，「ファジィランダムモデル」，『ファジィＯＲ（石井博昭，坂和正敏，岩本誠一編）』, 朝倉書店, 2001, 189-206. &lt;br /&gt;
&lt;br /&gt;
[3] 片桐英樹，坂和正敏，石井博昭，ファジィーランダム変数係数を含む線形計画問題に対する可能性測度と必然性測度を用いた確率計画モデルに基づく意思決定，『電子情報通信学会論文誌 A』, '''J86-A''' (2003), 655-662.&lt;br /&gt;
&lt;br /&gt;
[4] R. Kruse and K. D. Meyer, ''Statistics with Vague Data'', D. Riedel Publishing Company, 1987. &lt;br /&gt;
&lt;br /&gt;
[5] H. Kwakernaak, Fuzzy random variable-1, ''Information Sciences'', '''15''' (1978) 1-29. &lt;br /&gt;
&lt;br /&gt;
[6] 小倉幸雄他，「特集：確率ファジィ解析とその周辺」，『日本ファジィ学会誌』, '''10''' (1998) 1012-1062. &lt;br /&gt;
&lt;br /&gt;
[7] M. L. Puri and D. A. Ralescu, Fuzzy random variables, ''Journal of Mathematical Analysis and Applications'', '''14''' (1986) 409-422.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|ふぁじいらんだむへんすう]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%A9%E3%83%95%E9%9B%86%E5%90%88&amp;diff=9719</id>
		<title>ラフ集合</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%A9%E3%83%95%E9%9B%86%E5%90%88&amp;diff=9719"/>
		<updated>2008-03-23T08:54:58Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【 らふしゅうごう (rough set) 】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
同値関係&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;による&amp;lt;math&amp;gt;x\in X&amp;lt;/math&amp;gt;の同値類を&lt;br /&gt;
&amp;lt;math&amp;gt;[x]_R&amp;lt;/math&amp;gt;と表すと，&lt;br /&gt;
集合&amp;lt;math&amp;gt;A \subseteq X&amp;lt;/math&amp;gt;に対して，&lt;br /&gt;
上近似&amp;lt;math&amp;gt;&lt;br /&gt;
R^*(A) = \{ x \mid [x]_R \cap A \neq \emptyset\}&amp;lt;/math&amp;gt;と&lt;br /&gt;
下近似&amp;lt;math&amp;gt;&lt;br /&gt;
R_*(A) = \{ x \mid [x]_R \subseteq A \}&amp;lt;/math&amp;gt;&lt;br /&gt;
が得られる．&lt;br /&gt;
対&amp;lt;math&amp;gt;\langle R_*(A)&amp;lt;/math&amp;gt;，&amp;lt;math&amp;gt;R^*(A) \rangle&amp;lt;/math&amp;gt;を&lt;br /&gt;
集合&amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;の&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;-ラフ集合と呼ぶ．&lt;br /&gt;
ラフ集合は，[[識別不能性]]による曖昧さをモデル化しており，&lt;br /&gt;
類別や近似に深く関係している．&lt;br /&gt;
決定や診断における不要な属性の発見，&lt;br /&gt;
属性間の依存性の発見など，独特な方法が提案され，&lt;br /&gt;
近似識別や機械学習，意思決定に応用されている．&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　ラフ集合は, [[識別不能性]](indiscernibility)による不確実性を扱う集合概念で, 1982年にポーランドの数学者 Zdzislaw Pawlak 教授により提案された[1,2]. いま, 全体集合として多くの対象の集合を考えよう. これらの対象を同等とみなせるグループ(同値類)に分割したとき, 任意の部分集合は, それに含まれるグループの和集合と, それと共通部分をもつグループの和集合により近似することができる. 前者は下近似と呼ばれ, 与えられた部分集合に確実に含まれる要素から構成される. 一方, 後者は上近似と呼ばれ, 与えられた部分集合に含まれるかもしれない要素からなる. 下近似と上近似とのペアをラフ集合という. 下近似と上近似は, それぞれ, 位相における集合の内部(interior)と閉包(closure), あるいは, 様相論理(modal logic)における必然性(necessity)と可能性(possibility)に対応している. &lt;br /&gt;
&lt;br /&gt;
　ラフ集合は, [[決定表]] (decision table)で与えられるデータを解析する基礎を与える. 決定表において, すべての条件属性の値が等しい対象は同値類としてグループ化できる. 一方, 決定属性値が等しい対象は決定クラスとしてまとめられる. これらより, 各決定クラスに対して下近似と上近似が求められることになる. ある決定クラスの下近似に帰属する対象は, 与えられた条件属性により正しく分類できる対象とみなされる. このことから, 下近似を用いて, 重要な条件属性を[[縮約]] (reduct)や[[コア]] (core)として見出したり, 決定規則を極小長さのif-thenルールとして見出す方法が提案されている. ある決定クラスの上近似はどのような条件属性値をもつ対象が帰属しうるかを示しており, 可能性ルールの抽出に用いられる. また, すべての決定クラスの上近似は, どのような条件属性値をもつ対象がどの決定クラスに帰属しえないかを示しているので, この意味での重要な条件属性を求めることも考えられている[3]. &lt;br /&gt;
&lt;br /&gt;
　このように, ラフ集合による解析法は, (1)数値データより名義データの方が取り扱いやすい, (2)条件属性の重要性を評価できる, (3)簡潔なif-thenルールが求められる などの特徴をもっており, 機械学習(machine learning)や知識発見(knowledge discovery), 特徴抽出(feature selection)などに利用され, 人工知能, 医療情報学, 土木工学, 感性工学, 決定科学, 経営学に応用されている. &lt;br /&gt;
&lt;br /&gt;
　ラフ集合は分割すなわち同値関係のもとで定義されてきたが, 被覆や順序関係(order relation), 類似関係(similarity relation), さらに一般の2項関係のもとでも定義されている. 順序関係のもとでのラフ集合は, [[支配関係に基づくラフ集合]](dominance-based rough set)と呼ばれ, 「燃費が高ければ高いほど購買意欲が高くなる」などのように, 条件属性(condition attribute)の一部と決定属性(decision attribute)とがともに序数属性で, 単調関係にある場合の決定表の解析に用いられる[4]. また, 条件属性の一部が序数属性で決定属性と単調関係がない場合には, 被覆のもとでのラフ集合が適用可能となる. 決定表の一部の条件属性データが欠損している場合は, トレランス関係(tolerance relation)という特別な類似関係のもとでのラフ集合により解析することができる[5]. 類似関係とは反射性を満たす関係をいい, トレランス関係は反射性と対称性とを満たす関係をいう. 以上は、通常の2項関係のもとでの通常の集合に対するラフ集合であったが, ファジィ関係のもとでのファジィ集合に対するラフ集合であるファジィラフ集合(fuzzy rough set)も考えられている[6]. &lt;br /&gt;
&lt;br /&gt;
　ラフ集合の一般化は, もとになる2項関係を一般化したものばかりではなく, 下近似に帰属するための条件を一般化したラフ集合も考えられている. 与えられた決定表に誤差が含まれる場合には, 下近似が極めて小さくなり, ラフ集合により有益な解析が行えない場合がある. これに対処するため, ある程度の誤差を許容する[[可変精度ラフ集合]] (variable precision rough set)が提案されている[7]. また, 可変精度ラフ集合において許容する誤差を定めることが容易でないことから, 情報ゲインに基づいた[[ベイジアンラフ集合]] (Bayesian rough set) が考えられている[8]. これらは[[ラフメンバシップ値]] (rough membership value) を用いて定義される. &lt;br /&gt;
&lt;br /&gt;
　ラフ集合は, 分割, 被覆, 支配関係, 類似関係などにより定められる対象のグループに基づき定義される. このようなグループは全体集合内の粒(granule)と考えられ, これに基づく計算法は, [[グラニュラーコンピューティング]] (granular computing)と呼ばれる[9]. 人間の言葉もグラニュラーコンピューティングに近いと考えられ, 言葉による計算の基礎となりうる. ラフ集合はこのようなグラニュラーコンピューティングを実現する手法としても注目されている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] Z. Pawlak, &amp;quot;Rough Sets,&amp;quot; ''International Journal of Computer and Information Sciences'', '''11''' (5) (1982), 341-356.&lt;br /&gt;
&lt;br /&gt;
[2] Z. Pawlak, ''Rough Sets: Theoretical Aspects of Reasoning About Data'', Kluwer Academic Publishers, Dordrecht, 1991.&lt;br /&gt;
&lt;br /&gt;
[3] 乾口,「ラフ集合による情報の解析」,『システム/制御/情報』, '''49''' (5) (2005), 162-172.&lt;br /&gt;
&lt;br /&gt;
[4] S. Greco, B. Matarazzo and R. Slowinski, &amp;quot;The Use of Rough Sets and Fuzzy Sets in MCDM&amp;quot;, in: T. Gal, T. J. Stewart and T. Hanne (eds.) ''Multicriteria Decision Making: Advances in MCDM Models, Algorithms, Theory, and Applications'', Kluwer Academic Publishers, Dordrecht, 1999, pp.14-1-14-59.&lt;br /&gt;
&lt;br /&gt;
[5] M. Kryszkiewicz, &amp;quot;Rough Set Approach to Incomplete Information Systems,&amp;quot; ''Information Sciences'', '''112''' (1-4)(1998), 39-49.&lt;br /&gt;
&lt;br /&gt;
[6] M. Inuiguchi, &amp;quot;Generalizations of Rough Sets: From Crisp to Fuzzy Cases,&amp;quot; in: S. Tsumoto, R. S{\l}owi\'{n}ski, J. Komorowski, J. W. Grzymala-Busse (eds.) ''Rough Sets and Current Trends in Computing: 4th International &lt;br /&gt;
Conference, Proceedings'', LNAI 3066, Springer-Verlag, Berlin, 2004, pp.26-37.&lt;br /&gt;
&lt;br /&gt;
[7] W. Ziarko, &amp;quot;Variable Precision Rough Set Model,&amp;quot; ''Journal of Computer and System Sciences'', '''46''' (1)&lt;br /&gt;
(1993), 39-59.&lt;br /&gt;
&lt;br /&gt;
[8] D. Slezak and W. Ziarko, &amp;quot;The Investigation of the Bayesian Rough Set Model,&amp;quot; ''International Journal of Approximation Reasoning'', '''40''' (1-2) (2005), 81-91&lt;br /&gt;
&lt;br /&gt;
[9] L. A. Zadeh, &amp;quot;From Computing with Numbers to Computing with Words: From Manipulation of Measurements&lt;br /&gt;
to Manipulation of Perceptions,&amp;quot; ''IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications'', '''45''' (1) (1999), 105-119&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|らふしゅうごう]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%BD%E3%83%95%E3%83%88%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=9718</id>
		<title>ソフトコンピューティング</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%82%BD%E3%83%95%E3%83%88%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=9718"/>
		<updated>2008-03-23T08:54:04Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【そふとこんぴゅーてぃんぐ (soft computing)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
従来, 精確な情報を用いて厳密な解析・設計を行ってきた. しかし, 精確性の追&lt;br /&gt;
求は, 多大のコストを招くことがある. ソフトコンピューティングとは, 取り扱&lt;br /&gt;
いやすさ, 頑健性, 低コストを達成するために, 不確実性をどこまで容認するか&lt;br /&gt;
を探り, 高度な精確性を要求せずに, システムを解析・設計する計算様式をいう.&lt;br /&gt;
この計算様式を実現するためには, ファジィ理論, ニューラルネットワーク, 確&lt;br /&gt;
率推論などを機能的に融合することが望ましいと考えられている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　従来，対象とする問題が精密かつ正確に解析され，種々の高度なシステムが設計されてきた．厳密で正しい解析を行うには，精密かつ正確な情報が必要となる．実世界においては，人間が獲得しうる知識や情報は精確でなく，不確実性を伴っている場合が多い．より正確でより精密な知識や情報を得るためには，それなりのコストを支払わなければならない．ここでいうコストとは，金銭的な負担のみを意味しているのではなく，時間的，労力的あるいはこれら以外の負担をも意味している．必要以上の精密性や正確性は，無駄なコストを招く．コストとの関係で精密性や正確性をある程度犠牲にしても，現実には問題なく適用できる場合も多い．特に，システムが複雑化していくと，「複雑なシステムを表現することと，モデルの正しさと精密さとは両立しない」という不適合性の原理 (principle of incompatibility) [1] により，莫大なコストを支払っても精密性と正確性を追求できるとは限らない．一方，不正確で不精密な情報しか得られない環境の下でも，人間は得られた情報をうまく処理し適切な決定を下す能力を持っている．短時間に莫大な量の計算を正確に行うコンピュータは，このような不正確で不精密な情報を取り扱うことはあまり得意ではない．コンピュータに，人間の不正確性，不精密性に対するすばらしい能力を付加することは，コストと精密性，正確性の総合的な意味で有効となりうる．&lt;br /&gt;
&lt;br /&gt;
　1990年頃，ファジィ理論の創始者であるカリフォルニア大学バークレイ校のザデー (Zadeh) 教授により[[ソフトコンピューティング]] (soft computing) が提唱されている．ソフトコンピューティングは，取り扱いやすさ (tractability)，頑健性 (robustness)，低コスト (low cost) を達成するために，不確実性をどこまで容認するかを探ることにより，高度な正確性や精密性を要求せずに，システムの解析，設計を行う計算様式であり，不精確な情報に適切に対処する人間的な能力をコンピュータに付加することを目指している．ソフトコンピューティングに対し，対象とする問題を精密かつ正確に解析・設計してきた従来の計算様式はハードコンピューティング (hard computing) と呼ばれている．&lt;br /&gt;
&lt;br /&gt;
　ソフトコンピューティングは，同種の方法論の一体系ではなく，異なったいくつかの方法論が互いに補完しあう共働体系である．ソフトコンピューティングを構成する主要な方法論は，[[ファジィ理論]] (fuzzy theory)，[[ニューラルネットワーク]] (neural network)，確率推論(probabilistic reasoning)の三つである．これら以外に，[[遺伝アルゴリズム]] (genetic algorithm)，信念ネットワーク (belief network)，学習理論 (learning theory)，カオスシステム (chaos system) などの多くの方法論が関係している．主要な三つの方法論のうち，ファジィ理論は，情報の不精密性 (imprecision) や粒状性 (granularity) を取り扱い，ニューラルネットワークは学習や曲線あてはめを取り扱い，確率推論は不確実性と探索を取り扱っている．これらの三つの方法論は，かなりオーバーラップする領域があるものの，概して競合関係にあるのではなく，協調関係にある．したがって，ファジィ理論，ニューラルネットワーク，確率推論を単独で用いるよりは，融合的に組合せて用いることが肝要である．&lt;br /&gt;
&lt;br /&gt;
　ソフトコンピューティングの機能的な特徴として，「大局性」，「融通性」，「主観性」があげられる．「大局性」は，些細な事象にとらわれず多様な情報を的確に縮約し，曖昧さを許容しつつ対象を概括的に把握し，大局的な操作を施すという性質である．「融通性」は，問題を明確に把握してから対処するというアプローチに拘泥せず，情報に含まれる矛盾や異質性をも寛容的に対処し，経験や学習によって問題に対する柔軟な対応を可能とする性質である．「主観性」は，情動，直観，感性，信念などの心的作用のように，人間が行う情報処理に伴う性質であり，人間の情報処理を模したソフトコンピューティングもこの性質を伴いうる．&lt;br /&gt;
&lt;br /&gt;
　人間の知的情報処理を考えれば，人間は対象をグループ化し，そのグループに名前，すなわち，言葉を付け，言葉で記述されたルールや事物を操作することにより，推論や決定を行っていると考えられる．すなわち，対象を一つ一つ直接に扱うのではなく，グループ化して扱っている．言葉で表された情報はある対象のグループを指すので，情報は粒状的であると考えることができる．このような観点から，より人間的な言葉による情報処理の基礎として，情報の粒状性に基づく理論や方法論の構築が課題となる．このような情報の粒状性を取り扱える理論として，[[ラフセット|ラフ集合]] (rough set) や[[デンプスター・シェファーの証拠理論]] (Dempster-Shafer theory of evidence)，[[近似推論]] (approximate reasoning), [[制約伝搬法]] (constraint propagation) などが研究され，発展してきている．ファジィ理論，ニューラルネットワークや確率推論とともに，これらもソフトコンピューティングの一翼を担う重要な分野である．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] L. A. Zadeh, &amp;quot;Outline of a New Approach to the Analysis of Complex Systems and Decision Processes,&amp;quot; ''IEEE Transactions on Systems, Man and Cybernetics'', '''3''' (1973), 28-44.&lt;br /&gt;
&lt;br /&gt;
[2] L. A. ザデー, 「ソフト・コンピューティング (その1) (その2) 」, 『日本ファジィ学会誌』, '''7''' (1995), 262-269, 530-536.&lt;br /&gt;
&lt;br /&gt;
[3] 坂和正敏, 馬野元秀, 大里有生編, 『ソフトコンピューティング用語集』, 朝倉書店, 1996.&lt;br /&gt;
&lt;br /&gt;
[4] システム制御情報学会, 『システム／制御／情報：ソフトコンピューティング特集号』, '''43''' (1999), 163-208.&lt;br /&gt;
&lt;br /&gt;
[5] L. A. Zadeh, &amp;quot;Some Reflections on Soft Computing, Granular Computing and Their Roles in the Conception, Design and Utilization of Information/Intelligent Systems,&amp;quot; ''Soft Computing'', '''2''' (1998), 23-25.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|そふとこんぴゅーてぃんぐ]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%B8%E3%82%A3%E7%90%86%E8%AB%96&amp;diff=9717</id>
		<title>ファジィ理論</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%B8%E3%82%A3%E7%90%86%E8%AB%96&amp;diff=9717"/>
		<updated>2008-03-23T08:53:12Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ふぁじぃりろん (fuzzy theory)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
1965 年ザデー (L.A. Zadeh) は通常の集合を一般化したファジィ集合(ファジィ集合の項参照)を考えた. 現代数学が通常の集合を基礎に発展してきたように, このファジィ集合を基礎に発展してきたファジィ理論は, 仙台の地下鉄に応用されたファジィ制御やファジィ家電などいろいろな分野に応用されてきた. ファジィ数やファジィ関係などのファジィ数学の発展とORモデルへの導入が注目されている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　1964年L. A Zadehが通常の集合を一般化した[[ファジィ集合]] (fuzzy set) を導入したことに始まる ( [7] ). データの曖昧さや制約の厳しさの程度を表現できるもので, ORと融合して最適化等での使用に適している. &lt;br /&gt;
&lt;br /&gt;
　通常の集合はその帰属性が0または1の2値（属するとき1, 属さないとき0で特性関数と呼ばれる）で表されるのに対し, ファジイ集合はこれを一般化して帰属性を区間&amp;lt;math&amp;gt;[0,1]\, &amp;lt;/math&amp;gt;の値で表す. 完全に属するとき1, 属さないとき0という値をとる帰属度関数と呼ばれる関数で表現される. 関数値が大きいほど帰属性が高いことになる. すなわち, 全体集合&amp;lt;math&amp;gt;\mbox{T}\, &amp;lt;/math&amp;gt;（これは通常の集合）の各要素 &amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt; とその帰属度関数値&amp;lt;math&amp;gt;g(x)\, &amp;lt;/math&amp;gt;のペア&amp;lt;math&amp;gt;\{(x,g(x))|x\in T\}\, &amp;lt;/math&amp;gt; として表記される. 人間の主観などにおけるあいまいさを定量化するために考えられたのであるが, いろいろな分野に応用されている．例えば若いという概念は年齢としてどこからが若くてどこからが若くないかがはっきりしないのでファジイ概念である. 主観により違うが&amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;を年齢とすると例えば次のような帰属度関数&amp;lt;math&amp;gt;\mu_{\boldsymbol {A}}(x)\, &amp;lt;/math&amp;gt;で表される.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\mu_{\boldsymbol {A}}(x) = &lt;br /&gt;
              \left\{ \begin{array}{cll}&lt;br /&gt;
                1       &amp;amp; \mbox{if} &amp;amp; 0 \leq x \leq 20,\\&lt;br /&gt;
           (50-x)/30    &amp;amp; \mbox{if} &amp;amp; 20 &amp;lt; x &amp;lt; 50,\\&lt;br /&gt;
                0       &amp;amp; \mbox{if} &amp;amp; 50 \leq x,\\&lt;br /&gt;
                      \end{array} \right.&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これは20歳までは確実に若いといえるがそれを超えると徐々に若いと言えない度合いが増え, 50歳以上は若いとは言えないということになる. 人間の先験的知識を用いる[[ファジィ論理|ファジイ論理]] (fuzzy logic)が制御に応用され, ファジイ洗濯機などの電化製品や仙台の地下鉄などの木目細かい制御の実現に役立てられ, ファジイ制御と呼ばれている. &lt;br /&gt;
&lt;br /&gt;
　ORとの融合は'''ファジイ数理計画''' (特にファジイ線形計画) を除いて最近始まったばかりである. ファジイ環境下での意思決定は満足度という概念を表す帰属度関数を考えることにより, 制約条件と目的関数を同様に扱うもので, L.A.Zadehが初期の頃より考えていた. 線形不等式&amp;lt;math&amp;gt;\Sigma_{j=1}^{n}a_{j}x_{j}\leq b\, &amp;lt;/math&amp;gt; を例にあげれば, 満足度を示す以下のような帰属度関数&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_{C}(\Sigma_{j=1}^{n}a_{j}x_{j})=&lt;br /&gt;
\left\{ \begin{array}{ll}&lt;br /&gt;
    1       &amp;amp;(\Sigma_{j=1}^{n}a_{j}x_{j}\leq b) \\&lt;br /&gt;
    1-(\Sigma_{j=1}^{n}a_{j}x_{j}-b)/d &amp;amp; (b&amp;lt;\Sigma_{j=1}^{n}a_{j}x_{j}\leq b+d)\\&lt;br /&gt;
    0       &amp;amp; (\Sigma_{j=1}^{n}a_{j}x_{j}&amp;gt;b)                &lt;br /&gt;
  \end{array} \right.&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
が'''ファジイ制約'''である. また目標値&amp;lt;math&amp;gt;z_{0}\, &amp;lt;/math&amp;gt;へどれだけ到達したかを示す満足度で表される'''ファジイ目標'''はやはり１次の目的関数&amp;lt;math&amp;gt;z=\Sigma_{j=1}^{n}c_{j}x_{j}\, &amp;lt;/math&amp;gt;を考えると, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_{G}(\Sigma_{j=1}^{n}c_{j}x_{j})=&lt;br /&gt;
\left\{ \begin{array}{ll}&lt;br /&gt;
    1       &amp;amp;(\Sigma_{j=1}^{n}c_{j}x_{j}\geq z_{0}) \\&lt;br /&gt;
    (\Sigma_{j=1}^{n}c_{j}x_{j}-z_{1})/(z_{0}-z_{1}) &amp;amp; (z_{0}&amp;gt;\Sigma_{j=1}^{n}c_{j}x_{j}\geq z_{1})\\&lt;br /&gt;
    0       &amp;amp; (\Sigma_{j=1}^{n}c_{j}x_{j}&amp;lt;z_{1})            &lt;br /&gt;
  \end{array} \right.&lt;br /&gt;
\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
と書かれる. これら幾つかのファジイ制約とファジイ目標の下でその最小満足度を最大にする&amp;lt;math&amp;gt;{\mathbf x}=(x_{j})\, &amp;lt;/math&amp;gt;を求めるという形式にファジイ数理計画をモデル化できる. &lt;br /&gt;
&lt;br /&gt;
　意思決定との関係で, '''ファジイ動的計画'''もBellman, Zadeh([1])で初期から考えられていた. ファジイと確率とは一見アナロジーがあり, 実際確率計画とファジイ数理計画との間には対比されるような概念が多く見られる. 上記のファジイ制約と機会制約条件などがその例であり, どちらも少しの制約の違反は認めるものである．実際, '''可能性'''と確率とはよく混同されるが, 可能性は物事の生起能力に関するもので, 確率は頻度に関するものである．Zadeh は違いの例として, ある人が朝何個卵を食べるかは確率的 （統計的） であり, 何個食べることができるかは別であるとしている. 最近は, '''ファジイ数''', '''ファジイ関係''', あるいは'''ファジイランダム変数'''なども最適化に導入され, 連続変数の最適化だけではなく, '''ファジイ組合せ最適化'''などの研究も行われている. [[ファジィ数|ファジイ数]] (fuzzy number) は通常の数をファジイ概念化したものであり, モデルを記述する係数の不確実性を表している. ファジイ関係はスケジューリングにおける先行関係のファジイ概念化として用いられている. また, ファジイランダム変数はいわば実現値がファジイ数であるようなもので, ファジイ要素とランダム要素が混在するモデルを考えるのに有効である. これらを総称して[[ファジィ最適化|ファジイ最適化]] (fuzzy optimization) と呼んでいる. ここではファジイ理論とORの関係を中心に紹介したが, [[ソフトコンピューティング]]とも関係している. ファジイ理論は, 集合論ばかりでなく, 数学全般に広がってきており, ますますORに用いられるファジイ概念が出てくると思われる.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. E. Bellman and L. A. Zadeh, &amp;quot;Decision Making in a Fuzzy Environment&amp;quot;, ''Management Science'', '''17''' (1970), 141-164.&lt;br /&gt;
&lt;br /&gt;
[2] 乾口雅弘, 「多様化時代の数理計画　第５回　確率計画法　VS　可能性計画」, 『オペレーションズ・リサーチ』, '''41''' (1996), 641-645.&lt;br /&gt;
&lt;br /&gt;
[3] H. Ishii and M. Tada, &amp;quot;Single Machine Scheduling Problem with Fuzzy Precedence Relation&amp;quot;, ''European Journal of Operational Research'', '''87''' (1995), 284-288. &lt;br /&gt;
&lt;br /&gt;
[4] A. Kaufmann and M. M. Gupta, ''Introduction to Fuzzy Arithmetic* Theory and Application'', Van Nostrand Reinhold, New York, 1984.&lt;br /&gt;
&lt;br /&gt;
[5] 坂和正敏, 『ファジイ理論の基礎と応用』, 森北出版, 1991.&lt;br /&gt;
&lt;br /&gt;
[6] 坂和正敏, 石井博昭, 西崎一郎, 『ソフト最適化』, 朝倉書店, 1995.&lt;br /&gt;
&lt;br /&gt;
[7] L. A. Zadeh, &amp;quot;Fuzzy Sets&amp;quot;, ''Information and Control'', '''8''' (1965), 338-353.　&lt;br /&gt;
&lt;br /&gt;
[8] N. Watanabe, &amp;quot;Fuzzy Random Variables and Statistical Inferences,&amp;quot; 『日本ファジイ学会誌』, '''8''' (1996), 126-135.　　&lt;br /&gt;
&lt;br /&gt;
[9] 菅野道夫, 室伏俊明, 『ファジイ測度』, 日刊工業新聞社, 1993.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|ふぁじいりろん]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%A1%E3%82%BF%E3%83%92%E3%83%A5%E3%83%BC%E3%83%AA%E3%82%B9%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9&amp;diff=9716</id>
		<title>メタヒューリスティクス</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%A1%E3%82%BF%E3%83%92%E3%83%A5%E3%83%BC%E3%83%AA%E3%82%B9%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9&amp;diff=9716"/>
		<updated>2008-03-23T08:51:26Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【めたひゅーりすてぃくす (metaheuristics)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
組合せ最適化問題において, 遺伝アルゴリズム, アニーリング法, タブー探索といった発見的な探索を行う手法を総合した枠組. 暫定解に対し局所探索によって解の更新を行うが, 局所最適解に捕捉されることを防ぐための工夫を付加するというのが基本的な考え方である. 一般に最適性は保証できないが, 少ない計算時間で質の良い解を求めることができる場合が多いので極めて実用性が高く, 様々な問題への応用がなされている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[メタヒューリスティクス]] (meta-heuristics) とは組合せ最適化問題に対しての, 発見的解法の枠組みであり, 従来の数理的, 分析的手法に基づく厳密解法に対し, ある暫定解からより良い解を発見的に探索するための方法論である. 1) 個々の問題の性質に依拠しないより包括的な枠組みである, 2) 最適解を求めることではなく, より良い解を現実的な時間で求めることを目的とする, といった特徴が挙げられる. メタヒューリスティクスに含まれる多くの手法は局所探索法 (local search) を元にしているが, 局所最適解で探索が終了してしまうという欠点を補うためのさまざまな工夫がなされている[7]. &lt;br /&gt;
&lt;br /&gt;
　[[多スタート局所探索]] (multi start local search) は適当な方法で生成した初期解からの局所探索法を繰り返し行うことにより, 改善された局所最適解を求めるものである. &lt;br /&gt;
&lt;br /&gt;
　[[可変近傍法]] (variable neighborhood search) は複数の近傍を定義し, 暫定解 （それまでに得られた最善解） に対しある近傍から一つ初期解を選択し, その解に対して局所探索法を適用するという手順を繰り返す. この反復において暫定解が更新されたか否かによって初期解を選択するための近傍を変える点に特徴がある. &lt;br /&gt;
&lt;br /&gt;
　[[アニーリング法]] (simulated aneealing) は局所探索法の実行過程に確率的な振る舞いを加え局所最適解に陥らないようにしたアルゴリズムであり, Kirkpatrickらによって提案された [2]. アニーリング法では改悪の方向への移行を確率&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;で受け入れる. &amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;は温度&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;と呼ばれる制御パラメータを含む関数で定義され, 目的関数が改悪される度合が大きくなれば小さくなるように定義される. 一般に用いられるのは, 変更にともなう目的関数値の変化量を&amp;lt;math&amp;gt;\Delta \, &amp;lt;/math&amp;gt;(改悪ならば正、改良ならば負の値をとる)とすると, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;P=\left\{\begin{array}{l}&lt;br /&gt;
1,\;\Delta\le 0\\&lt;br /&gt;
\exp (-\Delta /t ),\Delta &amp;gt;0&lt;br /&gt;
\end{array}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
と定義される. パラメータ&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;は最初は大きな値に設定されるが、その後&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;を徐々に小さくすることによって, 探索の初期の段階では広い領域を探索し, 後期では探索が最適解に落ち着くことをねらっている. &lt;br /&gt;
&lt;br /&gt;
　[[タブー探索]]　(tabu search)　は局所探索法において局所最適解から脱出するため, 近傍内の最良解（改悪解であっても）へ移行するという操作を加えたものである [3, 4] . 一つの局所最適解とその近傍のみの移行という繰り返しを避けるために, 現在までの移行の履歴を保持し, 移行に制約を設ける. この制約をタブーという. またタブーにより良い最適解への移行を妨げる場合があるのでタブー保有期間と呼ばれる一定期間を経るとタブーは解消される. これにより局所最適解に陥ることなく広範囲の最適解を探索することが可能になる. &lt;br /&gt;
&lt;br /&gt;
　[[遺伝アルゴリズム]] (genetic algorithm) は生物の形質遺伝による進化を組合せ最適化問題における解の進化, すなわち目的関数値を向上させることに利用した解法である [6]. まず候補解を記号列として表現したものを遺伝子と名付け, これらの遺伝子からなる集団に対し1) 次世代に子孫を残す解を選択し (選択), 2) &amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;つの親の遺伝子より子の遺伝子を生成し (交叉), 3) 遺伝子の一部を一定の確率で変化させ (突然変異), 4) 劣っている解は集団より除去する (淘汰), という操作を繰り返し行う. 交叉において遺伝子の特徴がどのように次の世代に遺伝していくかということは[[スキーマ定理]] (scheme theorem) によって確率的に示されている [5]. ここでスキーマ&amp;lt;math&amp;gt;H\, &amp;lt;/math&amp;gt;とは遺伝子を2進数で表現したときの部分列であり, その次元を&amp;lt;math&amp;gt;o(H)\, &amp;lt;/math&amp;gt;, 定義長を&amp;lt;math&amp;gt;\delta(H)\, &amp;lt;/math&amp;gt;とし, &amp;lt;math&amp;gt;m(H,t)\, &amp;lt;/math&amp;gt;を次世代&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;でスキーマ&amp;lt;math&amp;gt;H\, &amp;lt;/math&amp;gt;を含む個体の数, &amp;lt;math&amp;gt;f(H)\, &amp;lt;/math&amp;gt;スキーマ&amp;lt;math&amp;gt;H\, &amp;lt;/math&amp;gt;を含む個体の適応度の平均値, &amp;lt;math&amp;gt;\overline{f}(t)\, &amp;lt;/math&amp;gt;を世代&amp;lt;math&amp;gt;t\, &amp;lt;/math&amp;gt;での固体の平均適応度とすると&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
m(H,t+1) &amp;amp;\geq&amp;amp; m(H,t)f(H)&lt;br /&gt;
\{1-p_c\delta(H)/(l-1)\}(1-p)^{o(H)}/\overline{f}(t) \\&lt;br /&gt;
&amp;amp;\approx&amp;amp; m(H,t)f(H)\{1-p_c\delta(H)/(l-1)-po(H)\}/\overline{f}(t) &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
が成立する. &lt;br /&gt;
&lt;br /&gt;
　遺伝アルゴリズムは[[進化的計算]] (evolutionary computation), 進化的プログラミング (evolutionary programming) といった生物の遺伝, 進化の過程を模倣して最適化問題における最適解を探索するという枠組みの中のひとつであり、さらには[[人工生命]] (artificial life) という生命システムをコンピュータでシミュレートする研究との関連においても注目されている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] G. Hansen and N. Mladenovic, &amp;quot;An Introduction to Variable Depth Search,&amp;quot; in ''Meta-heuristics: Advances and Trends in Local Search Paradigms for Optimization'', S. Voss, eds., Kluwer Academic Publishers, 1998.&lt;br /&gt;
&lt;br /&gt;
[2] S. Kirkpatrick, C. D. Gellat and M. P. Vecchi, &amp;quot;Optimization by Simulated Annealing,&amp;quot; ''Science'', '''220''' (1983), 671-680. &lt;br /&gt;
&lt;br /&gt;
[3] F. Glover, &amp;quot;Tabu Search I,&amp;quot; ''ORSA Journal on Computing'', '''1''' (1989), 190-206.&lt;br /&gt;
&lt;br /&gt;
[4] F. Glover, &amp;quot;Tabu Search II,&amp;quot; ''ORSA Journal on Computing'', '''2''' (1989), 4-32.&lt;br /&gt;
&lt;br /&gt;
[5] D. E. Goldberg, ''Genetic Algorithms in Search, Optimization, and Machine Learning'', Addison-Wesley, 1989.&lt;br /&gt;
&lt;br /&gt;
[6] J. H. Holland, ''Adaptation in Natural and Artificial Sytems'', University of Michigan Press, 1975.&lt;br /&gt;
&lt;br /&gt;
[7] 柳浦睦憲, 茨木俊秀, 「組合せ最適化」, 朝倉書店, 2001.&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|めたひゅーりすてぃくす]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E8%BF%91%E4%BC%BC%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&amp;diff=9715</id>
		<title>近似アルゴリズム</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E8%BF%91%E4%BC%BC%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&amp;diff=9715"/>
		<updated>2008-03-23T08:50:07Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【きんじあるごりずむ (approximate algorithm)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
厳密解を求めることが保証される厳密解法 (exact algorithm) に対して,近似解を求めるアルゴリズムのこと.NP困難問題に対する多項式時間アルゴリズムなど,実用的な計算時間を実現するために厳密性を犠牲にすることが多い.発見的手法 (heuristic algorithm) とも呼ばれる.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　組合せ最適化問題の中には, 最適解を求めることが現実的に困難な問題が数多く存在する. どのようなアルゴリズムを用いても莫大な計算時間, 計算量が必要になるような問題で, 計算機の性能に依存するというような次元の話ではなく, 問題の構造そのものに依存するという意味である. NP完全, NP困難なクラスに属する問題はそのような問題の代表例である. [[ナップサック問題]] (knapsack problem), [[最大カット問題]] (maximum cut problem), [[集合カバー問題]] (set covering problem)等の整数計画問題の多くはこれらのクラスに分類される. これらの問題を解くアルゴリズムには, その計算時間が問題の規模&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;の多項式として表されるものが一般的には存在しないと考えられている. しかし, 問題中のパラメータを含めると多項式時間で最適解を求めることができる場合もあり, そのようなアルゴリズムを弱多項式時間アルゴリズムと呼び, 動的計画法, 分枝限定法等の手法が用いられる. &lt;br /&gt;
&lt;br /&gt;
　NP完全, NP困難な問題で弱多項式時間アルゴリズムも存在しないもの, あるいは問題規模の大きいものについて, 対処法がないわけではない. 問題を解く際, 常に厳密な最適解が必要かどうかというと, そうとは限らない場合も多々ある. つまり, 時間と労力, 更には経済的負担を強いて厳密解を求めるよりも, 厳密な最適解ではないけれども実際的な応用に差し支えない程度の近似解を比較的速い時間で簡単に求める方が現実的であると考えられる. このような近似解を求めるアルゴリズムを[[近似アルゴリズム]] (approximation algorithm)と呼ぶ. [[欲張り法]](greedy method)に代表されるように, それらのアルゴリズムが発見的探索法に基づいていることから, ヒューリスティックアルゴリズムとも呼ばれる. 近似アルゴリズムは得られる近似解の精度, つまり近似解に対応する評価関数の値と厳密解に対応するそれとの差の比率&amp;lt;math&amp;gt;\varepsilon\, &amp;lt;/math&amp;gt;に従って, [[&amp;amp;epsilon;-近似アルゴリズム]] (&amp;lt;math&amp;gt;\varepsilon&amp;lt;/math&amp;gt;-approximation algorithm)という性能表現がなされ, 最近では[[PTAS]] (polynomial time approximation scheme)のような新たな枠組みによる近似アルゴリズムの性能評価, 研究が行われている. &lt;br /&gt;
&lt;br /&gt;
　近似解法に関する研究は盛んに行われ, より精度の高い近似解を, より速く求めるために, 最近ではメタヒューリスティックスあるいはモダンヒューリスティックスと呼ばれる枠組が注目を集めている. この中の主なものとしてアニーリング法, タブー探索法, [[遺伝アルゴリズム|遺伝的アルゴリズム]]等が挙げられるが, 基本的にこれらの手法は近似解を[[局所探索法]] (local search)に基づき改善してゆくというものであり, 解の近傍生成法, 探索則, 解の更新則が性能評価のポイントとなる. つまり, 人間の発見的知識をどのような形でアルゴリズムに反映させるかということが非常に重要であり, 「メタ」と呼ばれる所以である. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] C. R. Reeves, ''Modern Heuristic Techniques for Combinatorial Problems'', Blackwell Scientific Publications, 1993.  横山隆一, 奈良宏一, 佐藤晴夫, 鈴木昭男, 荻本和彦, 陳洛南 訳,『モダンヒューリスティックス』, 日刊工業新聞社, 1997.  &lt;br /&gt;
&lt;br /&gt;
[2] R. Sedgewick, ''Algorithms'', 2nd ed., Addison Wesley, 1988. 野下浩平, 星守, 佐藤創, 田口東 訳,『アルゴリズム 第3巻』, 近代科学社, 1992.&lt;br /&gt;
&lt;br /&gt;
[3] W. J. Cook, W. H. Cunningham, W. R. Pulleyblank and A. Schrijver, ''Combinatorial Optimization'', John Wiley &amp;amp; Sons, 1998.&lt;br /&gt;
&lt;br /&gt;
[4] T. C. Hu, ''Combinatorial Algorithms'', Addison Wesley, 1982.&lt;br /&gt;
&lt;br /&gt;
[5] A. V. Aho, J. E. Hopcroft and J. D. Ullman, ''Data Structures and Algorithms'', Addison Wesley, 1983.&lt;br /&gt;
&lt;br /&gt;
[[category:近似・知能・感覚的手法|きんじあるごりずむ（ひゅーりすてぃっくあるごりずむ）]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E7%A2%BA%E7%8E%87%E8%A8%88%E7%94%BB&amp;diff=9714</id>
		<title>確率計画</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E7%A2%BA%E7%8E%87%E8%A8%88%E7%94%BB&amp;diff=9714"/>
		<updated>2008-03-23T08:49:00Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【かくりつけいかく (stochastic programming)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
ほとんどの現実問題が確率的であるということから, 1955年にダンツィク (G.B. Dantzig) とビール (M. Beale) によって全く独立に始められたのが確率計画である. 両者とも2段階計画問題を考えたが, その後1959年にチャーンズ (A. Charnes) とクーパー (W.W. Cooper) によって確率制約計画問題が導入された. 一般的には解法が難しいので, 問題固有の構造を利用した特殊解法や近似解法の研究が数多くなされている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　数理計画問題において, 目的関数や制約条件の係数の中に確率的要素が含まれているとき, これを[[確率計画]] (stochastic programming)(確率計画法, 確率計画問題)と呼ぶ. いま, 制約条件の係数に確率変数を含む線形計画問題 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
\mbox{min.}  &amp;amp; c^{\top}x \\&lt;br /&gt;
\mbox{s. t.}&amp;amp; T(\omega)x=h(\omega), \\&lt;br /&gt;
                 &amp;amp;  Ax=b,\  x\ge 0, \\&lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を考える. ここで, &amp;lt;math&amp;gt;c,b,A\, &amp;lt;/math&amp;gt;はそれぞれ既知のベクトルや行列で, &amp;lt;math&amp;gt;T(\omega)\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;h(\omega)\, &amp;lt;/math&amp;gt;は確率事象&amp;lt;math&amp;gt;\omega\, &amp;lt;/math&amp;gt;に依存するランダムな行列およびベクトルである.  確率変数を含む制約条件はすべての実現値に対して満たされるとは限らない. そこで, 確率計画問題として2つのアプローチ[[2段階計画問題]] (two-stage programming problem)および[[確率制約計画問題]] (probabilistic constrained programming problem)がある [1], [2]. &lt;br /&gt;
&lt;br /&gt;
　まず2段階計画問題では,確率変数の含まれる制約条件&amp;lt;math&amp;gt;T(\omega)x=h(\omega)\, &amp;lt;/math&amp;gt;においてこの制約条件を成り立たせなくさせている両辺の差 &amp;lt;math&amp;gt;h(\omega)-T(\omega)x\, &amp;lt;/math&amp;gt; に対してその外れ具合を矯正するためにリコースというものを考える. 具体的には次のようなリコース行列&amp;lt;math&amp;gt;W\, &amp;lt;/math&amp;gt;およびリコース変数&amp;lt;math&amp;gt;y\, &amp;lt;/math&amp;gt;を考える. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Wy=h-Tx,\  y\ge 0\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
すなわち, 2段階計画問題は次のように定式化される. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
\mbox{min.}  &amp;amp; c^{\top}x+&lt;br /&gt;
  \mbox{E} [\mbox{min}\  q(\omega)^{\top}y(\omega)] \\&lt;br /&gt;
\mbox{s. t.}&amp;amp; T(\omega)x+Wy(\omega)=h(\omega), \\&lt;br /&gt;
                 &amp;amp;  Ax=b,\  x\ge 0,\  y(\omega)\ge 0.\\&lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　次に確率制約計画問題において, 制約条件が必ずしも満たされなくても, ある確率以上で満たされれば良い場合を考える. 例えば, &amp;lt;math&amp;gt;T(\omega)x\ge h(\omega)\, &amp;lt;/math&amp;gt;という制約条件の代わりに確率&amp;lt;math&amp;gt;\alpha\, &amp;lt;/math&amp;gt;以上で成り立つという確率制約条件&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\Pr\{T(\omega)x\ge h(\omega)\}\ge \alpha\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を考える. 目的関数の型によってEモデル, Vモデル, Pモデルなど様々なモデルが考えられる. &lt;br /&gt;
&lt;br /&gt;
　2段階計画問題も確率制約計画問題も, 通常は等価な確定問題すなわち非線形計画問題に変換して解く. 一般にはこの変換は非常に複雑な形になる. 通常2段階計画問題の方が確率制約計画問題より等価な確定問題への変換が難しい. そこで確率計画の切除平面法であるL型法のような確率分布の特別な構造を利用した解法や, 様々な近似を利用した解法が研究されている [1], [3]. &lt;br /&gt;
&lt;br /&gt;
　確率計画問題において, 通常は確率変数の分布関数は与えられているとするが, 一般には分布関数が完全に分かることは難しい. いま完全情報すなわち確率変数の将来の実現値を知るために決定者が最大どれだけの価値を支払うかを調べる. この価値は[[完全情報の期待価値]] (expected value of perfect information; EVPI)と呼ばれる. 完全情報を得ると実現値に対して, 最適解や最適値を正確に知ることができる. そこで, 最適解や最適値の確率分布を求める問題, すなわち[[分布問題 (確率計画における)|分布問題]] (distribution problem)が考えられるが, この問題は通常非常に難しい. 分布問題の近似として確率変数をその期待値で置き換えた問題を考え, このときこの期待値問題と確率の入ったリコース問題との最適値の違いを[[確率解の価値]] (value of the stochastic solution; VSS)と呼ぶ. これは確率計画として解くことの価値を表すものである. EVPIやVSSの上限と下限で挟まれた区間をより厳密に求めることが研究されている[1], [5].&lt;br /&gt;
&lt;br /&gt;
　その他確率計画では推定や近似など統計的な方法を用いたもの [4] やファイナンス, ポートフォリオのような応用面を対象とした研究も多くなってきている.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] J. R. Birge and F. Louveaux, ''Introduction to Stochastic Programming'', Springer-Verlag, New York, 1997.&lt;br /&gt;
&lt;br /&gt;
[2] S. Vajda, ''Probabilistic Programming'', Academic Press, New York and London, 1972.&lt;br /&gt;
&lt;br /&gt;
[3] A. Pr&amp;amp;eacute;kopa, &amp;quot;The Use of Discrete Moment Bounds in Probabilistic Constrained Stochastic Programming Models,&amp;quot; ''Annals of Operations Research'', '''85''' (1999), 21-38.&lt;br /&gt;
&lt;br /&gt;
[4] R. J-B Wets, &amp;quot;Stochastic Programming,&amp;quot; in ''Optimization'', G. L. Nemhauser, A. H. G. Rinooy Kan and M. J. Todd, eds., North-Holland, 1989. 石井博昭 訳,「確率計画法」, 伊理正夫, 今野浩, 刀根薫監訳,『最適化ハンドブック』, 朝倉書店, 1995.&lt;br /&gt;
&lt;br /&gt;
[5] 塩出省吾,「確率計画法」, 西田俊夫, 田畑吉雄編,『現代OR入門』,現代数学社, 1995.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:動的・確率・多目的計画|かくりつけいかく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E9%81%A9%E5%81%9C%E6%AD%A2&amp;diff=9713</id>
		<title>最適停止</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%80%E9%81%A9%E5%81%9C%E6%AD%A2&amp;diff=9713"/>
		<updated>2008-03-23T08:47:54Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【さいてきていし (optimal stopping)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
結合分布が既知である確率変数列 &amp;lt;math&amp;gt;X_1, X_2, \cdots \,&amp;lt;/math&amp;gt;,と実数値利得関数列&amp;lt;math&amp;gt;y_0, \ y_1(x_1), \,&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt; \ y_2(x_1, x_2), \,&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt; \cdots, \ y_{\infty}(x_1, x_2,\dots) \,&amp;lt;/math&amp;gt;に対して, 逐次に確率変数列&amp;lt;math&amp;gt;X_1 \,&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;X_2 \,&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\cdots \,&amp;lt;/math&amp;gt;を観測し, 各&amp;lt;math&amp;gt;n \,&amp;lt;/math&amp;gt;段階において&amp;lt;math&amp;gt;X_1=x_1, X_2=x_2, \cdots, X_n=x_n \,&amp;lt;/math&amp;gt;を観測後に観測を停止して利得&amp;lt;math&amp;gt;y_n(x_1, \dots, x_n) \,&amp;lt;/math&amp;gt;を得るか, 継続して&amp;lt;math&amp;gt;X_{n+1} \,&amp;lt;/math&amp;gt;を観測するかを決定を下す.このとき, 期待利得を最大にする(もしくは期待費用を最小化する)停止時刻を求めるのが最適停止問題である.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　逐次に観測される確率変数列に基づき, 期待利得を最大化したり期待費用を最小化するためにある行動を取る時刻を選ぶ問題を[[最適停止]]問題という. 最適停止は次の2つの要素を持つ. (i) 結合分布が既知である確率変数列: &amp;lt;math&amp;gt;X_1, X_2, \cdots\, &amp;lt;/math&amp;gt;, (ii) 実数値利得関数列: &amp;lt;math&amp;gt;y_0, \ y_1(x_1), \ y_2(x_1, x_2), \cdots ,\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\ y_{\infty}(x_1, x_2, \cdots)\, &amp;lt;/math&amp;gt;. 逐次に確率変数列&amp;lt;math&amp;gt;X_1\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;X_2\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\cdots\, &amp;lt;/math&amp;gt;を観測し, 最初の&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;段階において&amp;lt;math&amp;gt;X_1=x_1,X_2=x_2, \cdots, X_n=x_n\, &amp;lt;/math&amp;gt;を観測後に観測を停止して利得&amp;lt;math&amp;gt;y_n(x_1, \cdots, x_n)\, &amp;lt;/math&amp;gt;を得るか, 継続して&amp;lt;math&amp;gt;X_{n+1}\, &amp;lt;/math&amp;gt;を観測するかの決定を下す. 全く観測しないならば&amp;lt;math&amp;gt;y_0\, &amp;lt;/math&amp;gt;, 決して停止しないならば&amp;lt;math&amp;gt;y_{\infty}(x_1, x_2, \cdots)\, &amp;lt;/math&amp;gt;の利得を得る.このとき, 利得を最大にするタイミングである停止時刻を求めるのが最適停止問題である.要素の(ii)は, &amp;lt;math&amp;gt;Y_n=y_n(X_1, \cdots , X_n)\, &amp;lt;/math&amp;gt;としたとき, (ii') 結合分布が既知である利得を表す確率変数列: &amp;lt;math&amp;gt;Y_0, \ Y_1, \ Y_2, \ \cdots, \ Y_{\infty},\, &amp;lt;/math&amp;gt; としてもよい.  このとき, &amp;lt;math&amp;gt;E(Y_N)\, &amp;lt;/math&amp;gt;を最大にする停止時刻&amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt;を求めるのが最適停止問題であるとも記述できる. &amp;lt;math&amp;gt;Y_N\, &amp;lt;/math&amp;gt;を利得ではなく何らかの費用や損失と解釈すると, 費用ないし損失を最小にする停止規則(時刻)&amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt;を求める問題となる.&lt;br /&gt;
&lt;br /&gt;
　より一般的には, 最適停止問題は次の様に記述されている.  確率空間 &amp;lt;math&amp;gt;(\Omega, {\mathcal F}, P)\, &amp;lt;/math&amp;gt;が与えられ, &amp;lt;math&amp;gt;{\mathcal F}_n\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;X_1, \cdots, X_n\, &amp;lt;/math&amp;gt;によって生成される &amp;lt;math&amp;gt;\mathcal F\, &amp;lt;/math&amp;gt;の部分 &amp;lt;math&amp;gt;\sigma\, &amp;lt;/math&amp;gt;集合, &amp;lt;math&amp;gt;{\mathcal F}_0=\{\Omega, \phi\}, {\mathcal F}\, &amp;lt;/math&amp;gt;を &amp;lt;math&amp;gt;\cup {\mathcal F}_n\, &amp;lt;/math&amp;gt;によって生成される &amp;lt;math&amp;gt;\sigma\, &amp;lt;/math&amp;gt;集合とし, &amp;lt;math&amp;gt;{\mathcal F}_0 \subset {\mathcal F}_1 \subset \cdots\subset {\mathcal F}_n \subset \cdots\subset {\mathcal F}_{\infty} \subset {\mathcal F}\, &amp;lt;/math&amp;gt;とする. (i)(ii) にかわり(i') 増加部分&amp;lt;math&amp;gt;\sigma\, &amp;lt;/math&amp;gt;集合列:&amp;lt;math&amp;gt;{\mathcal F}_0 \subset {\mathcal F}_1 \subset \cdots \subset {\mathcal F}_{\infty}\subset {\mathcal F}\, &amp;lt;/math&amp;gt;, (ii&amp;quot;) 結合分布が既知な利得を表す確率変数列: &amp;lt;math&amp;gt;Y_0,Y_1, \cdots, Y_n, \cdots, Y_{\infty}\, &amp;lt;/math&amp;gt;,とし, &amp;lt;math&amp;gt;Y_n\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;{\mathcal F}_n\, &amp;lt;/math&amp;gt;-可測, &amp;lt;math&amp;gt;n=0, 1, \cdots, \infty\, &amp;lt;/math&amp;gt;とする. &amp;lt;math&amp;gt;\{N=n\}\in {\mathcal F}_n\, &amp;lt;/math&amp;gt;である非負整数値確率変数&amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt;を停止規則と定義する. (この定義は, いつ停止するかの決定は今までの観測のみに基づき, 将来の観測には基づかないと解釈するとわかりやすい.) このとき &amp;lt;math&amp;gt;E(Y_N)\, &amp;lt;/math&amp;gt;を最大にする停止規則&amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt;を求めるのが最適停止問題である. 一般に全ての最適停止問題を解くことは難しいが, 有限期間問題と単調問題(monotone problem)は解くことができる. 確率変数列 &amp;lt;math&amp;gt;X_1, X_2, \cdots, X_n, n&amp;lt;\infty\, &amp;lt;/math&amp;gt;を観測後に必ず停止しなければならないとき, 有限期間問題と呼ぶ.有限期間問題は基本的に後向きの帰納法 (backward induction) によって解かれる. &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;期では停止しなければならないので, &amp;lt;math&amp;gt;V_n^{(n)}\, &amp;lt;/math&amp;gt;を&amp;lt;math&amp;gt;V_n^{(n)}(x_1, \cdots, x_n)=y_n(x_1, \cdots, x_n)\, &amp;lt;/math&amp;gt;と定義する. &amp;lt;math&amp;gt;(n-1)\, &amp;lt;/math&amp;gt;期では, ここで停止したときの利得 &amp;lt;math&amp;gt;y_{n-1}(x_1, \cdots, x_{n-1})\, &amp;lt;/math&amp;gt;と,  継続して&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;期で停止したときの期待利得 &amp;lt;math&amp;gt;\mbox{E} (V_n^{(n)}(x_1, \cdots, x_{n-1}, X_n)|X_1   = x_1, \cdots, X_{n-1}=x_{n-1})\, &amp;lt;/math&amp;gt;を比較すれば, &amp;lt;math&amp;gt;(n-1)\, &amp;lt;/math&amp;gt;期で停止すべきか継続すべきかが判明する.  &amp;lt;math&amp;gt;V_{n-1}^{(n)}(x_1, \cdots, x_{n-1})\, &amp;lt;/math&amp;gt;を次のように定義する. &amp;lt;math&amp;gt;V_{n-1}^{(n)}(x_1, \cdots, x_n) = \max\{y_{n-1}(x_1, \cdots, x_{n-1}),   \mbox{E}(V_n^{(n)}(x_1, \cdots, x_{n-1}, X_n)|X_1     = x_1, \cdots, X_{n-1}=x_{n-1})\}.\, &amp;lt;/math&amp;gt;同様に &amp;lt;math&amp;gt;j=n-2, n-3, \cdots, 0\, &amp;lt;/math&amp;gt;と後ろ向きに&amp;lt;math&amp;gt;V_j^{(n)}(x_1, \cdots, x_j)\, &amp;lt;/math&amp;gt;を定義し,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
V_j^{(n)}(x_1,\cdots, x_j) = &amp;amp; \max\{y_j(x_1,\cdots, x_j), \\&lt;br /&gt;
&amp;amp; \quad \mbox{E} (V_{j+1}^{(n)}&lt;br /&gt;
  (x_1,\cdots, x_j, X_{j+1})|X_1=x_1,\cdots,&lt;br /&gt;
X_j=x_j) \}&lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
とする. このように定義された &amp;lt;math&amp;gt;V_j^{(n)}(x_1, \cdots, x_j)\, &amp;lt;/math&amp;gt;は,  &amp;lt;math&amp;gt;X_1=x_1, \cdots\, &amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;X_j=x_j\, &amp;lt;/math&amp;gt;を観測して&amp;lt;math&amp;gt;j\, &amp;lt;/math&amp;gt;期から始めたときの最大期待利得を表し, 上式は最適方程式と呼ばれる. これは[[動的計画]]の[[最適性の原理]]によって得られる関数再帰方程式に他ならず, DP(ダイナミック&amp;lt;math&amp;gt;\cdot\, &amp;lt;/math&amp;gt;プログラミング)方程式とも呼ばれる.  &amp;lt;math&amp;gt;j\, &amp;lt;/math&amp;gt;期においては, 停止して得られる利得&amp;lt;math&amp;gt;y_j(x_1, \cdots, x_j)\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;j\, &amp;lt;/math&amp;gt;期より継続して得られる最大期待利得&amp;lt;math&amp;gt;\mbox{E}(V_{j+1}^{(n)}(x_1, \cdots, x_j, X_{j+1})|X_1  = x_1, \cdots, X_j=x_j)\, &amp;lt;/math&amp;gt;より良ければ停止し, 逆ならば継続するのが良い. それゆえに, 有限期間問題の最適停止規則&amp;lt;math&amp;gt;N\, &amp;lt;/math&amp;gt;は, 初めて&amp;lt;math&amp;gt;V_j^{(n)}(x_1, \cdots, x_j)=y_j(x_1, \cdots, x_j)\, &amp;lt;/math&amp;gt;となる&amp;lt;math&amp;gt;j\, &amp;lt;/math&amp;gt;で停止することである. 有限期間問題の最大期待利得は, &amp;lt;math&amp;gt;V_0^{(n)}\, &amp;lt;/math&amp;gt;となる.&lt;br /&gt;
&lt;br /&gt;
　最適停止問題において, 事象&amp;lt;math&amp;gt;A_n=\{Y_n\ge E(Y_{n+1}|{\mathcal F}_n)\}\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n=0, 1, 2, \cdots\, &amp;lt;/math&amp;gt;が &amp;lt;math&amp;gt;\textstyle A_0 \subset A_1 \subset \cdots \subset;\  {\bigcup}_1^{\infty} A_n=\Omega \, &amp;lt;/math&amp;gt; (almost surely) を満たしているとき単調問題とよぶ. 単調問題では, ある条件の下で([1]参照) OLA (one-stage look-ahead) 停止規則&amp;lt;math&amp;gt;N:=\min\{n\ge 0: Y_n\ge E(Y_{n+1}|{\mathcal F}_n)\}\, &amp;lt;/math&amp;gt;が最適停止規則となる. OLA 停止規則とは, もう1期だけ継続してから停止するよりも, 今停止するほうがよいときに停止することを要求する規則である.&lt;br /&gt;
&lt;br /&gt;
　独自のクラスを形成してきたといえる確率最大化最適停止問題に秘書問題がある. 秘書問題は結婚問題とも呼ばれ, 最も基本となる古典的秘書問題は次のように記述される. 1人の秘書を雇いたい. 面接した応募者には同ランクはなくランク付けが可能とする. 1人ずつ面接する毎に, 今までに面接した応募者の相対ランクに基づき採用するか否かを決めなければならず, 一度不採用にした応募者を採用することはできない. &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;人の応募者があり, &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;人の面接の順列の一つが実現する確率が&amp;lt;math&amp;gt;1/n!\, &amp;lt;/math&amp;gt;のとき,  &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;人中のベストランクを得る確率を最大にする最適停止規則を求めたい. 最適停止規則は, &amp;lt;math&amp;gt;r^{\ast}-1\, &amp;lt;/math&amp;gt;番目までの応募者は全て採用を見送り, それ以降に最初に面接する相対的ベストの応募者を採用しなさい, となり, ここで, &amp;lt;math&amp;gt;\textstyle r^{\ast}=\min\{i\ge 1:\sum_{j=i}^{n-1}(1/j) \le 1\}\, &amp;lt;/math&amp;gt;により&amp;lt;math&amp;gt;r^{\ast}\, &amp;lt;/math&amp;gt;は与えられる. &amp;lt;math&amp;gt;n\to \infty\, &amp;lt;/math&amp;gt;のとき, &amp;lt;math&amp;gt;r^{\ast}/n \to 1/{\rm e} \approx 0.3678\, &amp;lt;/math&amp;gt;となる.  大まかに言うと, &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;が十分大きいとき, 36.8%まではパスしてそれ以 降に到着する相対的ベストの応募者を採用するのが最適である. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] Y. S. Chow, H. Robbins and D. Siegmund, ''Great Expectations: The Theory of Optimal Stopping'', Houghton Mifflin Company, Boston, 1971.&lt;br /&gt;
&lt;br /&gt;
[2] T. S. Ferguson, &amp;quot;Who Solved the Secretary Problem?,&amp;quot; ''Statistical Science'', '''4''' (1989), 282-289.&lt;br /&gt;
&lt;br /&gt;
[3] A. N. Shiryaev, ''Optimal Stopping Rules'', Springer-Verlag, New York, 1978.&lt;br /&gt;
&lt;br /&gt;
[4] J. L. Snell, &amp;quot;&amp;quot;Applications of Martingale System Theorems,&amp;quot; ''Trans. Amer. Math. Soc.'', '''73''' (1952), 293-312.&lt;br /&gt;
&lt;br /&gt;
[5] S. M. Ross, ''Applied Probability Models with Optimization Applications'', Holden - Day, San Francisco, 1970.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:動的・確率・多目的計画|さいてきていし]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%A4%9A%E7%9B%AE%E7%9A%84%E8%A8%88%E7%94%BB&amp;diff=9712</id>
		<title>多目的計画</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%A4%9A%E7%9B%AE%E7%9A%84%E8%A8%88%E7%94%BB&amp;diff=9712"/>
		<updated>2008-03-23T08:47:02Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【たもくてきけいかく (multiobjective programming)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
従来の数理計画法がただ1つの目的関数の最小化を目指しているのに対し, 複数の目的関数の同時最小化を考える計画法. コストと性能といった直接に競合する目的を考える場合はもちろん, 複数時点での評価を考える場合や, 複数の可能性に対する評価を考える場合なども多目的となる. 複数の目的を同時に最小にする解は存在しないのが普通であるから, 目的関数間のトレードオフを考慮して, 意思決定者にとって最も好ましい解を選ぶことが目標となる.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　我々が現実世界において遭遇する意思決定問題には, 複数の評価尺度(目的)があることが多い. このような問題を多基準意思決定問題あるいは多目的意思決定問題と呼ぶ. このような問題の数理計画法としての定式化とその解決方法を考えるのが多目的計画である. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;個の目的関数をもつ多目的計画問題は&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
        \mbox{minimize} &amp;amp; f(x)=(f_1(x), \ldots , f_p(x))\\&lt;br /&gt;
        \mbox{subject to} &amp;amp; x \in X, &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
という形に定式化される. ここで &amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;は実行可能集合であるが, 通常の１目的の数理計画問題と同様, 不等式制約や等式制約で表現されることが多い. &lt;br /&gt;
&lt;br /&gt;
　通常の数理計画問題(最適化問題)であれば, 実数の大小関係が全順序であることから, 最適解の概念は明瞭であるが, 多目的の場合は一方が良くとも他方が悪くなることが生じるため順序関係が半順序となり, 考察を要する. 基本となるのは, [[パレート最適解]] (単にパレート解または非劣解, 有効解) と呼ばれる解である. 実行可能解 &amp;lt;math&amp;gt;x^* \in X\, &amp;lt;/math&amp;gt; は別の実行可能解 &amp;lt;math&amp;gt;x \in X\, &amp;lt;/math&amp;gt; で&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f_i(x) \leq f_i(x^*) \quad (\forall i=1, \ldots ,p),&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_i(x) &amp;lt; f_i(x^*) \quad (\exists i \in \{1, \ldots , p \}),&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
となるものが存在しないとき, パレート最適解であるといわれる. これを少し弱めた解として弱パレート最適解が, また強めた解として真性パレート最適解がある. さらに, 意思決定の観点からいえば, 最終的に意思決定者にとって最も好ましい解をパレート最適解の中から選ぶことが問題となるが, この解のことを意思決定者の選好解という. &lt;br /&gt;
&lt;br /&gt;
　通常の数理計画における理論的成果を, 多目的計画の場合に拡張する研究はこれまで多くなされてきている. まずパレート最適解を特徴づける最適性の条件は, キューン・タッカー条件を拡張した形で得られている. また多目的計画に対する双対性や安定性, 感度分析などの研究も進んでいる. ただし, 通常の問題であればその最適値&amp;lt;math&amp;gt;\min \{ f(x) | x \in X \}\, &amp;lt;/math&amp;gt; は一意に定まる(厳密には, &amp;lt;math&amp;gt;\min\, &amp;lt;/math&amp;gt; を &amp;lt;math&amp;gt;\inf\, &amp;lt;/math&amp;gt; で置き換え, &amp;lt;math&amp;gt;\pm \infty\, &amp;lt;/math&amp;gt; を許容する場合もある). これに対し多目的のパレート最適解は一意には定まらないのが普通であり, パレート最適値(パレート最適解に対応する目的関数値)全体が一つの集合を与える. したがって, 通常の最適値関数に対応するものとして, いわゆる最適値写像あるいは摂動写像と呼ばれる集合値写像(点対集合写像)を考える必要がある. これらの理論的結果については [1][3] に詳しい. &lt;br /&gt;
&lt;br /&gt;
　さて, 意思決定者の選好解を求めるには, 大きく分けて以下に述べる３つのアプローチがある. &lt;br /&gt;
&lt;br /&gt;
#パレート最適解のすべて(もしくは十分多く)を求め, それを意思決定者に提示して, 選考解を決定してもらう. &lt;br /&gt;
#意思決定者の選好を表す実数値関数である価値関数(もしくは効用関数)を求め, それを最適化する通常の数理計画問題を解く. &lt;br /&gt;
#コンピュータによるパレート最適解の導出とその解に基づく意思決定者の局所的な選好情報を用いて, 両者の対話を繰り返すことにより, 選好解を求める. &lt;br /&gt;
&lt;br /&gt;
　まず, 最初のアプローチは特に目的関数の数が少ない(例えば２目的の)場合や, 実行可能解が比較的少数の有限個しか存在しないような場合であれば, 有効となる. 実際にパレート最適解を求めるには, もとの多目的計画問題を何らかのパラメータを含む通常の数理計画問題に変換するスカラー化を行う. この方法として代表的なものは次の３つである.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
:*加重和最小化: 各目的関数に対する重み&amp;lt;math&amp;gt;w_i\, &amp;lt;/math&amp;gt;を用いて, 問題&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
        \mbox{minimize} &amp;amp; \displaystyle \sum _{i=1}^p w_if_i(x)\\&lt;br /&gt;
        \mbox{subject to} &amp;amp; x \in X, &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を解く. 簡明で分かり易いが, 非凸な問題の場合には欠陥がある. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*基準点からのノルム最小化: 基準点 &amp;lt;math&amp;gt;\bar{y}=(\bar{y}_1,\ldots , \bar{y}_p)\, &amp;lt;/math&amp;gt; からのノルム(すなわち乖離度)を最小にする. すなわち, 問題 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
        \mbox{minimize} &amp;amp; \parallel f(x)- \bar{y} \parallel\\&lt;br /&gt;
        \mbox{subject to} &amp;amp; x \in X, &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を解く. ノルムとしては, &amp;lt;math&amp;gt;l_1\, &amp;lt;/math&amp;gt; ノルム([[目標計画]]はこの場合に相当する)やチェビシェフノルムなどが考えられる. また実際にはこれを拡張したチェビシェフスカラー化関数を用いたり, 目的関数に重みを導入したりする. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*制約変換法: 一つの目的関数(例えば &amp;lt;math&amp;gt;f_p\, &amp;lt;/math&amp;gt;)を目的関数として残し, 他の目的関数に対する要求水準 &amp;lt;math&amp;gt;\varepsilon _1, \ldots , \varepsilon _{p-1}\, &amp;lt;/math&amp;gt; を用いた問題&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
        \mbox{minimize} &amp;amp; f_p(x)\\&lt;br /&gt;
        \mbox{subject to} &amp;amp; f_i (x) \leq \varepsilon _i \; \; (i=1, \ldots , p-1), \;&lt;br /&gt;
 \; x \in X, &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を解く. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　次に２番目のアプローチの価値関数(効用関数)の同定については, 多属性効用理論がよく知られている. この際大切なことは, 目的関数間の独立性が十分確保されていることである. 詳細については [4] に詳しい. なお, 上に挙げた加重和目的関数やノルム関数を効用関数として想定し, そのパラメータを同定するのも, このアプローチの簡略版と考えられる. &lt;br /&gt;
&lt;br /&gt;
　最後のアプローチが[[対話型解法 (多目的計画における)|対話型解法]]とよばれているもので, コンピュータによる候補解の算出と意思決定者による選好情報の提示を交互に繰り返していくことにより, 選好解を探索する. 両者の情報交換の仕方によって, いくつもの方法が考えられているが, 人間が関わっているだけに, ヒューマンフレンドリーな方法であることが望まれる. 現在までに提案された主な対話型解法については [2]に詳しい. 日本語では [3]に希求水準法を中心とした説明がある. さらには,まだ研究が進んでいないが, DEAを応用して, 選好解を選ぶ方法も考えられている.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] Y. Sawaragi, H. Nakayama and T. Tanino, ''Theory of Multiobjective Optimization'', Academic Press, 1985.&lt;br /&gt;
&lt;br /&gt;
[2] K. M. Miettinen, ''Nonlinear Multiobjective Optimization'', Kluwer Academic, 1999.&lt;br /&gt;
&lt;br /&gt;
[3] 中山弘隆, 谷野哲三,『多目的計画法の理論と応用』, 計測自動制御学会, 1994.&lt;br /&gt;
  &lt;br /&gt;
[4] 田村坦之, 中村豊, 藤田眞一,『効用分析の数理と応用』, コロナ社, 1997.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:動的・確率・多目的計画|たもくてきけいかく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E4%B8%8D%E5%A4%89%E5%9F%8B%E6%B2%A1%E5%8E%9F%E7%90%86&amp;diff=9711</id>
		<title>不変埋没原理</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E4%B8%8D%E5%A4%89%E5%9F%8B%E6%B2%A1%E5%8E%9F%E7%90%86&amp;diff=9711"/>
		<updated>2008-03-23T08:46:16Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ふへんまいぼつげんり (principle of invariant imbedding)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
動的計画法の基本原理の1つ. ある問題を解こうとするとき, この問題を含む部分問題からなる群(族)を考える. これを「埋め込み」という. ただし, それぞれの問題の「構造」は不変である. このとき, 問題の大きさは小さいものから大きいものまであり, 「1番大きい」問題が与問題である. 相隣る問題間の関係式を導き, これを解くことによって, 与問題の「解」を求める. 埋め込み方に工夫を要する.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　ある問題を解こうとするとき, この問題を含む部分問題からなる群(族)を考えることを「埋め込み」(imbedding)という. すなわち, 与問題をある問題群の１つと見做すことである. このとき, 問題の大きさは小さい(易しい)ものから大きい(難しい)ものまであり, 一番大きい(解きたい)問題が与問題である. しかし, 問題の「構造」は不変である. さらに, 相隣る問題間の関係式を導き, これを解くことによって, 与問題の「解」を求める. このような方法で解に至るまでを, [[不変埋没原理]] (principle of invariant imbedding)による方法という [1] [4] [5].  &lt;br /&gt;
&lt;br /&gt;
　たとえば,「1から10までの自然数の和を求める」問題を考えてみよう. 以下ではいつも「1から」(前向きの方法で)考えることにして, この問題を &amp;lt;math&amp;gt;{\rm P}(10)\, &amp;lt;/math&amp;gt; で表わし, 「解」(この場合, 和)を &amp;lt;math&amp;gt;S(10)\, &amp;lt;/math&amp;gt; としよう. このとき, 「1から &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt; までの自然数の和を求める」部分問題 &amp;lt;math&amp;gt;{\rm P}(n)\, &amp;lt;/math&amp;gt; からなる群 &amp;lt;math&amp;gt;\{ {\rm P}(n); n = 1, 2, \ldots , 10\}\, &amp;lt;/math&amp;gt; を考える. このこと自体が埋め込みである. 部分問題 &amp;lt;math&amp;gt;{\rm P}(n)\, &amp;lt;/math&amp;gt; の解(&amp;lt;math&amp;gt;=\, &amp;lt;/math&amp;gt;和)を &amp;lt;math&amp;gt;S(n)\, &amp;lt;/math&amp;gt; とする. 最後の(一番大きい)問題 &amp;lt;math&amp;gt;{\rm P}(10)\, &amp;lt;/math&amp;gt; の解 &amp;lt;math&amp;gt;S(10)\, &amp;lt;/math&amp;gt; が求める解である. このとき, 最初の (一番易しい) 問題の解は &amp;lt;math&amp;gt;S(1) = 1\, &amp;lt;/math&amp;gt; であり, 相隣る問題の解 &amp;lt;math&amp;gt;S(n)\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;S(n+1)\, &amp;lt;/math&amp;gt; の間に漸化式&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;S(n+1) = S(n) + n+1 \quad n = 1, 2, \ldots , 9; \quad S(1) = 1\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
が成り立つ. 漸化式を &amp;lt;math&amp;gt;S(1), S(2), \ldots\, &amp;lt;/math&amp;gt; の順に前向きに逐次解くことによって, &amp;lt;math&amp;gt;S(10) = 55\, &amp;lt;/math&amp;gt; を得る. 他方, 「&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt; から(いつも！)10までの自然数の和を求める」部分問題 &amp;lt;math&amp;gt;{\rm Q}(n)\, &amp;lt;/math&amp;gt; の族を考えても, 上述と同様に解くことができる. これを後向きの埋め込みという.&lt;br /&gt;
 &lt;br /&gt;
　一般の問題では, どのような大きさの問題群に埋め込むか, 関係式が導けるか, 解けるか, 解き易いかなど, 埋め込み方に工夫を要する. たとえば, 多段階の最適化問題&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\mbox{max.} ~~ \psi(g_{1}(x_{1},x_{2}) \circ g_{2}(x_{2},x_{3}) \circ&lt;br /&gt;
 \cdots \circ g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1}))  \, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\mbox{s. t.} ~~~ x_{n+1} \in A_{n}(x_{n}) \quad (1 \le n \le N), \, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
の最大値 &amp;lt;math&amp;gt;u_{1}(x_{1})\, &amp;lt;/math&amp;gt; と最大点  &amp;lt;math&amp;gt;x^{*} = (x_{1}, x_{2}^{*}, \ldots , x_{N+1}^{*})\, &amp;lt;/math&amp;gt; を求めるには, 新たなパラメータ &amp;lt;math&amp;gt;\lambda_{n} (\in \Lambda_{n}(x_{n}))\, &amp;lt;/math&amp;gt; を含む部分問題群 &amp;lt;math&amp;gt;{\mathcal P} = \{ {\rm P}_{n}(x_{n};\lambda_{n}) \}\, &amp;lt;/math&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;{\rm max.}~~ \psi(\lambda_{n} \circ g_{n}(x_{n},x_{n+1}) \circ \cdots&lt;br /&gt;
 \circ g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1})) \, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\begin{array}{l}\mbox{s. t.} ~~~ x_{m+1} \in A_{m}(x_{m}) \quad (n \le m \le N), \\&lt;br /&gt;
~~~~ x_{n} \in X_{n}, \; \lambda_{n} \in \Lambda_{n}(x_{n}), ~ (1 \le n \le N+1),&lt;br /&gt;
\end{array} \, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
に埋め込むと, パラメータ空間列 &amp;lt;math&amp;gt;\{\Lambda_{n}(\cdot)\}\, &amp;lt;/math&amp;gt; は前向きの再帰式&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\Lambda_{1}(x) = \{ \tilde{\lambda}\},~~x \in X_{1}\, &amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(\tilde{\lambda}\, &amp;lt;/math&amp;gt;は結合演算&amp;lt;math&amp;gt;\circ\, &amp;lt;/math&amp;gt;の左単位元&amp;lt;math&amp;gt;)\, &amp;lt;/math&amp;gt;  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\begin{array}{lr}&lt;br /&gt;
\Lambda_{n+1}(y) = &amp;amp; \{\, \lambda \circ g_{n}(x,\,y) \, | \, \lambda \in \Lambda_{n}(x),~y \in A_{n}(x) \, \} \\ &lt;br /&gt;
&amp;amp; y \in X_{n+1},~~ n = 1, 2, \ldots , N&lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で生成され, 最適値関数 &amp;lt;math&amp;gt;u_{n} = u_{n}(x_{n};\lambda_{n})\, &amp;lt;/math&amp;gt;は次の後向き再帰式を満たす：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;u_{n}(x; \lambda) = \max_{y \in A_{n}(x)}u_{n+1}(\,y\,; &lt;br /&gt;
\lambda \circ g_{n}(x,\,y))\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;math&amp;gt;~~~~x \in X_{n}, ~~\lambda \in \Lambda_{n}(x),~~ n = 1, 2, \ldots , N\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;u_{N+1}(x; \lambda) = \psi(\lambda \circ k(x))~~x \in X_{N+1},~~\lambda \in \Lambda_{N+1}(x).\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
これを後ろから逐次解き, 最後の &amp;lt;math&amp;gt;u_{1}(x_{1};\lambda_{1})\, &amp;lt;/math&amp;gt; に &amp;lt;math&amp;gt;\lambda_{1} = \tilde{\lambda}\, &amp;lt;/math&amp;gt; を代入すると求める最大値が得られる： &amp;lt;math&amp;gt;u_{1}(x_{1}) = u_{1}(x_{1};\tilde{\lambda}).\, &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
　また, [[非最適化]]問題としては, [[木の総容量]]など, 多重和 ([[多重和の解法]])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
\begin{eqnarray}&lt;br /&gt;
{\rm S}_{1}(x_{1}):\hspace{-2.21mm}&amp;amp; &amp;amp; \sum&lt;br /&gt;
 \hspace{0.3mm}\sum\hspace{0.3mm}\cdots\hspace{0.3mm}\sum&lt;br /&gt;
_{\hspace{-21.1mm}(x_{2}, x_{3}, \cdots , x_{N+1}) \in P_{1}(x_{1})}&lt;br /&gt;
\hspace{-1.9mm}\psi(g_{1}(x_{1},x_{2}) \circ \cdots \circ&lt;br /&gt;
 g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1}))\  \nonumber \\[2.34mm]&lt;br /&gt;
&amp;amp; &amp;amp; \hspace*{0.8mm}( P_{1}(x_{1}) := \{(x_{2}, \cdots , x_{N+1})\, |\,&lt;br /&gt;
 x_{n+1} \in A_{n}(x_{n})~~1 \le n \le N \}) \nonumber&lt;br /&gt;
\end{eqnarray}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;math&amp;gt;\mbox{S}_{1}(x_{1}):~~ {\sum \sum \cdots \sum}&lt;br /&gt;
_{(x_{2}, x_{3}, \cdots , x_{N+1}) \in P_{1}(x_{1})}&lt;br /&gt;
\psi(g_{1}(x_{1},x_{2}) \circ \cdots \circ&lt;br /&gt;
 g_{N}(x_{N},x_{N+1}) \circ k(x_{N+1}))\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;(P_{1}(x_{1}) := \{(x_{2}, \cdots , x_{N+1})\, |\,&lt;br /&gt;
 x_{n+1} \in A_{n}(x_{n})~~1 \le n \le N \})\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を求める問題があって, やはりパラメータを含む埋め込みによって解くことができる. &lt;br /&gt;
&lt;br /&gt;
　このようなパラメータを導入した埋め込みは[[非可分性 (動的計画法における)|非可分性]]に起因し, [[単一評価系 (多段決定過程における)|単一評価系]], [[複合評価系 (多段決定過程における)|複合評価系]]の最適化, 期待値最適化, 多重和, 多重積分 ([[多重積分の解法]]) などで考えられる [2] [3]. 不変埋没原理は変数の離散と連続, システムの確定や確率やファジィ, 問題の最適と非最適を問わず, 歴史的には数学(微分方程式, 偏微分方程式の応用), 物理数学などで, また近年はコンピュータサイエンスで幅広く用いられている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. E. Bellman and E. D. Denman, ''Invariant Imbedding'', Lect. Notes in Operation Research and Mathematical Systems, Vol. 52, Springer-Verlag, Berlin, 1971.&lt;br /&gt;
&lt;br /&gt;
[2] S. Iwamoto and T. Fujita, &amp;quot;Stochastic Decision-making in a Fuzzy Environment,&amp;quot; ''Journal of the Operations Research Society of Japan'', '''38''' (1995), 467-482. &lt;br /&gt;
&lt;br /&gt;
[3] 岩本誠一,「不変埋没によるファジィ動的計画法」, 日本オペレーションズ・リサーチ学会第33回シンポジウム, 25-33, 1995. &lt;br /&gt;
&lt;br /&gt;
[4] E. S. Lee, ''Quasilinearization and Invariant Imbedding'', Academic Press, 1968. &lt;br /&gt;
&lt;br /&gt;
[5] 相良節夫, 杉坂政典,「Invariant Imbedding について」,『システムと制御』, '''17''' (1973), 596-601.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:動的・確率・多目的計画|ふへんまいぼつげんり]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%A4%9A%E6%AE%B5%E7%A2%BA%E7%8E%87%E6%B1%BA%E5%AE%9A%E6%A8%B9%E8%A1%A8&amp;diff=9710</id>
		<title>多段確率決定樹表</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%A4%9A%E6%AE%B5%E7%A2%BA%E7%8E%87%E6%B1%BA%E5%AE%9A%E6%A8%B9%E8%A1%A8&amp;diff=9710"/>
		<updated>2008-03-23T08:45:04Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ただんかくりつけっていじゅひょう (multistage stochastic decision tree-table)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
多段期待値最適化において, 問題から最適解に至るまでを1枚に図解したもの. 問題は樹(ツリー)に, 計算過程は表(テーブル)に, 最適解は樹表(ツリー・テーブル)にそれぞれ図示される. 方法としては全数列挙法(total enumeration method)であるが, 最適解の構成までが簡単明瞭に表わされている. この樹表から, 原始政策, 一般政策, マルコフ政策が生成される状況が分かる. 特に, 加法型評価に対してはマルコフ政策が最適になることが読み取れる.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[多段確率決定樹表]] (ツリーテーブル) は, いわゆる決定樹(ディシジョンツリー), 決定表(ディシジョンテーブル)をそれぞれ進化発展させ, 多段階にわたる確率決定過程の問題記述から最適解構成に至るまでを１枚に統合した図表である. 問題のデータを過程の進行状況に応じて配列し, あらゆる可能な経路とその評価値と確率を図示し, 各段における最適決定の選択を明示している. この意味では[[列挙法]]の解構成を与えている. この樹表ではあらゆる型の評価関数の[[期待値最適化 (多段決定過程における)|期待値最適化]], [[確率最適化 (多段決定過程における)|確率最適化]]が解かれる. 樹表には問題に応じて[[繰り返し法 (動的計画法における)|繰り返し法]], [[直接法 (動的計画法における)|直接法]]などいくつかの型がある[1][2][3].&lt;br /&gt;
&lt;br /&gt;
　ここでは3状態2決定2段(3-2-2)モデルで加法型最適化問題：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
\mbox{max.} &amp;amp; \mbox{E}[\,r_{0}(u_{0}) &lt;br /&gt;
+ r_{1}(u_{1}) + r_G(x_2) \,]  \\&lt;br /&gt;
\mbox{s. t.} &amp;amp;  &lt;br /&gt;
p(\,\cdot \,|x_n,u_n) \sim x_{n+1} ~\, (n = 0, 1, u_{0} \in U),&lt;br /&gt;
   \ u_{1} \in U, &lt;br /&gt;
\end{array}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を考える. ただし, 数値は次の通り：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;r_{0}(a_{1}) = 0.7 \quad r_{0}(a_{2}) = 1.0; \quad r_{1}(a_{1}) = 1.0 \quad  r_{1}(a_{2}) = 0.6&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;r_G(s_{1}) = 0.3 \quad r_G(s_{2}) = 1.0 \quad r_G(s_{3}) = 0.8&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
表1：状態 &amp;lt;math&amp;gt;s_1\, &amp;lt;/math&amp;gt; からの２段確率決定樹表&lt;br /&gt;
&lt;br /&gt;
[[画像:多段階確率決定樹表fig1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[画像:多段階確率決定樹表fig2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Table 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{center}\footnotesize\renewcommand{\arraystretch}{0.91} \begin{tabular}{|cr@{\hspace*{0.5mm}}|c|l|l|c|c|} \hline \multicolumn{2}{|c|}{\makebox[62.6mm][c]{履歴}}&amp;amp; \makebox[0.1mm][c]{加法} &amp;amp; {経路} &amp;amp; \multicolumn{1}{|c|}{積} &amp;amp; \multicolumn{1}{|c|}{部期} &amp;amp; {全期}\\ \hline \hline &amp;amp;$s_1$ 0.3 &amp;amp; 2.0 &amp;amp; {\it 0.64} &amp;amp; 1.28 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.7 &amp;amp; {\it 0.08} &amp;amp; 0.216 &amp;amp; \makebox[6mm][c]{1.696} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.5 &amp;amp; {\it 0.08} &amp;amp; 0.2 &amp;amp; &amp;amp; \\ \cline{3-5} &amp;amp;$s_1$ 0.3 &amp;amp; 1.6 &amp;amp; {\it 0.08} &amp;amp; 0.128 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.3 &amp;amp; {\it 0.72} &amp;amp; 1.656 &amp;amp; \makebox[6mm][c]{\bf 1.784} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.1 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; &amp;amp; \\ \cline{3-6} &amp;amp;$s_1$ 0.3 &amp;amp; 2.0 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.7 &amp;amp; {\it 0.01} &amp;amp; 0.027 &amp;amp; \makebox[6mm][c]{\bf 0.252} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.5 &amp;amp; {\it 0.09} &amp;amp; 0.225 &amp;amp; &amp;amp; \makebox[6mm][c]{2.248} \\ &lt;br /&gt;
&lt;br /&gt;
\cline{3-5}&lt;br /&gt;
&amp;amp;$s_1$ 0.3 &amp;amp; 1.6 &amp;amp; {\it 0.08} &amp;amp; 0.128 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.3 &amp;amp; {\it 0.01} &amp;amp; 0.023 &amp;amp; \makebox[6mm][c]{0.172} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.1 &amp;amp; {\it 0.01} &amp;amp; 0.021 &amp;amp; &amp;amp; \\ \cline{3-6} &amp;amp;$s_1$ 0.3 &amp;amp; 2.0 &amp;amp; {\it 0.08} &amp;amp; 0.16 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.7 &amp;amp; {\it 0.01} &amp;amp; 0.027 &amp;amp; \makebox[6mm][c]{\bf 0.212} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.5 &amp;amp; {\it 0.01} &amp;amp; 0.025 &amp;amp; &amp;amp; \\ \cline{3-5} &amp;amp;$s_1$ 0.3 &amp;amp; 1.6 &amp;amp; {\it 0.01} &amp;amp; 0.016 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.3 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; \makebox[6mm][c]{0.205} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.1 &amp;amp; {\it 0.09} &amp;amp; 0.189 &amp;amp; &amp;amp; \\ %\cline{3-7} \hline \end{tabular} \end{center} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Figure 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \vspace*{-228mm}\hspace*{6mm} \setlength{\unitlength}{0.001in} %\setlength{\unitlength}{0.0001in} \begin{picture}(2300,5750)(0,0) \special{pn 8}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% p(x_2) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 492.4}% \special{pa 2270 340}% \special{fp}% \special{pa 1600 492.4}% \special{pa 2270 492.4}% \special{fp}% \special{pa 1600 492.4}% \special{pa 2270 644.8}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 949.6}% \special{pa 2270 797.2}% \special{fp}% \special{pa 1600 949.6}% \special{pa 2270 949.6}% \special{fp}% \special{pa 1600 949.6}% \special{pa 2270 1102}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 1406.8}% \special{pa 2270 1254.4}% \special{fp}% \special{pa 1600 1406.8}% \special{pa 2270 1406.8}% \special{fp}% \special{pa 1600 1406.8}% \special{pa 2270 1559.2}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 1864}% \special{pa 2270 1711.6}% \special{fp}% \special{pa 1600 1864}% \special{pa 2270 1864}% \special{fp}% \special{pa 1600 1864}% \special{pa 2270 2016.4}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 2321.2}% \special{pa 2270 2168.8}% \special{fp}% \special{pa 1600 2321.2}% \special{pa 2270 2321.2}% \special{fp}% \special{pa 1600 2321.2}% \special{pa 2270 2473.6}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 2778.4}% \special{pa 2270 2626}% \special{fp}% \special{pa 1600 2778.4}% \special{pa 2270 2778.4}% \special{fp}% \special{pa 1600 2778.4}% \special{pa 2270 2930.8}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 3235.6}% %\special{pa 2270 3083.2}% %\special{fp}% %\special{pa 1600 3235.6}% %\special{pa 2270 3235.6}% %\special{fp}% %\special{pa 1600 3235.6}% %\special{pa 2270 3388}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 3692.8}% %\special{pa 2270 3540.4}% %\special{fp}% %\special{pa 1600 3692.8}% %\special{pa 2270 3692.8}% %\special{fp}% %\special{pa 1600 3692.8}% %\special{pa 2270 3845.2}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 4150}% %\special{pa 2270 3997.6}% %\special{fp}% %\special{pa 1600 4150}% %\special{pa 2270 4150}% %\special{fp}% %\special{pa 1600 4150}% %\special{pa 2270 4302.4}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 4607.2}% %\special{pa 2270 4454.8}% %\special{fp}% %\special{pa 1600 4607.2}% %\special{pa 2270 4607.2}% %\special{fp}% %\special{pa 1600 4607.2}% %\special{pa 2270 4759.6}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 5064.4}% %\special{pa 2270 4912}% %\special{fp}% %\special{pa 1600 5064.4}% %\special{pa 2270 5064.4}% %\special{fp}% %\special{pa 1600 5064.4}% %\special{pa 2270 5216.8}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 5521.6}% %\special{pa 2270 5369.2}% %\special{fp}% %\special{pa 1600 5521.6}% %\special{pa 2270 5521.6}% %\special{fp}% %\special{pa 1600 5521.6}% %\special{pa 2270 5674}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% u_1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1000 721}% \special{pa 1600 492.4}% \special{da 0.05}% \special{pa 1000 721}% \special{pa 1600 949.6}% \special{da 0.05}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1000 1635.4}% \special{pa 1600 1406.8}% \special{da 0.05}% \special{pa 1000 1635.4}% \special{pa 1600 1864}% \special{da 0.05}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1000 2549.8}% \special{pa 1600 2321.2}% \special{da 0.05}% \special{pa 1000 2549.8}% \special{pa 1600 2778.4}% \special{da 0.05}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1000 3464.2}% %\special{pa 1600 3235.6}% %\special{da 0.05}% %\special{pa 1000 3464.2}% %\special{pa 1600 3692.8}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1000 4378.6}% %\special{pa 1600 4150}% %\special{fp}% %\special{pa 1000 4378.6}% %\special{pa 1600 4607.2}% %\special{da 0.05}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1000 5293}% %\special{pa 1600 5064.4}% %\special{fp}% %\special{pa 1000 5293}% %\special{pa 1600 5521.6}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% p(x_1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 500 1635.4}% \special{pa 1000 721}% \special{fp}% \special{pa 500 1635.4}% \special{pa 1000 1635.4}% \special{fp}% \special{pa 500 1635.4}% \special{pa 1000 2549.8}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 500 4378.6}% %\special{pa 1000 3464.2}% %\special{fp}% %\special{pa 500 4378.6}% %\special{pa 1000 4378.6}% %\special{fp}% %\special{pa 500 4378.6}% %\special{pa 1000 5293}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% u_0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 180 3007}% \special{pa 500 1635.4}% \special{da 0.05}% %\special{pa 180 3007}% %\special{pa 500 4378.6}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% Nota. &amp;amp; Nume. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \put(300,-2950){\makebox(0,0){$s_1$}} \put(1000,-621){\makebox(0,0){$s_1$}} \put(1000,-1735.4){\makebox(0,0){$s_2$}} \put(1000,-2649.8){\makebox(0,0){$s_3$}} %\put(1000,-3344.2){\makebox(0,0){$s_1$}} %\put(1000,-4458.6){\makebox(0,0){$s_2$}} %\put(1000,-5373){\makebox(0,0){$s_3$}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \put(400,-2507){\makebox(0,0){$a_1$}} %\put(400,-3507){\makebox(0,0){$a_2$}} \put(1400,-644.8){\makebox(0,0){$a_1$}} \put(1400,-949.6){\makebox(0,0){$a_2$}} \put(1400,-1559.2){\makebox(0,0){$a_1$}} \put(1400,-1864){\makebox(0,0){$a_2$}} \put(1400,-2473.6){\makebox(0,0){$a_1$}} \put(1400,-2778.4){\makebox(0,0){$a_2$}} %\put(1400,-3368){\makebox(0,0){$a_1$}} %\put(1400,-3672.8){\makebox(0,0){$a_2$}} %\put(1400,-4282.4){\makebox(0,0){$a_1$}} %\put(1400,-4587.2){\makebox(0,0){$a_2$}} %\put(1400,-5196.8){\makebox(0,0){$a_1$}} %\put(1400,-5501.6){\makebox(0,0){$a_2$}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \put(200,-2407){\makebox(0,0){\small 0.7}} %\put(200,-3607){\makebox(0,0){\small 1.0}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \put(700,-1021){\makebox(0,0){\small\it 0.8}} \put(800,-1535.4){\makebox(0,0){\small\it 0.1}} \put(700,-2249.8){\makebox(0,0){\small\it 0.1}} %\put(700,-3744.2){\makebox(0,0){\small\it 0.1}} %\put(800,-4258.6){\makebox(0,0){\small\it 0.9}} %\put(700,-4973){\makebox(0,0){\small\it 0.0}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \put(1200,-542.4){\makebox(0,0){\small 1.0}} \put(1300,-749.6){\makebox(0,0){\small 0.6}} \put(1200,-1456.8){\makebox(0,0){\small 1.0}} \put(1300,-1664){\makebox(0,0){\small 0.6}} \put(1200,-2371.2){\makebox(0,0){\small 1.0}} \put(1300,-2578.4){\makebox(0,0){\small 0.6}} %\put(1200,-3265.6){\makebox(0,0){\small 1.0}} %\put(1300,-3472.8){\makebox(0,0){\small 0.6}} %\put(1200,-4180){\makebox(0,0){\small 1.0}} %\put(1300,-4387.2){\makebox(0,0){\small 0.6}} %\put(1200,-5094.4){\makebox(0,0){\small 1.0}} %\put(1300,-5301.6){\makebox(0,0){\small 0.6}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \put(1900,-340){\makebox(0,0){\small\it 0.8}} \put(2100,-432.4){\makebox(0,0){\small\it 0.1}} \put(2100,-542.4){\makebox(0,0){\small\it 0.1}} \put(1900,-797.2){\makebox(0,0){\small\it 0.1}} \put(2100,-889.6){\makebox(0,0){\small\it 0.9}} \put(2100,-999.6){\makebox(0,0){\small\it 0.0}} \put(1900,-1244.4){\makebox(0,0){\small\it 0.0}} \put(2100,-1336.8){\makebox(0,0){\small\it 0.1}} \put(2100,-1446.8){\makebox(0,0){\small\it 0.9}} \put(1900,-1701.6){\makebox(0,0){\small\it 0.8}} \put(2100,-1794){\makebox(0,0){\small\it 0.1}} \put(2100,-1904){\makebox(0,0){\small\it 0.1}} \put(1900,-2153.8){\makebox(0,0){\small\it 0.8}} \put(2100,-2246.2){\makebox(0,0){\small\it 0.1}} \put(2100,-2356.2){\makebox(0,0){\small\it 0.1}} \put(1900,-2626){\makebox(0,0){\small\it 0.1}} \put(2100,-2703.4){\makebox(0,0){\small\it 0.0}} \put(2100,-2813.4){\makebox(0,0){\small\it 0.9}} %\put(1900,-3063.2){\makebox(0,0){\small\it 0.8}} %\put(2100,-3155.6){\makebox(0,0){\small\it 0.1}} %\put(2100,-3265.6){\makebox(0,0){\small\it 0.1}} %\put(1900,-3525.4){\makebox(0,0){\small\it 0.1}} %\put(2100,-3607.8){\makebox(0,0){\small\it 0.9}} %\put(2100,-3717.8){\makebox(0,0){\small\it 0.0}} %\put(1900,-3972.6){\makebox(0,0){\small\it 0.0}} %\put(2100,-4065){\makebox(0,0){\small\it 0.1}} %\put(2100,-4175){\makebox(0,0){\small\it 0.9}} %\put(1900,-4424.8){\makebox(0,0){\small\it 0.8}} %\put(2100,-4517.2){\makebox(0,0){\small\it 0.1}} %\put(2100,-4627.2){\makebox(0,0){\small\it 0.1}} %\put(1900,-4882){\makebox(0,0){\small\it 0.8}} %\put(2100,-4974.4){\makebox(0,0){\small\it 0.1}} %\put(2100,-5084.4){\makebox(0,0){\small\it 0.1}} %\put(1900,-5339.2){\makebox(0,0){\small\it 0.1}} %\put(2100,-5431.6){\makebox(0,0){\small\it 0.0}} %\put(2100,-5541.6){\makebox(0,0){\small\it 0.9}} \end{picture} \end{table} % &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Table 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{table}[ht] \caption{状態 $s_1$ からの２段確率決定樹表(続き)} %\begin{center} %図表1 : 状態 $s_1$ からの２段確率決定樹表 %\end{center} \begin{center}\footnotesize\renewcommand{\arraystretch}{0.91} \begin{tabular}{|cr@{\hspace*{0.5mm}}|c|l|l|c|c|} \hline \multicolumn{2}{|c|}{\makebox[62.6mm][c]{履歴}}&amp;amp; \makebox[0.1mm][c]{加法} &amp;amp; {経路} &amp;amp; \multicolumn{1}{|c|}{積} &amp;amp; \multicolumn{1}{|c|}{部期} &amp;amp; {全期}\\ \hline \hline &amp;amp;$s_1$ 0.3 &amp;amp; 2.3 &amp;amp; {\it 0.08} &amp;amp; 0.184 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 3.0 &amp;amp; {\it 0.01} &amp;amp; 0.03 &amp;amp; \makebox[6mm][c]{0.242} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.8 &amp;amp; {\it 0.01} &amp;amp; 0.028 &amp;amp; &amp;amp; \\ \cline{3-5} &amp;amp;$s_1$ 0.3 &amp;amp; 1.9 &amp;amp; {\it 0.01} &amp;amp; 0.019 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.6 &amp;amp; {\it 0.09} &amp;amp; 0.234 &amp;amp; \makebox[6mm][c]{\bf 0.253} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.4 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; &amp;amp; \\ \cline{3-6} &amp;amp;$s_1$ 0.3 &amp;amp; 2.3 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 3.0 &amp;amp; {\it 0.09} &amp;amp; 0.27 &amp;amp; \makebox[6mm][c]{\bf 2.538} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.8 &amp;amp; {\it 0.81} &amp;amp; 2.268 &amp;amp; &amp;amp; \makebox[6mm][c]{\bf 2.791} \\ &lt;br /&gt;
&lt;br /&gt;
\cline{3-5}&lt;br /&gt;
&amp;amp;$s_1$ 0.3 &amp;amp; 1.9 &amp;amp; {\it 0.72} &amp;amp; 1.368 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.6 &amp;amp; {\it 0.09} &amp;amp; 0.234 &amp;amp; \makebox[6mm][c]{1.818} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.4 &amp;amp; {\it 0.09} &amp;amp; 0.216 &amp;amp; &amp;amp; \\ \cline{3-6} &amp;amp;$s_1$ 0.3 &amp;amp; 2.3 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 3.0 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; \makebox[6mm][l]{\bf 0} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.8 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; &amp;amp; \\ \cline{3-5} &amp;amp;$s_1$ 0.3 &amp;amp; 1.9 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; &amp;amp; \\ &amp;amp;$s_2$ 1.0 &amp;amp; 2.6 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; \makebox[6mm][l]{\bf 0} &amp;amp; \\ &amp;amp;$s_3$ 0.8 &amp;amp; 2.4 &amp;amp; {\it 0.0} &amp;amp; 0 &amp;amp; &amp;amp; \\ \hline \end{tabular} \end{center} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Figure 2　%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \vspace*{-228mm}\hspace*{6mm} \setlength{\unitlength}{0.001in} %\setlength{\unitlength}{0.0001in} \begin{picture}(2300,5750)(0,-2700) \special{pn 8}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% p(x_2) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 492.4}% %\special{pa 2270 340}% %\special{fp}% %\special{pa 1600 492.4}% %\special{pa 2270 492.4}% %\special{fp}% %\special{pa 1600 492.4}% %\special{pa 2270 644.8}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 949.6}% %\special{pa 2270 797.2}% %\special{fp}% %\special{pa 1600 949.6}% %\special{pa 2270 949.6}% %\special{fp}% %\special{pa 1600 949.6}% %\special{pa 2270 1102}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 1406.8}% %\special{pa 2270 1254.4}% %\special{fp}% %\special{pa 1600 1406.8}% %\special{pa 2270 1406.8}% %\special{fp}% %\special{pa 1600 1406.8}% %\special{pa 2270 1559.2}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 1864}% %\special{pa 2270 1711.6}% %\special{fp}% %\special{pa 1600 1864}% %\special{pa 2270 1864}% %\special{fp}% %\special{pa 1600 1864}% %\special{pa 2270 2016.4}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 2321.2}% %\special{pa 2270 2168.8}% %\special{fp}% %\special{pa 1600 2321.2}% %\special{pa 2270 2321.2}% %\special{fp}% %\special{pa 1600 2321.2}% %\special{pa 2270 2473.6}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1600 2778.4}% %\special{pa 2270 2626}% %\special{fp}% %\special{pa 1600 2778.4}% %\special{pa 2270 2778.4}% %\special{fp}% %\special{pa 1600 2778.4}% %\special{pa 2270 2930.8}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 3235.6}% \special{pa 2270 3083.2}% \special{fp}% \special{pa 1600 3235.6}% \special{pa 2270 3235.6}% \special{fp}% \special{pa 1600 3235.6}% \special{pa 2270 3388}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 3692.8}% \special{pa 2270 3540.4}% \special{fp}% \special{pa 1600 3692.8}% \special{pa 2270 3692.8}% \special{fp}% \special{pa 1600 3692.8}% \special{pa 2270 3845.2}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 4150}% \special{pa 2270 3997.6}% \special{fp}% \special{pa 1600 4150}% \special{pa 2270 4150}% \special{fp}% \special{pa 1600 4150}% \special{pa 2270 4302.4}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 4607.2}% \special{pa 2270 4454.8}% \special{fp}% \special{pa 1600 4607.2}% \special{pa 2270 4607.2}% \special{fp}% \special{pa 1600 4607.2}% \special{pa 2270 4759.6}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 5064.4}% \special{pa 2270 4912}% \special{fp}% \special{pa 1600 5064.4}% \special{pa 2270 5064.4}% \special{fp}% \special{pa 1600 5064.4}% \special{pa 2270 5216.8}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1600 5521.6}% \special{pa 2270 5369.2}% \special{fp}% \special{pa 1600 5521.6}% \special{pa 2270 5521.6}% \special{fp}% \special{pa 1600 5521.6}% \special{pa 2270 5674}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% u_1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1000 721}% %\special{pa 1600 492.4}% %\special{da 0.05}% %\special{pa 1000 721}% %\special{pa 1600 949.6}% %\special{da 0.05}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1000 1635.4}% %\special{pa 1600 1406.8}% %\special{da 0.05}% %\special{pa 1000 1635.4}% %\special{pa 1600 1864}% %\special{da 0.05}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 1000 2549.8}% %\special{pa 1600 2321.2}% %\special{da 0.05}% %\special{pa 1000 2549.8}% %\special{pa 1600 2778.4}% %\special{da 0.05}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1000 3464.2}% \special{pa 1600 3235.6}% \special{da 0.05}% \special{pa 1000 3464.2}% \special{pa 1600 3692.8}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1000 4378.6}% \special{pa 1600 4150}% \special{fp}% \special{pa 1000 4378.6}% \special{pa 1600 4607.2}% \special{da 0.05}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 1000 5293}% \special{pa 1600 5064.4}% \special{fp}% \special{pa 1000 5293}% \special{pa 1600 5521.6}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% p(x_1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 500 1635.4}% %\special{pa 1000 721}% %\special{fp}% %\special{pa 500 1635.4}% %\special{pa 1000 1635.4}% %\special{fp}% %\special{pa 500 1635.4}% %\special{pa 1000 2549.8}% %\special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \special{pa 500 4378.6}% \special{pa 1000 3464.2}% \special{fp}% \special{pa 500 4378.6}% \special{pa 1000 4378.6}% \special{fp}% \special{pa 500 4378.6}% \special{pa 1000 5293}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% u_0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\special{pa 180 3007}% %\special{pa 500 1635.4}% %\special{da 0.05}% \special{pa 180 3007}% \special{pa 500 4378.6}% \special{fp}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% Nota. &amp;amp; Nume. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \put(300,-3067){\makebox(0,0){$s_1$}} %\put(1000,-621){\makebox(0,0){$s_1$}} %\put(1000,-1735.4){\makebox(0,0){$s_2$}} %\put(1000,-2649.8){\makebox(0,0){$s_3$}} \put(1000,-3344.2){\makebox(0,0){$s_1$}} \put(1000,-4458.6){\makebox(0,0){$s_2$}} \put(1000,-5373){\makebox(0,0){$s_3$}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\put(400,-2507){\makebox(0,0){$a_1$}} \put(400,-3507){\makebox(0,0){$a_2$}} %\put(1400,-644.8){\makebox(0,0){$a_1$}} %\put(1400,-949.6){\makebox(0,0){$a_2$}} %\put(1400,-1559.2){\makebox(0,0){$a_1$}} %\put(1400,-1864){\makebox(0,0){$a_2$}} %\put(1400,-2473.6){\makebox(0,0){$a_1$}} %\put(1400,-2778.4){\makebox(0,0){$a_2$}} \put(1400,-3368){\makebox(0,0){$a_1$}} \put(1400,-3672.8){\makebox(0,0){$a_2$}} \put(1400,-4282.4){\makebox(0,0){$a_1$}} \put(1400,-4587.2){\makebox(0,0){$a_2$}} \put(1400,-5196.8){\makebox(0,0){$a_1$}} \put(1400,-5501.6){\makebox(0,0){$a_2$}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\put(200,-2407){\makebox(0,0){\small 0.7}} \put(200,-3607){\makebox(0,0){\small 1.0}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\put(700,-1021){\makebox(0,0){\small\it 0.8}} %\put(800,-1535.4){\makebox(0,0){\small\it 0.1}} %\put(700,-2249.8){\makebox(0,0){\small\it 0.1}} \put(700,-3744.2){\makebox(0,0){\small\it 0.1}} \put(800,-4258.6){\makebox(0,0){\small\it 0.9}} \put(700,-4973){\makebox(0,0){\small\it 0.0}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\put(1200,-542.4){\makebox(0,0){\small 1.0}} %\put(1300,-749.6){\makebox(0,0){\small 0.6}} %\put(1200,-1456.8){\makebox(0,0){\small 1.0}} %\put(1300,-1664){\makebox(0,0){\small 0.6}} %\put(1200,-2371.2){\makebox(0,0){\small 1.0}} %\put(1300,-2578.4){\makebox(0,0){\small 0.6}} \put(1200,-3265.6){\makebox(0,0){\small 1.0}} \put(1300,-3472.8){\makebox(0,0){\small 0.6}} \put(1200,-4180){\makebox(0,0){\small 1.0}} \put(1300,-4387.2){\makebox(0,0){\small 0.6}} \put(1200,-5094.4){\makebox(0,0){\small 1.0}} \put(1300,-5301.6){\makebox(0,0){\small 0.6}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\put(1900,-340){\makebox(0,0){\small\it 0.8}} %\put(2100,-432.4){\makebox(0,0){\small\it 0.1}} %\put(2100,-542.4){\makebox(0,0){\small\it 0.1}} %\put(1900,-797.2){\makebox(0,0){\small\it 0.1}} %\put(2100,-889.6){\makebox(0,0){\small\it 0.9}} %\put(2100,-999.6){\makebox(0,0){\small\it 0.0}} %\put(1900,-1244.4){\makebox(0,0){\small\it 0.0}} %\put(2100,-1336.8){\makebox(0,0){\small\it 0.1}} %\put(2100,-1446.8){\makebox(0,0){\small\it 0.9}} %\put(1900,-1701.6){\makebox(0,0){\small\it 0.8}} %\put(2100,-1794){\makebox(0,0){\small\it 0.1}} %\put(2100,-1904){\makebox(0,0){\small\it 0.1}} %\put(1900,-2153.8){\makebox(0,0){\small\it 0.8}} %\put(2100,-2246.2){\makebox(0,0){\small\it 0.1}} %\put(2100,-2356.2){\makebox(0,0){\small\it 0.1}} %\put(1900,-2626){\makebox(0,0){\small\it 0.1}} %\put(2100,-2703.4){\makebox(0,0){\small\it 0.0}} %\put(2100,-2813.4){\makebox(0,0){\small\it 0.9}} \put(1900,-3063.2){\makebox(0,0){\small\it 0.8}} \put(2100,-3155.6){\makebox(0,0){\small\it 0.1}} \put(2100,-3265.6){\makebox(0,0){\small\it 0.1}} \put(1900,-3525.4){\makebox(0,0){\small\it 0.1}} \put(2100,-3607.8){\makebox(0,0){\small\it 0.9}} \put(2100,-3717.8){\makebox(0,0){\small\it 0.0}} \put(1900,-3972.6){\makebox(0,0){\small\it 0.0}} \put(2100,-4065){\makebox(0,0){\small\it 0.1}} \put(2100,-4175){\makebox(0,0){\small\it 0.9}} \put(1900,-4424.8){\makebox(0,0){\small\it 0.8}} \put(2100,-4517.2){\makebox(0,0){\small\it 0.1}} \put(2100,-4627.2){\makebox(0,0){\small\it 0.1}} \put(1900,-4882){\makebox(0,0){\small\it 0.8}} \put(2100,-4974.4){\makebox(0,0){\small\it 0.1}} \put(2100,-5084.4){\makebox(0,0){\small\it 0.1}} \put(1900,-5339.2){\makebox(0,0){\small\it 0.1}} \put(2100,-5431.6){\makebox(0,0){\small\it 0.0}} \put(2100,-5541.6){\makebox(0,0){\small\it 0.9}} \end{picture} \end{table} \clearpage % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \begin{center} &lt;br /&gt;
&lt;br /&gt;
\begin{tabular}{cccc}&lt;br /&gt;
    $u_t=a_1$ &amp;amp; \hspace{30mm} &amp;amp;~~~~~&amp;amp; $u_t=a_2$ \\&lt;br /&gt;
      \cline{1-1}\cline{4-4}&lt;br /&gt;
\end{tabular} \end{center} \begin{center} &lt;br /&gt;
&lt;br /&gt;
\begin{tabular}{ccccccccc}&lt;br /&gt;
     \cline{1-4}\cline{6-9}&lt;br /&gt;
 \multicolumn{1}{r|}{$x_t＼x_{t+1}$} &amp;amp; $s_1$ &amp;amp; $s_2$ &amp;amp; $s_3$ &amp;amp; &lt;br /&gt;
~~~~~&amp;amp; \multicolumn{1}{r|}{$x_t＼x_{t+1}$} &amp;amp; $s_1$ &amp;amp; $s_2$ &amp;amp; $s_3$ \\ &lt;br /&gt;
&lt;br /&gt;
 \cline{1-4}\cline{6-9} \\&lt;br /&gt;
 \noalign{\vskip-4.3mm}&lt;br /&gt;
\multicolumn{1}{c|}{$s_1$} &amp;amp; {\it 0.8} &amp;amp; {\it 0.1} &amp;amp; {\it 0.1} &amp;amp; &amp;amp;&lt;br /&gt;
\multicolumn{1}{c|}{$s_1$} &amp;amp; {\it 0.1} &amp;amp; {\it 0.9} &amp;amp; {\it 0.0} \\ &lt;br /&gt;
&lt;br /&gt;
\multicolumn{1}{c|}{$s_2$} &amp;amp; {\it 0.0} &amp;amp; {\it 0.1} &amp;amp; {\it 0.9} &amp;amp; &amp;amp;&lt;br /&gt;
\multicolumn{1}{c|}{$s_2$} &amp;amp; {\it 0.8} &amp;amp; {\it 0.1} &amp;amp; {\it 0.1} \\ &lt;br /&gt;
&lt;br /&gt;
\multicolumn{1}{c|}{$s_3$} &amp;amp; {\it 0.8} &amp;amp; {\it 0.1} &amp;amp; {\it 0.1} &amp;amp; &amp;amp;&lt;br /&gt;
\multicolumn{1}{c|}{$s_3$} &amp;amp; {\it 0.1} &amp;amp; {\it 0.0} &amp;amp; {\it 0.9} \\ &lt;br /&gt;
&lt;br /&gt;
 \cline{1-4}\cline{6-9}&lt;br /&gt;
\end{tabular}&lt;br /&gt;
\end{center} &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:決定樹表(繰り返し法)では, 次のように簡略化している：&lt;br /&gt;
&lt;br /&gt;
::履歴 = &amp;lt;math&amp;gt;x_0~~r_{0}(u_0)\,&amp;lt;/math&amp;gt;／&amp;lt;math&amp;gt;u_0~~p_0~~x_1~~r_{1}(u_1)\,&amp;lt;/math&amp;gt;／&amp;lt;math&amp;gt;u_1~~p_1~~x_2~~r_G(x_2)\,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::ただし &amp;lt;math&amp;gt;p_0 = p(x_1 | x_0,u_0), ~p_1 = p(x_2 | x_1,u_1)\,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::加法 &amp;lt;math&amp;gt;=\, &amp;lt;/math&amp;gt; 評価値の和 &amp;lt;math&amp;gt;= r_{0}(u_0) + r_{1}(u_1) + r_G(x_2)\,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::経路 &amp;lt;math&amp;gt;=\,&amp;lt;/math&amp;gt; 経路確率 &amp;lt;math&amp;gt;= p_0 p_1\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::積 &amp;lt;math&amp;gt;=\, &amp;lt;/math&amp;gt; 加法 &amp;lt;math&amp;gt;\times\,&amp;lt;/math&amp;gt; 経路, 　　部期 &amp;lt;math&amp;gt;=\, &amp;lt;/math&amp;gt;部分期待値, 　　全期 &amp;lt;math&amp;gt;=\, &amp;lt;/math&amp;gt; 全期待値.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
この樹表によって &amp;lt;math&amp;gt;s_{1}\, &amp;lt;/math&amp;gt; からの(最適原始決定関数を経て)最適一般決定関数&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{0}(s_{1}) = a_{2}; \quad \sigma_{1}(s_{1}, s_{1}) =&lt;br /&gt;
 a_{2}, \quad \sigma_{1}(s_{1}, s_{2}) = a_{1}, \quad \sigma_{1}(s_{1}, s_{3}) = a_{1},a_{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
および最大値 &amp;lt;math&amp;gt;V_{1}(s_{1}) = \mathbf{2.791}&amp;lt;/math&amp;gt; が得られる. さらに, &amp;lt;math&amp;gt;s_{2},\,s_{3}&amp;lt;/math&amp;gt; からの樹表(省略)と合わせると, [[マルコフ政策]]&amp;lt;math&amp;gt;\pi = \{\pi_{0}, \pi_{1} \}  : \, &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\pi_{0}(s_{1}) = a_{2}, \quad \pi_{0}(s_{2}) = a_{2}, \quad \pi_{0}(s_{3}) = a_{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\pi_{1}(s_{1}) = a_{2}, \quad \pi_{1}(s_{2}) = a_{1}, \quad \pi_{1}(s_{3}) = a_{1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
が最適になっていることがわかる. これは加法型特有の性質である. 一般に, 任意の評価関数に対しては, [[原始政策]], したがって[[一般政策 (逐次決定過程における)|一般政策]]が最適になる. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] S. Iwamoto and T. Fujita, &amp;quot;Stochastic Decision-making in a Fuzzy Environment,&amp;quot; ''Journal of the Operations Research Society of Japan'', '''38''' (1995), 467-482.&lt;br /&gt;
&lt;br /&gt;
[2] T. Fujita and K. Tsurusaki, &amp;quot;Stochastic Optimization of Multiplicative Functions with Negative Value,&amp;quot; ''Journal of the Operations Research Society of Japan'', '''41''' (1998), 351-373.  &lt;br /&gt;
&lt;br /&gt;
[3] S. Iwamoto, K. Tsurusaki and T. Fujita, &amp;quot;Conditional Decision-making in a Fuzzy Environment,&amp;quot; ''Journal of the Operations Research Society of Japan'', '''42''' (1999), 198-218.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:動的・確率・多目的計画|ただんかくりつけっていじゅひょう]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E4%B8%A1%E7%9A%84%E8%A8%88%E7%94%BB&amp;diff=9709</id>
		<title>両的計画</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E4%B8%A1%E7%9A%84%E8%A8%88%E7%94%BB&amp;diff=9709"/>
		<updated>2008-03-23T08:43:51Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【りょうてきけいかく (bynamic programming)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
いわゆる動的計画法を2元連立的に考えた逐次最適化法. 単調性「非減少性」に代わって両調性「非減少性または非増加性のいずれか」の下では, 部分最大化問題群と部分最小化問題群の両群を考えて, 両群の相隣る問題間の関係を両帰式としてを導く. これを逐次解いて, 最後に与問題の最適解を求める方法である.負値乗法型, 負値乗加法型などの評価系が両的計画で解ける. 確率系ではマルコフ両決定過程ともいう.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　動的計画法は単調性 monotonicity と再帰性 recursiveness (可分性 separability) の下で適用される. この単調性は目的関数の「非減少性」を意味しているが, これを両調性 bitonicity「非減少性または非増加性のいずれか」まで拡大解釈すると, より広い逐次決定過程が考えられる. これを[[両的計画]]と呼ぶ. 特に, 確率システム上では[[マルコフ両決定過程]][3]という. これは確率的動的計画法を単にマルコフ決定過程ということに準じている.&lt;br /&gt;
&lt;br /&gt;
　両的計画法によって最大化問題を解く場合, 与問題に対する部分最大化問題群ばかりでなく部分最小化問題群をも考える必要がある. このとき, 最大値関数と最小値関数の間に成り立つ連立再帰式を[[両帰式 (動的計画法における)|両帰式]]という. [[負値乗法型評価系]][1], [[負値乗加法型評価系]] [2] の最適化問題や[[最短最長ルート問題]]などは両帰式で解ける.&lt;br /&gt;
&lt;br /&gt;
　さて, 逐次決定過程が次の要素で与えられるとしよう：&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
　&lt;br /&gt;
:&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; は状態空間, &amp;lt;math&amp;gt;s_{n} \in S\, &amp;lt;/math&amp;gt; は第&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;状態, &amp;lt;math&amp;gt;A\, &amp;lt;/math&amp;gt;は決定空間&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;A(s_{n})\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;s_{n}\, &amp;lt;/math&amp;gt;での可能決定空間, &amp;lt;math&amp;gt;a_{n} \in A(s_{n})\, &amp;lt;/math&amp;gt;は第&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;決定&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;r : S \times A \to \mathbf{R}^{1}&amp;lt;/math&amp;gt;は利得関数, &amp;lt;math&amp;gt;\beta : S \times A \to (-1,\,1)\, &amp;lt;/math&amp;gt;は割引き関数&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k : S \to \mathbf{R}^{1}\, &amp;lt;/math&amp;gt;は終端関数, &amp;lt;math&amp;gt;T : S \times A \to S\, &amp;lt;/math&amp;gt;は状態変換&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;p = \{p(t|s,a)\}\, &amp;lt;/math&amp;gt;はマルコフ推移法則, &amp;lt;math&amp;gt;\sum_{t \in S}p(t|s,a) = 1, p(t|s,a) \ge 0\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
このとき, 確定系上の負値乗加法評価系の最大化または最小化は&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
{\rm max.~and~min.} &amp;amp; r_{1} + \beta_{1}r_{2} +&lt;br /&gt;
 \beta_{1}\beta_{2}r_{3} + \cdots   \\&lt;br /&gt;
&amp;amp; + \beta_{1}\beta_{2} \cdots \beta_{N-1}r_{N} +&lt;br /&gt;
 \beta_{1}\beta_{2} \cdots \beta_{N}k \\&lt;br /&gt;
\mbox{s. t.} \; T(s_n,a_n) = &amp;amp;  s_{n+1}, ~ a_{n} \in A(s_{n}) \quad (n = 1, 2, \ldots, N), &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で表わされる. ただし &amp;lt;math&amp;gt;r_{n} = r(s_{n},a_{n}),~~\beta_{n}= \beta(s_{n},a_{n})\, &amp;lt;/math&amp;gt;.  このとき, 第&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;段の状態  &amp;lt;math&amp;gt;s_{n}\, &amp;lt;/math&amp;gt; から始まる部分問題&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
{\rm max.~and~min.} &amp;amp; r_{n} + \beta_{n}r_{n+1} +&lt;br /&gt;
 \beta_{n}\beta_{n+1}r_{n+2} + \cdots   \\&lt;br /&gt;
&amp;amp; + \beta_{n}\beta_{n+1} \cdots \beta_{N-1}r_{N} +&lt;br /&gt;
 \beta_{n}\beta_{n+1} \cdots \beta_{N}k   \\&lt;br /&gt;
\mbox{s. t.} \; T(s_m,a_m) = &amp;amp; s_{m+1}, ~ a_{m} \in A(s_{m}) \quad (m = n, n+1, \ldots, N ),   &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
の最大値を &amp;lt;math&amp;gt;U_{n}(s_{n})\, &amp;lt;/math&amp;gt;, 最小値を &amp;lt;math&amp;gt;u_{n}(s_{n})\, &amp;lt;/math&amp;gt; とすると, 両最適値関数は両帰式&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;U_{n}(s) = \max_{a:-}T(s,a; u_{n+1}) \vee \max_{a:+}T(s,a; U_{n+1})\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;u_{n}(s) = \min_{a:-}T(s,a; U_{n+1}) \wedge \min_{a:+}T(s,a; u_{n+1})&lt;br /&gt;
\quad  \quad  \mbox{(1)}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;U_{N+1}(s) = u_{N+1}(s) = k(s)\, &amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
を満たす. ここに~  &amp;lt;math&amp;gt;T(s,a; w) := r(s,a) + \beta(s,a)w(T(s,a)), ~ a:-(+)\, &amp;lt;/math&amp;gt;は &amp;lt;math&amp;gt;\beta(s,a) &amp;lt;(\ge)\, 0\, &amp;lt;/math&amp;gt; なる &amp;lt;math&amp;gt;a\, &amp;lt;/math&amp;gt; である.&lt;br /&gt;
&lt;br /&gt;
　また, マルコフ推移法則 &amp;lt;math&amp;gt;p = \{p(t|s,a)\}\, &amp;lt;/math&amp;gt; 上での期待値最適化問題&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
{\rm max.~and~min.} &amp;amp; E[\,r_{1} + \beta_{1}r_{2} +&lt;br /&gt;
 \beta_{1}\beta_{2}r_{3} + \cdots   \\&lt;br /&gt;
&amp;amp; + \beta_{1}\beta_{2} \cdots \beta_{N-1}r_{N} +&lt;br /&gt;
 \beta_{1}\beta_{2} \cdots \beta_{N}k\,] &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;\mbox{s. t.} \; \; p(\cdot|s_n,a_n) ~ \sim s_{n+1}, ~ a_{n} \in A(s_{n}) \;&lt;br /&gt;
  (n = 1,2, \ldots ), \, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
の両帰式は一次変換&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T(s,a; w) := r(s,a) + \beta(s,a) {\displaystyle \sum_{t \in S}w(t)p(t|s,a)}\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
を用いて(1)と同じ型で与えられる[4]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. Bellman, ''Dynamic Programming'', Princeton Univ. Press, 1957.  &lt;br /&gt;
&lt;br /&gt;
[2] S. Iwamoto, &amp;quot;From Dynamic Programming to Bynamic programming,&amp;quot; ''Journal of Mathematical Analysis and Applications'', '''177''' (1993), 56-74.  &lt;br /&gt;
&lt;br /&gt;
[3] S. Iwamoto, &amp;quot;On Bidecision Processes,&amp;quot; ''Journal of Mathematical Analysis and Applications'', '''187''' (1994), 676-699.&lt;br /&gt;
&lt;br /&gt;
[4] T. Fujita and K. Tsurusaki, &amp;quot;Stochastic Optimization of Multiplicative Functions with Negative Value,&amp;quot; ''Journal of the Operations Research Society of Japan'', '''41''' (1998), 351-373.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:動的・確率・多目的計画|りょうてきけいかく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%8B%95%E7%9A%84%E8%A8%88%E7%94%BB&amp;diff=9708</id>
		<title>動的計画</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%8B%95%E7%9A%84%E8%A8%88%E7%94%BB&amp;diff=9708"/>
		<updated>2008-03-23T08:42:44Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【どうてきけいかく (dynamic programming)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
1957年, ベルマン (R.E. Bellman) によって提案された多変数最適化問題を解くための手法. 目的関数に再帰性(可分性)と単調性があり, 制約式が逐次的であるとき, 原問題をある部分問題群に埋め込んで, 各部分問題の最適値を定義し, 相隣る問題の最適値間の関係式(再帰式)を導く. これを逐次解いて, 最後に与問題の最適解を求める方法である. 解法の効率化のためには, 決定変数, 状態変数, 評価関数などの選択・設定に個々の創意工夫を要する.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　多変数最適化問題の目的関数が再帰性(可分性)と単調性をもち, 制約条件に逐次性があるとき, [[再帰式 (動的計画法の)|再帰式]] を導いて, これを１変数ずつ解いて最後に与問題の最適解を求めようとする方法を, [[動的計画]](dynamic programming)と呼ぶ. 原理としては  &amp;lt;math&amp;gt;\mbox{(i)}\, &amp;lt;/math&amp;gt; [[最適性の原理]] (principle of optimality),  &amp;lt;math&amp;gt;\mbox{(ii)}\, &amp;lt;/math&amp;gt;  [[不変埋没原理]](principle of invariant imbedding),  &amp;lt;math&amp;gt;\mbox{(iii)}\, &amp;lt;/math&amp;gt;  因果律の原理(principle of causality), の三つに基づく[1]. 最適性の原理には &amp;lt;math&amp;gt;\mbox{(1)}\, &amp;lt;/math&amp;gt;  オリジナル版,  &amp;lt;math&amp;gt;\mbox{(2)}\, &amp;lt;/math&amp;gt;  シンプル版,  &amp;lt;math&amp;gt;\mbox{ (3)}\, &amp;lt;/math&amp;gt;  &amp;quot;&amp;lt;math&amp;gt;\mbox{Life}\, &amp;lt;/math&amp;gt;&amp;quot;版,  &amp;lt;math&amp;gt;\mbox{(4)}\, &amp;lt;/math&amp;gt;  構造解析版,  &amp;lt;math&amp;gt;\mbox{(5)}\, &amp;lt;/math&amp;gt;  数学版, などがある[9]. 数学的には[[マックスマックス定理 (逐次過程における)|マックスマックス定理]] に遡ることができる[2][4]. 応用面では, [[逐次決定過程]] [3][6]の基本原理として用いられ, マルコフ決定過程の政策改良法, 最短経路問題のダイクストラ法, 巡回セールスマン問題など種々の最適化問題の解法としてアルゴリズムに組み込まれている.&lt;br /&gt;
&lt;br /&gt;
　一般に, 再帰型関数 &amp;lt;math&amp;gt;h : [0, \infty)^{N} \to \mathbf{R}^{1}\, &amp;lt;/math&amp;gt; は&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;h(x_{1}, x_{2},  \ldots , x_{N}) =&lt;br /&gt;
 h_{1}(x_{1};h_{2}(x_{2};\ldots , h_{N-1}(x_{N-1};h_{N}(x_{N})) \ldots ))\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で表わされる. このとき, 部分関数 &amp;lt;math&amp;gt;h_{n} : [0, \infty)^{N-n+1} \to \mathbf{R}^{1}\, &amp;lt;/math&amp;gt; を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;h_{n}(x_{n}, \ldots , x_{N}) := h_{n}(x_{n};\ldots ,&lt;br /&gt;
 h_{N-1}(x_{N-1};h_{N}(x_{N})) \ldots )\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で定義する. 構成要素の１変数関数 &amp;lt;math&amp;gt;h_{n}(x;\cdot), h_{N}(\cdot)\, &amp;lt;/math&amp;gt; がすべて単調な(狭義単調な)とき, 特に単調性(狭義単調性)をもつ再帰型関数という. 単調性をもつ再帰型関数 &amp;lt;math&amp;gt;f,\, g&amp;lt;/math&amp;gt; を目的式と制約式にする主問題&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\mbox{P}(c) \quad&lt;br /&gt;
\begin{array}{lll}&lt;br /&gt;
\mbox{max.} &amp;amp; f(x_{1}, x_{2},  \ldots , x_{N})    \\&lt;br /&gt;
\mbox{s. t.}&amp;amp; g(x_{1}, x_{2},  \ldots , x_{N}) \le c, &amp;amp; x_{1},x_{2},\ldots ,x_{N} \ge 0,    &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
の解(最大値関数と最大点関数)は次のように求められる：&lt;br /&gt;
&lt;br /&gt;
主問題 &amp;lt;math&amp;gt;\mbox{P}(c)\, &amp;lt;/math&amp;gt; を部分問題群 &amp;lt;math&amp;gt;{\mathbf P} = \{\mbox{P}_{n}(c)\}:\, &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\mbox{P}_{n}(c) \quad&lt;br /&gt;
\begin{array}{lll}&lt;br /&gt;
\mbox{max.} &amp;amp; f_{n}(x_{n}, \ldots , x_{N})    \\&lt;br /&gt;
\mbox{s. t.}&amp;amp; g_{n}(x_{n}, \ldots , x_{N}) \le c, &amp;amp; x_{n}, \ldots ,x_{N} \ge 0,    &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
に埋め込み, この最大値を  &amp;lt;math&amp;gt;u_{n}(c)\, &amp;lt;/math&amp;gt; とする. このとき, 制約式の狭義単調性と両式の連続性を仮定すると, 再帰式&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;u_{n}(c)  =\max_{x \ge 0} \, f_{n}(\,x\,; &lt;br /&gt;
u_{n+1}(g_{nx}^{-1}(c))) \quad 1 \le n \le N-1\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;math&amp;gt;u_{N}(c) =f_{N}(g_{N}^{-1}(c))\, &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
が成り立つ. ただし, &amp;lt;math&amp;gt;g^{-1}_{nx}(\cdot)\, &amp;lt;/math&amp;gt; は &amp;lt;math&amp;gt;g_{n}(x;\cdot)\, &amp;lt;/math&amp;gt; の逆関数. この再帰式を後向きに解いて, 最後に主問題の最大値 &amp;lt;math&amp;gt;u_{1}(c)\, &amp;lt;/math&amp;gt; が得られる. これが動的計画法である. さらに, 主問題 &amp;lt;math&amp;gt;\mbox{P}(c)\, &amp;lt;/math&amp;gt; と逆問題&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\mbox{I}(c) \quad&lt;br /&gt;
\begin{array}{lll}&lt;br /&gt;
\mbox{min.} &amp;amp; g(x_{1}, x_{2},  \ldots , x_{N})    \\&lt;br /&gt;
\mbox{s. t.}&amp;amp; f(x_{1}, x_{2},  \ldots , x_{N}) \ge c, &amp;amp; x_{1},x_{2},\ldots ,x_{N} \ge 0,   &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
の解(最小値関数と最小点関数)の間には互いに逆関数の関係にある([[逆定理 (動的計画法における)|逆定理]] [5]). これは線形計画における双対定理に類似して, 動的計画の双対定理と考えられる[11]. &lt;br /&gt;
&lt;br /&gt;
　また, 狭義単調性をもつ再帰型関数 &amp;lt;math&amp;gt;h\, &amp;lt;/math&amp;gt; が終端値 &amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt; をもつときは&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;h(x_{1}, \ldots , x_{N}, k) = h_{1}(x_{1};\ldots , h_{N-1}(x_{N-1};h_{N}(x_{N};k)) \ldots )\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で表わされる. これに対して反転関数(逐次パラメトリック逆関数) &amp;lt;math&amp;gt;h^{-1} : \mathbf{R}^{N+1}  \to \mathbf{R}^{1}\, &amp;lt;/math&amp;gt; を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;h^{-1}(x_{N}, \ldots , x_{2}, x_{1}, c) &lt;br /&gt;
:\;=\; h^{-1}_{N}(x_{N};\ldots , h^{-1}_{2}(x_{2};h^{-1}_{1}(x_{1};c)) \ldots&lt;br /&gt;
 )\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で定義する. このとき, 目的式 &amp;lt;math&amp;gt;f\, &amp;lt;/math&amp;gt;, 制約式 &amp;lt;math&amp;gt;g\, &amp;lt;/math&amp;gt; (ただし &amp;lt;math&amp;gt;g_{N}(x_{N};l)&lt;br /&gt;
 := g_{N}(x_{N}) + l )\, &amp;lt;/math&amp;gt;をもつ主問題の反転問題を&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\mbox{R}(c) \quad&lt;br /&gt;
\begin{array}{lll}&lt;br /&gt;
\mbox{min.} &amp;amp; f^{-1}(x_{N}, \ldots , x_{1}, u_{1}^{-1}(c))   \\&lt;br /&gt;
\mbox{s. t.}&amp;amp; g^{-1}(x_{N}, \ldots , x_{1}, c) = 0, &amp;amp; x_{N},\ldots ,x_{1} \ge 0,  &lt;br /&gt;
\end{array}\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で考えると, 反転問題の最小値は主問題の終端値となる ([[反転定理]] [7]).&lt;br /&gt;
&lt;br /&gt;
　さらに, 準線形化, 最大変換(共役変換)による双対理論を組み込んだ[[三面鏡理論]] [8]が制御過程上で展開されている. 逆問題, 反転問題, 双対問題は基本的に動的計画法で解くことができるが, それぞれの問題の最適解は直接解くことなく, 対応する定理によって得られる[7]. &lt;br /&gt;
&lt;br /&gt;
　再帰性, 単調性がない場合の最適化としては, 非可分性との関連で結合性などの下で[[事前条件付き決定過程]], [[事後条件付き決定過程]][10]が[[ファジィ動的計画]], 非加法型再帰的効用関数の経済学などで研究されている. これらの問題はマルコフ政策のクラスで再帰式が導かれる. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] R. Bellman, ''Dynamic Programming'', Princeton Univ. Press, 1957. &lt;br /&gt;
&lt;br /&gt;
[2] G. H. Hardy, J. E. littlewood and G. P&amp;amp;oacute;lya, ''Inequalities, 2nd ed.,'' Cambridge Univ. Press, 1952. &lt;br /&gt;
&lt;br /&gt;
[3] 茨木俊秀,『組合せ最適化の理論』, 電子通信学会, 1979.&lt;br /&gt;
&lt;br /&gt;
[4] 伊理正夫ほか, 座談会「最大問題最小問題をめぐって」,『数学セミナー』, 7月号 (1966), 40-48.&lt;br /&gt;
&lt;br /&gt;
[5] S. Iwamoto, &amp;quot;Inverse Theorems in Dynamic Programming I, II, III,&amp;quot; ''Journal of Mathematical Analysis and Applications'', '''58''' (1977), 113-134, 249-279, 439-448. &lt;br /&gt;
&lt;br /&gt;
[6] 岩本誠一,「逐次決定過程としての動的計画論I,II」,『オペレーションズ・リサーチ』, '''22''' (1977), 427-434, 496-501.&lt;br /&gt;
&lt;br /&gt;
[7] 岩本誠一,『動的計画論』, 九州大学出版会(経済工学シリーズ), 1987.&lt;br /&gt;
&lt;br /&gt;
[8] S. Iwamoto, &amp;quot;A three mirror problem on dynamic programming,&amp;quot; in ''Proceedings of the Third Bellman Continuum Workshop'', 363-382, 1989.&lt;br /&gt;
&lt;br /&gt;
[9] 岩本誠一,「動的計画の最近の進歩」, 第２回ＲＡＭＰシンポジウム論文集, 129-140, 1990.&lt;br /&gt;
&lt;br /&gt;
[10] S. Iwamoto, &amp;quot;Conditional decision processes with recursive reward function,&amp;quot;''Journal of Mathematical Analysis and Applications'', '''230''' (1999), 193-210.&lt;br /&gt;
&lt;br /&gt;
[11] 近藤次郎,『最適化法』, コロナ社, 1984.&lt;br /&gt;
&lt;br /&gt;
[[Category:動的・確率・多目的計画|どうてきけいかく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E8%A8%88%E7%AE%97%E5%B9%BE%E4%BD%95%E5%AD%A6&amp;diff=9707</id>
		<title>計算幾何学</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E8%A8%88%E7%AE%97%E5%B9%BE%E4%BD%95%E5%AD%A6&amp;diff=9707"/>
		<updated>2008-03-23T08:41:48Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【けいさんきかがく (computational geometry)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
幾何学的な問題を解くための基本的なアルゴリズムの体系化をめざす学問分野. 1970年代から始まった若い分野であるが, アレンジメントやボロノイ図の計算をはじめ, すでに膨大なアルゴリズムが蓄積されている.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　[[計算幾何学]] (computational geometry) とは, 幾何的問題を効率よく解くための基本アルゴリズムの蓄積と体系化をめざす学問分野である. 計算幾何学という名称が初めて使われたのは Shamos の学位論文 [1] だと言われている. 1970年代の中頃に生まれたこの分野は, その後急速に発展し, 1980年代の中頃には相次いで標準的な教科書が出版された [2, 3, 4]. &lt;br /&gt;
&lt;br /&gt;
　計算幾何学で扱う問題は多岐に渡るが, 以下に示すのはその中でも最も基本的なものである. &lt;br /&gt;
&lt;br /&gt;
　平面上に有限個の点が指定されたとき, どの点に最も近いかによって平面をそれぞれの点の勢力圏に分割した図形を[[ボロノイ図]]  (Voronoi diagram) といい, 最初に与えた点を生成元という. ボロノイ図は自然界のパターンの解析, 地理的最適化など多くの応用に使われている. &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;個の生成元のボロノイ図は &amp;lt;math&amp;gt;{\rm O}(n\log n)\, &amp;lt;/math&amp;gt; の計算量で作ることができ, これが最適であることもわかっている. ボロノイ図は, 空間の次元や距離を変えることによって多くの種類のものが定義できる. 上に述べたのはその中の最も基本的なもので, [[点ボロノイ図]] (Voronoi diagram for points) とよばれている. &lt;br /&gt;
&lt;br /&gt;
　空間の点の集合 &amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt; は, 「&amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt;内の任意の 2 点を結ぶ線分が &amp;lt;math&amp;gt;X\, &amp;lt;/math&amp;gt; に含まれる」という性質を満たすとき凸集合とよばれる. 与えられた点の集合 &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に対して, &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; を含む最小の凸集合を &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; の[[凸包]] (convex hull) という. &amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;次元空間における &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt; 個の点の集合 &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に対する凸包は, &amp;lt;math&amp;gt;d=2\, &amp;lt;/math&amp;gt;のとき &amp;lt;math&amp;gt;{\rm O}(n\log n)\, &amp;lt;/math&amp;gt; の計算量で, &amp;lt;math&amp;gt;d \geq 3\, &amp;lt;/math&amp;gt; のとき &amp;lt;math&amp;gt;{\rm O}(n^{\lfloor d/2\rfloor})\, &amp;lt;/math&amp;gt;の計算量で求めることができる. ただし &amp;lt;math&amp;gt;\lfloor x \rfloor\, &amp;lt;/math&amp;gt; は &amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt; 以下の最大の整数を表す. また, これより小さい計算量では求められないこともわかっている. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; を平面上に指定された &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt; 個の点の集合とする. &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; の凸包の内部を, &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に属すすべての点を頂点に使って三角形に分割した図形を, &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; を張る[[三角形分割]] (triangulation) という. &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; を張る三角形分割は一般に何通りもある. その中で, 点ボロノイ図の双対図形として得られる三角形分割 ([[ドロネー図]]), 辺長の和が最小の三角形分割 ([[重み最小三角形分割]]) などが, 比較的ふっくらとした三角形を多く含む分割であるためによく調べられている. 前者は &amp;lt;math&amp;gt;{\rm O}(n\log n)\, &amp;lt;/math&amp;gt; の計算量で構成できるが, 後者を構成する問題はNP困難か否かもわかっていない. 一方, 三角形の質は問わないで, どのような三角形を使ってもよいからともかく &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; を張る三角形分割を作りたいという場合でも&amp;lt;math&amp;gt;{\rm O}(n\log n)\, &amp;lt;/math&amp;gt; より小さい計算量では作れないことがわかっている. その意味でもドロネー図は重要な三角形分割である. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt; 次元空間に &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt; 個の超平面が与えられたとき, それらの超平面が互いに交差して空間を分割する構造は[[アレンジメント]]  (arrangement) とよばれる. &amp;lt;math&amp;gt;d=2\, &amp;lt;/math&amp;gt;の場合は平面内の直線のアレンジメントであり, 平面を凸多角形に分割した構造である. &amp;lt;math&amp;gt;d=3\, &amp;lt;/math&amp;gt; の場合は 3 次元空間内の平面のアレンジメントであり, 空間は凸多面体に分割される. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;(x,y,z)\, &amp;lt;/math&amp;gt;座標系をもつ3次元空間において, &amp;lt;math&amp;gt;z\, &amp;lt;/math&amp;gt;軸に平行ではない&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;枚の平面が作るアレンジメントを &amp;lt;math&amp;gt;A_n\, &amp;lt;/math&amp;gt; とする. &amp;lt;math&amp;gt;A_n\, &amp;lt;/math&amp;gt; は空間をいくつかの凸多面体に分割するが, その境界となっているおのおのの凸多角形は, &amp;lt;math&amp;gt;z\, &amp;lt;/math&amp;gt;軸に平行な直線によって貫かれる順序によって, &amp;lt;math&amp;gt;z\, &amp;lt;/math&amp;gt;座標の大きい方から1層目, 2層目, 等と層に分類することができる. これらの階層は2次元ボロノイ図と密接な関係がある [4]. &lt;br /&gt;
&lt;br /&gt;
　計算幾何学では, 各種幾何問題に対してそれを解く個別のアルゴリズムを追求するだけでなく, 異なる幾何構造の間の関係を調べ, それをアルゴリズムの開発に利用する努力もなされている. 異なる幾何構造をつなぐための代表的道具の一つは[[双対変換]] (dual transformation) である. 最も素朴な双対変換は平面上の直線 &amp;lt;math&amp;gt;y=ax+b\, &amp;lt;/math&amp;gt; を点 &amp;lt;math&amp;gt;(a,-b)\, &amp;lt;/math&amp;gt; へ変換させるものである. この変換によって点は直線へ変換され, もとの平面での直線と点との接続関係は双対変換を施したあとも保たれる. このことを利用すると, たとえば平面上に指定された&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt; 本の線分のすべてを通過する1本の直線を求める問題 (串刺し問題) は, &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt; 個のくさび形領域の共通部分を求める問題に帰着される. このように変換によって問題を扱いやすい別の問題へ帰着させる技術も計算幾何学では多数蓄積されている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] M. I. Shamos, ''Computational Geometry'', Ph.D. Thesis, Department of Computer Science, Yale University, New Haven, 1978.&lt;br /&gt;
&lt;br /&gt;
[2] F. P. Preparata and M. I. Shamos, ''Computational Geometry -An Introduction'', Springer-Verlag, New York, 1985.&lt;br /&gt;
&lt;br /&gt;
[3] 伊理正夫監修, 腰塚武志編集, 『計算幾何学と地理情報処理』, 共立出版, 1986. (第2版, 1993).&lt;br /&gt;
  &lt;br /&gt;
[4] H. Edelsbrunner, ''Algorithms in Combinatorial Geometry'', Springer-Verlag, Berlin, 1987.&lt;br /&gt;
&lt;br /&gt;
[[Category:計算幾何|けいさんきかがく]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%AD%E3%83%90%E3%82%B9%E3%83%88%E5%8C%96%E6%8A%80%E8%A1%93&amp;diff=9706</id>
		<title>ロバスト化技術</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%AD%E3%83%90%E3%82%B9%E3%83%88%E5%8C%96%E6%8A%80%E8%A1%93&amp;diff=9706"/>
		<updated>2008-03-23T08:40:51Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ろばすとかぎじゅつ (robust algorithm)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
数値計算は無限の精度で実行できると仮定したうえで設計されている幾何アルゴリズムを, 有限の精度しかもたない現実のコンピュータでも安定して動作するソフトウェアへ実装する技術のこと. 位相優先法, 厳密計算法, 記号摂動法などの具体的技術がある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　幾何アルゴリズム理論は, 無限精度で計算ができるという前提のもとで発展してきたため, 有限精度の計算しかできない現実のコンピュータでそのまま走らせても正常に動作するとは限らない. 誤差のために対象の位置関係の判定を誤ると, 矛盾が生じてアルゴリズムが破綻してしまう. このように数値的に不安定なアルゴリズムを, 有限精度で計算を行っても破綻しないソフトウェアへ改良する技術は, [[ロバスト化技術]] (design of robust algorithms) とよばれる. &lt;br /&gt;
&lt;br /&gt;
　代表的なロバスト化技術の一つは, 対象の位置関係の判定を正確に行えるだけの十分高い精度の計算を用いる方法である. これは[[厳密計算法]] (exact arithmetic method) とよばれる. 点の座標を始めとする幾何データはそもそも有限の精度でコンピュータに与えられる. したがって, それに有限回の四則演算を施した結果も離散的な値しかとりえない. 幾何的位置関係は, そのような計算結果の符号によって判定されるから, 正確な判定に必要な計算精度も有限ですむ. これが厳密計算法の原理である [1, 2]. &lt;br /&gt;
&lt;br /&gt;
　たとえば 2 次元平面内の点 &amp;lt;math&amp;gt;{\rm P}_i \; (i=1,2, \cdots)\, &amp;lt;/math&amp;gt; の座標 &amp;lt;math&amp;gt;(x_i,y_i)\, &amp;lt;/math&amp;gt;が &amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt; ビットの整数で与えられた場面で, 点 &amp;lt;math&amp;gt;{\rm P}_{2i-1}\, &amp;lt;/math&amp;gt;と点 &amp;lt;math&amp;gt;{\rm P}_{2i}\, &amp;lt;/math&amp;gt; を通る 3直線 &amp;lt;math&amp;gt;(i=1,2,3)\, &amp;lt;/math&amp;gt; が同一の点で交わるか否かを判定したいとする. 通常の整数の表現は絶対値に &amp;lt;math&amp;gt;k-1\, &amp;lt;/math&amp;gt; ビット, 符号に 1 ビットを使っているとみなすことができるので&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;|x_i|, |y_i| \leq 2^{k-1}-1 \quad (i=1,2, \cdots )\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
である. 一方, 3 直線が 1 点で交わるための必要十分条件は, 3 本の直線を表す方程式の係数行列の行列式&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;F=\left| \begin{array}{ccc}&lt;br /&gt;
y_2-y_1 &amp;amp; x_1-x_2 &amp;amp; x_2y_1-x_1y_2\\&lt;br /&gt;
y_4-y_3 &amp;amp; x_3-x_4 &amp;amp; x_4y_3-x_3y_4\\&lt;br /&gt;
y_6-y_5 &amp;amp; x_5-x_6 &amp;amp; x_6y_5-x_5y_6 \end{array} \right|\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
が 0 となることである. アダマールの不等式(行列式の絶対値は, その行列の列ベクトルの大きさの積より大きくない)より&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;F \le (\sqrt{3}\cdot 2^k) (\sqrt{3}\cdot 2^k) (\sqrt{3}\cdot 2^{2k-1}) =3\sqrt{3}2^{4k-1}&amp;lt; 2^{4k+2}-1\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
である (上の不等式は, たとえば第 1 列ベクトルの大きさは&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sqrt{(y_2-y_1)^2+(y_4-y_3)^2+(y_6-y_5)^2}\leq \sqrt{3 \cdot 2^{2k}}=\sqrt{3}\cdot 2^k\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
であることなどから導ける). したがって &amp;lt;math&amp;gt;4k+3\, &amp;lt;/math&amp;gt; ビットの長さの整数表現を用いて &amp;lt;math&amp;gt;F\, &amp;lt;/math&amp;gt; を計算すれば正しく値が計算でき, その符号も正しく判定できる. このように厳密計算法では, おのおのの計算式に対して, その符号を正しく知るために必要な精度の上限を見積り, その精度を確保した上で判定のための計算を行なう. これによって, 矛盾の発生を防ぐことができる. &lt;br /&gt;
&lt;br /&gt;
　厳密計算法では位置関係が厳密に判定できるために三角形の 3 頂点が一直線上に並ぶなどの退化した状況も厳密にわかる. したがって, それぞれの退化に対する例外処理を整備しないとアルゴリズムは完成しない. しかし, 例外処理のためのソフトウェア作りは苦痛の多い作業である. これを回避するための自動退化解消法が[[記号摂動]] (symbolic perturbation) とよばれる技術である. 幾何アルゴリズムの入力データとなる座標値などの数値は整数環あるいは有理数体の要素とみなせる. ここに無限小を表す記号 &amp;lt;math&amp;gt;\varepsilon\, &amp;lt;/math&amp;gt;を導入し, 入力データに &amp;lt;math&amp;gt;\varepsilon&amp;lt;/math&amp;gt; の多項式を加えることによって, 入力データに無限小の摂動を与える. このようにして数値の世界を&amp;lt;math&amp;gt;\varepsilon\, &amp;lt;/math&amp;gt; の多項式の世界へ拡張し, この多項式の世界で計算と符号判定を行なう. このとき, 入力データに与える摂動の大きさを工夫すると計算結果が決して 0 にならないようにすることができる. 退化とは正か負かを判定すべき値が 0 になることであるから, この摂動によって退化の生じない世界を自動的に作ることができる. 記号摂動を用いると, 例外は生じないものと仮定してソフトウェア作りができ, しかもでき上がったソフトウェアは退化した入力に対しても正常に動作する. 詳しくは文献 [1, 3] などを参照されたい. &lt;br /&gt;
&lt;br /&gt;
　もう一つの代表的なロバスト化技術に[[位相優先法]] (topology-oriented method) がある. これは, 厳密計算法とは逆に数値計算結果はもともと誤差を含むものであるという前提に立って, 対象の位相的構造の一貫性を保つことを数値計算結果より優先順位の高い情報とみなすことによって, 位相的矛盾の発生を防ぐ方法である. この方法は, 通常の浮動小数点計算が利用できるため処理速度が速いうえに, 例外処理がいらないという利点をもつ. ただし, 厳密計算法ほどその適用方法は機械的ではない. 扱う幾何的対象がもつべき位相的性質を抽出してそれを利用するから, 扱う問題ごとの個別の工夫が必要である. 厳密計算法は初心者用技術, 位相優先法は中級者向け技術といえよう. この手法の詳細は文献 [1] などを参照されたい. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] 杉原厚吉, 『計算幾何工学』, 培風館, 1994.&lt;br /&gt;
&lt;br /&gt;
[2] C. Yap and T. Dub&amp;amp;eacute;, &amp;quot;The Exact Computation Paradigm,&amp;quot; in ''Computing in Euclidean Geometry, Second Edition'', D.-Z. Du and F. Hwang, eds., World Scientific, Singapore, 452-492, 1995.&lt;br /&gt;
&lt;br /&gt;
[3] H. Edelsbrunner and E. P. M&amp;amp;uuml;cke, &amp;quot;Simulation of Simplicity -A Technique to Cope with Degenerate Cases in Geometric Algorithms,&amp;quot; in ''Proceedings of the 4th Annual Symposium on Computational Geometry'', Urbana-Champaign, Illinois, 118-133, 1988.&lt;br /&gt;
&lt;br /&gt;
[[Category:計算幾何|ろばすとかぎじゅつ]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%A9%E3%83%B3%E3%83%80%E3%83%9E%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3&amp;diff=9705</id>
		<title>ランダマイゼーション</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%A9%E3%83%B3%E3%83%80%E3%83%9E%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3&amp;diff=9705"/>
		<updated>2008-03-23T08:39:42Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【らんだまいぜーしょん (randomization)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
ランダマイゼーションは, アルゴリズムの中にランダムな要素を導入し, それにより最悪の場合にとらわれない簡単で実際に速いアルゴリズムを構成しようという手法である. ランダマイゼーションすることによって得られるアルゴリズムをランダム化アルゴリズムと呼ぶ. ランダマイゼーションは, アルゴリズムに対する入力に確率分布を仮定して計算時間を平均的に評価するとかいうのではない. 代表的な手法に, ランダム抽出法, ランダム順添加法などがある.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　ランダマイゼーション(randomization)は, アルゴリズムの中にランダムな要素を導入し, それにより最悪の場合にとらわれない簡単で実際に速いアルゴリズムを構成しようという手法である. ランダマイザーションすることによって得られるアルゴリズムをランダム化アルゴリズムとよぶ. メタヒューリスティックスのシミュレーティッド・アニーリングから素数判定のランダム化数論アルゴリズムまで幅広く用いられている. ランダマイゼーションは, アルゴリズムに対する入力になんらかの確率分布を仮定して計算時間を平均的に評価するとかいうのではない. 教科書も既にあり, [2] は全般的なアルゴリズムについて, [3] は計算幾何のアルゴリズムについて詳しい. &lt;br /&gt;
&lt;br /&gt;
　本項では, 計算幾何の問題に対するランダマイゼーションの代表的手法についてまとめる. 代表的手法としては次の2つのものがあり, 以下その説明をする. &lt;br /&gt;
&lt;br /&gt;
'''ランダム抽出(random sampling)'''　ランダムに選ぶことにより全体を反映した部分集合を定め, その抽出した部分集合の情報をフルに活用するもの&lt;br /&gt;
&lt;br /&gt;
'''ランダム順添加法(randomized incremental method)'''　アルゴリズムの構成のもっとも簡単なパラダイムである逐次添加法において, 添加順をランダム化する方法で, 添加法の実用性を示すものでもある. &lt;br /&gt;
&lt;br /&gt;
'''(a) ランダム抽出'''　ランダム抽出法の目指すところは, 部分で全体を表すということである. そうできると, 部分を計算するだけで情報がある程度得られるという計算量の観点からの利点がある. &lt;br /&gt;
&lt;br /&gt;
　代表的な例で, 平面上の&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;個の点の集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;の&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;-近似&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;を考える. 任意の&amp;lt;math&amp;gt;\epsilon\ge0\, &amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;の部分集合&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;が&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;近似である}とは, 任意の半平面&amp;lt;math&amp;gt;h\, &amp;lt;/math&amp;gt;に対して次式が成り立つことをいう. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\left| {|S\cap h|\over|S|}-{|T\cap h|\over |T|}\right|&lt;br /&gt;
\le\epsilon\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　任意の&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;T=S\, &amp;lt;/math&amp;gt;とすればそれは&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;近似になっているから, このような&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;近似の存在は保証されるので, &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;のサイズをどこまで小さくできるかがポイントである. ランダム抽出の理論を適用すると, 次の定理が成り立つ( [1] 参照). &lt;br /&gt;
&lt;br /&gt;
'''定理.''' 任意の&amp;lt;math&amp;gt;\epsilon,\ \delta&amp;gt;0\, &amp;lt;/math&amp;gt;に対して, 点集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;から少なくとも&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m\ge{16\over\epsilon^2}\left(3\ln{48\over\epsilon^2}+\ln{4\over\delta}\right)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
なる&amp;lt;math&amp;gt;m\, &amp;lt;/math&amp;gt;点をランダムかつ独立に選んで得られる集合&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt;は, 少なくとも&amp;lt;math&amp;gt;1-\delta\, &amp;lt;/math&amp;gt;の確率で&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;の&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;-近似である. &lt;br /&gt;
&lt;br /&gt;
　この定理より, 任意の&amp;lt;math&amp;gt;\epsilon&amp;gt;0\, &amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;\delta\, &amp;lt;/math&amp;gt;を1に近付けても, ある確率で&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;近似が単純なサンプリングで求められということがわかる. 確率が正ならその事象が存在するので, ほぼ定理のサイズの&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;-近似の存在定理も導かれる. &lt;br /&gt;
　このように&amp;lt;math&amp;gt;\epsilon\, &amp;lt;/math&amp;gt;-近似は全体の点数に関係のない点数の部分集合で, 半平面に含まれる点数に関する近似を与えており, 部分によって全体を表現できている. このようなランダム抽出に関する定理は, アルゴリズム構成面で自然と分割統治に使えて有用である. さらに理論の観点からは, 各ニューロンが単純な線形しきい値関数である場合のニューラルネットでの学習能力と関係している. &lt;br /&gt;
&lt;br /&gt;
'''(b) ランダム順添加法'''　ランダム順添加法も有用な方法である. これは, アルゴリズム設計のパラダイムの1つである逐次添加法 (incremental method)をもとにするものである. 従来の逐次添加法は, &amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;要素の問題を解くときに, 最初は定数個(例えば2,3)の要素の部分問題に対する解から始めて, &amp;lt;math&amp;gt;i\, &amp;lt;/math&amp;gt;個の要素の部分問題の解があるとき, &amp;lt;math&amp;gt;i+1\, &amp;lt;/math&amp;gt;番目の要素をそこに加えて&amp;lt;math&amp;gt;i+1\, &amp;lt;/math&amp;gt;個の要素の部分問題に対する解をつくり, これを&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;個全体に対する解が得られるまで繰り返す方法である. このとき, &amp;lt;math&amp;gt;i\, &amp;lt;/math&amp;gt;個の要素の部分問題に対する解がわかっていれば, 通常それに1個加えた&amp;lt;math&amp;gt;i+1\, &amp;lt;/math&amp;gt;個の部分問題に対する解は, ゼロからその&amp;lt;math&amp;gt;i+1\, &amp;lt;/math&amp;gt;個の問題を解くのに比べて, はるかに効率よく求めることができるということが, 高速アルゴリズムを得るために役立つ. たとえば, 挿入ソートなどは, この典型例である. &lt;br /&gt;
&lt;br /&gt;
　ランダム順添加法では, ランダマイゼーションにより要素をランダム順に並べ, その順に逐次添加を行なっていく. それによって, 最悪の場合を考えたとき, 単に与えられた順で添加していくと, たいてい逐次添加法にとっては都合の悪い順番が存在し, その場合の計算量が最悪計算時間となってしまうことが多いのに対し, ランダマイゼーションによってそれを避けることができる. これは, 入力になんらかの分布を仮定して平均計算時間を評価するのと近く, ただ複雑な問題では入力の分布として妥当なものを考えることが難しいので, 作為的な入力分布を仮定するより, アルゴリズムの中でランダマイゼーションした方がより汎用的な成果が得られる. また, ランダマイゼーションアルゴリズムといっても, もし, 入力の分布に関して, そう悪い例が出てこなさそうであれば, 実際には単に与えられた順で添加をしていけばよいのである. このランダム順添加法は, 低次元線形計画や凸包構成など幅広く適用されている. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] 今井浩, 今井桂子, 『計算幾何学』, 共立出版, 1994.&lt;br /&gt;
&lt;br /&gt;
[2] R. Motwani and P. Raghavan, ''Randomized Algorithms,'' Cambridge University Press, 1995.&lt;br /&gt;
&lt;br /&gt;
[3] K. Mulmuley, ''Computational Geometry: An Introduction Through Randomized Algorithms,'' Prentice-Hall, 1994.&lt;br /&gt;
&lt;br /&gt;
[[Category:計算幾何|らんだまいぜーしょん]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%A8&amp;diff=9704</id>
		<title>木</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E6%9C%A8&amp;diff=9704"/>
		<updated>2008-03-13T14:27:51Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【き (tree)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
閉路を含まない連結なグラフを木という. 連結なグラフ &amp;lt;math&amp;gt;G=(V,A) \,&amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;G \,&amp;lt;/math&amp;gt;の部分グラフであって点集合 &amp;lt;math&amp;gt;V \,&amp;lt;/math&amp;gt;をもつ木を, グラフ &amp;lt;math&amp;gt;G \,&amp;lt;/math&amp;gt;を張る木(spanning tree)といったり, グラフ &amp;lt;math&amp;gt;G \,&amp;lt;/math&amp;gt;の全域木, 極大木, 全張木あるいは, 単にグラフ &amp;lt;math&amp;gt;G \,&amp;lt;/math&amp;gt;の木などという. 根と呼ばれる1点が指定された木を根付き木(rooted tree)という. さらに, 根付き木は, (有向グラフとして)枝の向きに沿って根からすべての点に行くことができるとき, 有向木(directed tree)と呼ばれる.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　平面上 (空間内) の幾何的な問題を解く際に対象領域を分割しながら部分領域に対応する木のノードを考えて分割の階層構造を木 (構造のデータ構造) を用いて表現する. 分割のしかたにより様々な木が得られそれぞれ特別な名前がつけられている. 計算幾何の代表的な問題である[[点位置決定]] (point location) 問題(与えられた平面上のn点からなる直線分の平面グラフ&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に対して, 質問点&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;が与えられたとき, &amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;を含む面 (領域) を求める問題) および[[領域探索]] (range search) 問題(与えられた平面上の&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;点の集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に対して, 質問多角形&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;が与えられたとき, &amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;に含まれる&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;の点を列挙する問題)を例にとり説明する. &lt;br /&gt;
&lt;br /&gt;
　これらの問題は, いずれも, 与えられた対象物の集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;(以下台集合と呼ぶ)に対して, 質問&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;が与えられたとき, &amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;とある種の条件をみたす&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;の要素を列挙する問題であり, その意味で探索問題と呼ばれている. 同一の台集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に対して, 質問(問い合わせ)が繰り返し行われることも多いので, 台集合に前処理を施して質問に高速に応答できるように工夫する. すなわち, 質問に高速に応答できるように&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;を計算機内で違った形(データ構造)で表現する. 実際のデータベースでもこのような工夫がなされている. &lt;br /&gt;
&lt;br /&gt;
　このような状況下では, &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;を表現するデータ構造&amp;lt;math&amp;gt;D(S)\, &amp;lt;/math&amp;gt;のための記憶領域, &amp;lt;math&amp;gt;D(S)\, &amp;lt;/math&amp;gt;を構成するための手間(および作業領域), および質問に応答している時間 (探索時間) の&amp;lt;math&amp;gt;3\, &amp;lt;/math&amp;gt;つの基準に基づいて性能を総合的に評価しなければならない. &lt;br /&gt;
&lt;br /&gt;
　点位置決定問題に対応する1次元の問題は, 一直線上に与えられた&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;個の点の集合&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;で分割された区間の集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に対して質問点&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;が与えられたとき&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;を含む&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;の区間を求める問題となる. これは, &amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;および&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;を平衡探索木&amp;lt;math&amp;gt;D(S)\, &amp;lt;/math&amp;gt;で表現しておけば, &amp;lt;math&amp;gt;\mbox{O}(\log n)\, &amp;lt;/math&amp;gt;の手間で応答できる. &amp;lt;math&amp;gt;D(S)\, &amp;lt;/math&amp;gt;を構成するための手間および記憶領域はいずれも&amp;lt;math&amp;gt;\mbox{O}(n)\, &amp;lt;/math&amp;gt;である. さらに点集合に新しい点が付加されたり古い点が除去されたりして台集合&amp;lt;math&amp;gt;P\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;が変化するのが普通である. このときにはそれに応じて&amp;lt;math&amp;gt;D(S)\, &amp;lt;/math&amp;gt;も更新しなければならないが, この更新操作を[[ダイナマイゼーション]] (dynamization) という. 1回の更新に要する手間が&amp;lt;math&amp;gt;\mbox{O}(\log n)\, &amp;lt;/math&amp;gt;のダイナマイゼーション技術が多数知られている. &lt;br /&gt;
&lt;br /&gt;
　領域探索問題に対応する1次元の問題は, 一直線上に与えられた&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;個の点の集合&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;に対して質問区間&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;が与えられたとき&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;に含まれる&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;の点をすべて列挙する問題となる. これも&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;を平衡探索木&amp;lt;math&amp;gt;D(S)\, &amp;lt;/math&amp;gt;で表現しておけば, &amp;lt;math&amp;gt;\mbox{O}(k+\log n)\, &amp;lt;/math&amp;gt;の手間で応答できる. ここで&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;は列挙される点の個数である. 更新の手間も&amp;lt;math&amp;gt;\mbox{O}(\log n)\, &amp;lt;/math&amp;gt;である. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;次元の点位置決定問題や領域探索問題は1次元のこのような探索問題(の系列)に帰着して解かれている. たとえば, 点位置決定問題に対して有名な手法である[[スラブ法]] (slab method) では, グラフの頂点を通る (&amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;軸に) 垂直な直線を引いて平面を垂直な帯に分割する. この垂直な帯がスラブ (slab) と呼ばれる. 一つのスラブ内では, 横切るグラフの線分は上下関係で一列に並べることができるのでそれを平衡探索木で表現しておく. すると, 点位置決定問題は, 質問点&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;に対して, &amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;を含むスラブを二分探索で見つける. 次にそのスラブ内で平衡探索木を利用して&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;のすぐ上にある線分を求め, その線分を境界にもつ下の面を&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;を含む領域として求めればよい. これは2次元の問題を&amp;lt;math&amp;gt;n+1\, &amp;lt;/math&amp;gt;個のスラブでの問題(1次元の問題)に帰着していると見なせる. 応答の手間は&amp;lt;math&amp;gt;\mbox{O}(\log n)\, &amp;lt;/math&amp;gt;となるが, 必要とするデータ構造を構築するための手間と記憶領域は&amp;lt;math&amp;gt;\mbox{O}(n^2)\, &amp;lt;/math&amp;gt;となる. これに対して, サーナクとタージャン (Sarnak-Tarjan) の残存化スラブ法 [2] では, &amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;座標の値を時刻と考えて, 連続する2つのスラブの構造の変化が定数であることに注目して, 過去に遡っても探索が可能になるようにデータ構造に工夫をしている. これは点位置決定問題に対して, 理論的に最適なアルゴリズム (前処理時間&amp;lt;math&amp;gt;\mbox{O}(n\log n)\, &amp;lt;/math&amp;gt;, 記憶領域&amp;lt;math&amp;gt;\mbox{O}(n)\, &amp;lt;/math&amp;gt;, 応答時間&amp;lt;math&amp;gt;\mbox{O}(\log n)\, &amp;lt;/math&amp;gt;) の一つである. &lt;br /&gt;
&lt;br /&gt;
　領域探索に対しては多角形は軸に平行な辺からなる長方形の場合が多く, そのときには[[k-d木]] (&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt; tree), [[四分木]] (quadtree), [[領域木]] (range tree) などのデータ構造が有効である. &lt;br /&gt;
&lt;br /&gt;
　領域木は平面上の点集合の領域を&amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;座標の中央値に基づいて二分割を繰り返してできる分割に対応する二分木で, 各ノードには対応する対象領域内にある点をすべて記憶しておく. すなわち[[区間木]] (interval tree) の各ノードに対応する&amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;区間に入る点を平衡探索木などで記憶しているものである. すると&amp;lt;math&amp;gt;x,y\, &amp;lt;/math&amp;gt;軸に平行な質問長方形&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;が与えられたとき, &amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;の&amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;区間が区間木の分割に対応して互いに共通部分をもたない区間の和集合として表現されるが, そのような区間に対応するノードで一次元の領域探索をすることで&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;に含まれるSの点を効率的に列挙できる. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;木は&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;次元の空間の領域分割を表現するデータ構造の一つであり, 2次元の場合では, 根に全体領域が対応し, その左右の子には&amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;座標に注目して左右に二等分された点集合の領域が対応する. 次に分割された左(右)点集合領域を&amp;lt;math&amp;gt;y\, &amp;lt;/math&amp;gt;座標に基づいて上下に二等分しそれぞれ左(右)の子の左右の子に対応させる. 以下交互に繰り返して対応する領域に点が1個になったら分割を終了する. この分割法を表現したものが2-&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;木である. &amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;次元のときは, &amp;lt;math&amp;gt;x_1\, &amp;lt;/math&amp;gt;座標, &amp;lt;math&amp;gt;x_2\, &amp;lt;/math&amp;gt;座標, &amp;lt;math&amp;gt;\cdots\, &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_k\, &amp;lt;/math&amp;gt;座標といってまた, &amp;lt;math&amp;gt;x_1\, &amp;lt;/math&amp;gt;座標に戻り循環しながら分割していったものを表現する. これに対して, 四分木は&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;次元平面の領域分割を表現するデータ構造で, 根に全体領域が対応し, 根の&amp;lt;math&amp;gt;4\, &amp;lt;/math&amp;gt;つの子には&amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;座標の中央値および&amp;lt;math&amp;gt;y\, &amp;lt;/math&amp;gt;座標の中央値を通る水平線および垂直線をひいて四分割された部分領域が対応する. さらにそれぞれの子&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;に対応する部分領域を同様に水平線および垂直線で四等分して&amp;lt;math&amp;gt;v\, &amp;lt;/math&amp;gt;の4つの子に対応させる. このようにして得られる分割を表現するデータ構造が四分木である. 分割された領域に対象物がなくなると分割を停止する. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;k\, &amp;lt;/math&amp;gt;-&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;木も四分木も探索は同様で, &amp;lt;math&amp;gt;x,y\, &amp;lt;/math&amp;gt;軸に平行な質問長方形&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;が与えられたとき, &amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;と共通部分をもつ領域に対応するノードで1次元の領域探索をすることで&amp;lt;math&amp;gt;Q\, &amp;lt;/math&amp;gt;に含まれる&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt;の点を効率的に列挙できる. &lt;br /&gt;
&lt;br /&gt;
　[[八分木]] (octree)は3次元空間の点の集合の分割を表現するデータ構造で, 3次元の領域探索などに用いら, 2次元平面における四分木に対応する. 計算幾何の様々な探索問題に対するアルゴリズムとその詳細については文献 [1] を参照のこと. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] 伊理正夫監修, 腰塚武志編集,　『計算幾何学と地理情報処理（第２版）』,　共立出版, 1993.&lt;br /&gt;
&lt;br /&gt;
[2] N. Sarnak and R.E. Tarjan, &amp;quot;Planar Point Location Using Persistent-Search Trees,&amp;quot; ''Communications of the ACM'', '''29''' (1986), 669-679.&lt;br /&gt;
&lt;br /&gt;
[[Category:計算幾何|き]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%8F%8C%E5%AF%BE%E5%A4%89%E6%8F%9B&amp;diff=9703</id>
		<title>双対変換</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%8F%8C%E5%AF%BE%E5%A4%89%E6%8F%9B&amp;diff=9703"/>
		<updated>2008-03-13T14:26:53Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【そうついへんかん (dual transformation)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
双対変換は, 2つの対応する双対空間の間の1対1の変換で, 双対の双対は元に戻るという性質をもつ. もっとも基本となるのは, 点と超平面の間の双対変換である. その変換で代表的なものが, 極変換である. 双対変換により, 点集合の問題と超平面の問題を扱いやすい方で解くことができる. 2次元の場合, 線分を双対変換したものは, 楔型領域になる. ハフ変換, 共役関数の共役変換も双対変換である.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　ORの様々な理論において，双対性は重要な役割を果たす．これは計算幾何でも同様で，特に双対性に対応する変換によって，ある問題を別のよりわかりやすい問題に変換して解くことができる．詳細については， [1, 2, 3]参照．&lt;br /&gt;
&lt;br /&gt;
　まず，&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;次元空間の2次曲面の極と極面に関する[[極変換]]について述べる．&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;次元空間の超平面は，&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;a_1x_1+a_2x_2+\cdots+a_dx_d+a_{d+1}=0\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で表される．&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;次元空間の2次曲面は，&amp;lt;math&amp;gt;(d+1)\times (d+1)\, &amp;lt;/math&amp;gt;対称行列&amp;lt;math&amp;gt;A\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;(d+1)\, &amp;lt;/math&amp;gt;次元ベクトル &amp;lt;math&amp;gt;\boldsymbol{x}=(x_1,x_2,\ldots,x_d,1)^{\top}\, &amp;lt;/math&amp;gt;を用いて， &amp;lt;math&amp;gt;\boldsymbol{x}^{\top} A \boldsymbol{x}=0\, &amp;lt;/math&amp;gt;と表せる．点&amp;lt;math&amp;gt;p=( \boldsymbol{p})=(p_1,p_2,\ldots,p_d)^{\top}\, &amp;lt;/math&amp;gt;に対して，方程式&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\boldsymbol{x}^{\top} A( \boldsymbol{p},1)=(x_1,x_2,\ldots,x_d,1)A&lt;br /&gt;
(p_1,p_2,\ldots,p_d,1)^{\top}=0\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
をみたす超平面&amp;lt;math&amp;gt;D(p)\, &amp;lt;/math&amp;gt;を対応させる．逆に定数ベクトル&amp;lt;math&amp;gt;p=(p_1,p_2,\ldots,p_d)^{\top}\, &amp;lt;/math&amp;gt;を用いて &amp;lt;math&amp;gt;\boldsymbol{x}^{\top} A( \boldsymbol{p},1)=0\, &amp;lt;/math&amp;gt;と書ける超平面&amp;lt;math&amp;gt;h\, &amp;lt;/math&amp;gt;に対して点&amp;lt;math&amp;gt;D(h)=p\, &amp;lt;/math&amp;gt;を対応させる．明らかに&amp;lt;math&amp;gt;D(D(p))=p,D(D(h))=h\, &amp;lt;/math&amp;gt;であり，この変換&amp;lt;math&amp;gt;D\, &amp;lt;/math&amp;gt;は[[双対変換]]である．点&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;と超平面&amp;lt;math&amp;gt;D(p)\, &amp;lt;/math&amp;gt; (点&amp;lt;math&amp;gt;D(h)\, &amp;lt;/math&amp;gt;と超平面&amp;lt;math&amp;gt;h\, &amp;lt;/math&amp;gt;) は，2次曲面&amp;lt;math&amp;gt; \boldsymbol{x} A \boldsymbol{x}^{\top}=0\, &amp;lt;/math&amp;gt;に関する極と極面となる．2次曲面としては，球や面がよく用いられる．&lt;br /&gt;
&lt;br /&gt;
　以下，簡単のため2次元の場合を述べる．放物線&amp;lt;math&amp;gt;y=(x^2)/2\, &amp;lt;/math&amp;gt;を用いれば，点&amp;lt;math&amp;gt;p=(p_x,p_y)\, &amp;lt;/math&amp;gt;に対する極線&amp;lt;math&amp;gt;D(p)\, &amp;lt;/math&amp;gt;は&amp;lt;math&amp;gt;y=p_xx-p_y\, &amp;lt;/math&amp;gt;となる．&amp;lt;math&amp;gt;y\, &amp;lt;/math&amp;gt;軸に平行でない直線&amp;lt;math&amp;gt;h\, &amp;lt;/math&amp;gt;は，傾き&amp;lt;math&amp;gt;p_x\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;y\, &amp;lt;/math&amp;gt;切片のマイナスの&amp;lt;math&amp;gt;p_y\, &amp;lt;/math&amp;gt;を用いて&amp;lt;math&amp;gt;y=p_xx-p_y\, &amp;lt;/math&amp;gt;と表せ，&amp;lt;math&amp;gt;h\, &amp;lt;/math&amp;gt;の極&amp;lt;math&amp;gt;D(h)\, &amp;lt;/math&amp;gt;は点&amp;lt;math&amp;gt;(p_x,p_y)\, &amp;lt;/math&amp;gt;となる．&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が放物線上にあるとき，&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;での接線が&amp;lt;math&amp;gt;D(p)\, &amp;lt;/math&amp;gt;となる．&lt;br /&gt;
&lt;br /&gt;
　この変換は，接続関係(上下関係)を保存する．すなわち，点&amp;lt;math&amp;gt;p=(p_x,p_y)\, &amp;lt;/math&amp;gt;と直線&amp;lt;math&amp;gt;h\colon y=q_xx-q_y\, &amp;lt;/math&amp;gt;およびその双対変換&amp;lt;math&amp;gt;D(p)\colon y=p_xx-p_y\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;D(h)=(q_x,q_y)\, &amp;lt;/math&amp;gt;に対して&amp;lt;math&amp;gt;p_y+q_y\, &amp;lt;/math&amp;gt;と&amp;lt;math&amp;gt;p_xq_x\, &amp;lt;/math&amp;gt;の大小関係に応じて以下のことが成立する．&lt;br /&gt;
&lt;br /&gt;
:(a) 点&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が直線&amp;lt;math&amp;gt;h\, &amp;lt;/math&amp;gt;上にあるとき，およびそのときのみ，点&amp;lt;math&amp;gt;D(h)\, &amp;lt;/math&amp;gt;は直線&amp;lt;math&amp;gt;D(p)\, &amp;lt;/math&amp;gt;上にある&amp;lt;math&amp;gt;(p_y+q_y=p_xq_x)\, &amp;lt;/math&amp;gt;．&lt;br /&gt;
&lt;br /&gt;
:(b) 点&amp;lt;math&amp;gt;p\, &amp;lt;/math&amp;gt;が直線&amp;lt;math&amp;gt;h\, &amp;lt;/math&amp;gt;を境界とする上半平面(下半平面)にあるとき，およびそのときのみ，点&amp;lt;math&amp;gt;D(h)\, &amp;lt;/math&amp;gt;は直線&amp;lt;math&amp;gt;D(p)\, &amp;lt;/math&amp;gt;を境界とする上半平面(下半平面)にある．&lt;br /&gt;
&lt;br /&gt;
　接続関係(上下関係)の不変性は，2次曲線として円や楕円を用いて変換を定義しても成立し，一般の&amp;lt;math&amp;gt;d\, &amp;lt;/math&amp;gt;次元空間でも成立する．点の集合はそれだけで扱うとばらばらで考えにくいため，アルゴリズム的にも上下関係など関係式がわかるように，この双対変換を適用して，直線(超平面)の集合からできる平面(空間)の交差図形を利用することがしばしば行われる．このとき，双対変換で1対1に対応するとともに，この関係式が保存され，直線(超平面)が交わって空間を分割することから問題がとらえやすくなる．このような直線(超平面)による平面(空間)の交差図形を[[アレンジメント]]と呼ぶ．アレンジメントの1つのセルに対応する[[凸多面体]]についても，ファセットを含む超平面で定まる半空間の交わりとしても，端点の凸包としても表せる．これは双対性の現れで，すべての次元の構成要素であるフェイス全体がなす束でも，対応する束の上下を反転すれば同じとなる双対性が成り立つ．したがって，双対性から半空間の交わりを求めることと，点集合の凸包を求めることとは，アルゴリズムの計算量の観点からは同じである．&lt;br /&gt;
&lt;br /&gt;
　2次曲線として円を用いた場合の極変換も重要である．このとき，原点以外の点&amp;lt;math&amp;gt;(p_x,p_y)\, &amp;lt;/math&amp;gt;は直線&amp;lt;math&amp;gt;p_xx+p_yy-1=0\, &amp;lt;/math&amp;gt;に変換される．この直線は，原点からの距離が原点と元の点&amp;lt;math&amp;gt;(p_x,p_y)\, &amp;lt;/math&amp;gt;の距離の逆数になっており，原点と元の点を結ぶ直線に垂直で，原点に関して元の点と同じ側の直線となる．&lt;br /&gt;
&lt;br /&gt;
　円に関する極変換の変形に反転がある．反転は，原点以外の点&amp;lt;math&amp;gt;(p_x,p_y)\, &amp;lt;/math&amp;gt;を上の極変換を施した直線への原点からの垂線の足に対応させる．反転により，原点を通る円は直線に変換される．この変換をもう1次元高い空間で行うと，球と平面の間の変換が得られる．たとえば、&amp;lt;math&amp;gt;(0,0,1)\, &amp;lt;/math&amp;gt;を中心とする半径1の球面を基本となる二次曲面として採用した場合の極変換では，&amp;lt;math&amp;gt;xy\, &amp;lt;/math&amp;gt;平面は&amp;lt;math&amp;gt;(0,0,1/2)\, &amp;lt;/math&amp;gt;を中心とする半径&amp;lt;math&amp;gt;1/2\, &amp;lt;/math&amp;gt;の球へ変換される．この変換は[[立体射影]] (stereographic projection) と呼ばれる．&lt;br /&gt;
&lt;br /&gt;
　さらなる変形として，画像処理で特に用いられている[[ハフ変換]] (Hough transformation) がある．2次元の直線を原点からこの直線への垂線の距離&amp;lt;math&amp;gt;r\, &amp;lt;/math&amp;gt;と直線と&amp;lt;math&amp;gt;x\, &amp;lt;/math&amp;gt;軸がなす角度&amp;lt;math&amp;gt;\theta\, &amp;lt;/math&amp;gt;で表して，それを&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
直線　&amp;lt;math&amp;gt;x\sin\theta+y\cos\theta=r \ \mapsto\, &amp;lt;/math&amp;gt;　点　&amp;lt;math&amp;gt;(r,\theta)\, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
と変換する．Hough変換は，画像からの直線成分やさらには楕円などを抽出することによく用いられる．&lt;br /&gt;
&lt;br /&gt;
　極変換は2次曲線を核としていたが，核を一般の凸関数に拡張することもできる．この場合の双対変換は，Legendre変換と一般に呼ばれ，特に最適化の分野ではFenchelの共役性として知られている．この場合，核の凸関数の共役凸関数が定義でき，放物線&amp;lt;math&amp;gt;y=(x^2)/2\, &amp;lt;/math&amp;gt;は自己共役になっている．凸関数の共役性は，凸解析の基本概念である．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] H. Edelsbrunner, ''Algorithms in Combinatorial Geometry,'' Springer-Verlag, 1987.　邦訳(今井浩, 今井桂子訳), 『組合せ幾何学のアルゴリズム』，共立出版, 1995.&lt;br /&gt;
&lt;br /&gt;
[2] F. P. Preparata and M. I. Shamos, ''Computational Geometry: An Introduction,'' Springer-Verlag, 1985. 邦訳 (浅野孝夫, 浅野哲夫訳) , 『計算幾何学入門』, 総研出版, 1992.&lt;br /&gt;
&lt;br /&gt;
[3] 佐々木建昭, 今井浩, 浅野孝夫, 杉原厚吉, 『計算代数と計算幾何』, 岩波応用数学[方法9], 岩波書店, 1993.&lt;br /&gt;
&lt;br /&gt;
[[Category:計算幾何|そうついへんかん]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%90%E3%82%B1%E3%83%83%E3%83%88%E6%B3%95&amp;diff=9702</id>
		<title>バケット法</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E3%83%90%E3%82%B1%E3%83%83%E3%83%88%E6%B3%95&amp;diff=9702"/>
		<updated>2008-03-13T14:25:55Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【ばけっとほう (bucket method)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
幾何的な問題をより単純に高速に処理するための実際的方法である. 対象物が2次元の&amp;lt;math&amp;gt;n\,&amp;lt;/math&amp;gt;点からなる図形のときは, 対象物を座標軸に平行な辺からなる長方形で覆い, それを縦横&amp;lt;math&amp;gt;\lceil\sqrt{n}\ \rceil\,&amp;lt;/math&amp;gt;等分し全部で&amp;lt;math&amp;gt;\Theta(n)=\lceil\sqrt{n}\ \rceil \times \lceil\sqrt{n}\ \rceil\,&amp;lt;/math&amp;gt;個のバケットと呼ばれる小長方形領域に分割して図形を各バケットで切り出し管理する. すると問題を各バケット内での極めて単純な問題に帰着できることもしばしばあり, 高速に処理できることになる.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　計算幾何の実用的なアルゴリズムの代表的設計法の一つであり, 平面最小重み完全[[マッチング]] (matching), [[点位置決定]] (point location) などが[[バケット法]] (bucket method) に基づいて効率的に解かれている. 簡単のため2次元で説明するが, 高次元にも容易に一般化できる. 平面上にサイズ&amp;lt;math&amp;gt;n\, &amp;lt;/math&amp;gt;の解きたい問題が与えられたとする. 問題を含む領域を軸に平行な辺からなる長方形で覆い, 軸に垂直な直線を引いて&amp;lt;math&amp;gt;\Theta(n)\, &amp;lt;/math&amp;gt;個のバケットと呼ばれる合同な小長方形に分割する. そして全体の問題をそれぞれのバケット内の問題として分割して記憶する. すると通常はバケット内での問題だけで全体の解が得られるので高速になる. バケット間にまたがる情報を必要に応じて利用しなければならない場合もあるがこの場合も高速な手法があることが多い. &lt;br /&gt;
&lt;br /&gt;
　具体例でより詳しく説明する. 与えられた平面上の&amp;lt;math&amp;gt;n=2m\, &amp;lt;/math&amp;gt;個の点集合に対して, &amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;点ずつペアにして&amp;lt;math&amp;gt;m\, \, &amp;lt;/math&amp;gt;個のペアの集合&amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt;をつくるという問題を考える. このような&amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt;は, 完全マッチングと呼ばれている. その際, ペアの重みをそのペアに含まれる&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;点間の距離(&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;点を結ぶ線分の長さ)とする. 完全マッチング&amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt;の重みを&amp;lt;math&amp;gt;M\, &amp;lt;/math&amp;gt;に含まれる&amp;lt;math&amp;gt;m\, &amp;lt;/math&amp;gt;個のペアの重みの総和と見なし, 重みを最小にする完全マッチングを求める問題を平面最小重み完全マッチングというが, この問題をバケット法に基づいて解決しその実用性を実証した研究 [2] が, 計算幾何学の問題に対するバケット法の最初の適用例といわれている. できるだけ小さい重みの完全マッチングをつくるわけであるので, 遠く離れた&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;点がペアになる可能性は低い. そこで, 対象領域(長方形領域)を縦横&amp;lt;math&amp;gt;\lceil \sqrt{n}\ \rceil\, &amp;lt;/math&amp;gt;等分し全部で&amp;lt;math&amp;gt;\lceil \sqrt{n} \ \rceil \times \lceil \sqrt{n} \ \rceil=\Theta(n)\, &amp;lt;/math&amp;gt;個のバケットに分割して, 同一のバケットに含まれる点でまずペアをつくる. 最小重みの完全マッチングには距離の小さい&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;点がペアとして含まれることが多いので, 同一のバケットに含まれるもの同士をペアにするということは, 同一のバケットに含まれる2点は極めて近い点である可能性が高く, 異なるバケットに属する2点は遠くにある可能性が高いという, 自然な仮定に基づいている. &lt;br /&gt;
&lt;br /&gt;
　このように, バケット法では問題を局所領域に限定できるという特徴がある. さらに, 与えられる点の集合が対象領域において一様に分布するときは, &amp;lt;math&amp;gt;n=2m\, &amp;lt;/math&amp;gt;個の点に対してほぼ同数個のバケットに分割しているので, 各バケットは平均的に一定数(&amp;lt;math&amp;gt;\mbox{O}(1)\, &amp;lt;/math&amp;gt;)個の点しか含まないといえる. したがって, 各バケット内での最小重み完全マッチングは&amp;lt;math&amp;gt;\mbox{O}(1)\, &amp;lt;/math&amp;gt;の手間で見つけることができる. このように, バケット法では, バケット内の問題が極めて単純であるという特徴も併せもっている. さらに, バケットは合同な長方形であるため, バケットに含まれる点も簡単に求められるという特徴もある. このような特徴から, バケット法に基づく手法は, 一般に極めて高速となる [1]. &lt;br /&gt;
&lt;br /&gt;
　上の平面最小重み完全マッチングの問題では, バケット内での完全マッチングだけでは, 全体の完全マッチングとはならずに, ペアにされていない点が残るのが普通で, 最終的には, バケット間にまたがる点同士でさらにペアをつくっていかなければならないが, これは, &amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;次元バケット間の距離を, ある程度忠実に保存するようにして, 一列に並べ, その順番で次々とペアにしていけばよい. このようにして求められた完全マッチングは, 最小重みの完全マッチングでないことが多いが, 詳細な解析により, かなり精度の高い解となることが保証されている [2]. 最適解はネットワークのアルゴリズムを用いて&amp;lt;math&amp;gt;\mbox{O}(n^3)\, &amp;lt;/math&amp;gt;の手間で解けるが, 上記のバケット法に基づく方法は&amp;lt;math&amp;gt;\mbox{O}(n)\, &amp;lt;/math&amp;gt;の手間であり, 実際の応用では極めて有効である. &lt;br /&gt;
&lt;br /&gt;
　平面最小重み完全マッチングをプロッターでペンを用いて地図を描く際の筆順最適化 (optimal drawing (of map) ) に応用する. 地図をきれいに描くため, 同じ線を&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;度描くことはしないものとする. ペンをおろして線を描いているときもあるし, ペンを上げて次に描くべき線の始まりまで移動しているときもある. 地図を描くという観点からすると, ペンをおろして線を描くという動作は必要不可欠なものである. これに対して, ペンを上げて次に描くべき線の始まりまで移動する動作は, 空送りと呼ばれ無駄な動作であるので, できるだけ少なくするのがよい. さて, 地図が一筆書き可能なら空送りをすることなく描けることになる. 地図が一筆書き不可能ならば空送りの部分に対応する線を付け加えた図で一筆書きできるように変形して描くことになる. プロッターでの描画に要する時間は, ほぼ, この&amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;つの動作に要する時間の総和になるので, 描画時間を減らすには, 空送り全体に要する時間を減らせばよい. これらの動作に要する時間は移動量に比例するものとすれば, 空送り全体の移動量(移動距離)を最小にすれば, 描画に要する時間は最小ということになる. これは平面最小重み完全マッチングに帰着できる. 地図が一筆書き不可能ならば奇数本の線が接続する点を全部拾ってきて(すると点は偶数個になる), &amp;lt;math&amp;gt;2\, &amp;lt;/math&amp;gt;個ずつペアにして完全マッチングを求め, 完全マッチングに含まれる線を空送りに対応させて付け加えれば一筆書きできることになる. 完全マッチングの選び方により付け加えた線の総長は異なるので, 総長最小の完全マッチングを求める問題となる. &lt;br /&gt;
&lt;br /&gt;
　その他の計算幾何の様々な探索問題に対するバケット法の応用については文献 [1, 3] を参照のこと. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''参考文献'''&lt;br /&gt;
&lt;br /&gt;
[1] T. Asano, M. Edahiro, H. Imai, M. Iri and K. Murota, &amp;quot;Practical Use of Bucketing Techniques in Computational Geometry,&amp;quot; in ''Computational Geometry'', G.T. Toussaint, ed., North-Holland, 1985.&lt;br /&gt;
&lt;br /&gt;
[2] M. Iri, K. Murota and S. Matsui, &amp;quot;Heurisitics for Planar Minimum Weight Perfect Matchings,&amp;quot; ''Networks'', '''13''' (1983), 67-92. &lt;br /&gt;
&lt;br /&gt;
[3] 伊理正夫監修, 腰塚武志編集, 『計算幾何学と地理情報処理(第２版)』, 共立出版, 1993.&lt;br /&gt;
&lt;br /&gt;
[[Category:計算幾何|ばけっとほう]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
	<entry>
		<id>https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%B9%BE%E4%BD%95%E3%82%B0%E3%83%A9%E3%83%95&amp;diff=9701</id>
		<title>幾何グラフ</title>
		<link rel="alternate" type="text/html" href="https://orsj-ml.org/orwiki/wiki/index.php?title=%E5%B9%BE%E4%BD%95%E3%82%B0%E3%83%A9%E3%83%95&amp;diff=9701"/>
		<updated>2008-03-13T14:24:30Z</updated>

		<summary type="html">&lt;p&gt;Imahori: 基礎編と用語編のマージ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''【きかぐらふ (geometric graph)】'''&lt;br /&gt;
&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
平面に, 辺が交差しないように実際に描かれた平面グラフを幾何グラフという. 地図における行政区境界を表わす図や, ユークリッド距離のもとでの最小全域木などがその例である.&lt;br /&gt;
&lt;br /&gt;
=== 詳説 ===&lt;br /&gt;
　頂点と辺の間の接続関係を指定することによって定義される抽象的なグラフに対して, 頂点と辺を実際に平面に描いて表したグラフを[[幾何グラフ]] (geometric graph) という. 特に, 平面グラフを辺が互いに端点以外では交差しないように描いた幾何グラフが重要である. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;S=\{ {\rm P}_1, {\rm P}_2, \cdots , {\rm P}_n\}\, &amp;lt;/math&amp;gt; を平面上に指定された有限個の点の集合とする. 簡単のために, 以下では &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に属すどの 4 点も同一円周上にはないものと仮定する.  &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に属す 2 点を通り他の点を内部に含まない円が存在するときその 2 点を辺で結ぶことによって, 一つの幾何グラフが得られる. この幾何グラフは &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に対する[[ドロネー図]] (Delaunay diagram) とよばれる. ドロネー図は &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; の[[凸包]] (convex hull) の内部を三角形に分割した図形となる. この三角形分割はできるだけふっくらとした三角形を使った分割となっているため, 有限要素法などのためのメッシュとしても使われている. &lt;br /&gt;
&lt;br /&gt;
　ドロネー図の辺は, 互いに近い点同士をつないだものとみなすことができる. したがって, ドロネー図は不規則に配置された点に対して「隣り同士」の関係を定義するものとみなすことができる. 実際, 次に示すように, 近さに基づいて定義されたいくつかのグラフはドロネー図の部分グラフとなっている. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;{\rm P}_i, {\rm P}_j \in S\, &amp;lt;/math&amp;gt; に対して,  &amp;lt;math&amp;gt;{\rm P}_i\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;{\rm P}_j\, &amp;lt;/math&amp;gt; の距離を半径とし &amp;lt;math&amp;gt;{\rm P}_i\, &amp;lt;/math&amp;gt; を中心とする円と &amp;lt;math&amp;gt;{\rm P}_j\, &amp;lt;/math&amp;gt; を中心とする円の共通部分に &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; の他の要素が含まれないとき &amp;lt;math&amp;gt;{\rm P}_i\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;{\rm P}_j\, &amp;lt;/math&amp;gt; を線分で結ぶことによってできる幾何グラフは, [[ガブリエルグラフ]] (Gabriel graph) とよばれる. ガブリエルグラフはドロネー図の部分グラフである. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;{\rm P}_i, {\rm P}_j \in S\, &amp;lt;/math&amp;gt; に対して, &amp;lt;math&amp;gt;{\rm P}_i\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;{\rm P}_j\, &amp;lt;/math&amp;gt; の距離を半径とし &amp;lt;math&amp;gt;{\rm P}_i\, &amp;lt;/math&amp;gt; を中心とする円と &amp;lt;math&amp;gt;{\rm P}_j\, &amp;lt;/math&amp;gt; を中心とする円のどちらにも&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に属す他の点が含まれないとき &amp;lt;math&amp;gt;{\rm P}_i\, &amp;lt;/math&amp;gt; と &amp;lt;math&amp;gt;{\rm P}_j\, &amp;lt;/math&amp;gt; を線分で結ぶことによってできる幾何グラフは[[相対近傍グラフ]] (relative neighborhood graph)とよばれる. 相対近傍グラフはガブリエルグラフの部分グラフである. &lt;br /&gt;
&lt;br /&gt;
　各 &amp;lt;math&amp;gt;{\rm P}_i \in S\, &amp;lt;/math&amp;gt; に対して, &amp;lt;math&amp;gt;{\rm P}_i\, &amp;lt;/math&amp;gt; を始点とし, &amp;lt;math&amp;gt;{\rm P}_i\, &amp;lt;/math&amp;gt; に最も近い&amp;lt;math&amp;gt;S-\{ {\rm P}_i \}\, &amp;lt;/math&amp;gt; の要素を終点とする有向辺を集めてできるグラフは[[最近傍グラフ]] (nearest neighbor graph) とよばれる. 最近傍グラフにおいて有向辺で結ばれている 2点の間に線分をひくことによって得られる幾何グラフは, ガブリエルグラフの部分グラフである. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; の凸包の辺から成る図形も幾何グラフである. この幾何グラフもドロネー図の部分グラフである. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に属す点を頂点とする木 (連結で無サイクルなグラフ) で, 辺の長さの和が最小のものを, [[最小全域木]](minimum spanning tree)という. 最小全域木もドロネー図の部分グラフである. &lt;br /&gt;
　&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に対するドロネー図は &amp;lt;math&amp;gt;{\rm O}(n\log n)\, &amp;lt;/math&amp;gt; の計算量で求めることができる. したがって上に述べた幾何グラフは, まずドロネー図を計算し, その辺のみを候補として辺を探すことにより効率よく構成することができる. &lt;br /&gt;
&lt;br /&gt;
　新たに頂点を設けてもよいという条件のもとで &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に属すすべての頂点をつなぐ辺長の和が最小の木を[[シュタイナー木]] (Steiner tree) という. シュタイナー木の効率のよい構成法は知られていない. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に属す点の対でその距離が最小のものを[[最近点対]] (nearest pair) という. 最近点対はドロネー図の辺である. &lt;br /&gt;
&lt;br /&gt;
　&amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; に属す点の対でその距離が最大のものを[[最遠点対]] (farthest pair)という. 最遠点対は &amp;lt;math&amp;gt;S\, &amp;lt;/math&amp;gt; の凸包の頂点のいずれかの対によって実現される. &lt;br /&gt;
&lt;br /&gt;
　平面上に描かれた多角形 &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt; に, &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt; の内部のみを通過するすべての対角線を加えた幾何グラフを &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt; の[[可視グラフ]] (visibility graph)という. このグラフでは一般に辺が交差するため, 平面グラフとは限らない. &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt; のある頂点からもう一つの頂点へ移動する &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt; 内の最短経路は, 可視グラフの中で最短経路を探すことによって得られる. &lt;br /&gt;
&lt;br /&gt;
　多角形 &amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt; 内のすべての点を見渡すことのできる, できるだけ少数の監視点を&amp;lt;math&amp;gt;T\, &amp;lt;/math&amp;gt; 内に配置する問題は, [[美術館監視問題]] (art gallery problem)とよばれる. この問題の解法にも可視グラフが役立つ.&lt;br /&gt;
&lt;br /&gt;
[[Category:計算幾何|きかぐらふ]]&lt;/div&gt;</summary>
		<author><name>Imahori</name></author>
	</entry>
</feed>