SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Extracting MUCs in a Black-box Constraint 
© 2014 IBM Corporation 
An Optimal Iterative Algorithm for 
Network 
Philippe Laborie 
IBM, Software Group 
Aug. 22, 2014 
21st European Conference on Artificial Intelligence
Objective 
Given an unfeasible Constrained Optimization problem M, extract 
a Minimal Unsatisfiable Core (MUC) that is, a minimal subset 
(in the sense of set inclusion) of unfeasible constraints XM 
 Example: x, y, z in { 1, 2, 3 } 
constraint C1: AllDifferent(x,y,z) 
constraint C2: z == x + 2y 
constraint C3: y < x 
constraint C4: z == 2x 
 This problem is unfeasible. A possible MUC is {C1,C2}. 
2 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Objective 
 Algorithm developed in the context of providing a Conflict Refiner 
for CP models in IBM ILOG CPLEX Optimization Studio: when 
designing optimization models, it is usual to face unfeasible 
instances (due to errors in the model or the data). Identifying a 
MUC generally helps to explain the unfeasibility 
Given the complexity of the automatic search, we consider the 
engine as a black-box whose answer is Yes/No for the feasibility 
of a subset of constraints XM 
3 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Abstracted problem 
 Let U a finite set of cardinality n and P an upward-closed (or 
monotonous) property on its powerset 2U, that is, such that: 
(XYU)  P(X)  P(Y) 
Minimal subset: XU is a minimal subset satisfying P iff: 
P(X) and YX, P(Y) 
 In our original problem: 
–U  Set of constraints in the model 
–P(X)  Subset of constraints X is unfeasible 
4 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Abstracted problem 
 Problem definition: 
–Let U such that P(U), find a minimal subset X satisfying P 
–The complexity of the resolution algorithm is measured as the 
number of property checks. As this is an homogeneous 
measure we can use a more fine grain complexity comparison 
than the traditional big O comparison. We use a comparison on 
the order of : 
f(n)g(n) means limn (f(n)/g(n))=1 
5 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
A family of iterative algorithms 
 Elements of U are stored in an array of size n 
 Array is shuffled so as to rule out any particular structure 
 Algorithm will select the “rightmost” minimal set in the array 
 Scan elements from left to right 
Grows a current subset X 
X U[i] 
Ui 
6 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
A family of iterative algorithms 
Next element U[i] to be added to current subset X is the one with 
the smallest index i such that P(X U Ui) 
When a new element U[i] is added, property P can be checked on 
current subset X (if P(X), algorithm can be stopped) 
 Algorithms in this family differs according to the way to find the 
next element U[i] 
7 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Position of consecutive elements 
 In the particular case of a single minimal subset of size m 
uniformly distributed in U, the probability p(k) that the 
distance between the ith and i+1th element is k: 
–Does not depend on the position i 
–Exponentially decreases with k 
8 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Position of consecutive elements 
 Experiments in more general cases 
–Next element of the subset is often close to the current one 
–Estimated distance between consecutive elements can be 
learned 
9 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Dichotomy 
 A dichotomy algorithm DC has been proposed in [Hemery&al-06]. 
It performs a dichotomic search in order to find next element 
U[i]. 
P 
P 
PP 
10 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Dichotomy 
 This algorithm is efficient for small minimal subsets. It is optimal 
for minimal subsets of size 1 with a complexity in log2(n). 
On the other side of the spectrum, it is not efficient for large 
minimal subsets. For a minimal subset of size n it may require 
O(n log2(n)) property checks. 
Our algorithm uses a dichotomic search: 
–To select the first element 
–For the following elements: after the acceleration has reduced 
the scope of the dichotomy 
11 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Acceleration / Progression 
 The probabilistic study of the distance between consecutive 
elements suggests that it may pay off to look for the next 
element close to the current one 
 Starting from last added element at index i, an acceleration 
algorithm tries i+1,i+2,i+4,...,i+2k until first index j=i+2k such 
that P(X U Uj) 
 The algorithm then applies a dichotomy on the reduced index 
