例と視覚化による 10 個の基本的なグラフ アルゴリズムの簡単な紹介 グラフは、ソーシャル メディア ネットワーク、Web ページやリンク、GPS の位置やルートなど、現実世界のデータをモデル化およびキャプチャするための強力な手段となっています。 相互に関連するオブジェクトのセットがある場合は、グラフを使用してそれらを表現できます。 この記事では、分析に非常に役立つ 10 個の基本的なグラフ アルゴリズムとその応用について簡単に説明します。 まずはチャートをご紹介しましょう。 グラフとは何ですか? グラフは、頂点またはノードの有限の集合と、それらの頂点を接続するエッジの集合で構成されます。 2 つの頂点が同じ辺で互いに接続されている場合、それらは隣接頂点と呼ばれます。 以下はグラフに関連する基本的な定義です。 例については図 1 を参照してください。
1. 幅優先探索 トラバーサルまたは検索は、グラフ上で実行できる基本的な操作の 1 つです。 幅優先探索 (BFS) では、特定の頂点から開始し、現在の深さでそのすべての隣接頂点を探索してから、次のレベルの頂点に進みます。 ツリーとは異なり、グラフにはサイクル (最初の頂点と最後の頂点が同じであるパス) を含めることができます。 したがって、訪問した頂点を追跡する必要があります。 BFS を実装する際には、キュー データ構造を使用します。 図 2 は、サンプル グラフの BFS トラバーサルのアニメーションを示しています。 頂点がどのように発見され (黄色)、訪問されるか (赤) に注目してください。 応用分野
2. 深さ優先探索 深さ優先探索 (DFS) では、特定の頂点から開始し、バックトラック (バックトラッキング) する前に各ブランチに沿って可能な限り探索します。 DFS では、訪問した頂点も追跡する必要があります。 DFS を実装する場合、バックトラックをサポートするためにスタック データ構造を使用します。 図3は、図2と同じグラフ例のDFSトラバーサルのアニメーションを示す。深さを横断してバックトラックする方法に注目してください。 応用分野
3. 最短経路 ある頂点から別の頂点までの最短経路は、移動する必要があるエッジの重みの合計が最小になるようなグラフ内の経路です。 図 4 は、グラフ内の頂点 1 から頂点 6 までの最短経路を決定するアニメーションを示しています。 アルゴリズム
応用分野
4. サイクル検出 サイクルとは、グラフ内の最初の頂点と最後の頂点が同じであるパスです。 頂点から開始し、パスをたどり、開始頂点で終了する場合、このパスは循環になります。 サイクル検出は、これらのサイクルを検出するプロセスです。 図 5 はループを移動するアニメーションを示しています。 アルゴリズム
応用分野
5. 最小全域木 最小全域木は、すべての頂点を最小の辺の重みの合計で接続し、サイクルを含まないグラフの辺のサブセットです。 図 6 は、最小全域木を取得するプロセスを示すアニメーションです。 アルゴリズム
応用分野
6. 強く連結されたコンポーネント グラフ内のすべての頂点が他のすべての頂点から到達可能である場合、そのグラフは強く接続されていると言われます。 図 7 は、頂点が赤、緑、黄色の 3 つの強く接続されたコンポーネントを含むグラフの例を示しています。 アルゴリズム
応用分野
7. トポロジカルソート グラフの位相的順序付けは、その頂点の線形順序付けであり、順序付け内のあらゆる有向辺 (u, v) について、頂点 u が v の前に来ます。 図 8 は、頂点の位相順序 (1、2、3、5、4、6、7、8) の例を示しています。 頂点 5 は頂点 2 と 3 の後に来る必要があることがわかります。同様に、頂点 6 は頂点 4 と 5 の後に配置する必要があります。 アルゴリズム
応用分野
8. グラフィックの色付け グラフの色付けは、特定の条件を確保しながらグラフ要素に色を割り当てます。 頂点シェーディングは、最も一般的に使用されるグラフィック シェーディング手法です。 頂点彩色では、k 色を使用してグラフの頂点を彩色しようとしますが、隣接する 2 つの頂点は同じ色であってはなりません。 その他のシェーディング手法には、エッジ シェーディングやフェイス シェーディングなどがあります。 グラフの彩度数とは、グラフを色付けするために必要な最小の色数です。 図 9 は、4 色を使用してサンプル グラフの頂点を色付けした様子を示しています。 アルゴリズム
応用分野
9. 最大流量 グラフは、エッジの重みをフローとして持つフロー ネットワークとしてモデル化できます。 最大フロー問題では、最大フローを与えるフロー パスを見つける必要があります。 図 10 は、ネットワークの最大流量を決定し、最終的な流量値を決定するアニメーションの例を示しています。 アルゴリズム
応用分野
10. マッチング グラフ内の一致とは、共通の頂点を持たないエッジのセットです (つまり、2 つのエッジが共通の頂点を共有しません)。 可能な限り多くの頂点と一致する可能な限り多くのエッジが含まれるマッチングは、最大マッチングと呼ばれます。 図 11 は、オレンジ色と青色で表された 2 つの頂点セットを持つ二部グラフの完全マッチングを取得するアニメーションを示しています。 アルゴリズム
応用分野
最後に この記事が、グラフ アルゴリズムのシンプルで高レベルな入門として役立つことを願っています。 あなたの考えを聞かせてください。 読んでいただきありがとうございました。 |
>>: 5Gのサポートにより、AIの顔を変えること以外に人工知能は何ができるのでしょうか?
[51CTO.comからの原文] 今日の医療業界は、次第にテクノロジー化と精密化が進んでいます。医療...
[[279809]]北京は世界で最も人工知能企業が集中している都市であり、中国の人工知能分野は世界...
今年8月、ネイチャー誌に立て続けに掲載された2つの論文は、脳コンピューターインターフェースが言語回復...
先週、ディープラーニングの分散操作モードに関する情報を検索していたところ、偶然 PaddlePadd...
[[313508]] Baidu と Nvidia Research Institute は、N カ...
[[260198]]米テクノロジーメディアCNETによると、マイクロソフトの共同創業者で慈善家のビル...
GenAIの急速な出現はすでにサイバーセキュリティに大きな変化をもたらし、各国政府に対策を取らせてお...
PyTorch または TensorFlow を使用していますか?人々のグループによって答えは異なる...
2月22日のニュース:昨日、権威あるアメリカの科学雑誌「MITテクノロジーレビュー」は、2018年の...
今日のデータ主導の世界では、AI が業界全体を変革しています。 AI は大規模なデータ分析を加速し、...
専門家の混合 (MoE) は、LLM の効率性と精度を向上させるためによく使用される手法です。このア...
今朝早く、毎年恒例の Meta Connect カンファレンスで、AI に焦点を当てた一連の発表が行...