SlideShare a Scribd company logo
1 of 1
Download to read offline
Introduction
How the encoding works
Fix a vertex
ordering
Build ZDD to
represent
maximum
independent
sets
Any path from
root to terminal
1 is a set of
vertices that can
have the same
color
Application
1. Solving graph-coloring problem
Problem: color the graph so that no
adjacent vertices share the same
color.
Solution: A ZDD where a path from
root to 1 represents a set of vertices
that can be colored same.
MakeIndSetZDD
Reference
• Morrison, D. R., & Edward, C. S. (2013). Solving the pricing problem in a generic
branch-and-price algorithm using zero-suppressed binary decision diagrams. In
University of Illinois, Urbana-Champaign.
• Orlowski, S., Wessäly, R., Pióro, M., & Tomaszewski, A. (2010). SNDlib 1.0—
Survivable Network Design Library. Networks, 55(3), 276–286.
doi:10.1002/net.20371
• Andersen, H. R. (1999). An introduction to binary decision diagrams. Lecture notes
for Efficient Algorithms and Programs.
Findings
• The size of ZDD and the time it takes to construct
the ZDD all depend on vertex or edge ordering of
the original graph.
• Four different edge ordering rules:
• Order edge by vertex indegree.
• Order edge by vertex outdegree.
• Order edge by path from source to sink.
Algorithm: MakeIndSetZDD
Source Sink
Performance (ZDD
size/time) Original Performance(ZDD size/time)
9 0 180(0.01s) 236(0.02s)
8 0 102(0.02s) 192(0.02s)
7 0 116(0.01s) 137(0.02s)
6 0 94(0.01s) 182 (0.02s)
5 0 142(0.01s) 185(0.01s)
4 0 152(0.01s) 181(0.01s)
3 0 138(0.01s) 141(0.02s)
2 0 128(0.01s) 94(0.01s)
1 0 134(0.01s) 176(0.02s)
Special thanks to:
Future Work
• Further research into the relation between edge
ordering and the size of ZDD.
• Find out how the structure of the graph affects
ZDD size.
Zero-suppressed Binary Decision Diagram (ZDD)
Mentor: David R. Morrison, Mentee: Mingwei Hu
University of Illinois Urbana-Champaign, Department of Computer Science
› Inputs:
–A Boolean function:
› f 𝑥1, 𝑦1, 𝑥2, 𝑦2 = 𝑥1 ⟺ 𝑦1 ⋀ 𝑥2 ⇔ 𝑦2
–An ordering:
› 𝑥1 < 𝑦1 < 𝑥2 < 𝑦2
–Start from x1, replace it with either 0
or 1:
– f 0, 𝑦1, 𝑥2, 𝑦2 = 0 ⟺ 𝑦1 ⋀ 𝑥2 ⇔ 𝑦2
– f 1, 𝑦1, 𝑥2, 𝑦2 = 1 ⟺ 𝑦1 ⋀ 𝑥2 ⇔ 𝑦2
– Continue with other variables, until all
possible combinations are evaluated:
– f 0,0,0,0 = 0 ⟺ 0 ⋀ 0 ⇔ 0 = 1
– f 1,0,0,0 = 1 ⟺ 0 ⋀ 0 ⇔ 0 = 0
– ……
› A solution is a path from the root to
terminal 1.
› Binary Decision Diagram
– A data structure used for encoding solutions of
Boolean functions.
– ZDD is a modified version of BDD, used for
encoding set of Boolean combinations, i.e. implicit
Boolean function.
– A rooted, directed acyclic graph.
– Two terminal nodes:
 0—empty set: ∅.
 1—set of empty set: {∅}.
– Non-leaf node 𝑢 is represented by a three tuple
(𝑖, 𝑙, ℎ)
 𝑖: the Boolean variable represented by 𝑢.
 𝑙: Low edge “---”: variable 𝑖 doesn’t exist or has value 0.
 ℎ: High edge “—”: variable 𝑖 exists or has value 1.
Vertex Adjacent vertices
0
1 7 0 4 8
2 4 8 7 5 6 0 1 3
3 0 4 1 8 7 6 5
4 0
5 4 7 1 0 8 6
6 4 8 7 0 1
7 0 4 8
8 4 0
9 8 1 6 4 7 5 3 2 0
Example: Given a directed graph with 10 vertices and
45 edges, build ZDD using MakePathZDD algorithm to
find all paths:
2. Solving shortest-path problem
Fix an edge
ordering
Build ZDD to
characterize
all paths
from S to T
Return the
path with the
minimum
weight
MakePathZDD
Problem: Given an directed graph with source T and sink T.
Solution: A ZDD that encodes all possible paths from S to T.
Use DFS to find several paths first and assign priority
order to the edges that are on these paths:

