問題タブ [boost-property-map]

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.

0 投票する
1 に答える
536 参照

c++ - 奇妙な振る舞いをするブーストグラフの外部プロパティ?

Boost :: Graphを使用して最初のステップを実行していますが、(私にとっては)予期しない動作が発生しました。

私が欲しいのは、一連のedge_weightプロパティ(数は実行時にのみ知られている)を持ち、特定の制約を満たすすべての重みの最小値を使用することです。まず、typedef宣言:

次のようにグラフを初期化します。

そして何度も出力INT_MAXします。(外部)weightMaps[j]はすべて同じで、内部プロパティと等しいようfastestLinkWeightです。しかし、なぜ?個別のマップを使用するようにするにはどうすればよいですか?

0 投票する
2 に答える
1972 参照

c++ - ブースト グラフ ライブラリの std::vector に関連付けられた外部プロパティ マップ

現在、ブースト グラフの外部プロパティを定義しようとしています。バンドルされたプロパティを内部プロパティとして使用します。

ただし、アルゴリズム中にいくつかの外部プロパティが必要です。つまり、グラフのエッジ/頂点を std::vector に格納された要素にマップして、 operator[] (Edge e)。私は手がかりなしにブーストのドキュメントの前に立っています。property_map が必要なようですが、これらをベクトルと一緒に使用する方法がわかりません。これまでに見つけた唯一の例は、頂点からベクトルへのマップに関するものですが、頂点は unsigned int であるため、これは些細なことです。

これまでのところ、boost には本当に不満を感じています。自分でグラフ クラスを実装してテストする時間を大幅に節約できたと思います。このクレイジーなテンプレート メタプログラミングのものは本当にわかりません...

0 投票する
1 に答える
1013 参照

c++ - Boostのproperty_mapは、キーが存在するかどうかをテストしますか?

BGLのコンテキストでは、を繰り返す必要がありますin_edgesout_edges、逆エッジの一部であるものを除外します。つまり、逆エッジの一部であるものを除外しますproperty_map。以下のコードは、私がやりたいことを示していますが、もちろん、メソッドはありproperty_mapません。findend

更新:考えられる解決策は、グラフの作成中に逆エッジを含むマップのような別の構造を維持することです。read_dimacs_max_flowこれは、グラフの作成を制御できた場合は機能しますが、関数を使用してDIMACS形式のグラフファイルを読み取るため、機能しません。だから私はBGLのアクセシビリティ方法だけに頼って何が何であるかを理解することができます。

グラフの定義:

そして、私がやりたいことのスニペットの例(ただし、以下のエラーでコンパイルされません):

およびコンパイラエラー:

0 投票する
1 に答える
812 参照

boost - 1 つのグラフに複数のエッジ ウェイト プロパティ マップを設定することはできますか?

プロパティ マップ (エッジの重み) が各プロパティ マップで異なるようなグラフを作成するにはどうすればよいですか? このようなプロパティ マップを作成することは可能ですか? プロパティ マップの配列のようなものですか?

インターネット上でそれを使用している人を見たことがありません。例を教えてください。

各重みをプロパティ マップに入れます。

0 投票する
1 に答える
600 参照

c++ - dijkstra_shortest_paths Boost Graph Lib 1.57.0 が失敗する

私は BGL を使用しており、最近 1.46.1 から 1.57.0 に移行しました。また、Mac での Xcode の使用から gcc 4.9.2 に切り替えました。

問題を説明するために、このコードの小さなスニペットを作成し、取得するための一致しない関数呼び出しを取得しています。INCLUDE パスを 1.46.1 に変更すると、このコードはうまく機能しますが、1.55.0 と 1.57.0 では失敗します。

アドバイスをいただければ幸いです。ありがとう。



gcc でのビルドのエラー ログ

0 投票する
1 に答える
817 参照

c++ - Fruchterman Reingold の引力は Boost Graph Library でどのように機能しますか

Boost Graph Library で Fruchterman-Reingold アルゴリズムを学習しています。ドキュメントを読むと、グラフ レイアウトに関してすべてのノードの位置を計算するアルゴリズムであることがわかりますが、Boost Graph Library の引力の計算手順が理解できないという問題があります。

たとえば、トポロジが高さ 100、幅 100 の長方形の場合、各頂点は文字列としてラベル付けされ、各ペア頂点間の関係は次のようになります。

各行は、2 つのラベル付き頂点が接続されていることを示します。各頂点の引力の式は次のようになります。

ここdで、 は 2 つの頂点間の距離で、kは最適な距離です。dしかし、Boost Graph Library の Fruchterman-Reingold のコードで距離を取得する方法がわかりません。この例では、各ペアの頂点間の ASCII 値の差を距離として計算しdますか? ('0' の ASCII 値は 48 で、'5' の ASCII 値は 53 です。Fruchterman-Reingold が 53 - 48 = 5 を BGL の d として計算するというのは本当ですか?)

0 投票する
1 に答える
402 参照

c++ - GraphViz のブースト グラフ バンドル出力のストリーミング オペレーターのオーバーロード

Boost Graph Library にバンドルされたプロパティを標準ライブラリ型で使用しながら、その型の<<ストリーム演算子のオーバーロードを使用して満たすことはできwrite_graphvizますか?

Boost の静的アサートに直面したため、コードを上記のように変更しました。hereからの提案を採用し、<<実装はboost::detail::has_left_shift_impl名前空間内で定義されます。悲しいかな、私は今別のエラーに直面しています:

<<で使用できるオーバーロードを提供する方法はありwrite_graphvizますか? Ubuntu 14.10 と GCC 4.9.1 を使用しています。

0 投票する
1 に答える
246 参照

c++ - 頂点リストが setS の場合、write_graphviz は機能しませんか?

次のコードにはエラーがあります。

「std::basic_ostream」左辺値を「std::basic_ostream&&」にバインドできません

boost::vecS、//頂点リストのときに機能します

それは期待されていますか?