例と視覚化による 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の顔を変えること以外に人工知能は何ができるのでしょうか?
最近、快手の内部インキュベーターである快手幸福実験室が主催した第2回ハッカソン「AIの名において」の...
[[441692]]トランスフォーマーは本当に多用途です。トランスフォーマーは、もともと自然言語処...
[[241804]]ビッグデータダイジェスト制作編纂者:大迪、彭耀慧、茶曦、唐元、夏亜偉金融の世界...
創造性は、芸術、文学、科学、技術など、斬新で価値があり、意義のある作品を生み出すことを可能にする人間...
インテリジェント テクノロジーの使用が拡大するにつれて、ビジネス インテリジェンスの最新動向を常に把...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
翻訳者 |陳俊レビュー | Chonglou OpenAIがもたらしたGPT-4が、世界で最も人気が...
平均的なデータ サイエンティストは毎日大量のデータを処理します。データのクリーニング、処理、機械学習...