正確にk個のエッジを持つソースから宛先までの可能なウォーク
動的計画法を使用して、3Dテーブルを作成する必要があります。行はuの値を指し、列は値vを指し、深さは最初から最後までエッジの数を追跡するために使用されます。
入力と出力
Input: The adjacency matrix of the graph: The destination vertex is 3. K = 2 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 Output: There are 2 Possible Walks, from 0 to 3 with 2 edges.
アルゴリズム
numberOdWalks(u, v, k)
入力: 開始頂点u、終了頂点v、エッジの数k。
出力: k個のエッジで可能な歩行の数。
Begin define 3D array count of order (n x n x k+1) //n is number of vertices for edge in range 0 to k, do for i in range 0 to n-1, do for j in range 0 to n-1, do count[i, j, edge] := 0 if edge = 0 and i = j, then count[i, j, edge] := 1 if edge = 1 and (i, j) is connected, then count[i, j, edge] := 1 if edge > 1, then for a in range 0 to n, and adjacent with i do count[i, j, edge] := count[i, j, edge] + count[a, j, edge - 1] done done done done return count[u, v, k] End
例
#include <iostream> #define NODE 7 using namespace std; int graph[NODE][NODE] = { {0, 1, 1, 1}, {0, 0, 0, 1}, {0, 0, 0, 1}, {0, 0, 0, 0} }; int numberOfWalks(int u, int v, int k) { int count[NODE][NODE][k+1]; for (int edge = 0; edge <= k; edge++) { //for k edges (0..k) for (int i = 0; i < NODE; i++) { for (int j = 0; j < NODE; j++) { count[i][j][edge] = 0; //initially all values are 0 if (edge == 0 && i == j) //when e is 0 and ith and jth node are same, only one path count[i][j][edge] = 1; if (edge == 1 && graph[i][j]) //when e is 0 and direct path from (i to j), one path count[i][j][edge] = 1; if (edge >1) { //for more than one edges for (int a = 0; a < NODE; a++) // adjacent of source i if (graph[i][a]) count[i][j][edge] += count[a][j][edge-1]; } } } } return count[u][v][k]; } int main() { int u = 0, v = 3, k = 2; cout << "There are "<< numberOfWalks(u, v, k)<<" Possible Walks, from "; cout <<u<<" to "<<v<<" with "<<k<<" edges."; }
出力
There are 2 Possible Walks, from 0 to 3 with 2 edges.
-
FacebookはAIで正確に何をしていますか?
Facebookが強力な独学のコンピューターでサイト上のすべての動きを監視しているという考えに少し驚かされた場合は、専用のAI研究所をあまり詳しく調べたくないかもしれません。 Facebookの写真のタグ付け、友達のおすすめ、フェイクニュースフィルター、タイムラインの並べ替え、その他の多くの機能はすべて、AIのバージョンに依存しています。月間21.9億人のアクティブユーザーが人間のチームだけで処理することは不可能であることを考えると、それは理にかなっていますが、FacebookがAIを製品に組み込んでいる規模と速度は一見の価値があります。 画像認識 顔識別と自動タグ付けは、Facebo
-
SSD からのデータ リカバリは可能ですか? - Windows?
SSD からファイルを復元できますか? はい、 上書きされていない破損した SSD からのデータ復旧が可能です。ただし、知っておくべき特定の制限があります。 それでは、SSD からデータを復元する方法について詳しく読んで理解しましょう。 ソリッド ステート ドライブ (SSD) とは 従来のハードディスク ドライブ (HDD) とは異なり、ソリッド ステート ドライブ (SSD) には多くの利点があります。 SSD の主な利点は、パフォーマンスと速度の向上に役立つ不揮発性メモリ チップです。さらに、回転するディスクにデータを書き込むためのアクチュエータ アームがないため、SSD は