Constraint Satisfaction Problems


 Gloria West
 1 years ago
 Views:
Transcription
1 Constraint Satisfaction Problems Chapter 5 Chapter 5 1
2 Outline CSP examples Backtracking sequential assignment for CSPs Problem structure and problem decomposition Later: generalpurpose discrete (and continuous) optimization methods Chapter 5 2
3 Constraint satisfaction problems (CSPs) In previous lectures we consideres sequential decision problems CSPs are not sequential decision problems However, the basic methods address them by testing sequentially decisions CSP: We have n variables x i, each with domain D i, x i D i We have K constraints C k, each of which determines the feasible configurations of a subset of variables The goal is to find a configuration X = (X 1,.., X n ) of all variables that satisfies all constraints Formally C k = (I k, c k ) where I k {1,.., n} determines the subset of variables, and c k : D Ik {0, 1} determines whether a configuration x Ik D Ik of this subset of variables is feasible Chapter 5 3
4 Example: MapColoring Variables W, N, Q, E, V, S, T (E = New South Wales) Domains D i = {red, green, blue} for all variables Constraints: adjacent regions must have different colors e.g., W N, or (W, N) {(red, green), (red, blue), (green, red), (green, blue),...} Chapter 5 4
5 Example: MapColoring contd. Solutions are assignments satisfying all constraints, e.g., {W = red, N = green, Q = red, E = green, V = red, S = blue, T = green} Chapter 5 5
6 Constraint graph Binary CSP: each constraint relates at most two variables Constraint graph: a bipartite graph: nodes are variables, boxes are constraints In the mapcoloring problem, all constraints relate two variables: boxes edges In general, constraints may constrain several (or one) variables ( I k 2) c 1 c 2 N W c 9 S c 3 Q c 4 c 5 E c 6 c 8 c 7 V T Chapter 5 6
7 Varieties of CSPs Discrete variables finite domains; each D i of size D i = d = O(d n ) complete assignments e.g., Boolean CSPs, incl. Boolean satisfiability infinite domains (integers, strings, etc.) e.g., job scheduling, variables are start/end days for each job linear constraints solvable, nonlinear undecidable Continuous variables e.g., start/end times for Hubble Telescope observations linear constraints solvable in poly time by LP methods Chapter 5 7
8 Varieties of constraints Unary constraints involve a single variable, I k = 1 e.g., S green Binary constraints involve pairs of variables, I k = 2 e.g., S W Higherorder constraints involve 3 or more variables, I k > 2 e.g., Sudoku Having soft constraints (preferences, cost, probabilities) leads to general optimization and probabilistic inference problems Chapter 5 8
9 Assignment problems e.g., who teaches what class Realworld CSPs Timetabling problems e.g., which class is offered when and where? Hardware configuration Spreadsheets Transportation scheduling Factory scheduling Floorplanning Notice that many realworld problems involve realvalued variables Chapter 5 9
10 Methods for solving CSPs Chapter 5 10
11 Sequential assignment approach Let s start with the straightforward, dumb approach, then fix it States are defined by the values assigned so far Initial state: the empty assignment, { } Successor function: assign a value to an unassigned variable that does not conflict with current assignment = fail if no feasible assignments (not fixable!) Goal test: the current assignment is complete 1) Every solution appears at depth n with n variables = use depthfirst search 2) b = (n l)d at depth l, hence n!d n leaves! Chapter 5 11
12 Backtracking sequential assignment Two variable assignment decisions are commutative, i.e., [W = red then N = green] same as [N = green then W = red] We can fix a single next variable to assign a value to at each node This does not compromise completeness (ability to find the solution) = b = d and there are d n leaves Depthfirst search for CSPs with singlevariable assignments is called backtracking search Backtracking search is the basic uninformed algorithm for CSPs Can solve nqueens for n 25 Chapter 5 12
13 Backtracking search function BacktrackingSearch(csp) returns solution/failure return RecursiveBacktracking({ }, csp) function RecursiveBacktracking(assignment, csp) returns soln/failure if assignment is complete then return assignment var SelectUnassignedVariable(Variables[csp], assignment, csp) for each value in OrderedDomainValues(var, assignment, csp) do if value is consistent with assignment given Constraints[csp] then add [var = value] to assignment result RecursiveBacktracking(assignment, csp) if result failure then return result remove [var = value] from assignment return failure Chapter 5 13
14 Backtracking example Chapter 5 14
15 Backtracking example Chapter 5 15
16 Backtracking example Chapter 5 16
17 Backtracking example Chapter 5 17
18 Improving backtracking efficiency Simple heuristics can give huge gains in speed: 1. Which variable should be assigned next? 2. In what order should its values be tried? 3. Can we detect inevitable failure early? 4. Can we take advantage of problem structure? Chapter 5 18
19 Minimum remaining values Minimum remaining values (MRV): choose the variable with the fewest legal values Chapter 5 19
20 Tiebreaker among MRV variables Degree heuristic Degree heuristic: choose the variable with the most constraints on remaining variables Chapter 5 20
21 Least constraining value Given a variable, choose the least constraining value: the one that rules out the fewest values in the remaining variables Combining these heuristics makes 1000 queens feasible Chapter 5 21
22 Forward checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values Chapter 5 22
23 Forward checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values Chapter 5 23
24 Forward checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values Chapter 5 24
25 Forward checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values Use a data structure Domain[X] to explicitly store D i for each node Chapter 5 25
26 Constraint propagation Forward checking propagates information from assigned to unassigned variables, but doesn t provide early detection for all failures: N and S cannot both be blue! Idea: propagate the implied constraints serveral steps further Generally, this is called constraint propagation Chapter 5 26
27 Arc consistency (for pairwise constraints) Simplest form of propagation makes each arc consistent X Y is consistent iff for every value x of X there is some allowed y Chapter 5 27
28 Arc consistency (for pairwise constraints) Simplest form of propagation makes each arc consistent X Y is consistent iff for every value x of X there is some allowed y Chapter 5 28
29 Arc consistency (for pairwise constraints) Simplest form of propagation makes each arc consistent X Y is consistent iff for every value x of X there is some allowed y If X loses a value, neighbors of X need to be rechecked Chapter 5 29
30 Arc consistency (for pairwise constraints) Simplest form of propagation makes each arc consistent X Y is consistent iff for every value x of X there is some allowed y If X loses a value, neighbors of X need to be rechecked Arc consistency detects failure earlier than forward checking Can be run as a preprocessor or after each assignment Chapter 5 30
31 Arc consistency algorithm (for pairwise constraints) function AC3( csp) returns the CSP, possibly with reduced domains inputs: csp, a pairwise CSP with variables {X 1, X 2,..., X n } local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (X i, X j ) RemoveFirst(queue) if RemoveInconsistentValues(X i, X j ) then for each X k in Neighbors[X i ] do add (X k, X i ) to queue function RemoveInconsistentValues( X i, X j ) returns true iff Dom[X i ] changed changed false for each x in Domain[X i ] do if no value y in Domain[X j ] allows (x,y) to satisfy the constraint X i X j then delete x from Domain[X i ]; changed true return changed O(n 2 d 3 ), can be reduced to O(n 2 d 2 ) Chapter 5 31
32 Constraint propagation See textbook for details for nonpairwise constraints Very closely related to message passing in probabilistic models In practice: design approximate constraint propagation for specific problem E.g.: Sudoku: If X i is assigned, delete this value from all peers Chapter 5 32
33 Problem structure c 1 c 2 N W c 9 S c 3 Q c 4 c 5 E c 6 c 8 c 7 V Tasmania and mainland are independent subproblems Identifiable as connected components of constraint graph T Chapter 5 33
34 Treestructured CSPs Theorem: if the constraint graph has no loops, the CSP can be solved in O(n d 2 ) time Compare to general CSPs, where worstcase time is O(d n ) This property also applies to logical and probabilistic reasoning! Chapter 5 34
35 Algorithm for treestructured CSPs 1. Choose a variable as root, order variables from root to leaves such that every node s parent precedes it in the ordering 2. For j from n down to 2, apply RemoveInconsistent(P arent(x j ), X j ) This is backward constraint propagation 3. For j from 1 to n, assign X j consistently with P arent(x j ) This is forward sequential assignment (trivial backtracking) Chapter 5 35
36 Nearly treestructured CSPs Conditioning: instantiate a variable, prune its neighbors domains Cutset conditioning: instantiate (in all ways) a set of variables such that the remaining constraint graph is a tree Cutset size c = runtime O(d c (n c)d 2 ), very fast for small c Chapter 5 36
37 Summary CSPs are a fundamental kind of problem: finding a feasible configuration of n variables the set of constraints defines the (graph) structure of the problem Sequential assignment approach Backtracking = depthfirst search with one variable assigned per node Variable ordering and value selection heuristics help significantly Forward checking prevents assignments that guarantee later failure Constraint propagation (e.g., arc consistency) does additional work to constrain values and detect inconsistencies The CSP representation allows analysis of problem structure Treestructured CSPs can be solved in linear time If after assigning some variables, the remaining structure is a tree linear time feasibility check by tree CSP Chapter 5 37
Smart Graphics: Methoden 3 Suche, Constraints
Smart Graphics: Methoden 3 Suche, Constraints Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche 2 Folie 1 Themen heute Suchverfahren Hillclimbing Simulated
More informationClassification  Examples
Lecture 2 Scheduling 1 Classification  Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking
More informationSatisfiability Checking
Satisfiability Checking SATSolving Prof. Dr. Erika Ábrahám Theory of Hybrid Systems Informatik 2 WS 10/11 Prof. Dr. Erika Ábrahám  Satisfiability Checking 1 / 40 A basic SAT algorithm Assume the CNF
More informationBinary Encodings of Nonbinary Constraint Satisfaction Problems: Algorithms and Experimental Results
Journal of Artificial Intelligence Research 24 (2005) 641684 Submitted 04/05; published 11/05 Binary Encodings of Nonbinary Constraint Satisfaction Problems: Algorithms and Experimental Results Nikolaos
More informationDiscrete Optimization
Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.14.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 20150331 Todays presentation Chapter 3 Transforms using
More informationConstraint Optimization for Highly Constrained Logistic Problems
Constraint Optimization for Highly Constrained Logistic Problems Maria Kinga Mochnacs Meang Akira Tanaka Anders Nyborg Rune Møller Jensen IT University Technical Report Series TR20072008104 ISSN 1600
More informationINTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models
Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is
More informationSorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)
Sorting revisited How did we use a binary search tree to sort an array of elements? Tree Sort Algorithm Given: An array of elements to sort 1. Build a binary search tree out of the elements 2. Traverse
More informationHierarchical Data Visualization
Hierarchical Data Visualization 1 Hierarchical Data Hierarchical data emphasize the subordinate or membership relations between data items. Organizational Chart Classifications / Taxonomies (Species and
More informationMathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
More informationNPCompleteness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness
Lecture 19 NPCompleteness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
More informationA Branch and Bound Algorithm for Solving the Binary Bilevel Linear Programming Problem
A Branch and Bound Algorithm for Solving the Binary Bilevel Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,
More informationAUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS
TKK Reports in Information and Computer Science Espoo 2009 TKKICSR26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF
More informationSearch methods motivation 1
Suppose you are an independent software developer, and your software package Windows Defeater R, widely available on sourceforge under a GNU GPL license, is getting an international attention and acclaim.
More information! Solve problem to optimality. ! Solve problem in polytime. ! Solve arbitrary instances of the problem. #approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NPhard problem What should I do? A Theory says you're unlikely to find a polytime algorithm Must sacrifice one of three
More informationChapter 7: Termination Detection
Chapter 7: Termination Detection Ajay Kshemkalyani and Mukesh Singhal Distributed Computing: Principles, Algorithms, and Systems Cambridge University Press A. Kshemkalyani and M. Singhal (Distributed Computing)
More informationLecture 7: NPComplete Problems
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NPComplete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit
More informationHeuristics for Dynamically Adapting Constraint Propagation in Constraint Programming
Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming Kostas Stergiou AI Lab University of the Aegean Greece CPAIOR 09 Workshop on Bound reduction techniques for CP and MINLP
More informationUniversity of Potsdam Faculty of Computer Science. Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06
University of Potsdam Faculty of Computer Science Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06 Authors: Richard Tichy, Thomas Glase Date: 25th April 2006 Contents 1 Introduction
More informationAnt Colony Optimization and Constraint Programming
Ant Colony Optimization and Constraint Programming Christine Solnon Series Editor Narendra Jussien WILEY Table of Contents Foreword Acknowledgements xi xiii Chapter 1. Introduction 1 1.1. Overview of the
More informationOutline. NPcompleteness. When is a problem easy? When is a problem hard? Today. Euler Circuits
Outline NPcompleteness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2pairs sum vs. general Subset Sum Reducing one problem to another Clique
More informationApproximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NPCompleteness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
More informationCS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 RealTime Systems. CSCI 522 High Performance Computing
CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate
More informationA ConstraintBased Method for Project Scheduling with Time Windows
A ConstraintBased Method for Project Scheduling with Time Windows Amedeo Cesta 1 and Angelo Oddi 1 and Stephen F. Smith 2 1 ISTCCNR, National Research Council of Italy Viale Marx 15, I00137 Rome, Italy,
More informationLoad Balancing. Load Balancing 1 / 24
Load Balancing Backtracking, branch & bound and alphabeta pruning: how to assign work to idle processes without much communication? Additionally for alphabeta pruning: implementing the youngbrotherswait
More informationCHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
More informationGenerating models of a matched formula with a polynomial delay
Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic
More informationComplexity Classes P and NP
Complexity Classes P and NP MATH 3220 Supplemental Presentation by John Aleshunas The cure for boredom is curiosity. There is no cure for curiosity Dorothy Parker Computational Complexity Theory In computer
More informationThe Minimum Consistent Subset Cover Problem and its Applications in Data Mining
The Minimum Consistent Subset Cover Problem and its Applications in Data Mining Byron J Gao 1,2, Martin Ester 1, JinYi Cai 2, Oliver Schulte 1, and Hui Xiong 3 1 School of Computing Science, Simon Fraser
More informationFactoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
More informationAnalysis of Algorithms I: Optimal Binary Search Trees
Analysis of Algorithms I: Optimal Binary Search Trees Xi Chen Columbia University Given a set of n keys K = {k 1,..., k n } in sorted order: k 1 < k 2 < < k n we wish to build an optimal binary search
More informationA Modeldriven Approach to Predictive Non Functional Analysis of Componentbased Systems
A Modeldriven Approach to Predictive Non Functional Analysis of Componentbased Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.
More informationAlgorithms Chapter 12 Binary Search Trees
Algorithms Chapter 1 Binary Search Trees Outline Assistant Professor: Ching Chi Lin 林 清 池 助 理 教 授 chingchi.lin@gmail.com Department of Computer Science and Engineering National Taiwan Ocean University
More informationBicolored Shortest Paths in Graphs with Applications to Network Overlay Design
Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design Hongsik Choi and HyeongAh Choi Department of Electrical Engineering and Computer Science George Washington University Washington,
More informationTables so far. set() get() delete() BST Average O(lg n) O(lg n) O(lg n) Worst O(n) O(n) O(n) RB Tree Average O(lg n) O(lg n) O(lg n)
Hash Tables Tables so far set() get() delete() BST Average O(lg n) O(lg n) O(lg n) Worst O(n) O(n) O(n) RB Tree Average O(lg n) O(lg n) O(lg n) Worst O(lg n) O(lg n) O(lg n) Table naïve array implementation
More informationhttp://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86
Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy
More informationA binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heaporder property
CmSc 250 Intro to Algorithms Chapter 6. Transform and Conquer Binary Heaps 1. Definition A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called
More informationOn the Efficiency of Backtracking Algorithms for Binary Constraint Satisfaction Problems
On the Efficiency of Backtracking Algorithms for Binary Constraint Satisfaction Problems Achref El Mouelhi and Philippe Jégou and Cyril Terrioux LSIS  UMR CNRS 6168 AixMarseille Université Avenue Escadrille
More informationAutomatic Configuration Generation for Service High Availability with Load Balancing
Automatic Configuration Generation for Service High Availability with Load Balancing A. Kanso 1, F. Khendek 1, M. Toeroe 2, A. HamouLhadj 1 1 Electrical and Computer Engineering Department, Concordia
More informationDESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOBSHOP SCHEDULING PROBLEMS WITH OPERATORS
UNIVERSIDAD POLITÉCNICA DE VALENCIA DEPARTAMENTO DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN DESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOBSHOP SCHEDULING PROBLEMS WITH OPERATORS
More informationSIMS 255 Foundations of Software Design. Complexity and NPcompleteness
SIMS 255 Foundations of Software Design Complexity and NPcompleteness Matt Welsh November 29, 2001 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity
More informationA Working Knowledge of Computational Complexity for an Optimizer
A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational
More informationSingle machine models: Maximum Lateness 12 Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...
Lecture 4 Scheduling 1 Single machine models: Maximum Lateness 12 Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00
More informationThroughput constraint for Synchronous Data Flow Graphs
Throughput constraint for Synchronous Data Flow Graphs *Alessio Bonfietti Michele Lombardi Michela Milano Luca Benini!"#$%&'()*+,)./&0&20304(5 60,7&8990,.+:&;/&."!?@A>&"'&=,0B+C. !"#$%&'()* Resource
More informationOptimizing Description Logic Subsumption
Topics in Knowledge Representation and Reasoning Optimizing Description Logic Subsumption Maryam FazelZarandi Company Department of Computer Science University of Toronto Outline Introduction Optimization
More informationLocal Search and Constraint Programming for the Post Enrolmentbased Course Timetabling Problem
Local Search and Constraint Programming for the Post Enrolmentbased Course Timetabling Problem Hadrien Cambazard, Emmanuel Hebrard, Barry O Sullivan and Alexandre Papadopoulos Cork Constraint Computation
More informationThe UnionFind Problem Kruskal s algorithm for finding an MST presented us with a problem in datastructure design. As we looked at each edge,
The UnionFind Problem Kruskal s algorithm for finding an MST presented us with a problem in datastructure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints
More informationDistributed Computing over Communication Networks: Maximal Independent Set
Distributed Computing over Communication Networks: Maximal Independent Set What is a MIS? MIS An independent set (IS) of an undirected graph is a subset U of nodes such that no two nodes in U are adjacent.
More informationJUSTINTIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUSTINTIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
More informationCSC 373: Algorithm Design and Analysis Lecture 16
CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements
More information! Solve problem to optimality. ! Solve problem in polytime. ! Solve arbitrary instances of the problem. !approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NPhard problem What should I do? A Theory says you're unlikely to find a polytime algorithm Must sacrifice one of
More informationDynamic programming formulation
1.24 Lecture 14 Dynamic programming: Job scheduling Dynamic programming formulation To formulate a problem as a dynamic program: Sort by a criterion that will allow infeasible combinations to be eli minated
More informationVector storage and access; algorithms in GIS. This is lecture 6
Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector
More informationChapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NPhard problem. What should I do? A. Theory says you're unlikely to find a polytime algorithm. Must sacrifice one
More informationBinary Heap Algorithms
CS Data Structures and Algorithms Lecture Slides Wednesday, April 5, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009 Glenn G. Chappell
More informationDiscuss the size of the instance for the minimum spanning tree problem.
3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can
More informationLoad balancing Static Load Balancing
Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection
More informationChapter 10: Network Flow Programming
Chapter 10: Network Flow Programming Linear programming, that amazingly useful technique, is about to resurface: many network problems are actually just special forms of linear programs! This includes,
More informationScheduling Algorithm with Optimization of Employee Satisfaction
Washington University in St. Louis Scheduling Algorithm with Optimization of Employee Satisfaction by Philip I. Thomas Senior Design Project http : //students.cec.wustl.edu/ pit1/ Advised By Associate
More informationKEYWORD SEARCH OVER PROBABILISTIC RDF GRAPHS
ABSTRACT KEYWORD SEARCH OVER PROBABILISTIC RDF GRAPHS In many real applications, RDF (Resource Description Framework) has been widely used as a W3C standard to describe data in the Semantic Web. In practice,
More informationChapter 13: Binary and MixedInteger Programming
Chapter 3: Binary and MixedInteger Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:
More informationA MODEL TO SOLVE EN ROUTE AIR TRAFFIC FLOW MANAGEMENT PROBLEM:
A MODEL TO SOLVE EN ROUTE AIR TRAFFIC FLOW MANAGEMENT PROBLEM: A TEMPORAL AND SPATIAL CASE V. Tosic, O. Babic, M. Cangalovic and Dj. Hohlacov Faculty of Transport and Traffic Engineering, University of
More informationModule1. x 1000. y 800.
Module1 1 Welcome to the first module of the course. It is indeed an exciting event to share with you the subject that has lot to offer both from theoretical side and practical aspects. To begin with,
More informationStudy Manual. Probabilistic Reasoning. Silja Renooij. August 2015
Study Manual Probabilistic Reasoning 2015 2016 Silja Renooij August 2015 General information This study manual was designed to help guide your self studies. As such, it does not include material that is
More informationCaseFactor Diagrams for Structured Probabilistic Modeling
CaseFactor Diagrams for Structured Probabilistic Modeling David McAllester TTI at Chicago mcallester@ttic.org Michael Collins CSAIL Massachusetts Institute of Technology mcollins@ai.mit.edu Fernando
More informationThe Goldberg Rao Algorithm for the Maximum Flow Problem
The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }
More informationDegrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets.
Degrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets. Logic is the study of reasoning. A language of propositions is fundamental to this study as well as true
More informationStatic Load Balancing
Load Balancing Load Balancing Load balancing: distributing data and/or computations across multiple processes to maximize efficiency for a parallel program. Static loadbalancing: the algorithm decides
More informationCost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:
CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm
More informationChapter 15: Dynamic Programming
Chapter 15: Dynamic Programming Dynamic programming is a general approach to making a sequence of interrelated decisions in an optimum way. While we can describe the general characteristics, the details
More informationWilliam E. Hart Carl Laird JeanPaul Watson David L. Woodruff. Pyomo Optimization. Modeling in Python. ^ Springer
William E Hart Carl Laird JeanPaul Watson David L Woodruff Pyomo Optimization Modeling in Python ^ Springer Contents 1 Introduction 1 11 Mathematical Modeling 1 12 Modeling Languages for Optimization
More informationUnionFind Algorithms. network connectivity quick find quick union improvements applications
UnionFind Algorithms network connectivity quick find quick union improvements applications 1 Subtext of today s lecture (and this course) Steps to developing a usable algorithm. Define the problem. Find
More informationCSE 880. Advanced Database Systems. Active Database Design Issues
CSE 880 Advanced Database Systems Active Database Design Issues S. Pramanik 1 Design Principles for Active Databases 1. Problems: Complex interactions due to cascading of triggers. Unknown side effects
More informationCombining Software and Hardware Verification Techniques
Formal Methods in System Design, 21, 251 280, 2002 c 2002 Kluwer Academic Publishers. Manufactured in The Netherlands. Combining Software and Hardware Verification Techniques ROBERT P. KURSHAN VLADIMIR
More informationRecommender Systems: Contentbased, Knowledgebased, Hybrid. Radek Pelánek
Recommender Systems: Contentbased, Knowledgebased, Hybrid Radek Pelánek 2015 Today lecture, basic principles: contentbased knowledgebased hybrid, choice of approach,... critiquing, explanations,...
More informationRetrieval and Configuration of Life Insurance Policies
Retrieval and Configuration of Life Insurance Policies Alexander Tartakovski 1, Martin Schaaf 2, and Ralph Bergmann 1 1 University of Trier, Department of Business Information Systems II, 54286 Trier,
More informationChapter 7 Uncomputability
Chapter 7 Uncomputability 190 7.1 Introduction Undecidability of concrete problems. First undecidable problem obtained by diagonalisation. Other undecidable problems obtained by means of the reduction
More information24. The Branch and Bound Method
24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NPcomplete. Then one can conclude according to the present state of science that no
More informationSocial Media Mining. Graph Essentials
Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures
More informationMultilayer MPLS Network Design: the Impact of Statistical Multiplexing
Multilayer MPLS Network Design: the Impact of Statistical Multiplexing Pietro Belotti, Antonio Capone, Giuliana Carello, Federico Malucelli Tepper School of Business, Carnegie Mellon University, Pittsburgh
More informationBackdoors to Combinatorial Optimization: Feasibility and Optimality
Backdoors to Combinatorial Optimization: Feasibility and Optimality Bistra Dilkina, Carla P. Gomes, Yuri Malitsky 2, Ashish Sabharwal, and Meinolf Sellmann 2 Department of Computer Science, Cornell University,
More informationIE 680 Special Topics in Production Systems: Networks, Routing and Logistics*
IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti
More informationUniversity of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011
University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 Department Mission The Department of Computer Science in the College of Arts and Sciences
More informationWESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
More informationDiscrete Mathematics. Hans Cuypers. October 11, 2007
Hans Cuypers October 11, 2007 1 Contents 1. Relations 4 1.1. Binary relations................................ 4 1.2. Equivalence relations............................. 6 1.3. Relations and Directed Graphs.......................
More informationMinesweeper as a Constraint Satisfaction Problem
Minesweeper as a Constraint Satisfaction Problem by Chris Studholme Introduction To Minesweeper Minesweeper is a simple one player computer game commonly found on machines with popular operating systems
More informationParametric Attack Graph Construction and Analysis
Parametric Attack Graph Construction and Analysis Leanid Krautsevich Department of Computer Science, University of Pisa Largo Bruno Pontecorvo 3, Pisa 56127, Italy Istituto di Informatica e Telematica,
More informationPATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION
PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION Introduction In the previous chapter, we explored a class of regression models having particularly simple analytical
More informationTuring Degrees and Definability of the Jump. Theodore A. Slaman. University of California, Berkeley. CJuly, 2005
Turing Degrees and Definability of the Jump Theodore A. Slaman University of California, Berkeley CJuly, 2005 Outline Lecture 1 Forcing in arithmetic Coding and decoding theorems Automorphisms of countable
More informationPerformance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations
Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations Roy D. Williams, 1990 Presented by Chris Eldred Outline Summary Finite Element Solver Load Balancing Results Types Conclusions
More informationEFFICIENT DATA PREPROCESSING FOR DATA MINING
EFFICIENT DATA PREPROCESSING FOR DATA MINING USING NEURAL NETWORKS JothiKumar.R 1, Sivabalan.R.V 2 1 Research scholar, Noorul Islam University, Nagercoil, India Assistant Professor, Adhiparasakthi College
More informationOptimal Vehicle Routing and Scheduling with Precedence Constraints and Location Choice
Optimal Vehicle Routing and Scheduling with Precedence Constraints and Location Choice G. Ayorkor Korsah, Anthony Stentz, M. Bernardine Dias, and Imran Fanaswala Abstract To realize the vision of intelligent
More information6.852: Distributed Algorithms Fall, 2009. Class 2
.8: Distributed Algorithms Fall, 009 Class Today s plan Leader election in a synchronous ring: Lower bound for comparisonbased algorithms. Basic computation in general synchronous networks: Leader election
More informationSudoku as a SAT Problem
Sudoku as a SAT Problem Inês Lynce IST/INESCID, Technical University of Lisbon, Portugal ines@sat.inescid.pt Joël Ouaknine Oxford University Computing Laboratory, UK joel@comlab.ox.ac.uk Abstract Sudoku
More informationominimality and Uniformity in n 1 Graphs
ominimality and Uniformity in n 1 Graphs Reid Dale July 10, 2013 Contents 1 Introduction 2 2 Languages and Structures 2 3 Definability and Tame Geometry 4 4 Applications to n 1 Graphs 6 5 Further Directions
More informationOn the Modeling and Verification of SecurityAware and ProcessAware Information Systems
On the Modeling and Verification of SecurityAware and ProcessAware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
More informationBinary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *
Binary Heaps A binary heap is another data structure. It implements a priority queue. Priority Queue has the following operations: isempty add (with priority) remove (highest priority) peek (at highest
More informationLocal Search and Constraint Programming for the Post Enrolmentbased Course Timetabling Problem
Local Search and Constraint Programming for the Post Enrolmentbased Course Timetabling Problem Hadrien Cambazard, Emmanuel Hebrard, Barry O Sullivan and Alexandre Papadopoulos Cork Constraint Computation
More informationLoad Balancing and Termination Detection
Chapter 7 Load Balancing and Termination Detection 1 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection
More informationDynamic programming. Doctoral course Optimization on graphs  Lecture 4.1. Giovanni Righini. January 17 th, 2013
Dynamic programming Doctoral course Optimization on graphs  Lecture.1 Giovanni Righini January 1 th, 201 Implicit enumeration Combinatorial optimization problems are in general NPhard and we usually
More information