Suche senden
Hochladen
Boost.Graph入門
•
Als PPTX, PDF herunterladen
•
1 gefällt mir
•
4,024 views
egtra
Folgen
Boost.勉強会 #2のときに使用したスライドです。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 23
Jetzt herunterladen
Empfohlen
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
並列化による高速化
並列化による高速化
sakura-mike
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
Empfohlen
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
並列化による高速化
並列化による高速化
sakura-mike
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
Kosuke Shinoda
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
Genya Murakami
SDL2の紹介
SDL2の紹介
nyaocat
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
GAN(と強化学習との関係)
GAN(と強化学習との関係)
Masahiro Suzuki
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
Masaki Hara
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
ytanno
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
Koji Morikawa
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
Deep Learning JP
TRICK 2022 Results
TRICK 2022 Results
mametter
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
Ryosuke839
闇魔術を触ってみた
闇魔術を触ってみた
Satoshi Sato
Start Concurrent
Start Concurrent
Akira Takahashi
error handling using expected
error handling using expected
Akira Takahashi
Weitere ähnliche Inhalte
Was ist angesagt?
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
Kosuke Shinoda
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
Genya Murakami
SDL2の紹介
SDL2の紹介
nyaocat
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
GAN(と強化学習との関係)
GAN(と強化学習との関係)
Masahiro Suzuki
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
Masaki Hara
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
ytanno
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
Koji Morikawa
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
Deep Learning JP
TRICK 2022 Results
TRICK 2022 Results
mametter
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
Ryosuke839
闇魔術を触ってみた
闇魔術を触ってみた
Satoshi Sato
Was ist angesagt?
(20)
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
SDL2の紹介
SDL2の紹介
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Glibc malloc internal
Glibc malloc internal
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
GAN(と強化学習との関係)
GAN(と強化学習との関係)
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
C++ マルチスレッド 入門
C++ マルチスレッド 入門
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
オブジェクト指向できていますか?
オブジェクト指向できていますか?
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
TRICK 2022 Results
TRICK 2022 Results
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
闇魔術を触ってみた
闇魔術を触ってみた
Andere mochten auch
Start Concurrent
Start Concurrent
Akira Takahashi
error handling using expected
error handling using expected
Akira Takahashi
C++14 solve explicit_default_constructor
C++14 solve explicit_default_constructor
Akira Takahashi
Boost container feature
Boost container feature
Akira Takahashi
Boost Tour 1_58_0 merge
Boost Tour 1_58_0 merge
Akira Takahashi
C++1z draft
C++1z draft
Akira Takahashi
Multi paradigm design
Multi paradigm design
Akira Takahashi
Boost tour 1_61_0 merge
Boost tour 1_61_0 merge
Akira Takahashi
Andere mochten auch
(8)
Start Concurrent
Start Concurrent
error handling using expected
error handling using expected
C++14 solve explicit_default_constructor
C++14 solve explicit_default_constructor
Boost container feature
Boost container feature
Boost Tour 1_58_0 merge
Boost Tour 1_58_0 merge
C++1z draft
C++1z draft
Multi paradigm design
Multi paradigm design
Boost tour 1_61_0 merge
Boost tour 1_61_0 merge
Mehr von egtra
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
egtra
エクストリームC++11/14プログラミング
エクストリームC++11/14プログラミング
egtra
Visual C++ 2015の紹介(C++11/14的に)
Visual C++ 2015の紹介(C++11/14的に)
egtra
Casablanca
Casablanca
egtra
Firefox拡張機能を始める
Firefox拡張機能を始める
egtra
ATLに見る魔術
ATLに見る魔術
egtra
再変換 (K2Editor)
再変換 (K2Editor)
egtra
C++11概要 ライブラリ編
C++11概要 ライブラリ編
egtra
char32_tとXpressiveと
char32_tとXpressiveと
egtra
Boost.Range入門
Boost.Range入門
egtra
Mehr von egtra
(10)
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
エクストリームC++11/14プログラミング
エクストリームC++11/14プログラミング
Visual C++ 2015の紹介(C++11/14的に)
Visual C++ 2015の紹介(C++11/14的に)
Casablanca
Casablanca
Firefox拡張機能を始める
Firefox拡張機能を始める
ATLに見る魔術
ATLに見る魔術
再変換 (K2Editor)
再変換 (K2Editor)
C++11概要 ライブラリ編
C++11概要 ライブラリ編
char32_tとXpressiveと
char32_tとXpressiveと
Boost.Range入門
Boost.Range入門
Kürzlich hochgeladen
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Kürzlich hochgeladen
(10)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Boost.Graph入門
1.
Boost.Graph入門の入門 H.22/09/11 Egtra
Boost.勉強会 #2
2.
自己紹介 Egtra Twitter:
@egtra
3.
お約束など #include <boost/graph/adjacency_list.hpp>
残念ながらほかのヘッダの出番はありません using namespace boost; 主にスペースの都合 注意: C++0xのauto使います 主にスペースの都合
4.
グラフ 「頂点」(vertex) と「辺」(edge)からなるデータ構造
5.
6.
さっそく使ってみる
7.
頂点と辺の操作 その1 変数を作る
adjacency_list<> g; 頂点の追加 auto u = add_vertex(g); auto v = add_vertex(g); 辺の追加 auto result = add_edge(u, v, g); auto edge = result.first;
8.
頂点と辺の操作 その2 辺の削除
remove_edge(edge, g); または remove_edge(u, v, g); 頂点の削除 remove_vertex(v, g); すべて削除 g.clear();
9.
中をたどる auto t
= vertices(g); BOOST_FOREACH(auto e, t){ std::cout << e << std::endl;} eはu, vと同じ型 さらに、この例では整数型(必ずではない)
10.
Rangeです これもコンパイル・実行可能。 std::for_each( boost::begin(t), boost::end(t), ……);
t | pstade::oven::……
11.
さらにRange (1) 接する頂点
auto t = adjacent_vertices(v, g) v
12.
さらにRange (2) 接する辺
auto t = adjacent_edges(v, g) v
13.
おまけ 残り時間の許すところまで進みます。
14.
頂点と辺の型 頂点 adjacency_list<>::vertex_descriptor
またはgraph_traits<adjacency_list<>> ::vertex_descriptor 辺 adjacency_list<>::edge_descriptor またはgraph_traits<adjacency_list<>> ::edge_descriptor
15.
その他読み取り関数 辺->両端の頂点 : source,
target 両端の頂点->辺 : edge, edge_range インデックス->頂点 : vertex 頂点の数 : num_vertices 辺の数 : num_edges すべての辺 : edges
16.
Boost.Graphに入門するまであと一歩
17.
adjacency_list (1) ずばり「グラフ型」(の1つ)
Boost.Graphを使い始める最大の難関 テンプレート引数が多い adjacency_list<OutEdgeList, VertexList, Directed, VertexProperties, EdgeProperties, GraphProperties, EdgeList> ドキュメント見る気がなくなる
18.
adjacency_list (2) OutEdgeList,
VertexList 頂点と辺にどんなコンテナを使うか 挿入・削除・参照などの時間が変化 削除時に記述子が無効になるか否かが変化 Directed 有向グラフか無向グラフか 残りのテンプレート引数 入門の入門では扱いません
19.
扱わなかったもの 以下、Boost.Graphに入門したらきっと使う機会が出てくるでしょう プロパティマップ
アルゴリズム breadth_first_search depth_first_search Etc…… Graphviz形式入出力
20.
まとめ: グラフへの操作 参照
辺・頂点の数 すべての辺・頂点 ある頂点から伸びる辺 ある辺に接する頂点(2つ) 変更 頂点を加える・取り除く 辺を加える・取り除く
Jetzt herunterladen