More Related Content

What's hot

Linear programming
Linear programmingLinear programming
Linear programmingIZZAH NAJAM
 
Graphs of straight lines
 Graphs of straight lines Graphs of straight lines
Graphs of straight linesSajidPervez2
 
Linear equations in two variables
Linear equations in two variablesLinear equations in two variables
Linear equations in two variablesVinisha Pathak
 
Linear Equations Ppt
Linear Equations PptLinear Equations Ppt
Linear Equations PptScott R
 
GMAT Quant Strategy- What to expect in Quantitative Reasoning Section on the ...
GMAT Quant Strategy- What to expect in Quantitative Reasoning Section on the ...GMAT Quant Strategy- What to expect in Quantitative Reasoning Section on the ...
GMAT Quant Strategy- What to expect in Quantitative Reasoning Section on the ...CrackVerbal
 
Rough Entropy-Based Gene Selection
Rough Entropy-Based Gene SelectionRough Entropy-Based Gene Selection
Rough Entropy-Based Gene SelectionDr.E.N.Sathishkumar
 
Maths Problems - Qwizdom ppt
Maths Problems - Qwizdom pptMaths Problems - Qwizdom ppt
Maths Problems - Qwizdom pptQwizdom UK
 
3D Math Without Presenter Notes
3D Math Without Presenter Notes3D Math Without Presenter Notes
3D Math Without Presenter NotesJanie Clayton
 
PAIR OF LINEAR EQUATION IN TWO VARIABLE
PAIR OF LINEAR EQUATION IN TWO VARIABLEPAIR OF LINEAR EQUATION IN TWO VARIABLE
PAIR OF LINEAR EQUATION IN TWO VARIABLENaveen R
 
Least Squares, Lasso, Ridge and ElasticNet
Least Squares, Lasso, Ridge and ElasticNetLeast Squares, Lasso, Ridge and ElasticNet
Least Squares, Lasso, Ridge and ElasticNetHossam Karim
 
Graph linear equations worksheet
Graph linear equations worksheetGraph linear equations worksheet
Graph linear equations worksheetmarniekrentz
 
Negative numbers
Negative numbersNegative numbers
Negative numberssherinakhan
 

What's hot (19)

Complex Analysis
Complex AnalysisComplex Analysis
Complex Analysis
 
Linear programming
Linear programmingLinear programming
Linear programming
 
Graphs of straight lines
 Graphs of straight lines Graphs of straight lines
Graphs of straight lines
 
Linear equations in two variables
Linear equations in two variablesLinear equations in two variables
Linear equations in two variables
 
Linear Equations Ppt
Linear Equations PptLinear Equations Ppt
Linear Equations Ppt
 
GMAT Quant Strategy- What to expect in Quantitative Reasoning Section on the ...
GMAT Quant Strategy- What to expect in Quantitative Reasoning Section on the ...GMAT Quant Strategy- What to expect in Quantitative Reasoning Section on the ...
GMAT Quant Strategy- What to expect in Quantitative Reasoning Section on the ...
 
11.1 anova1
11.1 anova111.1 anova1
11.1 anova1
 
Rough Entropy-Based Gene Selection
Rough Entropy-Based Gene SelectionRough Entropy-Based Gene Selection
Rough Entropy-Based Gene Selection
 
Linear Equations
Linear EquationsLinear Equations
Linear Equations
 
Maths Problems - Qwizdom ppt
Maths Problems - Qwizdom pptMaths Problems - Qwizdom ppt
Maths Problems - Qwizdom ppt
 
exam1 unsolved
exam1 unsolvedexam1 unsolved
exam1 unsolved
 
3D Math Without Presenter Notes
3D Math Without Presenter Notes3D Math Without Presenter Notes
3D Math Without Presenter Notes
 
PAIR OF LINEAR EQUATION IN TWO VARIABLE
PAIR OF LINEAR EQUATION IN TWO VARIABLEPAIR OF LINEAR EQUATION IN TWO VARIABLE
PAIR OF LINEAR EQUATION IN TWO VARIABLE
 
coloring problems
coloring problemscoloring problems
coloring problems
 
Least Squares, Lasso, Ridge and ElasticNet
Least Squares, Lasso, Ridge and ElasticNetLeast Squares, Lasso, Ridge and ElasticNet
Least Squares, Lasso, Ridge and ElasticNet
 
Solving linear equation
Solving linear equationSolving linear equation
Solving linear equation
 
