SlideShare a Scribd company logo
1 of 46
トポロジカルソート
大規模知識処理研究室 M2
竹内 文登
今日の内容
• 有向無閉路グラフ(DAG)
• トポロジカルソートとは?
• トポロジカルソートを求めるアルゴリズム×2
• 参考文献
• アルゴリズムデザイン
• アルゴリズムイントロダクション
2 / 46
ほぼアニメーション
有向無閉路グラフとは?
• 有向グラフで閉路を持たないグラフのこと
• directed acyclic graphを略してDAGという
閉路はないよ。
3 / 46
トポロジカルソートとは?
次の性質を持つ頂点の並び 𝑣1, 𝑣2, … , 𝑣 𝑛
–すべての辺 𝑣𝑖, 𝑣𝑗 に対して、 𝑖 < 𝑗 が成立
–言い換えると、すべての辺がその順序で”順方向”に向く
𝑣1
𝑣2
𝑣3
𝑣4𝑣5𝑣6
𝑣7
𝑣6𝑣5𝑣4𝑣3𝑣2 𝑣7𝑣1
4 / 46
DAGとトポロジカル順序の関係
有向グラフGに対して、
GがDAGである ⟺ Gのトポロジカルソートが存在する
• 証明:GがDAG ⟸ トポロジカルソートが存在
• トポロジカルソートがあるのに、閉路Cがあると仮定する(背理法)
• 閉路C内をぐるぐるできる
• 順序が大きくなり続けなければならない。おかしい。 ️
𝑣𝑖 𝑣𝑗 𝑣 𝑘
5 / 46
逆の証明
• GがDAG ⟹ Gのトポロジカル順序が存在する
• つまりDAGが与えられるので、トポロジカルソートを求めればよい
• 実際にトポロジカルソートを得るアルゴリズムを構築する
6 / 46
その前にDAGの重要な性質
• DAG Gには入ってくる辺のない頂点 v が存在する
7 / 46
その前にDAGの重要な性質
• DAG Gには入ってくる辺のない頂点 v が存在する
• それらの頂点はトポロジカルソートの最初の頂点になれる
8 / 46
その前にDAGの重要な性質
• DAG Gには入ってくる辺のない頂点 v が存在する
• それらの頂点はトポロジカルソートの最初の頂点になれる
• その頂点を除いたグラフもDAGである
9 / 46
その前にDAGの重要な性質
• DAG Gには入ってくる辺のない頂点 v が存在する
• それらの頂点はトポロジカルソートの最初の頂点になれる
• その頂点を除いたグラフもDAGである
• 以下、繰り返し
10 / 46
トポロジカルソートを求めるアルゴリズム
• 最初の頂点を見つけ、削除して、を繰り返す。
• Gのトポロジカルソートの計算:
• まず入ってくる辺のない頂点 v を求める
• Gから v を削除する
• 再帰的に G – {v} のトポロジカル順序を求め、vの後に繋ぐ
11 / 46
トポロジカルソートを求めるアルゴリズム
• 最初の頂点を見つけ、削除して、を繰り返す。
• Gのトポロジカルソートの計算:
• まず入ってくる辺のない頂点 v を求める
• Gから v を削除する
• 再帰的に G – {v} のトポロジカル順序を求め、vの後に繋ぐ
• 「入ってくる辺のない頂点 v」を効率良く求めると、
• 全体で𝑶(𝑽 + 𝑬)時間でトポロジカルソートを求めることができる
12 / 46
トポロジカル順序を求めるアルゴリズム
• アルゴリズム中で、以下を保持する
• 各頂点の入次数
• 入次数==0の頂点集合 S
• 具体的なアルゴリズム
1. すべての頂点の入ってくる辺の個数を数え、その値が0とな
る頂点の集合をSとする: 𝑂(𝐸)
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
13 / 46
アルゴリズムの動作例
1. すべての頂点の入ってくる辺の個数を数え、その値が0となる
頂点の集合をSとする
S = {a,g}
0
0
1
2
4
2
3
a b
c d e
f gans = {}
14 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {a,g}
0
0
1
2
4
2
3
a b
c d e
f gans = {}
15 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {b,g}
0
0
2
3
1
3
b
c d e
f gans = {a}
16 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {g}
0
1
2
1
3
c d e
f gans = {a,b}
17 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {e} 0
1
1
2
c d e
f
ans = {a,b,g}
18 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {d}
0
1
2
c d
f
ans = {a,b,g,e}
19 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {c} 0
1
c
f
ans = {a,b,g,e,d}
20 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {f}
0
f
ans = {a,b,g,e,d,c}
21 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {f}
0
f
ans = {a,b,g,e,d,c}
22 / 46
アルゴリズムの動作例
2. Sが空になるまで以下を繰り返す:𝑂(𝑉)
1. Sから頂点 v を取り出すたびに、vから出るすべての辺を
見て、行き先の頂点の入ってくる辺の個数を1減らす
2. 0ならばSに追加する
S = {}
ans = {a,b,g,e,d,c,f}
23 / 46
C++コード例
24 / 46
別のアルゴリズム [Tarjan 1976]
• 各頂点 v からDFSする
• Topological Sort( G ) :
• For all (u in G)
• Visit (u)
• Visit ( u ) :
• If ( u が探索済みでないなら )
• For all ( u から出る辺の行き先 v )
• Visit ( v )
• u を結果列の先頭に挿入
 すべての頂点からDFS
 帰りがけに結果列に追加
