seegongsik
アルゴリズム

わかりやすく グラフ とは

地下鉄の路線図を思い浮かべてください。駅は点で、駅と駅をつなぐ道は線です。友だちの関係も、ウェブのリンクも、同じように描けます。点と線、これがグラフです。

01

点は対象

グラフは点から始まります。点一つが対象一つです。駅、人、ウェブページのように、何でも点になれます。
点には名前をつけます。そうすれば、どの点なのかがわかります。
まだ線はなく、点が散らばっているだけです。

空いたところを押して点を置いてみて

空いたところを押すと点が置かれます。点一つが対象一つです。(点 = ノード)

点を置くほど、対象が増えます。でも点だけでは、ただ散らばった粒にすぎません。
駅がばらばらにあるだけでは路線図にならないのと同じです。点どうしがどうつながっているかが抜けています。
そのつながりを、次に引いていきます。

02

線は関係

では、点をつないでみましょう。二つの点を線でつなぐのは、「この二つには関係がある」という意味です。
二つの駅のあいだに道がある、二人が友だちだ、このウェブページがあちらにリンクしている。線一本が関係一つです。
点と線が集まると、グラフになります。

ABCDE
点を押して、別の点を押してつないでみて

点を一つ押してから別の点を押すと、線ができます。線一本が関係一つです。(線 = エッジ)

線を引くほど、点どうしが一つに結ばれ、散らばっていた点がやっと路線図になります。
点は対象、線は関係。この二つだけで、世の中の数えきれないものを描けます。
その中には、私たちがもう知っている形も隠れています。

03

ツリーは特別なグラフ

グラフには輪ができることがあります。点Aから出発して線をたどり、またAに戻ってきたら、それが輪です。
輪が一つもないグラフこそがツリーです。戻る道がなく、枝のように伸びていくだけの形です。
だからツリーはグラフの一種です。

ABCDE
赤い点線が輪です。押して切ってみて

輪を作っている線を押すと切れます。輪が消えるとツリーになります。ツリー ⊂ グラフ。

輪を一つ切ったら、戻る道がなくなりました。からまって見えたグラフが、すっきりしたツリーになったのです。
前に見たフォルダーや家系図も、まさにこういうツリーでした。
ツリーはグラフの特別な場合で、言いかえればグラフのほうが大きな傘です。

04

グラフはどこにでもある

点と線というめがねをかけると、世界が違って見えます。
地下鉄は駅(点)と路線(線)、友だちの輪は人(点)と友情(線)、ウェブはページ(点)とリンク(線)です。
まったく違って見えたものが、じつは同じ絵だったのです。だから一つを解けば、ほかも一緒に解けます。

市庁カンナムチャムシルシンチョン
点 = 駅、線 = 路線

例を押して切りかえます。地下鉄・友だちの輪・ウェブ、どれも同じ点と線です。

例を切りかえても、絵の骨組みは同じです。点が対象、線が関係で、名札が変わるだけです。
だからこそグラフはとても役に立ちます。一つの道具で、世の中の数えきれない問題を描けるからです。

05

まとめ

一行にまとめるとこうです。点は対象、線は関係、点と線で描いた絵がグラフ。輪のない特別なグラフがツリーです。
地下鉄も、友だちの輪も、ウェブも、すべて点と線で描けます。
点と線がそろったので、残る問いは一つです。この点のあいだを、どうやって歩き回るのでしょうか。

1. 点 = 対象
2. 線 = 関係
3. 点 + 線 = グラフ
4. ツリー = 輪のないグラフ
ボタンを押して、要点を順に振り返って

要点を順に押して振り返ります。(点=対象 → 線=関係 → グラフ → ツリーは輪のないグラフ)

グラフを描けるようになったので、本当のおもしろさはここからです。
一つの点から出発して、線をたどってすべての点を見て回る方法をグラフ探索と呼び、いちばん短い道を探す方法はそのあとに続きます。
次のレッスンでは、点と線の上をどう巡るのかをたどっていきます。

一言でいうとグラフとは「点(対象)と線(関係)で描いた絵」です。点は何にでもなれ、線は二つのあいだの関係です。地下鉄も、友だちの輪も、ウェブも、すべてグラフです。ツリーはその中で輪(循環)のない特別な場合なので、ツリーもグラフの一種です。世界を点と線で見ると、複雑に見えたものがひと目でわかります。
← アルゴリズム
このページがお役に立ったなら支援する