Graph linear equations worksheet
Graph linear equations worksheetGraph linear equations worksheet
Graph linear equations worksheet
 
Negative numbers
Negative numbersNegative numbers
Negative numbers
 
SET THEORY
SET THEORYSET THEORY
SET THEORY
 

Similar to PURE Poster-ZDD

trees-and-graphs_computer_science_for_student.pptx
trees-and-graphs_computer_science_for_student.pptxtrees-and-graphs_computer_science_for_student.pptx
trees-and-graphs_computer_science_for_student.pptxTanvirAhmed166122
 
Minimizing cost in distributed multiquery processing applications
Minimizing cost in distributed multiquery processing applicationsMinimizing cost in distributed multiquery processing applications
Minimizing cost in distributed multiquery processing applicationsLuis Galárraga
 
Analysis and design of a half hypercube interconnection network topology
Analysis and design of a half hypercube interconnection network topologyAnalysis and design of a half hypercube interconnection network topology
Analysis and design of a half hypercube interconnection network topologyAmir Masoud Sefidian
 
Localized methods for diffusions in large graphs
Localized methods for diffusions in large graphsLocalized methods for diffusions in large graphs
Localized methods for diffusions in large graphsDavid Gleich
 
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringGraph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringSaurabh Kaushik
 
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjte
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjteUnit II_Graph.pptxkgjrekjgiojtoiejhgnltegjte
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjtepournima055
 
Tree distance algorithm
Tree distance algorithmTree distance algorithm
Tree distance algorithmTrector Rancor
 
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERUndecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERmuthukrishnavinayaga
 
bcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptx
bcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptxbcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptx
bcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptxB.T.L.I.T
 
Clustering of graphs and search of assemblages
Clustering of graphs and search of assemblagesClustering of graphs and search of assemblages
Clustering of graphs and search of assemblagesData-Centric_Alliance
 
Anti-differentiating approximation algorithms: A case study with min-cuts, sp...
Anti-differentiating approximation algorithms: A case study with min-cuts, sp...Anti-differentiating approximation algorithms: A case study with min-cuts, sp...
Anti-differentiating approximation algorithms: A case study with min-cuts, sp...David Gleich
 

Similar to PURE Poster-ZDD (20)

10.graph
10.graph10.graph
10.graph
 
trees-and-graphs_computer_science_for_student.pptx
trees-and-graphs_computer_science_for_student.pptxtrees-and-graphs_computer_science_for_student.pptx
trees-and-graphs_computer_science_for_student.pptx
 
Minimizing cost in distributed multiquery processing applications
Minimizing cost in distributed multiquery processing applicationsMinimizing cost in distributed multiquery processing applications
Minimizing cost in distributed multiquery processing applications
 
ae_722_unstructured_meshes.ppt
ae_722_unstructured_meshes.pptae_722_unstructured_meshes.ppt
ae_722_unstructured_meshes.ppt
 
LEC 12-DSALGO-GRAPHS(final12).pdf
LEC 12-DSALGO-GRAPHS(final12).pdfLEC 12-DSALGO-GRAPHS(final12).pdf
LEC 12-DSALGO-GRAPHS(final12).pdf
 
Analysis and design of a half hypercube interconnection network topology
Analysis and design of a half hypercube interconnection network topologyAnalysis and design of a half hypercube interconnection network topology
Analysis and design of a half hypercube interconnection network topology
 
Localized methods for diffusions in large graphs
Localized methods for diffusions in large graphsLocalized methods for diffusions in large graphs
Localized methods for diffusions in large graphs
 
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringGraph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
 
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjte
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjteUnit II_Graph.pptxkgjrekjgiojtoiejhgnltegjte
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjte
 
Tree distance algorithm
Tree distance algorithmTree distance algorithm
Tree distance algorithm
 
Dijkstra
DijkstraDijkstra
Dijkstra
 
d
dd
d
 
Stochastic Process Assignment Help
Stochastic Process Assignment HelpStochastic Process Assignment Help
Stochastic Process Assignment Help
 
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERUndecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
 
bcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptx
bcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptxbcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptx
bcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptx
 
Clustering of graphs and search of assemblages
Clustering of graphs and search of assemblagesClustering of graphs and search of assemblages
Clustering of graphs and search of assemblages
 
Lec27
Lec27Lec27
Lec27
 
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
 
Anti-differentiating approximation algorithms: A case study with min-cuts, sp...
Anti-differentiating approximation algorithms: A case study with min-cuts, sp...Anti-differentiating approximation algorithms: A case study with min-cuts, sp...
Anti-differentiating approximation algorithms: A case study with min-cuts, sp...
 