segment [i+2k-1,i+2k) 
12 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Acceleration / Progression 
 A similar approach is used in [Marques-Silva&al-13] 
Main differences of our algorithm: 
–The first iteration uses dichotomy, not acceleration 
–The initial step in the acceleration is learned (see below), it is 
not necessarily 1 
–Up to a certain size, property is checked on current subset X 
each time a new element is added 
 These differences allow showing optimality of the proposed 
algorithm for small minimal subsets 
13 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Estimation (of distance) 
 The probabilistic study of the distance between consecutive 
elements suggests that the distribution of this distance does not 
depend much on which element is considered 
 Let s denote the size of the initial acceleration step (acceleration 
algorithm tries i+s,i+2s,i+4s,...,i+2ks) 
 For the first element, we take s=n so the search boils down to a 
pure dichotomic search (line 4 on Algorithm 1) 
 For the next elements, the initial acceleration step is computed as 
the average distance between past elements (line 10 on 
Algorithm 1) 
Note that in case of a minimal subset of size n, after first element 
is found (at position 1), the initial acceleration step is always 1 
14 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Lazy checks 
 Property P(X) may be checked when a new element is added to 
X, this allows stopping the search as soon as X satisfies P 
 This is efficient for small minimal subsets. Typically, for a minimal 
subset of size 1, once the initial dichotomy has selected an (the) 
element, search will be stopped immediately 
 This is inefficient for large subsets. Typically, for a minimal subset 
of size n, n-1 useless checks P(X) will be performed 
15 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Lazy checks 
When the last element of the minimal subset is added to X, if we 
do not check P(X), it will take the acceleration about O(log2(n)) 
additional checks to show that X satisfies P(X) 
 The idea is to check P(X) only for the first log2(n) elements. For 
larger subsets, the O(log2(n)) price to pay for letting the 
acceleration show the property will not exceed the O(log2(n)) we 
already payed to check the first log2(n) elements so the algorithm 
can stop checking P(X) (line 13 of Algorithm 1) 
16 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Detailed ADEL algorithm 
17 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Detailed ADEL algorithm 
18 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Results 
19 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
Results 
 Algorithm ADEL is optimal in both extreme cases: 
–For small subsets: log2(n) for minimal subset of size 1 
–For large subsets: n for minimal subset of size n 
 Compared to QuickXplain [Junker-04]: 
–For small subsets, it performs 1.5 times less checks 
–For large subsets, it performs twice less checks 
 It behaves continuously in between these extreme cases and 
outperforms all variants as well as QuickXplain 
 ADEL algorithm is used as the implementation of the Conflict 
Refiner functionality for CP models in IBM ILOG CPLEX 
Optimization Studio since version 12.5 
20 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
References 
[Junker-04] U. Junker. QuickXplain: Preferred explanations and 
relaxations for over-constrained problems. In Proc. AAAI-04. 2004. 
[Hemery&al-06] F. Hemery, C. Lecoutre, L. Sais and F. 
Boussemart. Extracting MUCs from constraint networks. In Proc. 
ECAI-06. 2006. 
[Marques-Silva&al-13] J. Marques-Silva, M. Janota and A. Belov. 
Minimal Sets over Monotone Predicates in Boolean Formulae. In 
Proc. CAV-13. 2013. 
21 21st European Conference on Artificial Intelligence © 2014 IBM Corporation

Mais conteúdo relacionado

Mais procurados

Introduction to Algorithms Complexity Analysis
Introduction to Algorithms Complexity Analysis Introduction to Algorithms Complexity Analysis
Introduction to Algorithms Complexity Analysis Dr. Pankaj Agarwal
 
Matlab for Electrical Engineers
Matlab for Electrical EngineersMatlab for Electrical Engineers
Matlab for Electrical EngineersManish Joshi
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of AlgorithmsSwapnil Agrawal
 
Interpolation and-its-application
Interpolation and-its-applicationInterpolation and-its-application
Interpolation and-its-applicationApurbo Datta
 
