SlideShare a Scribd company logo
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

CG2013 06
CG2013 06CG2013 06
CG2013 06
shiozawa_h
 
RUPC2014_Day2_K
RUPC2014_Day2_KRUPC2014_Day2_K
RUPC2014_Day2_Ks1190048
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
swkagami
 
Replace
ReplaceReplace
Replaceoupc
 
Cf219 d1e
Cf219 d1eCf219 d1e
Cf219 d1eDEGwer
 
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Inc.
 
楕円曲線セキュリティー
楕円曲線セキュリティー楕円曲線セキュリティー
楕円曲線セキュリティー
Jonathan Underwood
 
R_note_02_ver1.0
R_note_02_ver1.0R_note_02_ver1.0
R_note_02_ver1.0
Satoshi Kume
 
F#のすすめ
F#のすすめF#のすすめ
F#のすすめ
Hiromu Sasaki
 
AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説
AtCoder Inc.
 
Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定
Nagi Teramo
 
Rの初歩: 6. グラフィックス
Rの初歩:  6. グラフィックスRの初歩:  6. グラフィックス
Rの初歩: 6. グラフィックス
Teiko Suzuki
 
Ikeph 2-20140730
Ikeph 2-20140730Ikeph 2-20140730
Ikeph 2-20140730
GM3D
 
テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式digitalghost
 
CG2013 11
CG2013 11CG2013 11
CG2013 11
shiozawa_h
 

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

単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 

Recently uploaded (15)

単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 

JOIss2015-ZDD @bekasa001