頂点集合を とし、辺集合 を
とするグラフ を考える。 を 上のグラフ的マトロイド(辺の部分集合が独立であるとは、それが閉路を含まないこととする)とし、 をその階数関数とする。 に対して を求めよ。
マトロイドの独立集合・基・階数
線形マトロイド・グラフ的マトロイド・一様マトロイドについて、部分集合が独立かを判定し、階数関数 と基を求められる(グラフ的マトロイドの階数は )
前提
- 行列の階数と解の存在 (大学数学 線形代数)
- 最小全域木(クラスカル法・プリム法) (大学数学 グラフ理論)
この技能までの道筋(35 技能)
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 三角形の角の大きさ (算数 平面図形)
- 対頂角と平行線の同位角・錯角 (中学数学 平面図形)
- 三角形の外角と角の組み合わせ (中学数学 平面図形)
- 小数の四則計算 (算数 計算と数のきまり)
- 分数のたし算・ひき算 (算数 計算と数のきまり)
- 分数のかけ算・わり算 (算数 計算と数のきまり)
- 小数と分数のまじった計算 (算数 計算と数のきまり)
- 逆算(□ を求める) (算数 計算と数のきまり)
- 正負の数の加法・減法 (中学数学 数と式)
- 四則の混じった計算の順序 (算数 計算と数のきまり)
- 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
- 分配法則を使った計算のくふう (算数 計算と数のきまり)
- 文字式の計算(同類項・分配法則) (中学数学 数と式)
- 1 次方程式の解き方 (中学数学 方程式)
- 二等辺三角形の角 (中学数学 平面図形)
- 平行四辺形と特別な四角形の性質 (中学数学 平面図形)
- 三角形・四角形の面積 (算数 平面図形)
- 約数の見つけ方 (算数 整数の性質)
- 素因数分解と約数の個数 (算数 整数の性質)
- 平方根の意味と根号の簡単化 (中学数学 数と式)
- 三平方の定理 (中学数学 相似と三平方の定理)
- 乗法公式による展開 (中学数学 数と式)
- 折り返した図形の角と長さ (中学数学 平面図形)
- 三平方の定理と平面図形 (中学数学 相似と三平方の定理)
- ベクトルの演算と成分 (数学C ベクトル)
- 行列の和・積と 2 次の逆行列 (大学数学 線形代数)
- 掃き出し法と連立 1 次方程式 (大学数学 線形代数)
- 行列の階数と解の存在 (大学数学 線形代数)
- 樹形図で数え上げる (算数 場合の数)
- 積の法則と和の法則 (算数 場合の数)
- 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
- 順列・円順列・重複順列 (数学A 場合の数と確率)
- 組合せ (数学A 場合の数と確率)
- グラフの次数と握手補題 (大学数学 グラフ理論)
- 最小全域木(クラスカル法・プリム法) (大学数学 グラフ理論)
説明
マトロイドは「独立」という性質を抽象化した構造で、ベクトルの一次独立とグラフの「閉路を含まない辺集合」を同じ言葉で扱えるようにします。この技能を身につけると、線形マトロイド・グラフ的マトロイド・一様マトロイドについて、与えられた部分集合が独立かどうかを判定し、部分集合 の階数 と基を具体的に求められるようになります。貪欲法がなぜ最適解を与えるかを理解するときや、組合せ最適化の問題を整理するときの基本的な道具になります。
なぜそうしてよいのか
有限集合 と、 の部分集合の族 の組 が次の 3 条件を満たすとき、 をマトロイドといい、 の元を独立集合、独立でない部分集合を従属集合といいます。(I1) 。(I2) かつ なら 。(I3)(交換公理) かつ なら、ある があって 。極大な独立集合を基といい、 に含まれる独立集合の最大の大きさを の階数 といいます。(I3) から、 に含まれる極大な独立集合はどれも同じ大きさをもちます(大きさが違えば小さい方に大きい方から (I3) で元を足せて、極大性に反するため)。したがって、 の中で「独立を保つ限り元を 1 つずつ足していく」だけで、どの順に足しても大きさ の極大独立集合に到達します。特に基はすべて同じ大きさ です。
代表的な例を見ます。線形マトロイド:行列 の列(の番号)の集合を とし、列ベクトルが一次独立な列の集合を独立とします。(I1)(I2) は明らかです。(I3) は次のように確かめられます。独立な ()について、すべての で が従属だったとします。 は一次独立なので、これは のベクトルが のベクトルの一次結合で書けることを意味します。 の元も当然 の一次結合なので、 のベクトルはすべて のベクトルの一次結合で書け、 のベクトルを並べた行列の階数は 以下になります。これは が一次独立で階数 であることに矛盾します。このとき は の列だけを並べた行列の階数です。一様マトロイド ( とする): で、大きさ 以下の部分集合をすべて独立とします。したがって で、基は大きさ の部分集合全体です( を許すと基は 自身だけになり、大きさ の部分集合は存在しないので、 と約束しておきます)。
グラフ的マトロイド:グラフ の辺集合 について、閉路を含まない辺集合(森)を独立とします(自己ループは長さ 1 の閉路とみなすので、それ自身で従属です)。辺集合 について、全頂点 と辺 からなるグラフ の連結成分を (孤立点も 1 つの成分と数える)とし、 の頂点数を とします。 に含まれる極大な森 は、各成分 の中で全域木になっています。実際、 がある成分 を全域していなければ( の の部分が 2 つ以上の木に分かれていれば)、 は の辺で連結なので、その別々の木を結ぶ の辺があり、それを に足しても閉路ができず、 の極大性に反します。木の辺数は頂点数より 1 少ないので、 の辺数は です。よって となり、連結グラフでは基がちょうど全域木、 です。
手順
どのマトロイドかを確認し、独立の意味を決める:線形なら「列ベクトルが一次独立」、グラフ的なら「閉路を含まない(森)」、一様 ()なら「大きさが 以下」。
独立判定をする:線形なら の列を並べた行列の階数が に等しいか調べる。グラフ的なら の辺に閉路があるか調べる( が成り立てば独立)。一様なら か調べる。
階数 を求める:線形なら ( は の列だけの行列)。グラフ的なら頂点集合を 全体のまま辺を だけにしたグラフの連結成分の数 を数えて 。一様なら 。
基(または の中の極大独立集合)を求めるときは、 の元を順に見て、今までに選んだものと合わせても独立なら選び、従属になるなら捨てる。最後に選んだ個数が に一致することを確かめる。
例題
頂点集合 をもつグラフ の辺を , , , , とする。 のグラフ的マトロイド(閉路を含まない辺集合を独立とする)において、 の階数 を求めよ。
例題の解答
手順 1:グラフ的マトロイドなので、独立とは「閉路を含まない」ことである。
手順 2: は が三角形 をなすので閉路を含み、独立ではない。よって である。
手順 3:頂点は の 5 個すべてを残し、辺を だけにしたグラフ の連結成分を数える。 により が 1 つの成分、 により が 1 つの成分になる(辺 は に入っていないので、この 2 つはつながらない)。連結成分の数は で、。
手順 4(確認): の順に見ると、 を選び、 を選び、 は と閉路を作るので捨て、 を選ぶ。 は閉路を含まない 3 本の辺で、 の中の極大な独立集合になっており、大きさ 3 が と一致する。
したがって 。
答え:
よくある誤り
階数を としてしまう誤り。正しくは が従属なら で、上の例では だが三角形 のうち 1 本が余分なので 。
グラフ的マトロイドで、 の辺が触れている頂点だけで連結成分を数え、それを全頂点数 から引いてしまう誤り。例えば , で成分を の 1 個と数えると になってしまう。正しくは孤立点 も成分に数えて 、(触れている頂点だけを使うなら のように頂点数もそろえる)。
一様マトロイド で、どんな に対しても としてしまう誤り。正しくは で、例えば で なら 。
線形マトロイドで、どの 2 本の列も平行でないことから列の集合全体が独立だと判断してしまう誤り。例えば はどの 2 本も一次独立だが、3 本を並べた行列の階数は 2 なので 3 本は従属で、。正しくは独立判定を必ず 全体の列を並べた行列の階数で行う。
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
入口の問題
この技能を使う問題
とし、各 に のベクトル を次のように対応させる。
を 上の線形マトロイド( が独立であるとは、 が 上一次独立であること)とし、 をその双対マトロイド(基は の基の補集合)とする。各要素の重みを
と定め、部分集合 の重みを とする。 の基 にわたる の最大値を求めよ。有限集合 の部分集合の族 を次で定める。
部分集合 が独立であるとは、単射 で、すべての に対して を満たすものが存在することと定める( は空写像でもよく、 は独立とする)。このとき独立集合全体は 上のマトロイド (族 の横断マトロイド)をなす。各要素の重み を
とし、 に対して とおく。 の基 に対する の最大値を求めよ。を有限集合、 を の部分集合の族とし、 は次の 3 条件を満たすマトロイドとする。
- (I1)
- (I2) かつ ならば
- (I3) かつ ならば、ある が存在しての元を独立集合、包含関係について極大な独立集合を基という。すべての基の要素数は等しい(これを の階数 とする)ことは用いてよい。
重み が単射である(相異なる要素の重みは相異なる)とし、基 の重みを と定める。このとき、重み を最大にする基はただ 1 つであることを証明せよ。
頂点集合を とする単純グラフ を考える。 の辺集合 は、 の異なる 頂点を結ぶ 本の辺すべてと、 本の辺 からなる()。辺 を と書く。各辺の重み は次のとおりである。
閉路を含まない辺集合を森とよぶ(空集合も森とする)。 の部分集合 が独立であることを「森 を用いて と書けること」と定めると、これは 上のマトロイド ( のグラフ的マトロイド とそれ自身との合併 )を定める。 の階数 と、 の基 の重み の最大値を、この順に組で求めよ。頂点集合を とする完全グラフ の辺集合を とし、 を 上のグラフ的マトロイド(独立集合は森をなす辺集合)、 をその双対マトロイドとする。さらに の階数 への切り詰め を
で定める( はマトロイドである)。辺 ()に重み を与える。 の基 のうち、重みの和 が最大となるものについて、その最大値を求めよ。
を 2 元体とし、(15 個のベクトルからなる集合)とする。 上のマトロイド を、部分集合 が 上 1 次独立であるとき、かつそのときに限り独立集合であるものとして定める( の階数は )。 を の双対マトロイド、すなわち の基の補集合 全体を基の族とするマトロイドとする。
ベクトル の成分のうち であるものの個数を と書き、重み を
で定める。 の基 の重みを とするとき、 が最大となる の基 の個数を求めよ。
この技能の次に学べること
- 貪欲法による最大重み基 (大学院数学 凸最適化・組合せ最適化)