SlideShare a Scribd company logo
1 of 25
ZDD
グラフをいじってみた
坂部 圭哉
ZDDの簡単な性質
● 組合せ集合を表す
例) {ab, ac, c} (全体はa b c)
●  への経路数が、
組合せ集合の組合せ数。
● 0, 1で非対称なグラフ
0 1
a
b
c
1
実装の概要
● も、子を持たないノードとして扱う。
● 各ノードは
1- 辺の先のポインタ
0- 辺の先のポインタ
1- 辺で接続された親のポインタの集合(std::set)
0- 辺で接続された親のポインタの集合(std::set)
を持つ。
● 1つのグラフは、一番上の頂点へのポインタで表
現される。
0 1
● 「0, 1で非対称なグラフ」
⇒ 「0と1を入れ替えたら面白いかもしれない」
    と考えた。
発想
● 複数のものを選ぶ組み合わせの集合を表すZDDから、
選ばないものを選ぶ組み合わせの集合を表すZDDを
作ってみる。
例) 全体を a, b, c として、
もとの集合が{ab, ac, c}のときの{c, b, ab}
⇒これを「反転ZDD」と呼ぶことにする。
反転ZDD
反転ZDD
● あるZDDから、その反転ZDDを作るアルゴリズ
ムを考える。
反転ZDD
※入ってくる辺の種類は、上に依存
反転ZDD
0
※入ってくる辺の種類は、上に依存
0
反転ZDD
0
※入ってくる辺の種類は、上に依存
反転ZDD
● これらの作業を、上の頂点・辺から順に行うと
上手くいった。
● これらのことを行っただけでは、新たな等価接
点が生まれる可能性があり、既約ZDDは得られ
ない。
● 計算量は、O(V * N)くらい?(Nは要素数)
否定ZDD
● ある組み合わせ集合を表すZDDから、そこでふさわ
しくないとされる組み合わせの集合を表すZDDを
作ってみる。
例)全体をa, b, cとして、
{ab, ac, c}に対する{λ, a, b, bc, abc}
(λは空の組み合わせ)
⇒これを「否定ZDD」と呼ぶことにする。
否定ZDD
● あるZDDから、その否定ZDDを作るアルゴリズムを考え
る。
● まず、一番下の    と    を入れ替える。
● 次に、以下の操作を、上の頂点・辺から順に行う。
0 1
否定ZDD
※入ってくる辺の種類は、上に依存
変わらない
否定ZDD
1
※入ってくる辺の種類は、上に依存
否定ZDD
※入ってくる辺の種類は、上に依存
…特に
1 1
1
否定ZDD
● さらにその後、以下の処理を行う。
否定ZDD
※入ってくる辺の種類は、上に依存
00
0
⇒これらは、圧縮規則と同じ。
否定ZDD
● これらのことを行っただけでは、新たな等価接
点が生まれる可能性があり、既約ZDDは得られ
ない。
● 計算量は、O(V * N)くらい?(Nは要素数)
考察
● 否定ZDDの反転ZDDと、
反転ZDDの否定ZDDは、同じ(定義より)
考察
具体例1
反転
否定 否定
反転
0 1 0 1
0 1 0 1
{ab, ac, c} {c, b, ab}
{a, abc, b, bc, λ}
{bc, λ, ac, a, abc}
a
b
c
a
b
c
a
b
c
a
b
c
考察
具体例1について
● 下の2つのグラフの方が複雑
→下の方が、表している状態数が多いから?
他のグラフで試しても、表している状態数
が
多い方が複雑になる傾向が見られた。
● 反転しても、複雑さはあまり変わらない
考察
具体例2
反転
否定 否定
反転
0 1 0 1
{a, b, c, λ}
{bc, ac, ab, abc}
a
b
c
a
b
c
0 1
{a, b, c, λ}
a
b
c
0 1
{bc, ac, ab, abc}
a
b
c
考察
具体例2について
● 斜めにあるグラフどうしが同じ
→たまたま、表している組み合わせ集合が同じだから
● 右下・左上のグラフの方が、若干複雑
→選ぶ要素の数が多いから?
他のグラフで試しても、選ぶ要素の数が多いと、複雑
になる傾向が見られた。
まとめ
● 反転・否定すると、グラフの複雑さが変わることがあ
る。以下の場合、複雑になる傾向がある。
否定 : 表している組み合わせの数が多い
反転 : 選ぶ要素の数が多い
→反転・否定で得られる4つのZDDのうち、最も
単純であると思われるZDDを扱うのが良い。
● 反転・否定に関する、美しい性質は見つけられなかっ
た。(見つかると思っていたので悲しかった)
例) 反転(or否定)しても、○○の数が変わらない。
例) 反転も否定もしたZDDは、もとのZDDと○○が似てい
る。
● これよりも速いアルゴリズムがあるかもしれない。
以上で終わります。
ご清聴、ありがとうございまし
た。

More Related Content

What's hot (18)

CG2013 06
CG2013 06CG2013 06
CG2013 06
 
RUPC2014_Day2_K
RUPC2014_Day2_KRUPC2014_Day2_K
RUPC2014_Day2_K
 
Pad入門その2
Pad入門その2Pad入門その2
Pad入門その2
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
 
Replace
ReplaceReplace
Replace
 
Cf219 d1e
Cf219 d1eCf219 d1e
Cf219 d1e
 
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
 
楕円曲線セキュリティー
楕円曲線セキュリティー楕円曲線セキュリティー
楕円曲線セキュリティー
 
R_note_02_ver1.0
R_note_02_ver1.0R_note_02_ver1.0
R_note_02_ver1.0
 
F#のすすめ
F#のすすめF#のすすめ
F#のすすめ
 
AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説
 
Processing
ProcessingProcessing
Processing
 
Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定
 
Rの初歩: 6. グラフィックス
Rの初歩:  6. グラフィックスRの初歩:  6. グラフィックス
Rの初歩: 6. グラフィックス
 
Ikeph 2-20140730
Ikeph 2-20140730Ikeph 2-20140730
Ikeph 2-20140730
 
テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式
 
CG2013 11
CG2013 11CG2013 11
CG2013 11
 
初めてのSTL
初めてのSTL初めてのSTL
初めてのSTL
 

Recently uploaded

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 

Recently uploaded (10)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

JOIss2015-ZDD @bekasa001