Introduction Combining two frameworks

Slides:



Advertisements
Similar presentations
Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.
Advertisements

Constraint Satisfaction Problems
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
1 Chapter 5 Belief Updating in Bayesian Networks Bayesian Networks and Decision Graphs Finn V. Jensen Qunyuan Zhang Division. of Statistical Genomics,
Introduction to Computer Science 2 Lecture 7: Extended binary trees
1 Knowledge Compilation Properties of Tree-of-BDDs Sathiamoorthy Subbarayan AAAI-2007, Vancouver Lucas Bordeaux, Youssef Hamadi IT University.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
Bayesian Networks CSE 473. © Daniel S. Weld 2 Last Time Basic notions Atomic events Probabilities Joint distribution Inference by enumeration Independence.
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
CS412/413 Introduction to Compilers Radu Rugina Lecture 37: DU Chains and SSA Form 29 Apr 02.
Minimum Spanning Trees (MSTs) Prim's Algorithm For each vertex not in the tree, keep track of the lowest cost edge that would connect it to the tree This.
IJCAI Russian Doll Search with Tree Decomposition Martí Sànchez, David Allouche, Simon de Givry, and Thomas Schiex INRA Toulouse, FRANCE.
MPE, MAP AND APPROXIMATIONS Lecture 10: Statistical Methods in AI/ML Vibhav Gogate The University of Texas at Dallas Readings: AD Chapter 10.
Outline Interchangeability: Basics Robert Beyond simple CSPs Relating & Comparing Interchangeability Shant Compacting the Search Space – AND/OR graphs,
CS412/413 Introduction to Compilers Radu Rugina Lecture 16: Efficient Translation to Low IR 25 Feb 02.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
1 Directional consistency Chapter 4 ICS-179 Spring 2010 ICS Graphical models.
A Constraint Satisfaction Problem (CSP) is a combinatorial decision problem defined by a set of variables {A,B,C,…}, a set of domain values for these variables,
Binary Decision Diagrams. ROBDDs Slide 2 Example Directed acyclic graph non-terminal node terminal node What function is represented by the graph?
A Differential Approach to Inference in Bayesian Networks - Adnan Darwiche Jiangbo Dang and Yimin Huang CSCE582 Bayesian Networks and Decision Graph.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
CPSC-608 Database Systems Fall 2010 Instructor: Jianer Chen Office: HRBB 315C Phone: Notes #9.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
Global Approximate Inference Eran Segal Weizmann Institute.
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
Rolf Drechlser’s slides used
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
A Differential Approach to Inference in Bayesian Networks - Adnan Darwiche Jiangbo Dang and Yimin Huang CSCE582 Bayesian Networks and Decision Graphs.
Distributed Constraint Optimization * some slides courtesy of P. Modi
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Rule Generation [Chapter ]
Binary Decision Diagrams (BDDs)
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Data Mining Association Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 6 Introduction to Data Mining By Tan, Steinbach, Kumar Lecture.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
Because the localized R(*,m)C does not consider combinations of relations across clusters, propagation between clusters is hindered. Synthesizing a global.
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Euler paths and tours.
Inference Complexity As Learning Bias Daniel Lowd Dept. of Computer and Information Science University of Oregon Joint work with Pedro Domingos.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Probabilistic Networks Chapter 14 of Dechter’s CP textbook Speaker: Daniel Geschwender April 1, 2013 April 1&3, 2013DanielG--Probabilistic Networks1.
Two Approximate Algorithms for Belief Updating Mini-Clustering - MC Robert Mateescu, Rina Dechter, Kalev Kask. "Tree Approximation for Belief Updating",
Variable and Value Ordering for MPE Search Sajjad Siddiqi and Jinbo Huang.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Binary-Decision-Diagram (BDD) Application on Pass-Transistor Logic Design Tao Lin School of EECS, Ohio University March 12, 1998.
Arc Consistency CPSC 322 – CSP 3 Textbook § 4.5 February 2, 2011.
William Lam March 20, 2013 (with slides from the IJCAI-09 tutorial on Combinatorial Optimization for Graphical Models) Discrete Optimization via Branch.
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking Author: Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi.
Foundations of Constraint Processing, Spring 2009 Structure-Based Methods: An Introduction 1 Foundations of Constraint Processing CSCE421/821, Spring 2009.
BDDs1 Binary Tree Representation The recursive Shannon expansion corresponds to a binary tree Example: Each path from the root to a leaf corresponds to.
Spatial Forest Planning with Integer Programming Lecture 10 (5/4/2015)
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Probabilistic Reasoning Inference and Relational Bayesian Networks.
How CTL model checking works
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Constraint Optimization And counting, and enumeration 275 class
Exact Inference Continued
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Digital Logic & Design Dr. Waseem Ikram Lecture 12.
Binary Decision Diagrams
Optimization Algorithm
From AND/OR Search to AND/OR BDDs
Running example The 4-houses puzzle:
Kruskal’s Algorithm AQR.
Reformulating the Dual Graphs of CSPs
Presentation transcript:

Introduction Combining two frameworks AND/OR Search Spaces Multi-valued Decision Diagrams (MDDs) Both are more compact ways to represent problems. Their combination yields an even more compact representation. Decision Diagrams are known to allow online speed queries.

Introduction ONCE MANY Compiled structure Query A D B C E F OFFLINE ONLINE Evaluate answer Polytime? Constant time? MANY

Ordered Binary Decision Diagram B = {0,1} f : B3 → B B A C 1 Decision tree B A C 1 B A C 1 B A C 1 B A 1 C B A 1 C OBDD [Bryant86] A B C f(ABC) 1 Table 1) Merge nodes with identical children Merge terminal nodes Simplify 2) Remove redundant nodes Ordering enables efficient operations

? Decision Diagrams f = (A ∨ E) ∧ (B ∨ F) f ∧ g = OBDD 1 B A C D E F H G f = (A ∨ E) ∧ (B ∨ F) B A F 1 E ? f ∧ g = OBDD g = (C ∨ G) ∧ (D ∨ H) AND D C H 1 G B A F E D C H 1 G f ∧ g = OBDD

AOMDDs Point dead-ends to terminal node “0” B C f(ABC) 1 A Point dead-ends to terminal node “0” Point goods to terminal node “1” B C A 1 B C Decision Diagram A 1 B C Minimal AND/OR graph

Removing Redundancy A B C f(ABC) 1 A Group OR node together with its AND children into a meta-node B C A 1 B C redundant A 1 B C A 1 B C A 1 B C OBDD (pseudo tree is a chain)

= * AOBDD A A A B B B C D C D A B C f(ABC) 1 A B D g(ABD) 1 A 1 B C A 1 A A B D g(ABD) 1 A A B B B C D C D A 1 B C A 1 B D A 1 B C D = *

= * Apply Operator 1 1 A1 B1 A2 B2 B6 A4 B4 B7 A3 A5 B3 B5 A1B1 A1B1 D C Apply Operator A1 A 1 B1 A 1 A1B1 A 1 A1B1 = * B 1 B 1 A2B2 B 1 A4B6 A2 B 1 B2 B6 A2B2 C 1 A4 B4 D 1 D 1 A4B4 B7 A3 1 A5 B3 1 B5 A3B3

= * Apply Operator 1 1 A1 B1 A2 B2 B6 A4 B4 B7 A3 A5 B3 B5 A1B1 A4B6 D C Apply Operator A1 A 1 B1 A 1 A 1 A1B1 = * B 1 B 1 B 1 A4B6 A2 B 1 B2 B6 A2B2 C 1 A4 B4 D 1 D 1 A4 A4B4 B4 B7 A3 1 A5 B3 1 B5

= * Apply Operator 1 1 1 A1 B1 A2 B2 B6 A4 B4 B7 A3 A5 B3 B5 A1B1 A4B6 D C Apply Operator A1 A 1 B1 A 1 A 1 A1B1 = * B 1 A4B6 A2 B 1 B2 B 1 B 1 B6 A2B2 C 1 A4 B4 D 1 D 1 C 1 A4 D 1 B4 A4 B4 B7 A3 1 A5 B3 1 B5 1

