SlideShare une entreprise Scribd logo
1  sur  8
ULS
Copyright © 2011-2019 UL Systems, Inc. All rights reserved.
Proprietary & Confidential
PGX ユーザー勉強会 #15 LT
Ant Colony Optimization
2020/01/20
ULS
Copyright © 2011-2019 UL Systems, Inc. All rights reserved.
Proprietary & Confidential 1
自己紹介
– 名前: 田上 悠樹
– 職業: ITエンジニア
– 所属: UL Systems
– 活動: PGX ユーザーグループ でのLTなど
ULS
Copyright © 2011-2019 UL Systems, Inc. All rights reserved.
Proprietary & Confidential 2
PGX Built-in Algorithms
– 30以上のグラフ分析用アルゴリズムを備えている
Path分析, Centralities分析, Community分析 等がPGXに組み込まれており、利用可能
– Built-in アルゴリズム 一覧
[https://docs.oracle.com/cd/E56133_01/latest/reference/analytics/builtins.html ]
ではありますが、、本日は上記にない Ant Colony Optimization を試してみた。
 Cycle Detection Algorithms
 Degree Centrality and variants
 Degree Distribution and variants
 Dijkstra's Algorithm and variants
 Bidirectional Dijkstra's Algorithm (and
variants)
 Eccentricity Algorithms
 Eigenvector Centrality
 Fattest-Path
 Filtered BFS
 Hyperlink-Induced Topic Search
 Infomap
 K-Core
 Label Propagation
 Local Clustering Coefficient
 Matrix Factorization (Gradient Descent)
 PageRank and variants
 Partition Conductance
 Partition Modularity
 Prim
 Random Walk with Restart
 Reachability
 SALSA and variants
 SSSP (Bellman Ford) and variants
 SSSP (Hop Distance) and variants
 Strongly Connected Components
 Topological Ordering Algorithms
 Triangle Counting
 Vertex Betweenness Centrality and variants
 Weakly Connected Components
 Whom To Follow
ULS
Copyright © 2011-2019 UL Systems, Inc. All rights reserved.
Proprietary & Confidential 3
Ant Colony Optimization を知ったきっかけ
– 書籍:
タイトル: 進化計算アルゴリズム入門 生物の行動科学から導く最適解
目次: 第3章:アントコロニー最適化
アリさん以外に、4章ミツバチさん、6章 ホタルさん、7章 コウモリさん、8章 カッコウさん も登場
リンク: https://www.ohmsha.co.jp/book/9784274222382/
あと、Wikipedia にも載っています。 https://ja.Wikipedia.org/wiki/蟻コロニー最適化
ULS
Copyright © 2011-2019 UL Systems, Inc. All rights reserved.
Proprietary & Confidential 4
Ant Colony Optimization 概要
– アルゴリズムのモデル:
モデルは アリの採餌行動。先ほどの書籍からアリの行動について引用。
Startノード(巣)からGoalノード(餌場)を見つける経路探索の問題と捉えると、
ランダムウォークしつつも、距離と関連するフェロモンという重みを用いて優先的
な選択を行いながら経路探索するアルゴリズムになる。
アリの行動:(引用: 進化計算アルゴリズム入門 生物の行動科学から導く最適解 )
アリは餌を見つけると、道しるべフェロモンと呼ばれる化学物質を地面に付けながら餌を巣に運
びます。 ― 中略 ―
フェロモンにはアリを惹きつける性質があるので、アリは餌場に向かうときや、新しい餌場を探すと
きに、フェロモンが付着している経路をたどる傾向があります。また、フェロモンは揮発性物質であ
り、時間の経過とともに蒸発するため、巣に到着したときの餌場付近に残っているフェロモン量を
長い経路と短い経路で比較すると、短い経路のほうに多くのフェロモンが残ることになります。
― 中略 ―
短い経路のフェロモンは増強され、長い経路のフェロモンは蒸発して消滅し、最終的にほとんど
のアリが最短経路を歩くようになります。
ULS
Copyright © 2011-2019 UL Systems, Inc. All rights reserved.
Proprietary & Confidential 5
Ant Colony Optimization 概要
– Step:
2-1. フェロモン量、ヒューリスティック情報が高いエッジが優先的に選択されるよう設計。
2-2. , 2-3. 発見した経路長や蒸発率に応じてエッジ上のフェロモン量(重み)を更新する。
上記の具体的な選択確率の設定、フェロモン量ともに、先ほどの書籍やwiki に記載がある。
1. エージェント(アリ)とフェロモンの初期化.
2. 終了条件を満たすまで以下の処理を繰り返す.
1. 各エージェントに対して、フェロモンとヒューリスティックな情報に基づいて確率的な解の選択を行う。
2. 各エージェントが分泌するフェロモンを計算する。
3. フェロモン情報の更新
3. 最も良い成績のエージェントの解を出力する.
“引用 Wikipedia: https://ja.wikipedia.org/wiki/蟻コロニー最適化”
ULS
Copyright © 2011-2019 UL Systems, Inc. All rights reserved.
Proprietary & Confidential 6
Demo (Start から Goal までの最短経路 をアリさんは見つけられるか?)
今回のデモで適用した設定:(※ とっても簡易的な設定にしています。)
- 前提・終了条件: アリさん 30匹 を回遊。1step で(長さに依らず)1エッジ分 移動。500 step まで実行
- フェロモンの更新: ゴール後に定量のフェロモンを、goalに至った総経路長で割った量をエッジに付与
- フェロモン蒸発率: 時刻経過のたびに 現フェロモン量を ×0.95 づつ減衰(蒸発)
- リンクの選択方法: エッジ上のフェロモン量に比例した確率で選択
- 探索と活用のバランス: epsilon – greedy 法
- ヒューリスティック情報: 今回は設定していない。フェロモン量のみで判定。
Dijkstra法による厳密な最短経路長は、
827
オレンジの太さ: 平均フェロモン量
赤線: アリが見つけた最短経路
簡易的とはいえ、、” 1step で(長さに
依らず)1エッジ分 移動” は、良くない
設定なので要改善ポイント。。
ULS
Copyright © 2011-2019 UL Systems, Inc. All rights reserved.
Proprietary & Confidential 7
まとめ
– 本日は Ant Colony Optimization を紹介した。
メモ:
 Dijkstra 法の様な決定論的アプローチではなく、確率的な探索で経路を見つける。
 なので、決定論的アプローチ、確率論的アプローチなりの長所・短所がある。
 強化学習の文脈での、 エージェント(アリ)、報酬(フェロモン)、行動(エッジ
選択)、状態(現在のノード)にも通ずるところがあると感じた。
 本日のお試しソースコードは、おって github (まだ private)に載せておきます。

Contenu connexe

Plus de Yuki Tagami

Graph DB のユニークさについて考えてみた
Graph DB のユニークさについて考えてみたGraph DB のユニークさについて考えてみた
Graph DB のユニークさについて考えてみたYuki Tagami
 
PGXユーザー勉強会#10_Built-in アルゴリズム(Shortest-Path, Fattest-Path)
PGXユーザー勉強会#10_Built-in アルゴリズム(Shortest-Path, Fattest-Path)PGXユーザー勉強会#10_Built-in アルゴリズム(Shortest-Path, Fattest-Path)
PGXユーザー勉強会#10_Built-in アルゴリズム(Shortest-Path, Fattest-Path)Yuki Tagami
 
PGXユーザー勉強会#7_PGQL1.1事始め
PGXユーザー勉強会#7_PGQL1.1事始めPGXユーザー勉強会#7_PGQL1.1事始め
PGXユーザー勉強会#7_PGQL1.1事始めYuki Tagami
 
Pgxユーザー勉強会#5 パスクエリを使ったトラバース
Pgxユーザー勉強会#5 パスクエリを使ったトラバースPgxユーザー勉強会#5 パスクエリを使ったトラバース
Pgxユーザー勉強会#5 パスクエリを使ったトラバースYuki Tagami
 
いまさらアジャイル巡業 In Tokyo アジャイルモデリング
いまさらアジャイル巡業 In Tokyo アジャイルモデリングいまさらアジャイル巡業 In Tokyo アジャイルモデリング
いまさらアジャイル巡業 In Tokyo アジャイルモデリングYuki Tagami
 
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312Yuki Tagami
 

Plus de Yuki Tagami (6)

Graph DB のユニークさについて考えてみた
Graph DB のユニークさについて考えてみたGraph DB のユニークさについて考えてみた
Graph DB のユニークさについて考えてみた
 
PGXユーザー勉強会#10_Built-in アルゴリズム(Shortest-Path, Fattest-Path)
PGXユーザー勉強会#10_Built-in アルゴリズム(Shortest-Path, Fattest-Path)PGXユーザー勉強会#10_Built-in アルゴリズム(Shortest-Path, Fattest-Path)
PGXユーザー勉強会#10_Built-in アルゴリズム(Shortest-Path, Fattest-Path)
 
PGXユーザー勉強会#7_PGQL1.1事始め
PGXユーザー勉強会#7_PGQL1.1事始めPGXユーザー勉強会#7_PGQL1.1事始め
PGXユーザー勉強会#7_PGQL1.1事始め
 
Pgxユーザー勉強会#5 パスクエリを使ったトラバース
Pgxユーザー勉強会#5 パスクエリを使ったトラバースPgxユーザー勉強会#5 パスクエリを使ったトラバース
Pgxユーザー勉強会#5 パスクエリを使ったトラバース
 
いまさらアジャイル巡業 In Tokyo アジャイルモデリング
いまさらアジャイル巡業 In Tokyo アジャイルモデリングいまさらアジャイル巡業 In Tokyo アジャイルモデリング
いまさらアジャイル巡業 In Tokyo アジャイルモデリング
 
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
 

PGX ユーザー勉強会 #15 LT Ant Colony Optimization

  • 1. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential PGX ユーザー勉強会 #15 LT Ant Colony Optimization 2020/01/20
  • 2. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 1 自己紹介 – 名前: 田上 悠樹 – 職業: ITエンジニア – 所属: UL Systems – 活動: PGX ユーザーグループ でのLTなど
  • 3. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 2 PGX Built-in Algorithms – 30以上のグラフ分析用アルゴリズムを備えている Path分析, Centralities分析, Community分析 等がPGXに組み込まれており、利用可能 – Built-in アルゴリズム 一覧 [https://docs.oracle.com/cd/E56133_01/latest/reference/analytics/builtins.html ] ではありますが、、本日は上記にない Ant Colony Optimization を試してみた。  Cycle Detection Algorithms  Degree Centrality and variants  Degree Distribution and variants  Dijkstra's Algorithm and variants  Bidirectional Dijkstra's Algorithm (and variants)  Eccentricity Algorithms  Eigenvector Centrality  Fattest-Path  Filtered BFS  Hyperlink-Induced Topic Search  Infomap  K-Core  Label Propagation  Local Clustering Coefficient  Matrix Factorization (Gradient Descent)  PageRank and variants  Partition Conductance  Partition Modularity  Prim  Random Walk with Restart  Reachability  SALSA and variants  SSSP (Bellman Ford) and variants  SSSP (Hop Distance) and variants  Strongly Connected Components  Topological Ordering Algorithms  Triangle Counting  Vertex Betweenness Centrality and variants  Weakly Connected Components  Whom To Follow
  • 4. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 3 Ant Colony Optimization を知ったきっかけ – 書籍: タイトル: 進化計算アルゴリズム入門 生物の行動科学から導く最適解 目次: 第3章:アントコロニー最適化 アリさん以外に、4章ミツバチさん、6章 ホタルさん、7章 コウモリさん、8章 カッコウさん も登場 リンク: https://www.ohmsha.co.jp/book/9784274222382/ あと、Wikipedia にも載っています。 https://ja.Wikipedia.org/wiki/蟻コロニー最適化
  • 5. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 4 Ant Colony Optimization 概要 – アルゴリズムのモデル: モデルは アリの採餌行動。先ほどの書籍からアリの行動について引用。 Startノード(巣)からGoalノード(餌場)を見つける経路探索の問題と捉えると、 ランダムウォークしつつも、距離と関連するフェロモンという重みを用いて優先的 な選択を行いながら経路探索するアルゴリズムになる。 アリの行動:(引用: 進化計算アルゴリズム入門 生物の行動科学から導く最適解 ) アリは餌を見つけると、道しるべフェロモンと呼ばれる化学物質を地面に付けながら餌を巣に運 びます。 ― 中略 ― フェロモンにはアリを惹きつける性質があるので、アリは餌場に向かうときや、新しい餌場を探すと きに、フェロモンが付着している経路をたどる傾向があります。また、フェロモンは揮発性物質であ り、時間の経過とともに蒸発するため、巣に到着したときの餌場付近に残っているフェロモン量を 長い経路と短い経路で比較すると、短い経路のほうに多くのフェロモンが残ることになります。 ― 中略 ― 短い経路のフェロモンは増強され、長い経路のフェロモンは蒸発して消滅し、最終的にほとんど のアリが最短経路を歩くようになります。
  • 6. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 5 Ant Colony Optimization 概要 – Step: 2-1. フェロモン量、ヒューリスティック情報が高いエッジが優先的に選択されるよう設計。 2-2. , 2-3. 発見した経路長や蒸発率に応じてエッジ上のフェロモン量(重み)を更新する。 上記の具体的な選択確率の設定、フェロモン量ともに、先ほどの書籍やwiki に記載がある。 1. エージェント(アリ)とフェロモンの初期化. 2. 終了条件を満たすまで以下の処理を繰り返す. 1. 各エージェントに対して、フェロモンとヒューリスティックな情報に基づいて確率的な解の選択を行う。 2. 各エージェントが分泌するフェロモンを計算する。 3. フェロモン情報の更新 3. 最も良い成績のエージェントの解を出力する. “引用 Wikipedia: https://ja.wikipedia.org/wiki/蟻コロニー最適化”
  • 7. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 6 Demo (Start から Goal までの最短経路 をアリさんは見つけられるか?) 今回のデモで適用した設定:(※ とっても簡易的な設定にしています。) - 前提・終了条件: アリさん 30匹 を回遊。1step で(長さに依らず)1エッジ分 移動。500 step まで実行 - フェロモンの更新: ゴール後に定量のフェロモンを、goalに至った総経路長で割った量をエッジに付与 - フェロモン蒸発率: 時刻経過のたびに 現フェロモン量を ×0.95 づつ減衰(蒸発) - リンクの選択方法: エッジ上のフェロモン量に比例した確率で選択 - 探索と活用のバランス: epsilon – greedy 法 - ヒューリスティック情報: 今回は設定していない。フェロモン量のみで判定。 Dijkstra法による厳密な最短経路長は、 827 オレンジの太さ: 平均フェロモン量 赤線: アリが見つけた最短経路 簡易的とはいえ、、” 1step で(長さに 依らず)1エッジ分 移動” は、良くない 設定なので要改善ポイント。。
  • 8. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 7 まとめ – 本日は Ant Colony Optimization を紹介した。 メモ:  Dijkstra 法の様な決定論的アプローチではなく、確率的な探索で経路を見つける。  なので、決定論的アプローチ、確率論的アプローチなりの長所・短所がある。  強化学習の文脈での、 エージェント(アリ)、報酬(フェロモン)、行動(エッジ 選択)、状態(現在のノード)にも通ずるところがあると感じた。  本日のお試しソースコードは、おって github (まだ private)に載せておきます。