「点」と「線」で世界を表現する - グラフ理論「入門」
ITの世界でよく聞かれる「グラフ理論」というトピックに触れてみたいと思います。
「グラフ理論」は、IT的な世界の見かた、「モデル」の一種です。
参考: 「モデル」って言葉をITの世界でよく見かけるけど、それって何?
https://forum.pc5bai.com/tips/longshot/90ba645d-a525-4ccf-be1a-91d8a7257be9/
参考: 日常見かける「モデル」とIT用語の「モデル」、そこに共通する世界観
https://forum.pc5bai.com/tips/longshot/f2126dae-2da7-491b-83d4-e111ffec1706/
難しい数学の話ではありません。
私たちの日常生活への見立てにもすぐに使える、非常に興味深い概念です。
## グラフ理論とは?
「グラフ理論」では、世界を「点」と「線」、「点の特徴」、「線の特徴」で表現します。
分かりやすいのは、地図で表現できる、「都市」と「道」の関係です。
都市が「点」、道が「線」です。
東京と名古屋は、東名高速道路でつながっています。
中央自動車道でもつながっています。
点の先には、さらに線があり、その先に点があります。
たとえば、東京から見たとき、名古屋の先に大阪があります。
東京と名古屋を結ぶ道があり、名古屋と大阪を結ぶ道があります。
都市内の建物同士の関係もそうです。
あなたの街の最寄りの駅があって、あなたの住んでいる家があります。そこには、「駅」、「家」という点があり、その両者をつなぐ「道」という線があります。
「駅」と「家」の数だけ「道」があります。
どの「駅」も違う特徴を持ちます(たとえば駅名とか、どの路線が乗り入れているとか)。
また、どの「家」も違う特徴を持ちます(たとえば誰が住んでいるとか、どんなタイプの住居だとか)。
同様に、どの「道」も違う特徴を持っています。
同様にさらに見ていくと、駅と駅の間には線路があります。
住居と住居の間にも道があります。
「住居」と「人」の関係もあります。
こうして見てると、世の中は、「点」と「線」で溢れていることに気づきます。
グラフ理論では、この「点」のことを「ノード」、「線」のことを「エッジ」と呼びます。
人間と人間の関係なども好例です。
InstagramやFacebookなどのSNSでは、利用者(点)がいて、利用者同士のつながり(線)があります。
利用者には、公開非公開含め、様々な特徴があります。
・アカウント名
・メールアドレス
・アイコン
などなど。
利用者同士のつながりには、たとえば、
・相互フォローしている
・AさんはBさんと「友達」つながり
・AさんはCさんをフォローしている(CさんはAさんをフォローしていない)
・AさんはDさんのアカウントを頻繁に見に行っている
等々。
「利用者同士のつながり」もいろいろなタイプのものがあります。
BさんとCさん、DさんとEさん、と、「点」と「線の関係はまだまだ続いていきます。
ひとりひとりの利用者が「ノード」で、利用者同士の関係が「エッジ」です。
## グラフデータベース
「グラフデータベース」というデータベースもあります。
一般事務の方にとっては、「データベース」というと、「CSVファイル」のような「四角い表」が最初に浮かぶイメージかと思います。
「四角い表」になるものはエクセルで表現しやすく、VLookUp関数などを使った複数の表の間でのマッチングなどもしやすいです。
こういう「四角い表」で表現されるデータベースを「リレーショナルデータベース」と呼びます。
しかし、「たくさんの都市があって、道でつながって」とか、そういうものを扱うには、「四角い表」や「エクセル」は不向きです。
「グラフデータベース」は、まさに、「ノード」と「エッジ」を扱うためのものです。
一般事務の方には知られていませんが、古くからある製品も存在します。
SNSの分析などで使われます。
「あるインフルエンサーがいて、そのつながりのつながりまでの利用者のリストを取ってくる」とか、そういう検索をするには便利です。
「リレーショナルデータベース」と「グラフデータベース」のどちらのほうが優れているというものでもなく、「用途が違う」、あるいは、世界に対する見立て、すなわち「モデル」が異なるという程度のものです。
ただ、「リレーショナルデータベース」に比して、「グラフデータベース」のほうがとっつきにくいかもしれません。
「グラフ理論」や「グラフデータベース」についていきなり聞かされても概念に慣れないでしょうし、エクセルのようにすぐに触れてとりあえずすぐに事務に使えるようなものでもないので、そこは仕方ないかなと思います。
それでもこのタイミングで「グラフ理論」や「グラフデータベース」を紹介したかったのは、ここ数回文章作成のノウハウについて書いているのですが、これについてもう少し話すのに必要だったからです。
文章作成も、いつも言っている「DPR」のプロセスを踏みます。
Dとはデータベース。イイタイコト。
Pとはライティング。文章を書くプロセス。
Rとはできあがった文章。人に見せる最終形態。
Dについて学ぶことは、最終的なアウトプットたる「R」のクオリティをあげるのに役立ちます。
「洗練されたアウトプットとは、洗練されたモデルから得られるもの」とも言えます。
次回のメールマガジンでは、この話の続きを書こうと思います。
次の次か、さらにその次の回くらいで、また文章作成の具体的なノウハウ(つまり、DPRのPの話)に戻れるかなと思います。
「グラフ理論」は、IT的な世界の見かた、「モデル」の一種です。
参考: 「モデル」って言葉をITの世界でよく見かけるけど、それって何?
https://forum.pc5bai.com/tips/longshot/90ba645d-a525-4ccf-be1a-91d8a7257be9/
参考: 日常見かける「モデル」とIT用語の「モデル」、そこに共通する世界観
https://forum.pc5bai.com/tips/longshot/f2126dae-2da7-491b-83d4-e111ffec1706/
難しい数学の話ではありません。
私たちの日常生活への見立てにもすぐに使える、非常に興味深い概念です。
## グラフ理論とは?
「グラフ理論」では、世界を「点」と「線」、「点の特徴」、「線の特徴」で表現します。
分かりやすいのは、地図で表現できる、「都市」と「道」の関係です。
都市が「点」、道が「線」です。
東京と名古屋は、東名高速道路でつながっています。
中央自動車道でもつながっています。
点の先には、さらに線があり、その先に点があります。
たとえば、東京から見たとき、名古屋の先に大阪があります。
東京と名古屋を結ぶ道があり、名古屋と大阪を結ぶ道があります。
都市内の建物同士の関係もそうです。
あなたの街の最寄りの駅があって、あなたの住んでいる家があります。そこには、「駅」、「家」という点があり、その両者をつなぐ「道」という線があります。
「駅」と「家」の数だけ「道」があります。
どの「駅」も違う特徴を持ちます(たとえば駅名とか、どの路線が乗り入れているとか)。
また、どの「家」も違う特徴を持ちます(たとえば誰が住んでいるとか、どんなタイプの住居だとか)。
同様に、どの「道」も違う特徴を持っています。
同様にさらに見ていくと、駅と駅の間には線路があります。
住居と住居の間にも道があります。
「住居」と「人」の関係もあります。
こうして見てると、世の中は、「点」と「線」で溢れていることに気づきます。
グラフ理論では、この「点」のことを「ノード」、「線」のことを「エッジ」と呼びます。
人間と人間の関係なども好例です。
InstagramやFacebookなどのSNSでは、利用者(点)がいて、利用者同士のつながり(線)があります。
利用者には、公開非公開含め、様々な特徴があります。
・アカウント名
・メールアドレス
・アイコン
などなど。
利用者同士のつながりには、たとえば、
・相互フォローしている
・AさんはBさんと「友達」つながり
・AさんはCさんをフォローしている(CさんはAさんをフォローしていない)
・AさんはDさんのアカウントを頻繁に見に行っている
等々。
「利用者同士のつながり」もいろいろなタイプのものがあります。
BさんとCさん、DさんとEさん、と、「点」と「線の関係はまだまだ続いていきます。
ひとりひとりの利用者が「ノード」で、利用者同士の関係が「エッジ」です。
## グラフデータベース
「グラフデータベース」というデータベースもあります。
一般事務の方にとっては、「データベース」というと、「CSVファイル」のような「四角い表」が最初に浮かぶイメージかと思います。
「四角い表」になるものはエクセルで表現しやすく、VLookUp関数などを使った複数の表の間でのマッチングなどもしやすいです。
こういう「四角い表」で表現されるデータベースを「リレーショナルデータベース」と呼びます。
しかし、「たくさんの都市があって、道でつながって」とか、そういうものを扱うには、「四角い表」や「エクセル」は不向きです。
「グラフデータベース」は、まさに、「ノード」と「エッジ」を扱うためのものです。
一般事務の方には知られていませんが、古くからある製品も存在します。
SNSの分析などで使われます。
「あるインフルエンサーがいて、そのつながりのつながりまでの利用者のリストを取ってくる」とか、そういう検索をするには便利です。
「リレーショナルデータベース」と「グラフデータベース」のどちらのほうが優れているというものでもなく、「用途が違う」、あるいは、世界に対する見立て、すなわち「モデル」が異なるという程度のものです。
ただ、「リレーショナルデータベース」に比して、「グラフデータベース」のほうがとっつきにくいかもしれません。
「グラフ理論」や「グラフデータベース」についていきなり聞かされても概念に慣れないでしょうし、エクセルのようにすぐに触れてとりあえずすぐに事務に使えるようなものでもないので、そこは仕方ないかなと思います。
それでもこのタイミングで「グラフ理論」や「グラフデータベース」を紹介したかったのは、ここ数回文章作成のノウハウについて書いているのですが、これについてもう少し話すのに必要だったからです。
文章作成も、いつも言っている「DPR」のプロセスを踏みます。
Dとはデータベース。イイタイコト。
Pとはライティング。文章を書くプロセス。
Rとはできあがった文章。人に見せる最終形態。
Dについて学ぶことは、最終的なアウトプットたる「R」のクオリティをあげるのに役立ちます。
「洗練されたアウトプットとは、洗練されたモデルから得られるもの」とも言えます。
次回のメールマガジンでは、この話の続きを書こうと思います。
次の次か、さらにその次の回くらいで、また文章作成の具体的なノウハウ(つまり、DPRのPの話)に戻れるかなと思います。
- あなたが思いつく「点」と「線」で表現できる関係を1つ挙げてみてください。
そこに、どんな点がありますか。また、どんな線がありますか。
それぞれの点、線には、どんな特徴がありますか。
「点」と「線」で表現できる別の関係をさらに2つ見つけ、同様の観察をしてみてください。
関連記事・関連コンテンツ
IT用語...というか、エクセルマクロの世界では、「特徴」のことを「プロパティ」と呼びます。
以下のエクセルマクロ初心者向けの講座で、ITスキルとそこで使われる基礎用語を整理しています。
まだな方は、ぜひ、この機会に学んでみてください。
エクセルマクロ・VBA導入編
https://forum.pc5bai.com/lesson/course/10/
上記の講座では、レジュメに「マインドマップ」を使っています。
実は、これも、データベース、「モデル」としても扱えるおもしろい構造です。次回は「マインドマップ」的な構造について扱います。
「モデル」って言葉をITの世界でよく見かけるけど、それって何?
https://forum.pc5bai.com/tips/longshot/90ba645d-a525-4ccf-be1a-91d8a7257be9/
日常見かける「モデル」とIT用語の「モデル」、そこに共通する世界観
https://forum.pc5bai.com/tips/longshot/f2126dae-2da7-491b-83d4-e111ffec1706/
IT用語...というか、エクセルマクロの世界では、「特徴」のことを「プロパティ」と呼びます。
以下のエクセルマクロ初心者向けの講座で、ITスキルとそこで使われる基礎用語を整理しています。
まだな方は、ぜひ、この機会に学んでみてください。
エクセルマクロ・VBA導入編
https://forum.pc5bai.com/lesson/course/10/
上記の講座では、レジュメに「マインドマップ」を使っています。
実は、これも、データベース、「モデル」としても扱えるおもしろい構造です。次回は「マインドマップ」的な構造について扱います。
「モデル」って言葉をITの世界でよく見かけるけど、それって何?
https://forum.pc5bai.com/tips/longshot/90ba645d-a525-4ccf-be1a-91d8a7257be9/
日常見かける「モデル」とIT用語の「モデル」、そこに共通する世界観
https://forum.pc5bai.com/tips/longshot/f2126dae-2da7-491b-83d4-e111ffec1706/
2024年11月20日 21:41
小川 慶一さん
2024年11月20日 21:28
AIユーザさん
2024年11月14日 17:04
小川 慶一さん
2024年11月13日 18:12
AIユーザさん
2024年11月13日 18:11
田中 宏明さん