= * Apply Operator 1 1 1 A1 B1 A2 B2 B6 A4 B4 B7 A3 A5 B3 B5 A1B1 A4B6 D C Apply Operator A1 A 1 B1 A 1 A 1 A1B1 = * B 1 A4B6 B 1 A2 B 1 B2 B 1 B 1 B6 A2B2 A4B6 C 1 A4 B4 D 1 D 1 C 1 D 1 A4B4 A4B7 A4 B4 B7 A3 1 A5 B3 1 B5 1

= * Apply Operator 1 1 1 A1 B1 A2 B2 B6 A4 B4 B7 A3 A5 B3 B5 A1B1 A2B2 D C Apply Operator A1 A 1 B1 A 1 A 1 A1B1 = * B 1 B 1 B 1 B 1 A2 B 1 B2 B6 A2B2 A4B6 C 1 A4 B4 D 1 D 1 C 1 D 1 D 1 A4B7 A4 B4 B7 B7 A3 1 A5 B3 1 B5 1 Implementation Two caches: “Operation” cache to prevent recursive calls with the same arguments. Cache to store all nodes to catch isomorphism (coming up with a node that results in the same variable and same children lists)

And/Or Multi-Valued Decision Diagrams AOMDDs are: AND/OR search graphs canonical representations, given a pseudo tree Defined by two rules: All isomorphic subgraphs are merged There are no redundant (meta) nodes

