Slide 1

Slide 1 text

+40/͔Β ͪΐͬͱ͍͍ײ͡ͷ ωοτϫʔΫਤΛඳ͘ ίʔμϯεখౡ৻ଠ࿠ !DPEFPVU

Slide 2

Slide 2 text

࣮ݱ͍ͨ͜͠ͱ ネットワーク図 ほしいけど、
 描きたくない。 知らないところでやっといて。

Slide 3

Slide 3 text

ࠓ೔͸Ұา໨ { "nodes": [ { "name": "A" }, { "name": "B" }, ... ], "links": [ { "source": "A", "target": "B" }, ... ] } このくらいの
 ホント最低限の情報で ○ これを描いてくれ 配置は適当に やっといて http://www.interop.jp/2016/shownet/highlight.html

Slide 4

Slide 4 text

͏·͘഑ஔͯ͘͠Εͳ͍໰୊ まずはこれを⾒てほしい

Slide 5

Slide 5 text

͍ΖΜͳϥΠϒϥϦʔͰ
 ඳ͍ͯΈΑ͏ POP02-bb01 POP02-bb02 POP02-ag01 POP02-ag02 POP03-bb01 POP03-bb02 POP03-ag01 POP03-ag02 POP01-bb01 POP01-bb02 POP01-ag01 POP01-ag02

Slide 6

Slide 6 text

配置は適当に やっといて リロード → 配置が変わる graphviz d3.js (force layout) cytoscape ͍ΖΜͳϥΠϒϥϦʔͰ
 ඳ͍ͯΈΑ͏

Slide 7

Slide 7 text

͏·͘഑ஔͯ͘͠Εͳ͍໰୊ • 配置いまいち • リロードごとに変わる

Slide 8

Slide 8 text

ղܾํ๏ • 論⽂をあさった • グラフ理論 • オートレイアウト⼿法がある • 汎⽤的だが、パラメーター多い →複雑 • 学び • 配置のときに制約をつけると良いっぽい

Slide 9

Slide 9 text

੍໿ • ノードのグルーピング • 同じ拠点にあるノードは近くに • リンク距離 (ノード間の距離) • 似たノード間は短く

Slide 10

Slide 10 text

੍໿ڌ఺ผʹϊʔυΛάϧʔϐϯά • どうやってグループ定義する? • ノード名から推定する
 (トライ中) • とりあえずの案 = 正規表現 • ノード名のうち、拠点名部分を指定 • 命名規則はそう変わらない /^([^\s-]+)-/ POP01-bb01 ^^^^^

Slide 11

Slide 11 text

੍໿ϦϯΫڑ཭ • グループ = 拠点内でも、似たノード 間は短く • 似たノード ?
 = 似たノード群に接続しているノード
 = 接続ノード集合 間の
 ジャッカード距離 が⼩さい

Slide 12

Slide 12 text

δϟοΧʔυڑ཭ https://en.wikipedia.org/wiki/Jaccard_index 1 2 3 4 5 6 ྫ ᶃ ᶅͷڑ཭ ᶃ͸<ᶅ ᶆ>ʹɺ
 ᶅ͸<ᶃ ᶄ ᶆ ᶇ>ʹ
 ͭͳ͕͍ͬͯΔ ࿨ू߹<ᶃ ᶄ ᶅ ᶆ ᶇ>
 ੵू߹<ᶆ> 0.8 0.67 1 ू߹ؒͷۙ͞Λදݱ

Slide 13

Slide 13 text

࣮૷ͲͷϥΠϒϥϦʔ • graphviz • ⾔わずと知れた⽼舗ライブラリー • 制約を実装しづらい • d3.js (force layout / cola.ja) • 物理演算 • ノード間を伸縮する棒(リンク) でつなぐ • svg 出⼒ • cytoscape • d3.js の 版 テキスト検索 できる

Slide 14

Slide 14 text

࣮૷০Γ෇͚ • ノードのアイコン変更 • メタデータを表⽰ • Javascript でON / OFF • リンク: ズーム時のみ表⽰

Slide 15

Slide 15 text

4IPX/FUͷ ωοτϫʔΫਤͰࢼ͢ • このあたりを
 JSON 化 • 定義するのは
 ノード + リンク
 のみ
 (メタデータは書く) http://www.interop.jp/2016/shownet/highlight.html

Slide 16

Slide 16 text

͍͍ͷͰ͸ ⽐較のため回転しています → http://www.interop.jp/2016/shownet/highlight.html

Slide 17

Slide 17 text

codeout/inet-henge https://github.com/codeout/inet-henge デモ: https://inet-henge.herokuapp.com/ TODO • ライブラリーとして整理する • API は変わるかも… • パラメーターの いいデフォルト値 • ネットワークにより ばらつきがある • 遅い → 演算の最適化 • いろんなネットワーク図 で試す