Stochastic Process Exam Help
Stochastic Process Exam HelpStochastic Process Exam Help
Stochastic Process Exam Help
 

PURE Poster-ZDD

  • 1. Introduction How the encoding works Fix a vertex ordering Build ZDD to represent maximum independent sets Any path from root to terminal 1 is a set of vertices that can have the same color Application 1. Solving graph-coloring problem Problem: color the graph so that no adjacent vertices share the same color. Solution: A ZDD where a path from root to 1 represents a set of vertices that can be colored same. MakeIndSetZDD Reference • Morrison, D. R., & Edward, C. S. (2013). Solving the pricing problem in a generic branch-and-price algorithm using zero-suppressed binary decision diagrams. In University of Illinois, Urbana-Champaign. • Orlowski, S., Wessäly, R., Pióro, M., & Tomaszewski, A. (2010). SNDlib 1.0— Survivable Network Design Library. Networks, 55(3), 276–286. doi:10.1002/net.20371 • Andersen, H. R. (1999). An introduction to binary decision diagrams. Lecture notes for Efficient Algorithms and Programs. Findings • The size of ZDD and the time it takes to construct the ZDD all depend on vertex or edge ordering of the original graph. • Four different edge ordering rules: • Order edge by vertex indegree. • Order edge by vertex outdegree. • Order edge by path from source to sink. Algorithm: MakeIndSetZDD Source Sink Performance (ZDD size/time) Original Performance(ZDD size/time) 9 0 180(0.01s) 236(0.02s) 8 0 102(0.02s) 192(0.02s) 7 0 116(0.01s) 137(0.02s) 6 0 94(0.01s) 182 (0.02s) 5 0 142(0.01s) 185(0.01s) 4 0 152(0.01s) 181(0.01s) 3 0 138(0.01s) 141(0.02s) 2 0 128(0.01s) 94(0.01s) 1 0 134(0.01s) 176(0.02s) Special thanks to: Future Work • Further research into the relation between edge ordering and the size of ZDD. • Find out how the structure of the graph affects ZDD size. Zero-suppressed Binary Decision Diagram (ZDD) Mentor: David R. Morrison, Mentee: Mingwei Hu University of Illinois Urbana-Champaign, Department of Computer Science › Inputs: –A Boolean function: › f 𝑥1, 𝑦1, 𝑥2, 𝑦2 = 𝑥1 ⟺ 𝑦1 ⋀ 𝑥2 ⇔ 𝑦2 –An ordering: › 𝑥1 < 𝑦1 < 𝑥2 < 𝑦2 –Start from x1, replace it with either 0 or 1: – f 0, 𝑦1, 𝑥2, 𝑦2 = 0 ⟺ 𝑦1 ⋀ 𝑥2 ⇔ 𝑦2 – f 1, 𝑦1, 𝑥2, 𝑦2 = 1 ⟺ 𝑦1 ⋀ 𝑥2 ⇔ 𝑦2 – Continue with other variables, until all possible combinations are evaluated: – f 0,0,0,0 = 0 ⟺ 0 ⋀ 0 ⇔ 0 = 1 – f 1,0,0,0 = 1 ⟺ 0 ⋀ 0 ⇔ 0 = 0 – …… › A solution is a path from the root to terminal 1. › Binary Decision Diagram – A data structure used for encoding solutions of Boolean functions. – ZDD is a modified version of BDD, used for encoding set of Boolean combinations, i.e. implicit Boolean function. – A rooted, directed acyclic graph. – Two terminal nodes:  0—empty set: ∅.  1—set of empty set: {∅}. – Non-leaf node 𝑢 is represented by a three tuple (𝑖, 𝑙, ℎ)  𝑖: the Boolean variable represented by 𝑢.  𝑙: Low edge “---”: variable 𝑖 doesn’t exist or has value 0.  ℎ: High edge “—”: variable 𝑖 exists or has value 1. Vertex Adjacent vertices 0 1 7 0 4 8 2 4 8 7 5 6 0 1 3 3 0 4 1 8 7 6 5 4 0 5 4 7 1 0 8 6 6 4 8 7 0 1 7 0 4 8 8 4 0 9 8 1 6 4 7 5 3 2 0 Example: Given a directed graph with 10 vertices and 45 edges, build ZDD using MakePathZDD algorithm to find all paths: 2. Solving shortest-path problem Fix an edge ordering Build ZDD to characterize all paths from S to T Return the path with the minimum weight MakePathZDD Problem: Given an directed graph with source T and sink T. Solution: A ZDD that encodes all possible paths from S to T. Use DFS to find several paths first and assign priority order to the edges that are on these paths: