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