マトロイド
【英】:matroid
概要
マトロイドとは, ベクトル集合の一次独立性・従属性といった概念を組合せ論的に抽象化することによって得られる公理系を満たすものである. 1935年にホイットニー(H. Whitney)が導入し,1950年代以降タット(W. T. Tutte)らにより研究が発展してきた. 1960年代にエドモンズ(J. Edmonds)によって数理計画法における重要性が指摘されて以来, マトロイドは, 効率的に解くことのできる離散最適化問題を把握する枠組として中心的な役割を担っている.
詳説
マトロイド (matroid) は, 線型空間内のベクトル集合の一次独立・従属といった概念の組合せ論的な側面を抽象化して得られる公理系を満たすものとして定義されている. 有限集合 とその部分集合族 が以下の (I0)-(I2) を満たすとき, はマトロイドと呼ばれる.
マトロイド において, を の台集合, を独立集合族 (independent set family) という.部分集合 は, の独立集合と呼ばれる.
マトロイド の基とは, 極大な独立集合のことである. 公理 (I2) から明らかなように, 基の要素数は全て等しい. この数をマトロイド の階数という. 基の全体を と書き, の基族 (base family) と呼ぶ. 基族 は以下の (B0)-(B1) を満たす.
マトロイド の階数関数 (rank function) は,
と定義される. 階数関数 は以下の (R0)-(R3) を満たしている.
.
.
.
.
特に, (R3) は が劣モジュラ関数 (submodular function) であることを示している.
ここでは, (I0)-(I2) によってマトロイドを定義したが, (B0)-(B1) を満たす基族 からマトロイドを定義することもできる. この場合, 独立集合は基の部分集合として定義される. 同様に, (R0)-(R3) を満たす階数関数によってマトロイドを定義することもできる. この場合, 独立集合族は によって定められる.
グラフ的マトロイド (graphic matroid) 点集合 , 枝集合 を持つ無向グラフ を考える. 枝集合の部分集合のうち, 閉路を含まないものの全体を とすると, は (I0)-(I2) を満たし, マトロイドになる. このようにして得られるマトロイドをグラフ的マトロイドと呼ぶ.
横断マトロイド (transversal matroid) 点集合 , , 枝集合 からなる2部グラフ を考える. 枝部分集合 で端点を共有しないものを のマッチングという. 点集合 の部分集合で, のマッチングの における端点集合となり得るものの全体を とする. このとき, は (I0)-(I2) を満たし, マトロイドになる. このようにして得られるマトロイド を横断マトロイドと呼ぶ.
マトロイド の各要素 に重み が与えられたとき, 以下の様な貪欲アルゴリズム (greedy algorithm) を適用して最終的に得られる が, 重み最小の基, すなわち, を最小にする基 となる.
全く同様のアルゴリズムによって, 重み最大の基を求めることもできる.
離散最適化におけるマトロイドの重要性は, 貪欲アルゴリズムのみならず, 共通マトロイド問題 (matroid intersection problem) に負うところが大きい. 共通マトロイド問題とは, 台集合を共有するマトロイド と における共通独立集合のうちで, 要素数最大のものを求める問題である. この問題の最適値は, の階数関数 と の階数関数 を用いて,
と特徴付けられる [1] . 共通マトロイド問題は, 回路理論やシステム解析においても本質的な役割を果たしている [2, 3, 5] .
マトロイドが, 行列における一次独立性を抽象化して得られたのに対し, 対称行列や歪対称行列の正則主小行列の組合せ的な性質を抽象化した概念として,デルタマトロイド (delta-matroid) が提案された. デルタマトロイドは, マトロイドの一般化であり, 貪欲アルゴリズムが適用可能であると同時に, 一般グラフ上のマッチングの端点集合族をも包含する枠組として注目されている.
また, 多項式行列の小行列式の次数の抽象化として付値マトロイド (valuated matroid) が提案された. 付値マトロイドの研究は, 劣モジュラ関数の凸性に関する理論と結び付いて, 離散凸解析と呼ばれる分野に発展している.
[1] J. Edmonds, "Submodular functions, matroids, and certain polyhedra," in Combinatorial Structures and Their Applications, R. Guy, H. Hanani, N. Sauer, and J. Schönheim, eds., Gordon and Breach, 69-87, 1970.
[2] 室田一雄, 「マトロイドとシステム解析」, 藤重悟 編『離散構造とアルゴリズムⅠ』, 近代科学社, 第2章,57-109, 1992.
[3] K. Murota, Matrices and Matroids for Systems Analysis, Springer-Verlag, 2000.
[4] J. G. Oxley, Matroid Theory, Oxford University Press, 1992.
[5] A. Recski, Matroid Theory and Its Applications in Electric Network Theory and in Statics, Springer-Verlag, 1989.
[6] D. J. A. Welsh, Matroid Theory, Academic Press, 1976.
[7] N.White (ed.) , Matroid Applications, Cambridge University Press, 1992.
[8] 伊理正夫, 藤重悟, 大山達雄,『グラフ・ネットワーク・マトロイド』, 産業図書, 1986.
[9] J. Lee, A First Course in Combinatorial Optimization, Cambridge University Press, 2004.
グラフ・ネットワーク: | ポリマトロイド マッチング マッチング問題 マトロイド ユークリッド巡回セールスマン問題 付値マトロイド 共通マトロイド問題 |
マトロイド
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/10/14 23:51 UTC 版)
マトロイド(英: matroid)は、ある公理を満たす集合とそのべき集合の部分集合の組である。歴史的には、行列の一次独立・従属を一般化した概念であるが、多くの組合せ最適化問題をマトロイドあるいはより緩い独立性システムとコスト関数で定式化でき、特徴付けを行える等応用範囲は広い。特に組合せ最適化において、マトロイド上の最適化問題には単純な貪欲法によって多項式時間のアルゴリズムとは限らないものの最適解が得られることは非常に重要である。
注釈
- ^ 記号の意味については「冪集合」「空集合」「集合間の関係を表す記号」「濃度 (数学)」「和集合」「差集合」を参照のこと
- ^ マトロイドの直和もマトロイドになる。
- ^ 閉路のない辺集合
- ^ 各連結成分において、高々1つの閉路を持つグラフ
- ^ (R3),(R5),(R6)を満たす関数と(R1),(R2),(R4)を満たす関数は同値
- ^ は、 のとき、かつそのときのみ1となるから、 が得られる。これを でまとめて右辺を得る。
- ^ Gj は Ej の基であり、ρ の定義より得られる。
- ^ ランク商の定義より明らか。
- ^ であることと、階数関数の定義および性質(R1)より得られる。
- ^ X の基でないことに注意
- ^ 概念は「多項式時間変換」に詳しい
- ^ 最良選択貪欲法を使うことによって(本質的には独立性オラクルを複数回使うことによって)基決定オラクルを作れるが、逆に基決定オラクルを多項式回使っても独立性オラクルを作れない
出典
- ^ D. Hausmann; B. Korte , T. A. Jenkyns (1980). “Worst case analysis of greedy type algorithms for independence systems”. Mathematical Programming Studies 12: 120-131.
- ^ Hassler Whitney (1935-07). “On the abstract properties of linear dependence” (pdf). American Journal of Mathematics 57: 509-533 2011年3月19日閲覧。.
- ^ Crispin Nash-Williams (1967). “An application of matroids to graph theory”. In P.Rosenstiehl, ed.. Theory of Graphs; proceedings of an international symposium in Rome 1966. New York: Gordon and Breach. pp. 263-265
- ^ T.A. Jenkyns (1976). “The Efficacy of the greedy Algorithm”. Proc. of 7th S-E. Conf. on Combinatorics, Graph Theory, and Computing, Utilitas Mathematica, Winnipeg: 341-350.
- ^ Bernhard Korte; Dirk Hausmann (1978). “An Analysis of the greedy heuristic for independence systems”. In B. Alspach, P. Hell, D.J. Miller, eds.. Aogorithmic Aspects of Combinatorics; Annals of Discrete Mathematics. 2. Amsterdam: North-Holland. pp. 65-74
- ^ R. Rado (1957). “Note on Independence Functions”. Proceedings of the London Mathematical Society 7: 300-320.
- ^ Jack Edmonds (1971). “Matroids and the greedy algorithm”. Mathematical Programming 1: 127-136.
- ^ Bernhard Korte; C.L. Monma (1979). “Some remarks on a classification of oracle-type algorithms”. In L. Collatz, G. Meinardus, W. Wetterling, eds.. Numerische Methoden bei graphentheoretischen und kombinatorischen Problemen. 2. Basel: Birkhäuser. pp. 195-215
- ^ Richard M. Karp (1972). “Reducibility Among Combinatorial Problems”. In R. E. Miller and J. W. Thatcher eds. Complexity of Computer Computations. New York: Plenum. pp. 85-103
- ^ D. Hausmann; B. Korte (1981). “Algorithmic versus axiomatic definitions of matroids”. Mathematical Programming Study 14: 98-111.
- ^ B. Korte; R. Schrader (1981). “On the existence of fast approximation schemes”. In O. Mangaserian, R.R. Meyer, S.M. Robinson, eds.. Nonlinear Programming. New York: Academic Press. pp. 415-437
- ^ Oscar H. Ibarra; Chul E. Kim (1975-10). “Fast Approximation Algorithms for the Knapsack and Sum of Subset Problems”. Journal of the ACM 22 (4): 463-468. doi:10.1145/321906.321909. ISSN 0004-5411.
- ^ Sartaj K. Sahni (1976-01). “Algorithms for Scheduling Independent Tasks”. Journal of the ACM 23 (1): 116-127. doi:10.1145/321921.321934. ISSN 0004-5411.
- ^ G.V. Gens (1979). “Computational complexity of approximation algorithms for combinatorial problems”. In J. Becvar, ed.. Mathematical Foundations of Computer Science. Berlin: Springer. pp. 292-300
- ^ Eugene L. Lawler (1979). “Fast Approximation Algorithms for Knapsack Problems”. Mathematics of Operations Research 4: 339-356. doi:10.1287/moor.4.4.339.
- ^ A. Frank (1981). “A weighted matroid intersection algorithm”. Journal of Algorithms 2: 328-336.
- ^ M. Grötschel; L. Lovász, A. Schrijver (1981). “The ellipsoid method and its consequences in combinatorial optimization” (pdf). Combinatorica 1: 169-197 2011年3月26日閲覧。.
- ^ Alexander Schrijver (2000). “A combinatorial algorithm minimizing submodular functions in strongly polynomial time” (pdf). Journal of Combinatorial Theory, Series B 80 (2): 346-355 2023年5月14日閲覧。.
- マトロイドのページへのリンク