忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【アルゴリズム・データ構造】ノード間に複数の経路・辺が存在する!「多重グラフ」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験のアルゴリズム・データ構造(グラフ理論)分野における重要概念。「多重グラフ(Multigraph)」の定義と、対となる「単純グラフ(Simple Graph)」との違いを攻略しましょう。

1. 【 問題 】:テクノロジ系(アルゴリズム・データ構造)

【 問題 】 グラフ理論におけるデータ構造の定義に関する記述です。同一の2つの頂点(ノード)間に複数の辺(エッジ)が存在すること(多重エッジ)が許容されているグラフ構造は、次のうちどれか。

(ア)単純グラフ(Simple Graph)
(イ)多重グラフ(Multigraph)
(ウ)完全グラフ(Complete Graph)
(エ)二部グラフ(Bipartite Graph)

2. 正解:

正解:(イ)多重グラフ(Multigraph)

3. 解説:「『2点間に複数の経路や結びつきがある』ネットワーク!」

多重グラフ(Multigraph)は、同じ2頂点間に複数のエッジが存在する(多重辺 / Parallel Edges)グラフ構造です。
実世界の複雑なネットワーク(複数の交通手段、時間帯ごとの経路、複数の通信リンクなど)を直接モデル化する際に用いられます。

【単純グラフと多重グラフの分類比較】 ← 超頻出ポイント!

分類同一2ノード間の複数エッジ自己ループ(自分へのエッジ)
(ア)単純グラフ
(Simple Graph)
許可しない
(高々1本のみ)
許可しない
(イ)多重グラフ
(Multigraph)
許可する
(多重エッジあり)
文脈により異なる
(一般には許可しないことが多い)
擬グラフ
(Pseudograph)
許可する 許可する

1. 理解のコツ:
・「東京駅」と「横浜駅」の間に「JR東海道線」「京浜東北線」「横須賀線」の3つの路線(エッジ)が並行して走っているような路線網をイメージしてください。このように2地点間に複数の線が存在できるモデルが多重グラフです。

2. 試験対策の視点:
・問題文に「同じノード間に複数のエッジが存在」「多重辺を許可する」と出たら、迷わず多重グラフを選択しましょう!
・アルゴリズム分野(ダイクストラ法や隣接行列など)では、前提として「自己ループも多重エッジもない単純グラフ」を扱うことが多いので、両者の前提条件の違いを押さえておくことが重要です。


4. まとめ

同じ頂点(ノード)ペアの間に複数の辺(エッジ)が存在することを許容するデータ構造。これが多重グラフです。多重辺も自己ループも持たない標準的な「単純グラフ」との定義の違いを整理しておきましょう!

PR