問題タブ [boost-graph]
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 ++ Boostの無向グラフを作成し、深さ優先探索(DFS)の順序でトラバースするにはどうすればよいですか?
C ++ Boostの無向グラフを作成し、深さ優先探索(DFS)の順序でトラバースするにはどうすればよいですか?
c++ - ブースト グラフ ライブラリ: コミュニティ検出用に BGL に組み込まれているきちんとしたアルゴリズムはありますか?
大規模な実稼働サーバーに BGL を使用している人はいますか?
- ネットワークはいくつのノードで構成されていますか?
- コミュニティの検出をどのように処理しますか
- BGL には、コミュニティを検出するクールな方法がありますか?
- 2 つのコミュニティが 1 つまたは 2 つのエッジでリンクされている場合もありますが、これらのエッジは信頼性が低く、消えていく可能性があります。エッジがまったくない場合もあります。
誰かがこの問題を解決する方法について簡単に話すことができますか. 私の心を開いて、私にインスピレーションを与えてください。
これまでのところ、2 つのノードが 1 つの島 (コミュニティ内) にあるかどうかを最も安価な方法で解決することができましたが、別の島にあるどの 2 つのノードが互いに最も近いかを判断する必要があります。信頼できない地理データは最小限しか使用できません。
それを比喩的に本土と島と比較し、社会的距離の文脈から外すと. 私は、水域を横切って最も接近している 2 つの土地を特定したいと考えています。
c++ - Boost::Graph での頂点プロパティの変更
boost::graph を使用して情報を保存する方法を理解しようとしています。ただし、各頂点に関連付けたい情報があります。ライブラリのドキュメントをじっと見ると、(a)ドキュメントの書き方が悪いか、(b)思ったほど C++ が得意ではないことがわかります。2つ選んでください。
簡単な使用例を探しています。
c++ - データ クラスを GUI コードにリンクするにはどうすればよいですか (C++ でオブジェクトの属性を表示するため)。
Data
コードの実行時に何千ものインスタンス (オブジェクト)を持つクラス (C++) を呼び出します。DataWidget
オブジェクトの属性を表示するウィジェット(Qt)があります。ウィジェットを迅速に作成するために、オブジェクト属性をファイルに書き込んで、ウィジェットにそのファイルの属性を解析させました。このアプローチは機能しますが、スケーラブルでもきれいでもありません。
より明確にするために、私の要件は次のとおりです
。1 -DataWidget
複数の異なるData
オブジェクトの属性を一度に表示できる必要があります
2 - 1 秒あたりDataWidget
数千のData
オブジェクトを表示できる必要があります
3 -新しいオブジェクトDataWidget
を生成するコードと一緒に実行する必要があります4 - 各オブジェクトは、ファイル/データベースに永続的に保存する必要がありますData
Data
現在、GUI が作成され、DataWidget
が作成された後、実験が実行され、何千ものData
オブジェクトが生成されます (それらの一部を定期的にファイルに書き込みます)。実験の実行後、DataWidget
最後Data
にファイルに書き込まれたオブジェクトが表示されます (それらは XML ファイルに書き込まれます)。
現在のファイル アプローチでは、実験の実行後に複数のファイルを取得することで(1)を満たすことができます。実験は に関連付けられていないため、同時実行性がないため、新しいファイルが存在することを に通知するシグナルを追加するまで(3)DataWidget
は実行できません。DataWidget
私は 2 つの理由でこのアプローチを進めていません。まず、ファイルがすぐにディスクに書き込まれなくても、キャッシュ システムを実装しない限り、この方法がスケーラブルであるとは想像できません。車輪の再発明ですか?次に、Data
グラフ データ構造のラッパーであり、Graphml を使用して (Boost グラフ ライブラリ、つまりwrite_graphml()を介して) 構造を XML ファイルに書き込み、Boost のread_graphml()で構造を読み戻す必要があります。ファイルをオブジェクトに読み込みData
ます...つまり、プログラムの実験部分がオブジェクトを XML にエンコードし、XML をファイルに書き込みます (ただし、できればディスクではなくメモリに書き込みます)。DataWidget
ファイルから XML を読み取り、それをオブジェクトにデコードします。
すべてのキャッシングなどを処理するデータベースを使用する必要があるように思えます。さらに、ファイル/データベースのステップをスキップして、プログラム内の に渡すことができるように思われますData
(DataWidget
おそらくへの参照を渡します)。のリストData
)。それでも、Data
ファイル/データベースへの保存手順は完全に無意味ではありません。間違ったタイミングで間違った方法で使用しているだけです。
私の要件を考えると、より良いアプローチは何ですか?
このようなデータを処理および表示するための一般的なリソースやガイドラインはありますか?
c++ - ブースト グラフ ライブラリと訪問者
私は債券グラフを操作するためのライブラリを作成しており、Boost Graph Library を使用してデータを保存しています。残念ながら、頂点をサブクラス化できないため、それを使用して適切なビジター パターンを実装する方法を理解できないようです。代わりに「プロパティ」に依存する必要があります。ライブラリで提供されているビジター フレームワークは、頂点がすべて同じタイプであるが、異なる情報を格納する特定のアルゴリズムを操作することに重点を置いているようです。私の問題では、頂点はさまざまなタイプであり、さまざまなタイプの情報を格納しています.いくつかの頂点は抵抗器であり、いくつかの頂点はコンデンサなどです。頂点そのもの?
これまでの私の唯一の考えは、グラフ情報を取得するために必要な元の頂点を指すオブジェクトの型を表す小さなクラスを作成することでした。ただし、これは非常に厄介で、操作するのが悪いようです。