Review and evaluations of shortest path algorithms
Review and evaluations of shortest path algorithmsReview and evaluations of shortest path algorithms
Review and evaluations of shortest path algorithmsPawan Kumar Tiwari
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithmsguest084d20
 
Application of interpolation in CSE
Application of interpolation in CSEApplication of interpolation in CSE
Application of interpolation in CSEMd. Tanvir Hossain
 
Design and analysis of computer algorithms
Design and analysis of computer algorithmsDesign and analysis of computer algorithms
Design and analysis of computer algorithms Krishna Chaytaniah
 
Lecture13 xing fei-fei
Lecture13 xing fei-feiLecture13 xing fei-fei
Lecture13 xing fei-feiTianlu Wang
 
CS 6402 – DESIGN AND ANALYSIS OF ALGORITHMS questio
CS 6402 – DESIGN AND ANALYSIS OF ALGORITHMS questioCS 6402 – DESIGN AND ANALYSIS OF ALGORITHMS questio
CS 6402 – DESIGN AND ANALYSIS OF ALGORITHMS questioKarthik Venkatachalam
 
01 Analysis of Algorithms: Introduction
01 Analysis of Algorithms: Introduction01 Analysis of Algorithms: Introduction
01 Analysis of Algorithms: IntroductionAndres Mendez-Vazquez
 

Mais procurados (20)

Introduction to Algorithms Complexity Analysis
Introduction to Algorithms Complexity Analysis Introduction to Algorithms Complexity Analysis
Introduction to Algorithms Complexity Analysis
 
Daa chapter 1
Daa chapter 1Daa chapter 1
Daa chapter 1
 
Matlab for Electrical Engineers
Matlab for Electrical EngineersMatlab for Electrical Engineers
Matlab for Electrical Engineers
 
A* Algorithm
A* AlgorithmA* Algorithm
A* Algorithm
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of Algorithms
 
Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
 
Interpolation and-its-application
Interpolation and-its-applicationInterpolation and-its-application
Interpolation and-its-application
 
Review and evaluations of shortest path algorithms
Review and evaluations of shortest path algorithmsReview and evaluations of shortest path algorithms
Review and evaluations of shortest path algorithms
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
 
Parallel algorithms
Parallel algorithms Parallel algorithms
Parallel algorithms
 
Static Analysis and Verification of C Programs
Static Analysis and Verification of C ProgramsStatic Analysis and Verification of C Programs
Static Analysis and Verification of C Programs
 
Compositional Program Analysis using Max-SMT
Compositional Program Analysis using Max-SMTCompositional Program Analysis using Max-SMT
Compositional Program Analysis using Max-SMT
 
Slide1
Slide1Slide1
Slide1
 
Application of interpolation in CSE
Application of interpolation in CSEApplication of interpolation in CSE
Application of interpolation in CSE
 
Design and analysis of computer algorithms
Design and analysis of computer algorithmsDesign and analysis of computer algorithms
Design and analysis of computer algorithms
 
Daa notes 2
Daa notes 2Daa notes 2
Daa notes 2
 
Daa unit 5
Daa unit 5Daa unit 5
Daa unit 5
 
Lecture13 xing fei-fei
Lecture13 xing fei-feiLecture13 xing fei-fei
Lecture13 xing fei-fei
 
CS 6402 – DESIGN AND ANALYSIS OF ALGORITHMS questio
CS 6402 – DESIGN AND ANALYSIS OF ALGORITHMS questioCS 6402 – DESIGN AND ANALYSIS OF ALGORITHMS questio
CS 6402 – DESIGN AND ANALYSIS OF ALGORITHMS questio
 
01 Analysis of Algorithms: Introduction
01 Analysis of Algorithms: Introduction01 Analysis of Algorithms: Introduction
01 Analysis of Algorithms: Introduction
 

Destaque

IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsPhilippe Laborie
 