25 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {}
26 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {}
aからDFS
27 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {}
行き先がないので帰る
28 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {d}
帰りがけに結果列に追加
29 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {a,d}
同様
30 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {a,d}
bからDFS
31 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {b,a,d}
既に探索済みなので終了
32 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {b,a,d}
cからDFS
33 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {b,a,d}
以下、同様
34 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {i,b,a,d}
35 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {c,i,b,a,d}
36 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {c,i,b,a,d}
37 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {e,c,i,b,a,d}
38 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {e,c,i,b,a,d}
39 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {f,e,c,i,b,a,d}
40 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {f,e,c,i,b,a,d}
41 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {f,e,c,i,b,a,d}
42 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {h,f,e,c,i,b,a,d}
43 / 46
[Tarjan 1976] の動作例
• (どの順でもよいが)a,b,c,d,e,f,g,h,iの順でDFSする
a
h
c
d e
fgb
i ans = {g,h,f,e,c,i,b,a,d}
答え
44 / 46
[Tarjan 1976]の実装例
45 / 46
まとめ
• DAGならトポロジカルソートできる
• トポロジカルソートできるならDAG
• トポロジカルソートを求めるのは𝑂(𝑉 + 𝐸)でできる
• Kahnのアルゴリズム
• Tarjanのアルゴリズム
46 / 46

More Related Content

What's hot

Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドMasaki Hara
 
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話Nagisa Eto
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズムTakuya Akiba
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)Kensuke Otsuki
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性Hibiki Yamashiro
 
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Inc.
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~Takuya Akiba
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解くshindannin
 
ユークリッド最小全域木
ユークリッド最小全域木ユークリッド最小全域木
ユークリッド最小全域木理玖 川崎
 

What's hot (20)

Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
 
abc032
abc032abc032
abc032
 
辺彩色
辺彩色辺彩色
辺彩色
 
双対性
双対性双対性
双対性
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
 
目指せグラフマスター
目指せグラフマスター目指せグラフマスター
目指せグラフマスター
 
グラフネットワーク〜フロー&カット〜
グラフネットワーク〜フロー&カット〜グラフネットワーク〜フロー&カット〜
グラフネットワーク〜フロー&カット〜
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
写像 12 相
写像 12 相写像 12 相
写像 12 相
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
Rolling hash
Rolling hashRolling hash
Rolling hash
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
 
ユークリッド最小全域木
ユークリッド最小全域木ユークリッド最小全域木
ユークリッド最小全域木
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 

Viewers also liked

Государственные закупки для предпринимателей
Государственные закупки для предпринимателейГосударственные закупки для предпринимателей
Государственные закупки для предпринимателейАндрей Морозов
 
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説AtCoder Inc.
 

Viewers also liked (20)

二分探索をはじめからていねいに
二分探索をはじめからていねいに二分探索をはじめからていねいに
二分探索をはじめからていねいに
 
全探索
全探索全探索
全探索
 
Meet inthemiddle
Meet inthemiddleMeet inthemiddle
Meet inthemiddle
 
ACPC2016Day3:E問題
ACPC2016Day3:E問題ACPC2016Day3:E問題
ACPC2016Day3:E問題
 
立命合宿2016Day3:D問題
立命合宿2016Day3:D問題立命合宿2016Day3:D問題
立命合宿2016Day3:D問題
 
立命合宿2016Day3:F問題
立命合宿2016Day3:F問題立命合宿2016Day3:F問題
立命合宿2016Day3:F問題
 
立命合宿2016Day3:G問題
立命合宿2016Day3:G問題立命合宿2016Day3:G問題
立命合宿2016Day3:G問題
 
立命合宿2016Day3:E問題
立命合宿2016Day3:E問題立命合宿2016Day3:E問題
立命合宿2016Day3:E問題
 
Государственные закупки для предпринимателей
Государственные закупки для предпринимателейГосударственные закупки для предпринимателей
Государственные закупки для предпринимателей
 
ACPC2016Day3:G問題
ACPC2016Day3:G問題ACPC2016Day3:G問題
ACPC2016Day3:G問題
 
ACPC2016Day3:D問題
ACPC2016Day3:D問題ACPC2016Day3:D問題
ACPC2016Day3:D問題
 
ACPC2016Day3:F問題
ACPC2016Day3:F問題ACPC2016Day3:F問題
ACPC2016Day3:F問題
 
ACPC2016Day3:C問題
ACPC2016Day3:C問題ACPC2016Day3:C問題
ACPC2016Day3:C問題
 
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説
 
Binary indexed tree
Binary indexed treeBinary indexed tree
Binary indexed tree
 
最短経路問題 & 最小全域木
最短経路問題 & 最小全域木最短経路問題 & 最小全域木
最短経路問題 & 最小全域木
 
C pub
C pubC pub
C pub
 
G pub
G pubG pub
G pub
 
F pub
F pubF pub
F pub
 
A pub
A pubA pub
A pub
 

More from HCPC: 北海道大学競技プログラミングサークル

More from HCPC: 北海道大学競技プログラミングサークル (20)

ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しいACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しい
 
ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断
 
ACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFSACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFS
 
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解
 
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取りACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
 
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェ
 
ACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探しACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探し
 
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
 
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャムHUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
 
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMGHUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
 
HUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD RushHUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD Rush
 
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺しHUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
 
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
 
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
 
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
 
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
 
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
 
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four teaHUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 
プログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニックプログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニック
 

Recently uploaded

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (9)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

Topological sort