問題タブ [adjacency-matrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 隣接行列 C++ を使用してグラフの深さ優先トラバーサルを実装する
ノードのセットと、どのノードが接続されているかを表すいくつかのエッジがあります。V_nodes 1 7 22 97 48 11 V_arcs (1 22) (97 22) (7 1) (11 48) (48 7) (11 0) V_weight 1
接続された頂点の場合は 1、切断された頂点の場合は 0 を示す隣接行列を作成しました。次に、Adjacency Matrix を使用して、このグラフの深さ優先トラバーサルを実装したいと思います。DFS のチュートリアルを見たことがありますが、隣接行列を使用してそれをトラバースするにはどうすればよいか混乱しています。Depth First Traversal を使用してノードを出力するだけです。どんな助けでも大歓迎です。
r - Rでgraph.adjacency()を使用する
次のようなRのサンプルコードがあります。
ここで、次のデータを含む csv ファイルを入力として使用しました。
この後、次のコマンドを使用して重量値を確認しました。
予想される出力は次のようになります。
しかし、私は奇妙な値を取得しています(そして毎回異なります):
どこで何が間違っているのかわかりませんか? 正しい期待される結果を得るために私を助けてください。
ありがとう、ニティン
java - ファイル内のポイント間に線を引く
次のようにフォーマットされたファイルから Java で線を引く必要があります。
2 つの配列を設定し、何らかの方法でそのような値を追加する必要があると思いますが、完全に迷っており、本当にガイダンスが必要です。どんな助けでも大歓迎です!以下のコードは、線を描画するために変更する必要があるものです。今はポイントをプロットするだけです。
コード:
algorithm - ボグルボードの隣接行列
ボグルボードの隣接行列を生成したいと思います。ボグル ボードは、次のような nxn マトリックスにアルファベットがあるボードです: http://www.wordtwist.org/sample.gif
各セルは隣接セルに接続されています。基本的に、上下左右に移動して別のセルに接続します。
各セルをグラフの頂点として表示すると、ボグル ボードの隣接行列を見つけることができます。
隣接するセルを見つけるために、次の式を思いつきました: セルのインデックスが 0 から始まり、左から右に番号が付けられていると仮定します。i = セル インデックス、n = 行数/列数。したがって、3x3 マトリックスでは、i=0 が最初のセルになり、n は 3 になります。
コーナーセルの場合、上記の式は失敗します。コーナーケースの無効なセルを除外する方法は?
graph-theory - 加重有向グラフネットワーク上のエッジ/リンク/接続をどのように予測しますか?
重み付けされた有向グラフの隣接行列Aが与えられた場合(したがって、行列要素は0/1だけでなく、行列は対称ではありません)、新しいエッジを予測するための良い方法はありますか?
一部の接続の既知のエッジと観測されていない接続のNULL値を持つ非常に大きな(数十億のノード)データセットがあり、既知のエッジを使用して観測されていない接続を予測したいと思います。
メソッドが正確でない場合は問題ありません。実際、データサイズと処理速度についてマトリックスをできるだけスパースに保つために、予測がしきい値を下回っている場合は、エッジをNULLまたは0に保ちたいと思います。
何かご意見は?
matlab - Matlab の A^x * v のベクトルの最初の要素をプロットします (行列の累乗)
A^x * v
ここでA
、 はグラフ内の隣接行列を表す正方行列、はx
ステップ数、v
は初期ベクトルです。
私の目標は、結果として得られる各ベクトルの最初の要素をプロットすることです。つまり、欲しいA*v[1], A^2*v[1], A^2*v[1]
私は試した
しかし、得た
私はエラーを理解していますが、Matlab のプロットの例から離れて、この問題にアプローチする他の方法を理解していません。
助けてくれてありがとう!
c# - 加重グラフの隣接行列の生成
Floyd-Warshall Algorithmを実装しようとしています。adjacency matrix
これを行うには、加重グラフを設定する必要があります。どうすればこれを行うことができますか?私は値を知っており、加重グラフの写真を添付しました。これに関するオンラインの例をいくつか探してみましたが、何も見つからないようです。私は Floyd-Warshall アルゴリズムを理解しています。それを実装できるようにセットアップするためのサポートが必要です。これは以前に作成したものですが、特定の値を使用する必要はありませんでした。
コード:
手元にある特定のグラフは次のとおりです。
これが私が作成する必要があるマトリックスの写真です..ひどい品質でごめんなさい...
c - C プログラミング: 最短経路を見つける方法は?
36 個の頂点 (つまり、行ごとに 6 個の頂点、列ごとに 6 個の頂点) で構成される 6x6 の正方形があるとします。次のようになります。
すべての頂点は、1、2、3、または 4 つの近くの頂点に接続されているため、基本的には頂点とエッジを含むグラフが得られます。私の問題は次のとおりです。ロボットが頂点に配置された特定のオブジェクトを見つけるまで、エッジの「迷路」を通過する必要があります。そのオブジェクトを見つけるとすぐに、最も早い方法で開始点に戻る必要があります。
さて、これを実現する方法がよくわからないので、私の質問は次のとおりです。これらの頂点とエッジに関する情報をCで保存するための最良の構造は何ですか? (36x36 は非常に大きいため、隣接行列は非効率的と思われます)。そして、この情報を使用して、最初に戻る最も早い方法を見つけるにはどうすればよいでしょうか?
r - Rでネットワークオブジェクトに変換した後、エッジ値をグラフに保持する
注 1: R パッケージの "network" と "sna" を使用しています。
注 2: 元のデータは .csv ファイルのエッジリスト形式です。
エッジリスト データを R に読み込む最良の方法を探していました。一見すると、これは簡単です。
ネットワークにエッジ値を返すように要求すると (get.edge.values)、正しい値が返されます。
ただし、私が尋ねるsummary(network)
と、すべての値が 1 に設定されている隣接行列が返されるだけです (対角線を除く)。値がゼロだったとしても、値は 1 になります。
さらに、 degree(network) のようなものを取得しようとすると、間違った結果が返されます。
私はこれについて何日も探してきました。考えられる解決策は、 を使用することでしたnetwork2<-as.matrix.network(netwerk1, matrix.type="adjacency", attrname="val")
。これは機能します。ただし、問題は、これがネットワーク オブジェクトではなくなり、マトリックス クラスになることです。その結果、頂点属性をネットワークに追加できません。network2 を再度ネットワーク オブジェクトに変換すると、ネットワーク内のエッジ値が失われます。
いくつかの助けをいただければ幸いです。
ベスト、フレデリク