Logica | Intelligent Self learning - a helping hand in financial crime
Logica | Intelligent Self learning - a helping hand in financial crimeLogica | Intelligent Self learning - a helping hand in financial crime
Logica | Intelligent Self learning - a helping hand in financial crimeCGI
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP OptimizerPhilippe Laborie
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsPhilippe Laborie
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsPhilippe Laborie
 
Model Presolve, Warmstart and Conflict Refining in CP Optimizer
Model Presolve, Warmstart and Conflict Refining in CP OptimizerModel Presolve, Warmstart and Conflict Refining in CP Optimizer
Model Presolve, Warmstart and Conflict Refining in CP OptimizerPhilippe Laborie
 
Reasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsReasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsPhilippe Laborie
 
Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Philippe Laborie
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer WalkthroughPaulShawIBM
 
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Philippe Laborie
 
Query Linguistic Intent Detection
Query Linguistic Intent DetectionQuery Linguistic Intent Detection
Query Linguistic Intent Detectionbutest
 
Neural Network Applications In Machining: A Review
Neural Network Applications In Machining: A ReviewNeural Network Applications In Machining: A Review
Neural Network Applications In Machining: A ReviewAshish Khetan
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerPhilippe Laborie
 
Deep Learning for NLP Applications
Deep Learning for NLP ApplicationsDeep Learning for NLP Applications
Deep Learning for NLP ApplicationsSamiur Rahman
 
Black Box Methods for Inferring Parallel Applications' Properties in Virtual ...
Black Box Methods for Inferring Parallel Applications' Properties in Virtual ...Black Box Methods for Inferring Parallel Applications' Properties in Virtual ...
Black Box Methods for Inferring Parallel Applications' Properties in Virtual ...Ashish Gupta
 
Application of machine learning and cognitive computing in intrusion detectio...
Application of machine learning and cognitive computing in intrusion detectio...Application of machine learning and cognitive computing in intrusion detectio...
Application of machine learning and cognitive computing in intrusion detectio...Mahdi Hosseini Moghaddam
 
Cognitive Modeling & Intelligent Tutors
Cognitive Modeling & Intelligent TutorsCognitive Modeling & Intelligent Tutors
Cognitive Modeling & Intelligent TutorsCody Ray
 
Ai and neural networks
Ai and neural networksAi and neural networks
Ai and neural networksNikhil Kansari
 

Destaque (20)

IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
 
Logica | Intelligent Self learning - a helping hand in financial crime
Logica | Intelligent Self learning - a helping hand in financial crimeLogica | Intelligent Self learning - a helping hand in financial crime
Logica | Intelligent Self learning - a helping hand in financial crime
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applications
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
 
Model Presolve, Warmstart and Conflict Refining in CP Optimizer
Model Presolve, Warmstart and Conflict Refining in CP OptimizerModel Presolve, Warmstart and Conflict Refining in CP Optimizer
Model Presolve, Warmstart and Conflict Refining in CP Optimizer
 
Reasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsReasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervals
 
Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
 
Query Linguistic Intent Detection
Query Linguistic Intent DetectionQuery Linguistic Intent Detection
Query Linguistic Intent Detection
 
Neural Network Applications In Machining: A Review
Neural Network Applications In Machining: A ReviewNeural Network Applications In Machining: A Review
Neural Network Applications In Machining: A Review
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP Optimizer
 
Deep Learning for NLP Applications
Deep Learning for NLP ApplicationsDeep Learning for NLP Applications
Deep Learning for NLP Applications
 
Black Box Methods for Inferring Parallel Applications' Properties in Virtual ...
Black Box Methods for Inferring Parallel Applications' Properties in Virtual ...Black Box Methods for Inferring Parallel Applications' Properties in Virtual ...
Black Box Methods for Inferring Parallel Applications' Properties in Virtual ...
 
Application of machine learning and cognitive computing in intrusion detectio...
Application of machine learning and cognitive computing in intrusion detectio...Application of machine learning and cognitive computing in intrusion detectio...
Application of machine learning and cognitive computing in intrusion detectio...
 
Cognitive Modeling & Intelligent Tutors
Cognitive Modeling & Intelligent TutorsCognitive Modeling & Intelligent Tutors
Cognitive Modeling & Intelligent Tutors
 
Project based learning methodologies for Embedded Systems and Intelligent Sys...
Project based learning methodologies for Embedded Systems and Intelligent Sys...Project based learning methodologies for Embedded Systems and Intelligent Sys...
Project based learning methodologies for Embedded Systems and Intelligent Sys...
 
Ai and neural networks
Ai and neural networksAi and neural networks
Ai and neural networks
 
Neural
NeuralNeural
Neural
 

Semelhante a An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint Network

Approximation algorithms
Approximation algorithmsApproximation algorithms
Approximation algorithmsGanesh Solanke
 
Graph Matching
Graph MatchingGraph Matching
Graph Matchinggraphitech
 
A Numerical Method for the Evaluation of Kolmogorov Complexity, An alternativ...
A Numerical Method for the Evaluation of Kolmogorov Complexity, An alternativ...A Numerical Method for the Evaluation of Kolmogorov Complexity, An alternativ...
A Numerical Method for the Evaluation of Kolmogorov Complexity, An alternativ...Hector Zenil
 
Extended Fuzzy C-Means with Random Sampling Techniques for Clustering Large Data
Extended Fuzzy C-Means with Random Sampling Techniques for Clustering Large DataExtended Fuzzy C-Means with Random Sampling Techniques for Clustering Large Data
Extended Fuzzy C-Means with Random Sampling Techniques for Clustering Large DataAM Publications
 
Machine learning
Machine learningMachine learning
Machine learningsujinkim136
 
AMAZON STOCK PRICE PREDICTION BY USING SMLT
AMAZON STOCK PRICE PREDICTION BY USING SMLTAMAZON STOCK PRICE PREDICTION BY USING SMLT
AMAZON STOCK PRICE PREDICTION BY USING SMLTIRJET Journal
 
The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)Pierre Schaus
 
WVKULAK13_submission_14
WVKULAK13_submission_14WVKULAK13_submission_14
WVKULAK13_submission_14Max De Koninck
 
Data-Driven Recommender Systems
Data-Driven Recommender SystemsData-Driven Recommender Systems
Data-Driven Recommender Systemsrecsysfr
 
Design and Analysis of Algorithm Brute Force 1.ppt
Design and Analysis of Algorithm Brute Force 1.pptDesign and Analysis of Algorithm Brute Force 1.ppt
Design and Analysis of Algorithm Brute Force 1.pptmoiza354
 
All-Solution Satisfiability Modulo Theories: applications, algorithms and ben...
All-Solution Satisfiability Modulo Theories: applications, algorithms and ben...All-Solution Satisfiability Modulo Theories: applications, algorithms and ben...
All-Solution Satisfiability Modulo Theories: applications, algorithms and ben...Quoc-Sang Phan
 
Computation Using Scipy, Scikit Image, Scikit Learn
Computation Using Scipy, Scikit Image, Scikit LearnComputation Using Scipy, Scikit Image, Scikit Learn
Computation Using Scipy, Scikit Image, Scikit LearnPrabu U
 
Parallel processing technique for high speed image segmentation using color
Parallel processing technique for high speed image segmentation using colorParallel processing technique for high speed image segmentation using color
Parallel processing technique for high speed image segmentation using colorIAEME Publication
 
Analysis and Design of Algorithms notes
Analysis and Design of Algorithms  notesAnalysis and Design of Algorithms  notes
Analysis and Design of Algorithms notesProf. Dr. K. Adisesha
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Towards a stable definition of Algorithmic Randomness
Towards a stable definition of Algorithmic RandomnessTowards a stable definition of Algorithmic Randomness
Towards a stable definition of Algorithmic RandomnessHector Zenil
 

Semelhante a An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint Network (20)

Approximation algorithms
Approximation algorithmsApproximation algorithms
Approximation algorithms
 
Graph Matching
Graph MatchingGraph Matching
Graph Matching
 