Example: (f ∨ h) ∧ (a ∨ !h) ∧ (a#b#g) ∧ (f ∨ g) ∧ (b ∨ f) ∧ (a ∨ e) ∧ (c ∨ e) ∧ (c#d) ∧ (b ∨ c) A B C F D E G H pseudo tree H G E D C F B A m7 m7 D C B F A E G H primal graph A 1 B C D E m6 A 1 B F G H m3 A B C F D E G H m3 m6 A 1 B G F m2 A B F G H A 1 E C m4 A 1 F H m1 A B C D E B 1 C C9 C 1 D m5 B 1 F C5 m5 m4 m2 m1 C 1 D C8 A 1 E C6 C 1 E C7 A 1 B G C3 C E A A B F G F 1 H C1 A 1 H C2 A F H F 1 G C4 C D

Example (continued) m7 A m7 A B C D F G H E B m6 m3 A B C D E A B F G 1 B C D F G H E m7 B A 1 B C D E m6 A 1 B F G H m3 A B C F D E G H

AOBDD vs. OBDD AOBDD 18 nonterminals 47 arcs OBDD 27 nonterminals F A E G H primal graph A B B C C C C A 1 B C D F G H E D D D D D D E E E F F F F G G G G G A H H B C 1 D A B C F D E G H AOBDD 18 nonterminals 47 arcs OBDD 27 nonterminals 54 arcs E F G H

Constraint Optimization - AND/OR Tree B D C f2(ABD) f1(ABC) f3(BDE) A E B D C [ ] [A] [AB] [BD] A B C f1(ABC) 8 1 2 A B D f2(ABD) 1 8 2 6 5 B D E f3(BDE) 8 1 3 4 B 1 A C 8 D E 3 4 2 6 5

AND/OR Context Minimal Graph B D C f2(ABD) f1(ABC) f3(BDE) A E B D C [ ] [A] [AB] [BD] A B C f1(ABC) 8 1 2 A B D f2(ABD) 1 8 2 6 5 B D E f3(BDE) 8 1 3 4 B 1 A C 8 D E 3 4 2 6 5

AOMDD – Compilation by Search 1 B B B 1 1 C D C D C D C D C D 8 8 1 8 8 2 2 8 2 6 5 8 2 6 5 1 1 1 1 1 1 1 1 E E E E E 8 3 8 4 8 3 8 4 1 1 1 1 A 1 B 1 C 1 8 C 1 8 2 D 1 2 redundant E 1 8 3 E 1 8 4 1

AOMDD – Compilation by Search 1 B B B 1 1 C D C D C D C D C D 8 8 1 8 8 2 2 8 2 6 5 8 2 6 5 1 1 1 1 1 1 1 1 E E E E E 8 3 8 4 8 3 8 4 1 1 1 1 A 1 B 1 B 1 C 1 8 2 D 1 2 C 1 8 2 D 1 6 5 isomorphic E 1 8 3 E 1 8 4 E 1 8 3 E 1 8 4 isomorphic isomorphic 1

AOMDD – Compilation by Search 1 B B B 1 1 C D C D C D C D C D 8 8 1 8 8 2 2 8 2 6 5 8 2 6 5 1 1 1 1 1 1 1 1 E E E E E 8 3 8 4 8 3 8 4 1 1 1 1 A 1 B 1 B 1 D 1 2 C 1 8 2 D 1 6 5 C 1 8 2 D 1 6 5 isomorphic isomorphic E 1 8 3 E 1 8 4 1

AOMDD – Compilation by Search 1 B B B 1 1 C D C D C D C D C D 8 8 1 8 8 2 2 8 2 6 5 8 2 6 5 1 1 1 1 1 1 1 1 E E E E E 8 3 8 4 8 3 8 4 1 1 1 1 A 1 B 1 B 1 redundant C 1 8 2 D 1 2 D 1 6 5 E 1 8 3 E 1 8 4 1

AOMDD for Constraint Optimization 1 B C 8 2 D E 3 4 6 5 A 1 B C 8 2 D E 3 4 AOMDD for two best solutions AOMDD for all solutions A=0 E=1 B=1 D=0 C=1 2 3 A=0 E=1 B=1 D=1 C=1 2 4 A=1 E=1 B=0 D=0 C=1 2 6 3 A=1 E=1 B=0 D=1 C=1 2 5 4 A=1 E=1 B=1 D=0 C=1 2 6 3 A=1 E=1 B=1 D=1 C=1 2 5 4 cost = 5 cost = 8 cost = 11 cost = 11 cost = 11 cost = 11

Complexity of Compilation The size of the AOMDD is O(n kw*) The compilation time is also bounded by O(n kw*) k = domain size n = number of variables w*= treewidth

Semantic Treewidth Given a network, there may exist a sparser equivalent network. Challenges the idea of using induced width to measure the difficulty of the problem AOMDD sizes are much smaller than the bound

Semantic Treewidth With respect to a pseudo tree, this is the smallest treewidth over all equivalent networks that can have that pseudo tree With respect to the network, this is the smallest semantic treewidth over all pseudo trees that can express the set of solutions Instead of the induced width bounding AOMDD size, we can use semantic treewidth.

Equality constraint network results Semantic Treewidth Equality constraint network results

Constraint Propagation We can also prune the search space during compilation without removing possible solutions. In Bayesian networks, prune a subtree if the weight of the assignment is 0.

Experiments What about the pseudo-tree height parameter? Problems: WCSP instances ISCAS 89 Circuits SPOT5 Satellites Mastermind CELAR6 Radio Frequencies Time bound for compilation: 3 hours

Experiments Compilation was for finding the optimal solution Used AOBB with static mini-bucket heuristics (i-bound = 10) Tried different implementations of MinFill Existing implementation in the compiler daoopt (gets lower h because it considers it too) CVO

Experiments BnB pruning makes the size unpredictable as a function of the parameters Need to modify the routine for solution counting so the entire AOMDD is actually compiled

Experiments (BN) Reproduce and extend BN results in JAIR 2008 paper UAI 2006 Bayesian network benchmarks Domain sizes of 2 Evidence on 30 random variables (to simplify the networks slightly) Many elements with “0” support Compile with constraint propagation

To do Perform experiments to compare optimization vs. full compilation Need to extend code for WCSPs Another way to deal with unpredictability of w/h vs. size in optimization? Compute many orderings with equal w/h and average the search space/AOMDD sizes.

Future Work? Try regressing curves that depend on w, h, or both Evaluation of bottom-up version of compilation (Robert’s algorithm in CP 2006)