Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Loading in …5
×

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

126 views

Published on

Ant Colony Optimization

Published in: Software
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

• Be the first to like this

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

1. 1. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential PGX ユーザー勉強会 #15 LT Ant Colony Optimization 2020/01/20
2. 2. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 1 自己紹介 – 名前: 田上 悠樹 – 職業: ITエンジニア – 所属: UL Systems – 活動: PGX ユーザーグループ でのLTなど
3. 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. 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. 5. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 4 Ant Colony Optimization 概要 – アルゴリズムのモデル： モデルは アリの採餌行動。先ほどの書籍からアリの行動について引用。 Startノード（巣）からGoalノード（餌場）を見つける経路探索の問題と捉えると、 ランダムウォークしつつも、距離と関連するフェロモンという重みを用いて優先的 な選択を行いながら経路探索するアルゴリズムになる。 アリの行動：（引用： 進化計算アルゴリズム入門 生物の行動科学から導く最適解 ） アリは餌を見つけると、道しるべフェロモンと呼ばれる化学物質を地面に付けながら餌を巣に運 びます。 ― 中略 ― フェロモンにはアリを惹きつける性質があるので、アリは餌場に向かうときや、新しい餌場を探すと きに、フェロモンが付着している経路をたどる傾向があります。また、フェロモンは揮発性物質であ り、時間の経過とともに蒸発するため、巣に到着したときの餌場付近に残っているフェロモン量を 長い経路と短い経路で比較すると、短い経路のほうに多くのフェロモンが残ることになります。 ― 中略 ― 短い経路のフェロモンは増強され、長い経路のフェロモンは蒸発して消滅し、最終的にほとんど のアリが最短経路を歩くようになります。
6. 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. 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. 8. ULS Copyright © 2011-2019 UL Systems, Inc. All rights reserved. Proprietary & Confidential 7 まとめ – 本日は Ant Colony Optimization を紹介した。 メモ：  Dijkstra 法の様な決定論的アプローチではなく、確率的な探索で経路を見つける。  なので、決定論的アプローチ、確率論的アプローチなりの長所・短所がある。  強化学習の文脈での、 エージェント（アリ）、報酬（フェロモン）、行動（エッジ 選択）、状態（現在のノード）にも通ずるところがあると感じた。  本日のお試しソースコードは、おって github （まだ private）に載せておきます。