380 likes | 511 Views
有向マトロイドの 実現不可能性を判定する手法. 超ロバスト計算原理プロジェクト RA 中山 裕貴 2005/10/19. 今回の発表の流れ. 背景 有向マトロイドとは 有向マトロイドの 実現不可能性判定問題 実現不可能性の十分条件 代数的な立場より: 双二次最終多項式 幾何的な立場より: 非ユークリッド性 計算機実験による結果. 幾何的構造の組合せ的抽象化. 幾何的モデル 組合せ的モデル. 計算は困難. ギャップ. Grassmann-Pl ü cker の多項式. 線形計画問題. 問題の背景.
E N D
有向マトロイドの実現不可能性を判定する手法有向マトロイドの実現不可能性を判定する手法 超ロバスト計算原理プロジェクトRA 中山 裕貴 2005/10/19
今回の発表の流れ • 背景 • 有向マトロイドとは • 有向マトロイドの実現不可能性判定問題 • 実現不可能性の十分条件 • 代数的な立場より: 双二次最終多項式 • 幾何的な立場より: 非ユークリッド性 • 計算機実験による結果 幾何的構造の組合せ的抽象化 幾何的モデル 組合せ的モデル 計算は困難 ギャップ Grassmann-Plückerの多項式 線形計画問題
問題の背景 • 計算代数、計算幾何 それぞれの分野について、ロバスト性を持つプログラムの実装がされている 計算代数 (例:計算代数ソフトAsir [高山、野呂ら]) ・ 有理数の多倍長表現 ・ 多変数多項式の表現の工夫(再帰表現・分散表現) ・ 無理数( など)について、浮動小数を用いず 「 の正の解」という情報で保持する etc… アイデアとしては共通点も 多いが、双方はまだ独立して考えられている 計算幾何 (例: 幾何計算ソフトウェア [杉原]) ・ 座標の有理数表現(多倍長表現で正確性を保持) ・ 計算中、対象の位相的関係を正しく保存 etc… 目標: 両者を統合して扱う フレームワークの提案
組合せ構造とは • 両者を統合する足がかりとして、有向マトロイドによる組合せ構造に着目 組合せ構造 幾何的対象(ここでは曲線とする)の集合があるとする。各曲線間の位置関係が保たれるならば、曲線を変形したものも相互に同じとみなす ex. と は同じ組合せ構造を持つ わずかな変形でも、それによって各曲線間の位置関係が崩れる場合、異なる組合せ構造を持つ ex. と は異なる組合せ構造を持つ
今回扱う問題:有向マトロイドの実現可能性判定問題今回扱う問題:有向マトロイドの実現可能性判定問題 • 問題(幾何的解釈):ある組合せ構造が(有向マトロイドとして)与えられたとき、組合せ構造を保存したまま、すべての曲線(擬超平面)をstretchして直線(超平面)に変形できるか? • 問題(代数的解釈)組合せ構造を連立代数不等式として表したとき、その不等式系が実行可能解を持つか? 有向マトロイドの実現可能性判定問題を考えることにより、計算幾何・計算代数の双方に有効な超ロバストアルゴリズムの実現が期待される
今回の発表の流れ • 背景 • 有向マトロイドとは • 有向マトロイドの実現不可能性判定問題 • 実現不可能性の十分条件 • 代数的な立場より: 双二次最終多項式 • 幾何的な立場より: 非ユークリッド性 • 計算機実験による結果 幾何的構造の組合せ的抽象化 幾何的モデル 組合せ的モデル 計算は困難 ギャップ Grassmann-Plückerの多項式 線形計画問題
v6 v5 z y v3 v4 v2 v1 x 有向マトロイドのカイロトープ による表現 • 幾何的構造の符号への抽象化 • 中にn本のベクトルを配置し、その中の任意のr本のベクトルについて、符号を以下で定める r: ランク ex. では すべてのχの値の集合により有向マトロイドは定義される
3項Grassmann-Plücker多項式 • 実空間上の任意のベクトル集合に対し、以下の恒等式が成立する(3項Grassmann-Plücker多項式): 任意の について、
有向マトロイドの公理(カイロトープの公理)有向マトロイドの公理(カイロトープの公理) • 有向マトロイドが定義する組合せモデルは、幾何的な配置よりも集合として広い カイロトープの公理: (B0) (B1) は交代性をみたす、つまり (B2) 3項Grassmann-Plücker多項式の符号への抽象化: 以上を満たすχの集合すべてが有向マトロイドをなす
擬超平面配置と超平面配置 • 擬超平面: 超平面を曲げたもの(homeomorphicな変形) 擬超平面を伸ばして超平面にする 超平面配置 (図: 中の超平面と球面 の交差) 擬超平面配置 (図: 中の擬超平面と球面 の交差) equiv equiv 有向マトロイド全体 幾何的表現全体 2つの集合には差があるか?
今回の発表の流れ • 背景 • 有向マトロイドとは • 有向マトロイドの実現不可能性判定問題 • 実現不可能性の十分条件 • 代数的な立場より: 双二次最終多項式 • 幾何的な立場より: 非ユークリッド性 • 計算機実験による結果 幾何的構造の組合せ的抽象化 幾何的モデル 組合せ的モデル 計算は困難 ギャップ Grassmann-Plückerの多項式 線形計画問題
有向マトロイドの実現可能性判定問題 • ある有向マトロイドには、幾何的配置が存在しない場合もある(逆は必ず存在) • 与えられた有向マトロイドに対し、それが幾何的な配置(ベクトル、超平面etc…)として与えられるか判定する問題=実現可能性判定問題 (有向マトロイドによる)組合せ的モデル (行列などによる)幾何的モデル
実現不可能な有向マトロイドの例 • Pappusの配置 (r = 3, n = 9)(超平面配置を上から見た図、円は三次元球の表面) • 擬超平面を超平面に(中央の線を直線に)しようとすると、必ず中央の点を通らなければならない (左図の一部) = 実現不可能
実現可能性の判定法:単純な方法 • 有向マトロイドはカイロトープの形で与えられているとする 行列を と置き、連立方程式 が解を持つとき、またそのときに限り実現可能 計算が複雑(実はNP-hard [Mnev 1988] 誤差を含みうる(Robustでない)
実現可能性判定問題の代数的解釈 • 以下の2つは同値[Sturmfels 1987] 与えられた有向マトロイドが、 上のベクトルの集合として表せる 同値 多変数関数 がある有理数に対して零点を持つ 実現可能性判定の良いアルゴリズムが見つかれば、様々な代数的問題についても応用ができそう(だが、難しそう) 実現不可能なものの一部しか見つけられない代わりに、誤差を含まずに計算できるアルゴリズムの提案
今回の発表の流れ • 背景 • 有向マトロイドとは • 有向マトロイドの実現不可能性判定問題 • 実現不可能性の十分条件 • 代数的な立場より: 双二次最終多項式 • 幾何的な立場より: 非ユークリッド性 • 計算機実験による結果 幾何的構造の組合せ的抽象化 幾何的モデル 組合せ的モデル 計算は困難 ギャップ Grassmann-Plückerの多項式 線形計画問題 幾何的な立場からの十分条件として非HK*性もあるが、今回は説明しない
どのようにして有向マトロイドの実現可能性を効率よく判定するかどのようにして有向マトロイドの実現可能性を効率よく判定するか • 実現不可能性の十分条件となる性質を用いる(実現不可能なものの一部でもいいので、ある条件を満たすものを正確に判定したい) • 代数的性質: 双二次最終多項式 • 3項Grassmann-Plückerの多項式を利用 • 線形方程式の求解に帰着 • 幾何的性質: 非ユークリッド性 • 通常の線形計画問題では決して起こらない、非退化なサイクルを見つける
実現不可能性の十分条件:双二次最終多項式 • 用いるアイデア:3項Grassmann-Plücker多項式 任意のベクトル について、 が成立 ブラケット項 で表す、また 有向マトロイドが実現可能ならば、ベクトル配置が存在するはず 対偶 ベクトル配置が無いことが示せれば、有向マトロイドは実現不可能
3項Grassmann-Plücker多項式の抽象化 • 行列式を符号へ抽象化 任意のインデックス について、 が成立 さらに、 を適切にpermutationすることによって 3つ全てが同時に0 or 1 が成立 以後、λは適切にpermutationされているものとする (normalizedという)
有向マトロイドを入力とした連立不等式の生成有向マトロイドを入力とした連立不等式の生成 • 得られている情報:各カイロトープの符号のみ normalizedな3項Grassmann-Plücker多項式 について (1) 3つの項の符号がすべて+1のとき が成立 2つの不等式 (2) 左辺の2項のどちらかの符号が0のとき 等式 が成立 全てのインデックスの組合せについて、(1)(2)どちらかにより等式、不等式を生成する ⇒ 連立不等式
有向マトロイドを入力とした連立線形不等式の生成有向マトロイドを入力とした連立線形不等式の生成 • 生成された連立不等式 → 連立線形不等式へ • 得られた連立線形不等式を、LP-solverを用いて実行可能であるか判定し、解が無ければその有向マトロイドは実現不可能 • LP-solver: cdd+[Fukuda], lrs[Avis]など。有理数演算を利用して誤差を排除する(Robustなプログラム) 対数をとる 変数とみる
実現不可能な有向マトロイドの例: (r = 4, n = 8) 1111211121121231112112123112123123411121121231121231234112123123412345 2223322332334442233233444233444555522332334442334445555233444555566666 3344434445555553444555555666666666634445555556666666666777777777777777 4555566666666667777777777777777777788888888888888888888888888888888888 0+++++++++++++++++++++++-++-+------+++++++---+---------+----+--------+ 上4行がカイロトープの引数、下1行がカイロトープの値 上のχより導ける3項Grassmann-Plücker多項式の集合 各ブラケット について とソート済み 各ブラケットの値は 正 or 0 ([1234]のみ) + + + + + 0
実現不可能な有向マトロイドの例(続き) [1234] = 0, それ以外のブラケットは+ 不等式を生成し、対数をとって線形化 上の線形不等式系の項は全て打ち消しあう ⇒ “0 < 0”、つまり解なし このような場合、双二次最終多項式が存在し、有向マトロイドは実現不可能
どのようにして有向マトロイドの実現可能性を効率よく判定するかどのようにして有向マトロイドの実現可能性を効率よく判定するか • 実現不可能性の十分条件となる性質を用いる • 代数的性質: 双二次最終多項式 • 3項Grassmann-Plückerの多項式を利用 • 線形方程式の求解に帰着 • 幾何的性質: 非ユークリッド性 • 通常の線形計画問題では決して起こらない、非退化なサイクルを見つける
y (1) (4) (2) x (5) (3) ( f ) (4) (1) (5) (2) (3) ( f ) (g) 問題の背景:線形計画問題 ex. ( f ) (1) (2) (3) (4,5) 斉次化 ( f ) (1) (2) (3) (4,5,g) (球面 の上部から見た図) 球面が、中心を通る超平面により領域に分割される
v6 v5 z y v3 v4 v2 v1 x 有向マトロイドのコサーキットC*による表現 ex. 各ベクトルが法線ベクトルとなる超平面で、 空間を分割⇒ 領域が平面に対しどちら側にあるかを符号で表す=コベクトル コサーキット(極小なコベクトル)の集合 による有向マトロイドの表現: 上の例では この符号の集合は有向マトロイドを定義する、またχによる定義と同値
有向マトロイドの公理(サーキットの公理) 以下の公理を全て満たす符号の集合のみが有向マトロイドをなす (C0) Y の非零indexの集合 (C1) (C2) Y の負indexの集合 (C3) コサーキットの集合C*もサーキットの公理を満たす
有向マトロイド計画問題:線形計画問題の抽象化有向マトロイド計画問題:線形計画問題の抽象化 (0+0++ ++) (4) (1) 球面上の領域 = コベクトル 球面上の点 = コサーキット (12345 f g) (+00++ ++) (5) (2) ( f ) (3) 球面の上半分(超平面gに対して正 or 0)にあるコサーキットのみ考える (g) (+++00 ‐+) 有向マトロイド計画問題: ある実行可能なコサーキットC0*を初期解として、目的関数 f に対して値を改善していき、最適なコサーキットを得る
有向マトロイド計画問題 をコベクトルの集合とする アフィン空間: 増加する方向 (‐+‐0+ +0) 無限遠点: (4) (1) (12345 f g) (+00++ ++) 実行可能領域: (5) (2) 左の例では、12345全てが非負 ( f ) (3) 目的関数が増加する方向: (g) (+++00 ‐+) (00+-- -+) 有向マトロイド計画問題は の三つ組みの形で与えられる コベクトルの集合
有向マトロイド計画問題における単体法アルゴリズム有向マトロイド計画問題における単体法アルゴリズム 入力: 有向マトロイド計画問題 出力: 目的関数 f に対して最適なコサーキット Phase I: 実行可能なコサーキット を一つ見つける、存在しなければ実行可能解なし→アルゴリズム終了 Phase II: (i) 現在のコサーキットと辺を共有し、かつ増加する方向を見つける (ii) (i)の方向に対して非有界であれば最適解なし→アルゴリズム終了 (iii) 解を改善する方向に向かい、新たなコサーキットを得る (iv) これ以上増加する方向がなければ、最適解を出力してアルゴリズム終了、 そうでなければ(i) に戻る
非退化なサイクル • 単体法におけるステップ(Cold→Cnew)の分類: degenerate 2つのコサーキットCold,Cnewが、同じ点で重なっている horizontal {Cold,Cnewに共通する非零要素} U {f, g}が従属 strictly increasing 有向辺Cold→Cnewは目的関数が増加する方向、かつ degenerateではない 非退化なサイクル: ステップの列 について、 かつ 各ステップは{degenerate, horizontal, strictly increasing}のどれか、さらに少なくとも1つのステップはstrictly increasing C0 C3 C1 =C2
非ユークリッド性を用いた有向マトロイドの実現不可能性の判定非ユークリッド性を用いた有向マトロイドの実現不可能性の判定 • 通常の線形計画問題は、決して非退化なサイクルをもたない • 有向マトロイドが非退化なサイクルを持つならば、その有向マトロイドは実現不可能 このような有向マトロイドを非ユークリッドな有向マトロイドとよぶ
今回の発表の流れ • 背景 • 有向マトロイドとは • 有向マトロイドの実現不可能性判定問題 • 実現不可能性の十分条件 • 代数的な立場より: 双二次最終多項式 • 幾何的な立場より: 非ユークリッド性 • 計算機実験による結果 幾何的構造の組合せ的抽象化 幾何的モデル 組合せ的モデル 計算は困難 ギャップ Grassmann-Plückerの多項式 線形計画問題
各ランク、要素数(r, n)における有向マトロイドの個数 ならばすべてユークリッド性をみたす すべて実現可能 実現不可能な有向マトロイドを含み、かつユークリッド性を満たさないものが存在する(r, n) = (4, 8)のケースについて、 計算機実験により実現不可能な有向マトロイドを列挙する
(r, n) = (4, 8)における「実現不可能な」有向マトロイドの個数 uniform: χの値が常に 1or -1 #OM(4,8) = 181472 Uniform OMs 2628 Non-uniform OMs 178844 (non-realizable ??) non-realizable 24 双二次最終多項式 24 双二次最終多項式 3944 非ユークリッド性 3444 非ユークリッド性 18 非HK*性 18 非HK*性 1364 非シャノン性 1 (非HK性 0) (非HK性 0) non-Euclidean, non-HK(*), non-Shannon: [Fukuda, Moriyama, Okamoto 2004] BFP: [Nakayama, Moriyama, Fukuda, Okamoto 2005]
(r, n) = (4, 8)における「実現不可能な」有向マトロイドの個数 • 計算機実験の結果より、 • 有向マトロイドがuniformである場合:双二次最終多項式で全ての実現不可能なものを列挙非ユークリッド性によっては列挙できないものもあり • uniform, non-uniform両方の場合について非HK*性を満たす ⇒ 非ユークリッド性を満たす非ユークリッド性を満たす ⇒ 双二次最終多項式が存在実現不可能性を示す性質の有用さとして、双二次最終多項式 > 非ユークリッド性 > 非HK*性が成り立つことを示唆している 双二次最終多項式 > 非ユークリッド性については、理論的証明が完了 [Richter-Gebert 1993] [Nakayama, Moriyama and Fukuda, in preparation] 証明の方針は定まっておらず、rが大きくなると成り立たないかもしれない
まとめ • 実現不可能な有向マトロイドを列挙するための性質 • 代数的手法: 双二次最終多項式 • 幾何的手法: 非ユークリッド性 の紹介 • 性質の間に真の強弱関係が存在することが計算機実験により示唆された
参考文献 • A.Bjorner, M.Las Vergnas, B.Sturmfels, N.White and G.Ziegler: Oriented Matroids, Encyclopedia of Mathematics (1993) • K.Fukuda: Oriented Matroid Programming, Ph.D. Thesis (1982) • K.Fukuda, S.Moriyama and Y.Okamoto: Non-LP orientations, nonlinear shellings and non-representable oriented matroids, Technical Group of Computation (2004) • K.Fukuda, H.Nakayama and S.Moriyama: Every non-Euclidean oriented matroid admits a biquadratic final polynomial, in preparation • H.Nakayama, S.Moriyama, K.Fukuda and Y.Okamoto: Comparing the strength of the non-realizability certificates for oriented matroids, in proc. of 4th Japanese-Hungarian Symposium (2005) • J.Richter-Gebert: Euclideanness and final polynomials in oriented matroid theory, Combinatorica (1993)