連結成分とは?一本の線を外す前後で、まとまりを数える

連結成分は、無向グラフで線をたどって互いに行き来できる、これ以上広げられない点のまとまりです。近くに描かれた点の集まりでも、直接つながる点だけの集まりでもありません。

直接つながらなくても、同じまとまり

A–B、B–C、D–Eの三本の線があるとします。AとCは直接の線を持ちませんが、Bを経由して行き来できるので同じ連結成分です。まとまりは{A,B,C}と{D,E}の二つになります。

A ─ B ─ C     D ─ E
成分1:A B C   成分2:D E
紙の上の距離ではなく、線をたどれるかで分けます。

{A,B}だけを成分と呼ばないのは、Cも加えられるからです。「最大」とは人数が全体で一番多いという意味ではなく、そのまとまりに、さらに到達できる点を足せないという意味です。孤立した点も、それだけで一つの連結成分になります。

一本追加・一本削除するとどう変わる?

上の模型にC–Dを追加すると、すべてがつながり成分は一つになります。そのC–Dを再び外すと二つに戻ります。削除によって成分数が増える辺を「橋」と呼びます。

操作成分数理由
元のAB・BC・DE2ABCとDEが分かれる
CDを追加1二つのまとまりが接続する
さらにACを追加1すでにつながる内部の迂回路が増える
その後ABを削除1AはC経由でBへ行ける

橋かどうかは、その辺だけの性質ではなく、ほかの辺を含む構造で決まります。図で長く描かれた辺が必ず橋になるわけでもありません。

向きがある場合は、別の定義が必要

A→B→Cという矢印なら、AからCには行けますがCからAには戻れません。向きを無視すれば一つに見えても、相互に到達できるとは言えません。

有向グラフでは、互いに到達できる強連結と、向きを無視した弱連結などを区別します。サイトのリンクを調べる場合も、ページAがBへリンクしているだけで、BからAへの道があるとは限りません。

ブログの孤立記事を考える例

記事を点、記事中のリンクを線にした模型なら、つながりの点検に使えます。ただし実際のサイトはメニュー、カテゴリー、検索などからも読めます。本文リンクだけのグラフで孤立した点を見つけても、検索エンジンに絶対に発見されないとまでは言えません。

何をリンクとして数えたかを記録した上で、入口や戻り道を整えるのが実用的です。中心性と最短経路も、同じ点と線から別の問いを考える方法です。

参考資料

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です