A Numerical Method for the Evaluation of Kolmogorov Complexity, An alternativ...
A Numerical Method for the Evaluation of Kolmogorov Complexity, An alternativ...A Numerical Method for the Evaluation of Kolmogorov Complexity, An alternativ...
A Numerical Method for the Evaluation of Kolmogorov Complexity, An alternativ...
 
Extended Fuzzy C-Means with Random Sampling Techniques for Clustering Large Data
Extended Fuzzy C-Means with Random Sampling Techniques for Clustering Large DataExtended Fuzzy C-Means with Random Sampling Techniques for Clustering Large Data
Extended Fuzzy C-Means with Random Sampling Techniques for Clustering Large Data
 
Machine learning
Machine learningMachine learning
Machine learning
 
AMAZON STOCK PRICE PREDICTION BY USING SMLT
AMAZON STOCK PRICE PREDICTION BY USING SMLTAMAZON STOCK PRICE PREDICTION BY USING SMLT
AMAZON STOCK PRICE PREDICTION BY USING SMLT
 
Slides
SlidesSlides
Slides
 
The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)
 
WVKULAK13_submission_14
WVKULAK13_submission_14WVKULAK13_submission_14
WVKULAK13_submission_14
 
Design & Analysis Of Algorithm
Design & Analysis Of AlgorithmDesign & Analysis Of Algorithm
Design & Analysis Of Algorithm
 
Data-Driven Recommender Systems
Data-Driven Recommender SystemsData-Driven Recommender Systems
Data-Driven Recommender Systems
 
Greedy Algorithms
Greedy AlgorithmsGreedy Algorithms
Greedy Algorithms
 
Design and Analysis of Algorithm Brute Force 1.ppt
Design and Analysis of Algorithm Brute Force 1.pptDesign and Analysis of Algorithm Brute Force 1.ppt
Design and Analysis of Algorithm Brute Force 1.ppt
 
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
 
All-Solution Satisfiability Modulo Theories: applications, algorithms and ben...
All-Solution Satisfiability Modulo Theories: applications, algorithms and ben...All-Solution Satisfiability Modulo Theories: applications, algorithms and ben...
All-Solution Satisfiability Modulo Theories: applications, algorithms and ben...
 
Computation Using Scipy, Scikit Image, Scikit Learn
Computation Using Scipy, Scikit Image, Scikit LearnComputation Using Scipy, Scikit Image, Scikit Learn
Computation Using Scipy, Scikit Image, Scikit Learn
 
Parallel processing technique for high speed image segmentation using color
Parallel processing technique for high speed image segmentation using colorParallel processing technique for high speed image segmentation using color
Parallel processing technique for high speed image segmentation using color
 
Analysis and Design of Algorithms notes
Analysis and Design of Algorithms  notesAnalysis and Design of Algorithms  notes
Analysis and Design of Algorithms notes
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Towards a stable definition of Algorithmic Randomness
Towards a stable definition of Algorithmic RandomnessTowards a stable definition of Algorithmic Randomness
Towards a stable definition of Algorithmic Randomness
 

Mais de Philippe Laborie

Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...Philippe Laborie
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingPhilippe Laborie
 
ICAPS-2020 Industry Session
ICAPS-2020 Industry SessionICAPS-2020 Industry Session
ICAPS-2020 Industry SessionPhilippe Laborie
 
CP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancementCP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancementPhilippe Laborie
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPhilippe Laborie
 
Recent advances on large scheduling problems in CP Optimizer
Recent advances on large scheduling problems in CP OptimizerRecent advances on large scheduling problems in CP Optimizer
Recent advances on large scheduling problems in CP OptimizerPhilippe Laborie
 
Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingPhilippe Laborie
 
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...Philippe Laborie
 
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...Philippe Laborie
 
Solving Industrial Scheduling Problems with Constraint Programming
Solving Industrial Scheduling Problems with Constraint ProgrammingSolving Industrial Scheduling Problems with Constraint Programming
Solving Industrial Scheduling Problems with Constraint ProgrammingPhilippe Laborie
 
New Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling ProblemNew Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling ProblemPhilippe Laborie
 
A (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingA (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingPhilippe Laborie
 

Mais de Philippe Laborie (12)

Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint Programming
 
ICAPS-2020 Industry Session
ICAPS-2020 Industry SessionICAPS-2020 Industry Session
ICAPS-2020 Industry Session
 
CP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancementCP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancement
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP Optimizer
 
Recent advances on large scheduling problems in CP Optimizer
Recent advances on large scheduling problems in CP OptimizerRecent advances on large scheduling problems in CP Optimizer
Recent advances on large scheduling problems in CP Optimizer
 
Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for Constraint Programming
 
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
 
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
 
Solving Industrial Scheduling Problems with Constraint Programming
Solving Industrial Scheduling Problems with Constraint ProgrammingSolving Industrial Scheduling Problems with Constraint Programming
Solving Industrial Scheduling Problems with Constraint Programming
 
New Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling ProblemNew Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling Problem
 
A (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingA (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for Scheduling
 

Último

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Último (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint Network

  • 1. Extracting MUCs in a Black-box Constraint © 2014 IBM Corporation An Optimal Iterative Algorithm for Network Philippe Laborie IBM, Software Group Aug. 22, 2014 21st European Conference on Artificial Intelligence
  • 2. Objective Given an unfeasible Constrained Optimization problem M, extract a Minimal Unsatisfiable Core (MUC) that is, a minimal subset (in the sense of set inclusion) of unfeasible constraints XM  Example: x, y, z in { 1, 2, 3 } constraint C1: AllDifferent(x,y,z) constraint C2: z == x + 2y constraint C3: y < x constraint C4: z == 2x  This problem is unfeasible. A possible MUC is {C1,C2}. 2 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 3. Objective  Algorithm developed in the context of providing a Conflict Refiner for CP models in IBM ILOG CPLEX Optimization Studio: when designing optimization models, it is usual to face unfeasible instances (due to errors in the model or the data). Identifying a MUC generally helps to explain the unfeasibility Given the complexity of the automatic search, we consider the engine as a black-box whose answer is Yes/No for the feasibility of a subset of constraints XM 3 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 4. Abstracted problem  Let U a finite set of cardinality n and P an upward-closed (or monotonous) property on its powerset 2U, that is, such that: (XYU)  P(X)  P(Y) Minimal subset: XU is a minimal subset satisfying P iff: P(X) and YX, P(Y)  In our original problem: –U  Set of constraints in the model –P(X)  Subset of constraints X is unfeasible 4 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 5. Abstracted problem  Problem definition: –Let U such that P(U), find a minimal subset X satisfying P –The complexity of the resolution algorithm is measured as the number of property checks. As this is an homogeneous measure we can use a more fine grain complexity comparison than the traditional big O comparison. We use a comparison on the order of : f(n)g(n) means limn (f(n)/g(n))=1 5 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 6. A family of iterative algorithms  Elements of U are stored in an array of size n  Array is shuffled so as to rule out any particular structure  Algorithm will select the “rightmost” minimal set in the array  Scan elements from left to right Grows a current subset X X U[i] Ui 6 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 7. A family of iterative algorithms Next element U[i] to be added to current subset X is the one with the smallest index i such that P(X U Ui) When a new element U[i] is added, property P can be checked on current subset X (if P(X), algorithm can be stopped)  Algorithms in this family differs according to the way to find the next element U[i] 7 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 8. Position of consecutive elements  In the particular case of a single minimal subset of size m uniformly distributed in U, the probability p(k) that the distance between the ith and i+1th element is k: –Does not depend on the position i –Exponentially decreases with k 8 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 9. Position of consecutive elements  Experiments in more general cases –Next element of the subset is often close to the current one –Estimated distance between consecutive elements can be learned 9 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 10. Dichotomy  A dichotomy algorithm DC has been proposed in [Hemery&al-06]. It performs a dichotomic search in order to find next element U[i]. P P PP 10 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 11. Dichotomy  This algorithm is efficient for small minimal subsets. It is optimal for minimal subsets of size 1 with a complexity in log2(n). On the other side of the spectrum, it is not efficient for large minimal subsets. For a minimal subset of size n it may require O(n log2(n)) property checks. Our algorithm uses a dichotomic search: –To select the first element –For the following elements: after the acceleration has reduced the scope of the dichotomy 11 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 12. Acceleration / Progression  The probabilistic study of the distance between consecutive elements suggests that it may pay off to look for the next element close to the current one  Starting from last added element at index i, an acceleration algorithm tries i+1,i+2,i+4,...,i+2k until first index j=i+2k such that P(X U Uj)  The algorithm then applies a dichotomy on the reduced index segment [i+2k-1,i+2k) 12 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 13. Acceleration / Progression  A similar approach is used in [Marques-Silva&al-13] Main differences of our algorithm: –The first iteration uses dichotomy, not acceleration –The initial step in the acceleration is learned (see below), it is not necessarily 1 –Up to a certain size, property is checked on current subset X each time a new element is added  These differences allow showing optimality of the proposed algorithm for small minimal subsets 13 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 14. Estimation (of distance)  The probabilistic study of the distance between consecutive elements suggests that the distribution of this distance does not depend much on which element is considered  Let s denote the size of the initial acceleration step (acceleration algorithm tries i+s,i+2s,i+4s,...,i+2ks)  For the first element, we take s=n so the search boils down to a pure dichotomic search (line 4 on Algorithm 1)  For the next elements, the initial acceleration step is computed as the average distance between past elements (line 10 on Algorithm 1) Note that in case of a minimal subset of size n, after first element is found (at position 1), the initial acceleration step is always 1 14 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 15. Lazy checks  Property P(X) may be checked when a new element is added to X, this allows stopping the search as soon as X satisfies P  This is efficient for small minimal subsets. Typically, for a minimal subset of size 1, once the initial dichotomy has selected an (the) element, search will be stopped immediately  This is inefficient for large subsets. Typically, for a minimal subset of size n, n-1 useless checks P(X) will be performed 15 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 16. Lazy checks When the last element of the minimal subset is added to X, if we do not check P(X), it will take the acceleration about O(log2(n)) additional checks to show that X satisfies P(X)  The idea is to check P(X) only for the first log2(n) elements. For larger subsets, the O(log2(n)) price to pay for letting the acceleration show the property will not exceed the O(log2(n)) we already payed to check the first log2(n) elements so the algorithm can stop checking P(X) (line 13 of Algorithm 1) 16 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 17. Detailed ADEL algorithm 17 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 18. Detailed ADEL algorithm 18 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 19. Results 19 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 20. Results  Algorithm ADEL is optimal in both extreme cases: –For small subsets: log2(n) for minimal subset of size 1 –For large subsets: n for minimal subset of size n  Compared to QuickXplain [Junker-04]: –For small subsets, it performs 1.5 times less checks –For large subsets, it performs twice less checks  It behaves continuously in between these extreme cases and outperforms all variants as well as QuickXplain  ADEL algorithm is used as the implementation of the Conflict Refiner functionality for CP models in IBM ILOG CPLEX Optimization Studio since version 12.5 20 21st European Conference on Artificial Intelligence © 2014 IBM Corporation
  • 21. References [Junker-04] U. Junker. QuickXplain: Preferred explanations and relaxations for over-constrained problems. In Proc. AAAI-04. 2004. [Hemery&al-06] F. Hemery, C. Lecoutre, L. Sais and F. Boussemart. Extracting MUCs from constraint networks. In Proc. ECAI-06. 2006. [Marques-Silva&al-13] J. Marques-Silva, M. Janota and A. Belov. Minimal Sets over Monotone Predicates in Boolean Formulae. In Proc. CAV-13. 2013. 21 21st European Conference on Artificial Intelligence © 2014 IBM Corporation