木分解
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/28 01:24 UTC 版)
ナビゲーションに移動 検索に移動グラフ理論において、木分解とはグラフから木へのマッピングであり、木幅を定義してグラフの上のある種の計算機科学の問題を高速に解くために使われる。
機械学習では、木分解はjunction tree、clique tree、join treeとも呼ばれ、確率伝搬法や制約充足問題、クエリ最適化、en:matrix decompositionのような問題で重要な役割を果たす。
木分解の概念は最初にRudolf Halin (1976)により導入された。後にNeil Robertson and Paul Seymour (1984)により再発見され、以降他の多数の研究者たちに研究されている。[1]
定義
直観的には、木分解は与えられたグラフGの頂点をある一つの木の部分木として表現する。元のグラフGにおいて2つの頂点が隣接するのは対応する部分木が共通部分を持つときに限る。それゆえ、Gは部分木達の交差グラフの部分グラフをなす。交差グラフそのものは弦グラフである。
それぞれの部分木はグラフの頂点に木のノードの集合を割り当てる。このことを形式的に定義すると、木のノードひとつひとつを、それに関連付けられたグラフの頂点の集合として表現する。そのため、グラフG = (V, E)が与えられたとき、木分解はペア(X, T)である。ここで、X = {X1, ..., Xn} はVの部分集合族で、Tは頂点がVの部分集合Xiであるような木であり、以下の性質を満たす:[2]
- 全ての集合Xiの和集合はVに等しい。つまり、それぞれの頂点は少なくとも一つの木のノードに割り当てられている。
- グラフの各辺(v, w) に対して、vとwの両方を含む部分集合 Xi が少なくとも一つ存在する。つまり、グラフの中で頂点が隣接するのは対応する部分木が共通のノードを持つ場合に限られる。
- Xi と Xj が両方とも頂点vを含む場合、Xi と Xj の間の(一意な)パスに含まれる全てのノードXkもvを含む。つまり、vに関連付けられたノードたちはTの連結な部分集合をなす。これはcoherenceやrunning intersection propertyとしても知られている。これは、「
この項目は、組合せ数学に関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています。
- 木分解のページへのリンク