Y. Xiang, Constraint Satisfaction Problems

Size: px
Start display at page:

Download "Y. Xiang, Constraint Satisfaction Problems"

Transcription

1 Constraint Satisfaction Problems Objectives Constraint satisfaction problems Backtracking Iterative improvement Constraint propagation Reference Russell & Norvig: Chapter 5. 1 Constraints Constraints are encountered regularly in daily live. Ex Seats in the car. Ex Travel to a holiday resort. Ex Register for courses. Problems involving constraints may be complex. Ex University course timetabling. As the complexity of the problem grows, we turn to intelligent agents for finding a solution. In general, problems involving constraints are NP-hard. 2 University Course Timetablling Each semester, hundreds of courses are offered by hundreds of instructors. Room-slot: No two lectures can be offered in the same room at the same time slot. Instructor: Lectures by the same instructor cannot be scheduled at the same time slot. Course: Lectures of the same course cannot be offered at the same time slot. Course group: If two courses are to be taken in the same semester, then their lectures cannot be scheduled at the same time slots. 3 Constraint Networks To study agents for solving these problems, we model their environments as constraint networks. A constraint network has two components: 1. a set V of variables with associated domains, and 2. a set C of constraints. V is a finite set of discrete variables and is denoted as V={x 1,,x n. Each variable x i in V is associated with a domain D i ={x i 1,,x ik of possible values. 4 1

2 Constraint Networks (CN) An assignment over a subset X V is a combination of values for variables in X. An assignment over X is complete if X = V. C is a set of constraints denoted C={C 1,,C m. Each constraint C i is relative to a subset X V and is a set of acceptable assignments over X. Subset X is called the scope of constraint C i. An assignment that satisfies all relevant constraints is called a consistent or legal assignment. A solution is a consistent, complete assignment. A CN is inconsistent if it has no solution. 5 Constraint Satisfaction Problems (CSPs) Tasks of determining whether a solution exists for a CN and finding solutions if they exist are referred to as constraint satisfaction problems (CSP). Focus: whether a solution exists & find one if exists. Ex Map coloring. Ex The n-queens. Other CSPs. Arity of a constraint is the cardinality of its scope. Unary constraint and binary constraint. Binary constraint network has only unary and binary constraints. 6 Ex Map Coloring N Q W Color each region with one of {r,g,b s.t. no adjacent regions have the S E same color. R Constraint network What is V and what are variable domains? What is an assignment over X = {W,N,S? What is the constraint b/w W and N? How many constraints are in C and what are their scopes? Is assignment {N=r,Q=g,S=b,E=g consistent? What is a solution? 7 Ex The n-queesn Place n queens on an n n chessboard s.t. no queen attacks another. Constraint network for 4-queen What is V if we use one variable for each row? What is the domain of x 2? What is the constraint b/w x 1 and x 3? When the order of variables is clear, we write an assignment as a tuple. How many constraints are in C? What is a solution? 8 2

3 Other CSPs Crossword puzzles. 3SAT. Job shop scheduling. Radio link frequency assignment. Space telescope scheduling. 3D interpretation of 2D drawing. Hospital nurse scheduling. Airline flight scheduling. Floor plan layout. Automobile transmission design. Constraint Graphs Structure of CNs can be expressed as constraint graphs, and they are useful in solving CSPs. There are three common forms of constraint graphs. In a primal graph, each node represents a variable and each link connects two constrained variables. Ex Map coloring. In a dual graph, each node (drawn as a cluster) is labeled by the scope of a constraint. Each link connects two clusters that share some variables and is labeled by the intersection. Ex Map coloring Constraint Graphs (Cont) In a hypergraph, each node represents a variable. Each hyperlink represents a constraint and connects all variables in its scope. It is drawn by a link from a box to each variable in the scope. Ex Map coloring. Ex Crypt-arithmetic Puzzle. Ex Crypt-arithmetic Puzzle T W O + T W O F O U R Substitute each letter by a distinct digit without leading zero s.t. the sum is arithmetically correct. Constraint network and constraint graph What are the variables? How to represent distinct digit? How to represent no leading zero? How to represent arithmetic sum? What is the constraint hypergraph?

4 Solve CSPs by Search Chronological Backtracking Tree search such as BFS, DFS, etc are applicable to CSPs. How? How many leaf nodes are at level n+1? How many complete assignments are there? Observation Unlike problems such as 8-puzzle, neither the order of variable assignment, nor the search path matters in CSPs. Hence, search can focus on a single order only. Idea: Depth-first search that assigns one variable each time (forwards) and backtracks when a variable has no legal values to assign. An recursive algorithm. Ex The 4-queen. Chronological: Always backtrack to the most recent value assignment backtracking(config[]) { // assume access to a CN if config is complete, return config; v = getvariable(config); vu[] = orderdomainvalue(v, config); for each u in vu, if u is consistent with config, add {v=u to config; result = backtracking(config); if result!= null, return result; remove {v=u from config; return null; 15 Complexity of Backtracking Suppose V =n and D i k. In the worst case, the full search tree is explored. What is the total number of nodes in full search tree? How many levels are in the search tree? What is the branching factor? Sum of geometric series Sum k 0 + k k n is (k n+1-1)/(k-1). Time complexity of backtracking. 16 4

5 Variable Ordering Does the order of variables make any difference to the efficiency of chronological backtracking? Ex Map coloring: D=(r,g,b) except D Q =(b,g,r). Order 1: (W,N,Q,E,R,S). Order 2: (W,N,S,Q,E,R). Styles of variable ordering Fixed Dynamic 17 Minimum Remaining Values (MRV) Heuristic Choose the next variable x that has the fewest legal values. Ex Map coloring. Rational behind MRV If x has no legal value, the search tree is pruned immediately. Otherwise, x is most likely to cause failure soon, thereby pruning the search tree. Overhead: At each forward step, for each remaining variable x, each constraint that involves x must be checked. 18 Maximum Degree (MDeg) Heuristic Choose the next variable x that involves the largest number of constraints with unassigned variables. Ex Map coloring. Rational behind Reduce the branching factor on future choices. Overhead: At each forward step, for each remaining variable x, count its current degree. MRV and MDeg can be combined in chronological backtracking, with MRV as the primary heuristic and MDeg as the tie-breaker. Value Selection Given variable order, does the order in which values are assigned make any difference to efficiency? Ex Map coloring with variable ordering (W,N,Q,E,R,S) and value order (r,g,b). Styles of value ordering Fixed Dynamic

6 Forward Checking To assign variable x with value u, for each unassigned variable y connected to x by a constraint C i, delete from D y each value inconsistent with x=u by C i. If for any y, D y becomes empty, consider another value u of x. If for each y, D y is non-empty, assign x=u. Ex Map coloring with variable order (W,Q,R,N,S,E). Benefit: Avoid a value that will cause failure before it is assigned and hence prune search space. 21 Looking Back in Search x 1 {r,b,g When a branch of the search x 2 {b,g fails, chronological backtracking backs up to the preceding variable. x 3 {r,b,g x 4 {r,b This is often inefficient. Ex A coloring problem. It is more efficient to go all the way back to the source of failure. However, jumping too far back may skip potential solutions. Ex Jumping back to x 2. Challenge: What is the adequate jump back point? x 7 {r,b x 6 {r,g,y x 5 {b,g 22 Dead-end and Conflict Set If a consistent assignment u i =(u 1,,u i ) for x 1,,x i is inconsistent with every possible value of x i+1, then (u 1,,u i ) is a dead-end state, and x i+1 is a dead-end variable. Let u i =(u 1,,u i ) for x 1,,x i be a consistent assignment and x be an unassigned variable. If there is no value u in the domain of x s.t. (u i, x=u) is consistent, then u i is a conflict set of x. If u i does not contain a subtuple that is in conflict with x, then u i is a minimal conflict set of x. 23 Culprit Variable Let u i =(u 1,,u i ) be a tuple. Then u k =(u 1,,u k ), where k i, is a prefix tuple of u i. Let u i =(u 1,,u i ) for x 1,,x i be a dead-end state. The culprit variable relative to u i is x k where k = min{j j i and u j is a conflict set of x i+1. Ex What is the culprit variable wrt (x 1 =r, x 2 =b, x 3 =b, x 4 =b, x 5 =g, x 6 =r)? The culprit variable is the adequate jump back point. Why? 24 6

7 Backjumping Algorithm backjump() { // assume access to a CN i =1; D i = D i ; latest i =0; // latest: a pointer while 1 i n, x i = selectvalue(i); if x i == null, i = latest i ; else i++; D i = D i ; latest i =0; end while; if i == 0, return no solution ; else return assignment over {x 1,,x n ; Ex The coloring problem. 25 selectvalue(i) { while D i {, select u D i and remove u from D i ; consistent = true; k = 1; while k<i and consistent, if k > latest i, latest i =k; if (u k, x i =u) is inconsistent, consistent = false; else k++; if consistent, return u; return null; Does backjump() jumps back to the culprit variable? 26 Local Search Backtracking builds up a solution by assigning one variable at a time consistently. Local search iteratively improves a complete but inconsistent assignment, one variable at a time. Challenges Which variable to improve next? Which value of the variable to select? Time Bounded Min-Conflicts Algorithm minconflicttb(c[], maxsteps) { // c: constraints in CN current = a complete assignment; for i=1 to maxsteps, if current is legal, return current; v = randomly selected variable violating c; u = value of v minimizing # constraint violations; set v = u in current; return failure;

8 Example and Properties Ex Solving 8-queens. Can agent avoid repeating the same assignments? An algorithm for CSPs is complete if it always finds a solution when one exists, or terminates when no solution exists. Is the algorithm complete? Nogood An intelligent CSP agent should use learning to avoid regenerating a conflict set. Given a CN, any partial assignment that does not appear in any solution is a nogood. Is every conflict set a nogood? Is every nogood a conflict set? Min-Conflicts Algorithm With Nogood Learning minconflictnl(c[]) { // c[]: constraints from CN parsol[] = ; varleft[] = a complete assignment; return minconflictnl(parsol, varleft, c); Each element of parsol and varleft is a pair in the form (variable, value). parsol and varleft have no variables in common. The union of parsol and varleft is a complete assignment. minconflictnl(parsol[], varleft[], c[]) { nogood[] = ; loop if varleft parsol is legal, return varleft parsol; (v,u) = element in varleft violating c; vu[] = values of v consistent with parsol wrt c & nogood; if vu is emtpy, if parsol is empty, return no-solution; add parsol to nogood; move most recently added element of parsol to varleft; else u = element of vu minimizing # constraint violations with varleft wrt c; remove (v,u) from varleft and add (v,u ) to parsol; end loop

9 Ex The 4-queens. Example and Properties Is the algorithm complete? Does it always find a solution when one exist? Does it terminate when there is no solution? 33 Relative Arc Consistency Forward checking propagates the implications of a constraint from variable x to y. Constraint propagation is the general concept to propagate implications of a constraint on one variable to others, and arc consistency is an effective method of constraint propagation. Let C xy be a constraint of scope {x,y. Variable x is arc-consistent relative to y iff for every value u D x there exists a value w D y s.t. (u,w) C xy. Ex Constraint C xy : x < y with D x = D y ={1,2,3. Is x arc-consistent relative to y? 34 Enforce Relative Arc-Consistency If x is not arc-consistent relative to y, consistency can be enforced by executing algorithm revise(): revise(x, y, C xy ) { for each u D x, if there is no w D y s.t. (u,w) C xy, D x = D x /{u; Ex Given C xy : x < y with D x = D y ={1,2,3, how to make x arc-consistent relative to y? Is y arc-consistent relative to x? How to make both arcs consistent? What is the complexity of revise()? 35 Arc Consistency Let C xy be a constraint of scope {x,y. Variables x and y are arc-consistent iff x is arc-consistent relative to y and y is arc-consistent relative to x. A CN is arc-consistent iff every pair of variables constrained are arc-consistent. Arc consistency in a CN can be enforced by the algorithm arcconsistency(). Ex Map coloring with order (W,Q,R,N,S,E). After assigning W=r, is the CN arc consistent? After Q=g, what happens if arcconsistency() is run? 36 9

10 Enforce Arc-Consistency arcconsistency() { agenda = {; for each pair {x, y of variables adjacent in CN, agenda = agenda {(x,y),(y,x); while agenda {, remove (x,y) from agenda and revise(x, y, C xy ); if D x is revised, for each z adjacent to x in CN and z y, agenda = agenda {(z,x); What is the complexity of arcconsistency()? 37 The k-consistency Can an arc-consistent CN contain inconsistency? Could an arc-consistent CN have no solution? Ex A triangle-structured coloring CSP. A CN is k-consistent if for every set X of k-1 variables and for every consistent assignment over X, a consistent value can be assigned to any k th variable. 1-consisency = node consisency 2-consisency = arc consisency 3-consisency = path consisency Ex Is CN of 4-queens k-consistent for k=1,2,3? 38 Strong k-consistency A CN is strongly k-consistent if it is i-consistent for all i k. If a CN with V =n is strongly n-consistent, what would happen if backtracking() is applied to it? For a general CN, what is the complexity to establish strong n-consistency? In general, CSPs are NP-hard. Between strong n-consistency and arc-consistency, a range of middle ground exists to trade efficiency of search with efficiency of consistency checking. 39 Solving Tree-Structured CSPs Structure info in constraint graphs can provide guidance for limited consistency checking and efficient search. Let the constraint graph of a CN be a tree T. The CN can be solved using solvetreecn(). After 1 st for loop, every parent is arc-consistent relative to its child. The 2 nd for loop is backtracking free. Ex A coloring problem with domain {r,g for each variable. Complexity of solvetreecn()

11 solvetreecn() { pick a node as root of T; define an order r for nodes s.t. pi(x) precedes x in r; denote r = (x 1,x 2,,x n ); for i=n to 2, revise(pi(x i ), x i ); if Dpi(xi)={, return null; for i=1 to n, assign x i a value consistent with the value assigned to pi(x i ); return complete assignment; Cutset Conditioning What if the CN is not tree-structured? Can solvetreecn() be extended to solve more general CNs? A cycle cutset of a graph is a subset of nodes whose removal renders the graph a tree. Solving binary CNs using cutsetcondition(). Ex Map coloring. Complexity of cutsetcondition() cutsetcondition() { choose a cycle cutset X and denote Z=V/X; let A(X) be the set of consistent assignments of X; if A(X)={, return null; for each x A(X), for each y Z, remove each u D y inconsistent with x ; apply solvetreecn() to CN over Z; if solution z is found, return x z ; return null; 43 Cluster Tree Decomposition Idea: Decompose CN into a set of small subcns; enforce consistency in each subcn; and search the solution for CN efficiently. solvecnbyclustertree() { decompose CN into a cluster tree T; for each cluster Q in T, find the set S(Q) of consistent assignments of Q; if S(Q)={, return null; set T into a binary CN; apply solvetreecn() to T; 44 11

12 Decompose CN into Cluster Tree Divide V into overlapping clusters s.t. each x V is contained in at least one cluster. For every constraint in C, all variables in its scope must be contained in at least one cluster. Organize clusters into a tree T s.t. every two adjacent clusters in T have at least one common variable. Any variable contained by two clusters in T must be contained by all clusters along the path. Ex Map coloring. Set Cluster Tree into Binary CN For each cluster Q and its set S(Q) of consistent assignments, create a mega-variable q of domain D q =S(Q). For each two adjacent clusters Q and R, denote Z=Q R and corresponding mega-variables q and r. Constraint over {q,r is that assignment of q and assignment of r must agree on the value of variables in Z. Ex Map coloring How to Decompose CN into Cluster Tree Conditions of the cluster tree have been presented. Algorithms to generate such cluster trees from CNs are needed. The decomposition steps Triangulate constraint graph. Identify clusters. Organizing clusters into cluster tree. 47 Triangulating Constraint Graph triangulatecg(g) { G = G; fillin = {; for i=1 to n, select node x i in G with adjacent node set adj(x i ); if nodes in adj(x i ) are not pairwise linked, add links in G to make adj(x i ) pairwise linked; record links added to fillin; remove x i and its incident links from G; add links in fillin to G ; return G ; 48 12

13 Identify Clusters Idea: Bookkeeping during triangulatecg(g). During triangulatecg(g): Record Q i = adj(x i ) {x i before each x i is removed from G. After triangulatecg(g): identifycluster({q 1, Q 2,, Q n ) { Clus = {Q 1, Q 2,, Q n ; for i=n to 1, if Q i is a subset of Q k (k<i), remove Q i from Clus; return Clus; 49 Construct Cluster Tree buildclustertree(clus) { init cluster tree T with no clusters; pick Q Clus; add Q to T; remove Q from Clus; while Clus {, select Q Clus and Q from T s.t. Q Q is maximal; add Q to T; connect Q to Q ; remove Q from Clus; return T; 50 Triangulation Revisited How to select node x i in each iteration? Ex Map coloring problem. What are the clusters produced if triangulation is performed in order (N,W,U,E,S,R)? What is the consequence to computation in solvecnbyclustertree()? Conclusion: The less number of fillins, the better. Finding triangulations with minimum # fillins is NPhard. Heuristic: Select x i with minimum # of fillins. 51 Solving CSPs by Cluster Tree: Complexity What is the complexity of finding set S(Q) for cluster Q? The tree width of a cluster tree decomposition of a constraint graph is one less than the size of the largest subproblem. What is the above complexity in terms of tree width? What is the complexity of solvecnbyclustertree()? 52 13

Smart Graphics: Methoden 3 Suche, Constraints

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 information

Integrating Benders decomposition within Constraint Programming

Integrating Benders decomposition within Constraint Programming Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP

More information

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,

More information

Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming

Heuristics 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 information

Binary Encodings of Non-binary Constraint Satisfaction Problems: Algorithms and Experimental Results

Binary Encodings of Non-binary Constraint Satisfaction Problems: Algorithms and Experimental Results Journal of Artificial Intelligence Research 24 (2005) 641-684 Submitted 04/05; published 11/05 Binary Encodings of Non-binary Constraint Satisfaction Problems: Algorithms and Experimental Results Nikolaos

More information

On the Efficiency of Backtracking Algorithms for Binary Constraint Satisfaction Problems

On 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 Aix-Marseille Université Avenue Escadrille

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

The Minimum Consistent Subset Cover Problem and its Applications in Data Mining

The 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, Jin-Yi Cai 2, Oliver Schulte 1, and Hui Xiong 3 1 School of Computing Science, Simon Fraser

More information

Satisfiability Checking

Satisfiability Checking Satisfiability Checking SAT-Solving 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 information

Search methods motivation 1

Search 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

CIS 631 Database Management Systems Sample Final Exam

CIS 631 Database Management Systems Sample Final Exam CIS 631 Database Management Systems Sample Final Exam 1. (25 points) Match the items from the left column with those in the right and place the letters in the empty slots. k 1. Single-level index files

More information

Data Structure with C

Data Structure with C Subject: Data Structure with C Topic : Tree Tree A tree is a set of nodes that either:is empty or has a designated node, called the root, from which hierarchically descend zero or more subtrees, which

More information

Integration of ACO in a Constraint Programming Language

Integration of ACO in a Constraint Programming Language Integration of ACO in a Constraint Programming Language Madjid Khichane 12, Patrick Albert 1, and Christine Solnon 2 1 ILOG 2 LIRIS, UMR 5205 CNRS / University of Lyon ANTS 08 Motivations Ant Colony Optimization

More information

Circuits 1 M H Miller

Circuits 1 M H Miller Introduction to Graph Theory Introduction These notes are primarily a digression to provide general background remarks. The subject is an efficient procedure for the determination of voltages and currents

More information

Relational Databases

Relational Databases Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute

More information

Mining Social Network Graphs

Mining Social Network Graphs Mining Social Network Graphs Debapriyo Majumdar Data Mining Fall 2014 Indian Statistical Institute Kolkata November 13, 17, 2014 Social Network No introduc+on required Really? We s7ll need to understand

More information

A Constraint-Based Method for Project Scheduling with Time Windows

A Constraint-Based Method for Project Scheduling with Time Windows A Constraint-Based Method for Project Scheduling with Time Windows Amedeo Cesta 1 and Angelo Oddi 1 and Stephen F. Smith 2 1 ISTC-CNR, National Research Council of Italy Viale Marx 15, I-00137 Rome, Italy,

More information

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

More information

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

More information

Introduction & Overview

Introduction & Overview ID2204: Constraint Programming Introduction & Overview Lecture 01, Christian Schulte cschulte@kth.se Software and Computer Systems School of Information and Communication Technology KTH Royal Institute

More information

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

INTEGER 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 information

DESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOB-SHOP SCHEDULING PROBLEMS WITH OPERATORS

DESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOB-SHOP 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 JOB-SHOP SCHEDULING PROBLEMS WITH OPERATORS

More information

Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

More information

Ant Colony Optimization and Constraint Programming

Ant 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 information

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 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 information

Lecture 17 : Equivalence and Order Relations DRAFT

Lecture 17 : Equivalence and Order Relations DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

More information

Reducing Clocks in Timed Automata while Preserving Bisimulation

Reducing Clocks in Timed Automata while Preserving Bisimulation Reducing Clocks in Timed Automata while Preserving Bisimulation Shibashis Guha Chinmay Narayan S. Arun-Kumar Indian Institute of Technology Delhi {shibashis, chinmay, sak}@cse.iitd.ac.in arxiv:1404.6613v2

More information

Chapter 13: Binary and Mixed-Integer Programming

Chapter 13: Binary and Mixed-Integer Programming Chapter 3: Binary and Mixed-Integer 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 information

Constraint Optimization for Highly Constrained Logistic Problems

Constraint 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 TR-2007-2008-104 ISSN 1600

More information

Clustering and scheduling maintenance tasks over time

Clustering and scheduling maintenance tasks over time Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating

More information

Lecture 10: Regression Trees

Lecture 10: Regression Trees Lecture 10: Regression Trees 36-350: Data Mining October 11, 2006 Reading: Textbook, sections 5.2 and 10.5. The next three lectures are going to be about a particular kind of nonlinear predictive model,

More information

University 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 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 information

Guessing Game: NP-Complete?

Guessing Game: NP-Complete? Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

A Fast Algorithm For Finding Hamilton Cycles

A Fast Algorithm For Finding Hamilton Cycles A Fast Algorithm For Finding Hamilton Cycles by Andrew Chalaturnyk A thesis presented to the University of Manitoba in partial fulfillment of the requirements for the degree of Masters of Science in Computer

More information

Introduction. Real World Planning. Planning with Time. Time 15/11/2012. COMP219: Artificial Intelligence. COMP219: Artificial Intelligence

Introduction. Real World Planning. Planning with Time. Time 15/11/2012. COMP219: Artificial Intelligence. COMP219: Artificial Intelligence COMP219: Artificial Intelligence COMP219: Artificial Intelligence Dr. Annabel Latham Room 2.05 Ashton Building Department of Computer Science University of Liverpool Lecture 26: Real World Planning: Scheduling

More information

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit Data Structures Page 1 of 24 A.1. Arrays (Vectors) n-element vector start address + ielementsize 0 +1 +2 +3 +4... +n-1 start address continuous memory block static, if size is known at compile time dynamic,

More information

Minerva Access is the Institutional Repository of The University of Melbourne

Minerva Access is the Institutional Repository of The University of Melbourne Minerva Access is the Institutional Repository of The University of Melbourne Author/s: Chu, Geoffrey G. Title: Improving combinatorial optimization Date: 2011 Citation: Chu, G. G. (2011). Improving combinatorial

More information

Design of LDPC codes

Design of LDPC codes Design of LDPC codes Codes from finite geometries Random codes: Determine the connections of the bipartite Tanner graph by using a (pseudo)random algorithm observing the degree distribution of the code

More information

CONSISTENCY METHODS FOR TEMPORAL REASONING. Lin Xu A THESIS. Presented to the Faculty of. The Graduate College at the University of Nebraska

CONSISTENCY METHODS FOR TEMPORAL REASONING. Lin Xu A THESIS. Presented to the Faculty of. The Graduate College at the University of Nebraska CONSISTENCY METHODS FOR TEMPORAL REASONING by Lin Xu A THESIS Presented to the Faculty of The Graduate College at the University of Nebraska In Partial Fulfilment of Requirements For the Degree of Master

More information

10/13/11 Solution: Minimax with Alpha-Beta Pruning and Progressive Deepening

10/13/11 Solution: Minimax with Alpha-Beta Pruning and Progressive Deepening 10/1/11 Solution: Minimax with Alpha-Beta Pruning and Progressive Deepening When answering the question in Parts C.1 and C. below, assume you have already applied minimax with alpha-beta pruning and progressive

More information

Problems in Artificial Intelligence

Problems in Artificial Intelligence Problems in Artificial Intelligence Constraint Satisfaction Problems Florent Madelaine f.r.madelaine@dur.ac.uk Office in the first floor of CS building Florent Madelaine Problems in AI Durham University

More information

4/1/2017. PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY

4/1/2017. PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY 1 Oh the things you should learn How to recognize and write arithmetic sequences

More information

Social Media Mining. Graph Essentials

Social 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 information

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

More information

Chapter 4 Lecture Notes

Chapter 4 Lecture Notes Chapter 4 Lecture Notes Random Variables October 27, 2015 1 Section 4.1 Random Variables A random variable is typically a real-valued function defined on the sample space of some experiment. For instance,

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information

Concurrency Control. Chapter 17. Comp 521 Files and Databases Fall 2010 1

Concurrency Control. Chapter 17. Comp 521 Files and Databases Fall 2010 1 Concurrency Control Chapter 17 Comp 521 Files and Databases Fall 2010 1 Conflict Serializable Schedules Recall conflicts (WR, RW, WW) were the cause of sequential inconsistency Two schedules are conflict

More information

Data Structure [Question Bank]

Data Structure [Question Bank] Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

More information

24. The Branch and Bound Method

24. 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 NP-complete. Then one can conclude according to the present state of science that no

More information

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line

More information

A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property

A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order 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 information

A hybrid approach for solving real-world nurse rostering problems

A hybrid approach for solving real-world nurse rostering problems Presentation at CP 2011: A hybrid approach for solving real-world nurse rostering problems Martin Stølevik (martin.stolevik@sintef.no) Tomas Eric Nordlander (tomas.nordlander@sintef.no) Atle Riise (atle.riise@sintef.no)

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

scheduling maintenance of electric power units Daniel Frost and Rina Dechter ffrost, dechterg@ics.uci.edu Abstract

scheduling maintenance of electric power units Daniel Frost and Rina Dechter ffrost, dechterg@ics.uci.edu Abstract Optimizing with constraints: a case study in scheduling maintenance of electric power units Daniel Frost and Rina Dechter Dept. of Information and Computer Science, University of California, Irvine, CA

More information

Bounded Treewidth in Knowledge Representation and Reasoning 1

Bounded Treewidth in Knowledge Representation and Reasoning 1 Bounded Treewidth in Knowledge Representation and Reasoning 1 Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien Luminy, October 2010 1 Joint work with G.

More information

Automata and Formal Languages

Automata and Formal Languages Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,

More information

each college c i C has a capacity q i - the maximum number of students it will admit

each college c i C has a capacity q i - the maximum number of students it will admit n colleges in a set C, m applicants in a set A, where m is much larger than n. each college c i C has a capacity q i - the maximum number of students it will admit each college c i has a strict order i

More information

Full and Complete Binary Trees

Full and Complete Binary Trees Full and Complete Binary Trees Binary Tree Theorems 1 Here are two important types of binary trees. Note that the definitions, while similar, are logically independent. Definition: a binary tree T is full

More information

Checking for Dimensional Correctness in Physics Equations

Checking for Dimensional Correctness in Physics Equations Checking for Dimensional Correctness in Physics Equations C.W. Liew Department of Computer Science Lafayette College liew@cs.lafayette.edu D.E. Smith Department of Computer Science Rutgers University dsmith@cs.rutgers.edu

More information

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Dynamic 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 NP-hard and we usually

More information

Measuring the Performance of an Agent

Measuring the Performance of an Agent 25 Measuring the Performance of an Agent The rational agent that we are aiming at should be successful in the task it is performing To assess the success we need to have a performance measure What is rational

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI

More information

Chapter 7: Termination Detection

Chapter 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 information

To discuss this topic fully, let us define some terms used in this and the following sets of supplemental notes.

To discuss this topic fully, let us define some terms used in this and the following sets of supplemental notes. INFINITE SERIES SERIES AND PARTIAL SUMS What if we wanted to sum up the terms of this sequence, how many terms would I have to use? 1, 2, 3,... 10,...? Well, we could start creating sums of a finite number

More information

The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).

The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2). CHAPTER 5 The Tree Data Model There are many situations in which information has a hierarchical or nested structure like that found in family trees or organization charts. The abstraction that models hierarchical

More information

Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

More information

Computing Science TRACTABLE BENCHMARKS FOR CONSTRAINT PROGRAMMING. Justyna Petke and Peter Jeavons CS-RR-09-07

Computing Science TRACTABLE BENCHMARKS FOR CONSTRAINT PROGRAMMING. Justyna Petke and Peter Jeavons CS-RR-09-07 Computing Science TRACTABLE BENCHMARKS FOR CONSTRAINT PROGRAMMING Justyna Petke and Peter Jeavons CS-RR-09-07 Oxford University Computing Laboratory Wolfson Building, Parks Road, Oxford OX1 3QD Tractable

More information

The Goldberg Rao Algorithm for the Maximum Flow Problem

The 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 information

Equilibrium computation: Part 1

Equilibrium computation: Part 1 Equilibrium computation: Part 1 Nicola Gatti 1 Troels Bjerre Sorensen 2 1 Politecnico di Milano, Italy 2 Duke University, USA Nicola Gatti and Troels Bjerre Sørensen ( Politecnico di Milano, Italy, Equilibrium

More information

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent

More information

3.1 Solving Systems Using Tables and Graphs

3.1 Solving Systems Using Tables and Graphs Algebra 2 Chapter 3 3.1 Solve Systems Using Tables & Graphs 3.1 Solving Systems Using Tables and Graphs A solution to a system of linear equations is an that makes all of the equations. To solve a system

More information

Chapter 13: Query Processing. Basic Steps in Query Processing

Chapter 13: Query Processing. Basic Steps in Query Processing Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

More information

Creating a More Efficient Course Schedule at WPI Using Linear Optimization

Creating a More Efficient Course Schedule at WPI Using Linear Optimization Project Number: ACH1211 Creating a More Efficient Course Schedule at WPI Using Linear Optimization A Major Qualifying Project Report submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial

More information

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis M. Vidyasagar Cecil & Ida Green Chair The University of Texas at Dallas Email: M.Vidyasagar@utdallas.edu October 17, 2015 Outline

More information

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

More information

TREE BASIC TERMINOLOGIES

TREE BASIC TERMINOLOGIES TREE Trees are very flexible, versatile and powerful non-liner data structure that can be used to represent data items possessing hierarchical relationship between the grand father and his children and

More information

Analysis of Algorithms I: Binary Search Trees

Analysis of Algorithms I: Binary Search Trees Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary

More information

CSE 326: Data Structures B-Trees and B+ Trees

CSE 326: Data Structures B-Trees and B+ Trees Announcements (4//08) CSE 26: Data Structures B-Trees and B+ Trees Brian Curless Spring 2008 Midterm on Friday Special office hour: 4:-5: Thursday in Jaech Gallery (6 th floor of CSE building) This is

More information

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity. 7 Catalan Numbers Thomas A. Dowling, Department of Mathematics, Ohio State Uni- Author: versity. Prerequisites: The prerequisites for this chapter are recursive definitions, basic counting principles,

More information

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8] Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

More information

6.852: Distributed Algorithms Fall, 2009. Class 2

6.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 comparison-based algorithms. Basic computation in general synchronous networks: Leader election

More information

Graph Mining and Social Network Analysis

Graph Mining and Social Network Analysis Graph Mining and Social Network Analysis Data Mining and Text Mining (UIC 583 @ Politecnico di Milano) References Jiawei Han and Micheline Kamber, "Data Mining: Concepts and Techniques", The Morgan Kaufmann

More information

Learning Outcomes. COMP202 Complexity of Algorithms. Binary Search Trees and Other Search Trees

Learning Outcomes. COMP202 Complexity of Algorithms. Binary Search Trees and Other Search Trees Learning Outcomes COMP202 Complexity of Algorithms Binary Search Trees and Other Search Trees [See relevant sections in chapters 2 and 3 in Goodrich and Tamassia.] At the conclusion of this set of lecture

More information

Mathematics for Algorithm and System Analysis

Mathematics for Algorithm and System Analysis Mathematics for Algorithm and System Analysis for students of computer and computational science Edward A. Bender S. Gill Williamson c Edward A. Bender & S. Gill Williamson 2005. All rights reserved. Preface

More information

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,

More information

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows:

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: Chapter 12: Binary Search Trees A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: For all nodes x and y, if y belongs to the left subtree

More information

Nonlinear Optimization: Algorithms 3: Interior-point methods

Nonlinear Optimization: Algorithms 3: Interior-point methods Nonlinear Optimization: Algorithms 3: Interior-point methods INSEAD, Spring 2006 Jean-Philippe Vert Ecole des Mines de Paris Jean-Philippe.Vert@mines.org Nonlinear optimization c 2006 Jean-Philippe Vert,

More information

Decision Trees from large Databases: SLIQ

Decision Trees from large Databases: SLIQ Decision Trees from large Databases: SLIQ C4.5 often iterates over the training set How often? If the training set does not fit into main memory, swapping makes C4.5 unpractical! SLIQ: Sort the values

More information

Converting a Number from Decimal to Binary

Converting a Number from Decimal to Binary Converting a Number from Decimal to Binary Convert nonnegative integer in decimal format (base 10) into equivalent binary number (base 2) Rightmost bit of x Remainder of x after division by two Recursive

More information

Optimal Binary Search Trees Meet Object Oriented Programming

Optimal Binary Search Trees Meet Object Oriented Programming Optimal Binary Search Trees Meet Object Oriented Programming Stuart Hansen and Lester I. McCann Computer Science Department University of Wisconsin Parkside Kenosha, WI 53141 {hansen,mccann}@cs.uwp.edu

More information

Lecture 16 : Relations and Functions DRAFT

Lecture 16 : Relations and Functions DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/29/2011 Lecture 16 : Relations and Functions Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT In Lecture 3, we described a correspondence

More information

Introduction to Learning & Decision Trees

Introduction to Learning & Decision Trees Artificial Intelligence: Representation and Problem Solving 5-38 April 0, 2007 Introduction to Learning & Decision Trees Learning and Decision Trees to learning What is learning? - more than just memorizing

More information

Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007

Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007 Constant Propagation Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007 Osnat Minz and Mati Shomrat Introduction This

More information

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing Multi-layer 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 information

2.3 Convex Constrained Optimization Problems

2.3 Convex Constrained Optimization Problems 42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

More information

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Single 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 information

Holistic Data Cleaning: Putting Violations Into Context

Holistic Data Cleaning: Putting Violations Into Context Holistic Data Cleaning: Putting Violations Into Context Xu Chu 1 Ihab F. Ilyas 2 Paolo Papotti 2 1 University of Waterloo, Canada 2 Qatar Computing Research Institute (QCRI), Qatar x4chu@uwaterloo.ca,

More information

Randomization and Restart Strategies

Randomization and Restart Strategies Randomization and Restart Strategies by Huayue Wu A thesis presented to the University of Waterloo in fulfilment of the thesis requirement for the degree of Master of Mathematics in Computer Science Waterloo,

More information