transclosure
推移閉包
説明
例
グラフの推移閉包
有向グラフを作成してプロットします。
G = digraph([1 2 3 4 4 4 5 5 5 6 7 8],[2 3 5 1 3 6 6 7 8 9 9 9]); plot(G)
グラフ G
の推移閉包を求め、結果として得たグラフをプロットします。H
には G
と同じノードが含まれますが、追加のエッジがあります。
H = transclosure(G); plot(H)
H
の推移閉包の情報を使用して、元のグラフ G
について到達可能性の質問に答えることができます。
G
のノード 1 から到達可能なノードを求めます。これらのノードは、推移閉包グラフ H
におけるノード 1 の後続ノードです。
N = successors(H,1)
N = 7×1
2
3
5
6
7
8
9
到達可能性行列の計算
有向グラフを作成してプロットします。
s = [1 1 2 2 3 4 4 5]; t = [2 4 3 4 5 5 6 6]; G = digraph(s,t); plot(G,'Layout','subspace')
G
の推移閉包の隣接行列を計算します。結果は "到達可能性行列" となります。この行列には、各ノードから到達可能なノードを示す非ゼロ値が含まれます。
D = transclosure(G); R = full(adjacency(D))
R = 6×6
0 1 1 1 1 1
0 0 1 1 1 1
0 0 0 0 1 1
0 0 0 0 1 1
0 0 0 0 0 1
0 0 0 0 0 0
たとえば、"ノード 3 から到達可能なノードはどれか" という質問に答えるには、行列の 3 行目を見ればわかります。この行は、ノード 5 と 6 のみノード 3 から到達可能であることを示しています。
find(R(3,:))
ans = 1×2
5 6
入力引数
出力引数
H
— G
の推移閉包
digraph
オブジェクト
G
の推移閉包。digraph
オブジェクトとして返されます。テーブル G.Nodes
は H
にコピーされますが、G.Edges
のプロパティはすべて破棄されます。
ノード n
から到達可能な G
内のノードを調べるには、successors(H,n)
を使用します。
詳細
推移閉包
グラフの推移閉包はノード間の経路を表現します。グラフにノード i
からノード j
への経路がある場合、そのグラフの推移閉包にノード i
とノード j
を結ぶエッジがあります。したがって、グラフの特定ノードについて、推移閉包は任意の到達可能なノードをそのノードの後続 (下位) ノードにします。
バージョン履歴
R2015b で導入
参考
digraph
| transreduction
| conncomp
| successors
| predecessors
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)