SOLVING LARGE CARPOOLING PROBLEMS USING GRAPH THEORETIC TOOLS
|
|
- Sophia Cook
- 6 years ago
- Views:
Transcription
1 July, SOLVING LARGE CARPOOLING PROBLEMS USING GRAPH THEORETIC TOOLS Irith Ben-Arroyo Hartman Datasim project - (joint work with Abed Abu dbai, Elad Cohen, Daniel Keren) University of Haifa, Israel
2 July, Outline of talk 1. Background 2. Matching Problem Matching in bipartite graphs The greedy matching algorithm Why is greedy performing so well? The assignment problem 3. General Problem formulation Is there an efficient algorithm? What do we know about the general problem? F-factor in bipartite graphs 4. Heuristics for the general problem Theoretical upper bounds Approximation algorithms 5. Other related problems
3 July, BACKGROUND Why carpool? Defining the graph model
4 July, Why carpool? Reduces the number of cars on the roads. Saves time, petrol, traffic congestion, noise, air pollution, parking spaces, stress, accidents. Encourages sociability
5 July, 2014 Summer School Background In IMOB (Transportation Research Institute University of Hasselt) an automatic service for carpooling is being designed. People register their periodic trip executions (PTE) i.e. a periodic trip on Monday from A to B leaving at about 9:00am Together with information: origin and destination, earliest and latest departure and arrival times, maximal detour distance acceptable, capacity of the car (if available) Information of the person: age, gender, educational level, special interests, etc.
6 July, Summer School-2014 Background The system suggests to individuals to share a car Individuals evaluate the suggestion, negotiate it, and possibly, agree to carpool. After the drive, individuals evaluate each other, the system uses the feedback for future trips.
7 July, Given: The problem informal description 1. a set of trips (Periodic Trip Executions), 2. some owners of trips own a car, and some don t, 3. compatibility measure (wxy) of x riding in the car owned by y, 4. capacity of every car, Can we match between people so as to minimize the number of cars, and maximize the total compatibility between passengers and drivers?
8 July, Defining the Graph Model passenger x Wxy C(y) y Owner of vehicle (driver) Wxy takes into account the origins and destinations of x and y, the times of departure and arrival, maximal detour distance, time flexibility, profiles of passenger and potential driver, feedback of passengers and driver. C(y) is the capacity of the car how many people it can contain including the driver.
9 July, How is wxy being computed? Use Path Similarity: 0 < pathsim(a,b) 1 When is it close to 0? When is it 1?
10 July, How is wxy being computed? Use Time Interval Similarity Use Profile Similarity (age, gender, income category, job type, music preference, etc.) Use Reputation (safety, timeliness)
11 July, Assume we allow one passenger in a car How do we model the problem? What do we optimize?
12 July, THE MATCHING PROBLEM Matchings in bipartite graphs The greedy matching algorithm Why is greedy performing so well? The assignment problem
13 July, Assume we allow one passenger in a car Definitions: A matching in a graph G=(V,E) is a collection of vertex disjoint edges. A matching is maximum (or maximum weight) if there is no other matching of larger cardinality (or larger weight). A matching is maximal (or maximal weight) if there is no other matching containing it which is of larger cardinality (or larger weight).
14 14 Example- matching
15 15 Example- maximal matching A matching is defined on undirected graphs. What do we do if the graph is directed? Prove this is a maximum matching
16 July, Matching in bipartite graphs Definition: A bipartite graph is a graph G=(V,E) where V=V 1 U V 2 and all edges in the graph are between V 1 andv 2. V 1 (passengers) V 2 (drivers)
17 July, Matching algorithms If the graph is bipartite and unweighted we have the Hungarian Algorithm O( V E ), or Hopcroft-Karp O ( E V 1/2 ) If the graph is bipartite and weighted Kuhn-Munkers alg. O( V 2 E ) If the graph is general and unweighted Edmonds (1965) algorithm and improvement by Micali-Vazirani O ( E V 1/2 ) If the graph is general and weighted Edmonds, and improvement by Galil O( V E log V )
18 The greedy algorithm for max weight matching 18 In the worst case greedy / optimal = 1/2
19 July, Worse case scenario of greedy matching Optimal matching
20 July, Worse case scenario of greedy matching Optimal matching Greedy matching
21 Number of graphs July, 2014 Summer School Performance of the Greedy Algorithm 150 Accuracy Histogram Good (and surprising!?) news! graphs, each of size 500x500 and 10% edge density Accuracy (Greedy/K-M)
22 July, 2014 Summer School-2014 Why is the greedy heuristics performing so well? Theorem (P. Erdos 1961): A random graph in G n,p almost surely has stability number at most 2p -1 logn Idea of proof is to look at the random variable X number of stable sets of cardinality k+1 in G, and compute 22 E(X)= When k 2p 1 log n P( X 0) 1as n Implying that a random graph almost surely has stability no at most k.
23 July, 2014 Summer School Why is the greedy heuristics performing so well? 1. We use the fact that if G has a maximal (not maximum!) matching of size n-k then G has a stable set of size at least k. 2. We conclude that in G n,p the greedy matching algorithm will almost surely find a matching of size at least n- 2p -1 logn
24 July, 2014 Summer School Assignment Problem (bipartite weighted graphs) w w
25 July, 2014 Summer School-2014 Incremental Approach: 25 Given an optimal weighted matching M in G, finding quickly an optimal matching M in G. (where G differs from G by a relatively small number of edges. G is also called the perturbed graph.) We can estimate how far w(m) is from the optimal solution of G. We can use the optimal matching and covering in G in order to find quickly an optimal, or good enough solution to the perturbed graph G.
26 CPU-time (seconds) KM-inc total CPU-time/KM total CPU-time July, 2014 Summer School-2014 Comparing K-M to incremental K-M Average Run Time Kuhn-Munkers incremental VS. Kuhn-Munkers 1.1 Run Time Ratio Kuhn-Munkers incremental VS. Kuhn-Munkers KM KM-inc generation Average run-time generation Run-time ratio
27 July, GENERAL PROBLEM FORMULATION Is there an efficient algorithm? What do we know about the general problem? F-factor in bipartite graphs
28 July, What is different if we allow more than one passenger in a car?
29 July, General Problem Formal description Definitions: A directed star, c(r)=5 A Star Partition is a covering of V by disjoint directed stars. Feasible Star Partition is a star partition where each star with root r is of in-degree at most c(r), and r has a loop. Problem formulation: Given G=(V,E), c:v -> N, w:e -> (0,1) Find a feasible star partition of V(G) such that the sum of the weights of all the edges in the stars is maximized.
30 July, General Problem Formulation -LP
31 July, Does this problem minimize no of drivers? Example: Assume the capacity of each vertex is 6. Weights of the edges are denoted in the graph. All other edges in the graph have weight 0. 1
32 Example Summer School-2014 July, What is max Σwij xij subject to the LP constraints? It is 4 with 2 drivers 1 Assume the capacity of each vertex is 6. Weights of the edges are denoted in the graph. All other edges in the graph have weight 0.
33 Example Summer School-2014 July, What is max Σwij xij subject to the LP constraints? It is 4 with 2 drivers. But the minimum no. of drivers is 1 with total weight 3.8 Assume the capacity of each vertex is 5. Weights of the edges are denoted in the graph. All other edges in the graph have weight 0.
34 July, When is optimal star partition = minimum no of drivers? Problem 1: Given G=(V,E), w:e ->R, c:v -> N, find a feasible star partition that covers a set of edges of maximum weight. Problem 2: Given G=(V,E), c:v -> N, find a feasible star partition with a minimum number of stars. Claim: If w ij = 1 for every existing edge (except for loops which have w ii =0) then Problems 1 and 2 are equivalent
35 July, Every star with c legs covers c+1 vertices. If we have a star partition with d stars, then the total no of edges covered by the stars is V - d. Proof of Claim Thus minimizing the number of stars is equivalent to maximizing the number of edges covered by the stars.
36 36
37 July, IS THERE AN EFFICIENT ALGORITHM FOR THE GENERAL CARPOOLING PROBLEM? No! The problem is NP-Complete
38 July, Proof of NP-completeness Claim 1: When the drivers are unknown, and the edge weights are 0/1 the problem is NP-hard. Proof: Reduction from the Minimum Dominating Set Problem. A dominating set in a graph is a subset of vertices such that for every there exists some adjacent to it. u ÏV ' Given a directed graph G = (V, E), and an integer k > 0, does there exist a dominating set of size at most k? - an NP-Complete problem. V ' ÏV v Î V '
39 July, 2014 Summer School Proof of NP-completeness Claim 1: When the drivers are unknown, and the edge weights are 0/1 the problem is NP-hard. Proof: Reduction from the Minimum Dominating Set Problem. G C(v)=max-degree
40 July, 2014 Summer School Proof of NP-completeness Claim 2: When the drivers are unknown, the edge weights are 0/1 and c(v) 3 the problem is NP-hard. Proof: Reduction from the problem of partitioning into paths of length two.
41 July, What about the case when the drivers are known in advance?
42 July, 2014 Summer School What about the case when the drivers are known in advance? C=3. Is this an optimal solution? If yes prove it! No give a better solution. V 1 (passengers) V 2 (drivers)
43 July, An f - factor in a graph Let f :V N. An f-factor is a collection of edges E' E such that E meets every v V in exactly f(v) edges. Q1: What is a 1-factor? Q2: For the carpool problem when the drivers are known and every driver can take at most 4 passengers, what are we looking for?
44 July, example f ( v) 1 2 if if v V v V 1 2 V 1 (passengers) V 2 (drivers)
45 July, How do we find an f-factor, or a maximum partial f-factor in a bipartite graph? Convert G to G, and look for a 1-factor in G. V 1 V 2 V 1 V 2 G G
46 July, How do we find an f-factor, or a maximum partial f-factor in a bipartite graph? Convert G to G, and look for a 1-factor in G. V 1 V 2 V 1 V 2 G G
47 July, What do we know about the general problem? There are 8 possible scenarios, depending on these 3 questions: Capacity 1/2 or general? Capacity 1/2 is a matching problem. there exist efficient algorithms General capacity is a star partition problem- Intractable problem Edge weights 0/1 or (0,1)? 0/1 edge weights is an un-weighted graph. (0,1) edge weights corresponds to a weighted graph Drivers are a-priori known/unknown? If the drivers are known, the graph is bipartite. (edges among passengers, or among drivers are irrelevant). If the drivers are not known, the graph is general. Intractable problem
48 July, Summary of all possible scenarios 1/2 capacity General Capacity 1/2 capacity Known Drivers Max bipartite matching Can be reduced to max bipartite matching 0/1 edge weights Known Drivers Max weighted bipartite matching (assignment Pb) Unknown Drivers Max matching in general graphs NP-hard (even for capacity 3) Unknown Drivers Max weight matching in general graphs General Capacity Can be reduced to max weighted bipartite matching NP-hard (even for capacity 3) General edge weights
49 July, HEURISTICS FOR THE GENERAL PROBLEM Challenges: NP-hard problem for c >2 Theoretical upper bounds Approximation algorithms
50 July, Basic, greedy heuristics for the general carpooling problem Given G=(V,E), c:v -> N, w:e -> (0,1) and a subset D of V consisting of potential drivers. Take heaviest edge as long as it does not violate the star family
51 July, Better (linear) heuristics for the general problem We take into account the following considerations: 1. It is preferable to match non-drivers before potential drivers, since potential drivers, if unmatched, can always drive their own vehicle. 2. Since we would like to minimize the number of vehicles, it is preferable to assign passengers to existing vehicles, (which already contain passengers) than to use 'new' vehicles. 3. If a new vehicle is used, it is preferable to use a vehicle with larger capacity, than to use a small capacity vehicle.
52 July, Greedy heuristics for the general problem
53 July, A different approach by giving potential drivers a weight function
54 July, Other greedy heuristics... Other heuristics are also possible, such as Pick a vertex v (in D) with a highest sum of weights of inedges to v. Add highest c(v) edges to v, remove from the graph, and continue...
55 July, Heaviest driver heuristics-v1
56 July, Heaviest driver heuristics- V3 1. Guess a set of drivers (the heaviest drivers ), 2. Try to match all passengers to the drivers (a bipartite graph problem) 3. If you do not succeed, then add drivers, until you succeed.
57 July, Greedy with local adjustments of weights
58 July, THEORETICAL UPPER BOUNDS
59 July, Naïve upper bound to a star family The number of stars is at least n/c Number of edges chosen is at most (c-1)n/c
60 July, Assume Better upper bound to a star family c(v ) ³ c(v ) ³... ³ c(v ) 1 2 n k 1 c( v ) Take the smallest k s.t. i i Now sort E in descending order by w w(e 1 ) ³ w(e 2 ) ³... ³ w(e m ) n Then max w( H) n k i 1 w( ei )
61 July, How do we evaluate the heuristics? We can compare the weight of the selected star family, w(h) in different heuristics, as well as the amount of all unmatched vertices U. We can compare running times between heuristics We can compare w(h) to a theoretical upper bound:
62 July, 2014 Summer School Comparison with optimal solution for c=2 i.e. finding a maximum weight matching
63 July, 2014 Summer School How do we compare to an optimal solution if we cannot compute the optimal solution? 1. IDEA: Assume c=5, w=1. 2. Plant an optimal solution. 3. Add edges to hide it. 4. Run the heuristic algorithms and see if they find it.
64 July, 2014 Summer School plant an optimal solution
65 July, 2014 Summer School-2014 Add edges to hide it 65
66 July, 2014 Summer School Comparison with a known optimal solution
67 July, Results on real data
68 July, Approximation algorithms An algorithm is a p-approximation algorithm if it has a solution of value f(x) (for input x), where p OPT f ( x) E.g. the greedy matching algorithm is ½-approximation algorithm. What does the greedy star partition algorithm give? OPT
69 July, Greedy star forest is 1/c -approximation E.g.c=5
70 July, Greedy star forest is 1/c -approximation E.g.c=5 Optimal solution
71 July, Greedy star forest is 1/c -approximation E.g.c=5 Optimal solution Greedy solution
72 July, Can we find a heuristics that is better than 1/c - approximation? If the graph is undirected, there is a ½ - approximation algorithm for the star forest problem. [Nguyen, Shen, Hou, Sheng, Miller and Zhang] 1. Take a maximum weight spanning tree t. 2. Pick either the odd layers or the even layers of t whichever is the heaviest. 3. Get a star forest of weight at least ½ the optimum star forest. w( SF 1 ( ) 1 ( ) 1 G) w T OPT G OPT ( G) 2 G 2 t 2 sf
73 July, Example 1. Taking a max weight spanning tree
74 July, Example 1. Pick either the odd or even layers of the tree
75 July, What about directed graphs? 1. Take a maximum weight reverse-arborescence. (Algorithm by Edmonds)
76 July, What are the problems with this algorithm? 1. Is a max weight reverse-arborescence heavier than a max weight star forest? 2. How can we guarantee that the in-degree of every vertex is not greater than its capacity c(v)?
77 July, Solution to problem 1 W=0 G
78 July, Solution to problem 1 W=0 G
79 July, Solution to problem 1 W=0 G
80 July, Carpooling with Aversion: Additional Extensions Some passengers do not want to share a ride with some other specific passengers. We have shown this problem is NP-complete even when the drivers are known. (reduction from the minimum vertex-colouring problem). 2. Carpooling with Attachment: Some passengers prefer to be with other passengers in the same ride. We have shown this problem is NP-complete even when the drivers are known. (reduction from the knapsack problem).
81 July, Additional Extensions 3. Carpooling with VIP passengers. Some passengers do not want to be squeezed in a carpool, they want to share a ride with only few others: NP-Complete same as above.
82 July, Conclusions We have proved that the general carpooling problem is NPhard Found quick algorithms and incremental algorithms for the case of bipartite graphs. Devised and implemented 6 different heuristics for the general problem on real data Compared between the heuristics in terms of running time and performance Compared to the optimal matching in general graphs. (c=2), and to various upper bounds on the general problem. Challenge: Find a good approximation algorithm and show it is close enough to the optimal solution.
83 July, THANK YOU! Questions?
5. Lecture notes on matroid intersection
Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation
More informationTheorem 2.9: nearest addition algorithm
There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Approximation Algorithms CLRS 35.1-35.5 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 30 Approaching
More informationCSC 373: Algorithm Design and Analysis Lecture 3
CSC 373: Algorithm Design and Analysis Lecture 3 Allan Borodin January 11, 2013 1 / 13 Lecture 3: Outline Write bigger and get better markers A little more on charging arguments Continue examples of greedy
More informationThe k-center problem Approximation Algorithms 2009 Petros Potikas
Approximation Algorithms 2009 Petros Potikas 1 Definition: Let G=(V,E) be a complete undirected graph with edge costs satisfying the triangle inequality and k be an integer, 0 < k V. For any S V and vertex
More informationCopyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.
Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible
More information15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015
15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 While we have good algorithms for many optimization problems, the previous lecture showed that many
More informationModels of distributed computing: port numbering and local algorithms
Models of distributed computing: port numbering and local algorithms Jukka Suomela Adaptive Computing Group Helsinki Institute for Information Technology HIIT University of Helsinki FMT seminar, 26 February
More information6. Lecture notes on matroid intersection
Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm
More informationSolutions for the Exam 6 January 2014
Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,
More informationDesign and Analysis of Algorithms
CSE 101, Winter 018 D/Q Greed SP s DP LP, Flow B&B, Backtrack Metaheuristics P, NP Design and Analysis of Algorithms Lecture 8: Greed Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Optimization
More informationDecision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.
Decision Problems Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Definition: The class of problems that can be solved by polynomial-time
More informationApproximation Algorithms
Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.
More informationUnit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.
: Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity
More informationBipartite Matching & the Hungarian Method
Bipartite Matching & the Hungarian Method Last Revised: 15/9/7 These notes follow formulation originally developed by Subhash Suri in http://www.cs.ucsb.edu/ suri/cs/matching.pdf We previously saw how
More informationApproximation Algorithms
Chapter 8 Approximation Algorithms Algorithm Theory WS 2016/17 Fabian Kuhn Approximation Algorithms Optimization appears everywhere in computer science We have seen many examples, e.g.: scheduling jobs
More informationSolving NP-hard Problems on Special Instances
Solving NP-hard Problems on Special Instances Solve it in poly- time I can t You can assume the input is xxxxx No Problem, here is a poly-time algorithm 1 Solving NP-hard Problems on Special Instances
More informationLecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs
CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009
More informationOn Modularity Clustering. Group III (Ying Xuan, Swati Gambhir & Ravi Tiwari)
On Modularity Clustering Presented by: Presented by: Group III (Ying Xuan, Swati Gambhir & Ravi Tiwari) Modularity A quality index for clustering a graph G=(V,E) G=(VE) q( C): EC ( ) EC ( ) + ECC (, ')
More informationGreedy algorithms is another useful way for solving optimization problems.
Greedy Algorithms Greedy algorithms is another useful way for solving optimization problems. Optimization Problems For the given input, we are seeking solutions that must satisfy certain conditions. These
More informationJessica Su (some parts copied from CLRS / last quarter s notes)
1 Max flow Consider a directed graph G with positive edge weights c that define the capacity of each edge. We can identify two special nodes in G: the source node s and the sink node t. We want to find
More informationGraphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University
Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial
More informationTraveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost
Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R
More informationAlgorithm Design Methods. Some Methods Not Covered
Algorithm Design Methods Greedy method. Divide and conquer. Dynamic Programming. Backtracking. Branch and bound. Some Methods Not Covered Linear Programming. Integer Programming. Simulated Annealing. Neural
More informationChapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn
Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple
More informationIn this lecture, we ll look at applications of duality to three problems:
Lecture 7 Duality Applications (Part II) In this lecture, we ll look at applications of duality to three problems: 1. Finding maximum spanning trees (MST). We know that Kruskal s algorithm finds this,
More informationTHE PROBLEM OF WORM PROPAGATION/PREVENTION
THE PROBLEM OF WORM PROPAGATION/PREVENTION I.E. THE MINIMUM VERTEX COVER PROBLEM 1 Prof. Tiziana Calamoneri Network Algorithms A.y. 2017/18 2 THE PROBLEM WORMS (1) A computer worm is a standalone malware
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can
More informationλ -Harmonious Graph Colouring
λ -Harmonious Graph Colouring Lauren DeDieu McMaster University Southwestern Ontario Graduate Mathematics Conference June 4th, 201 What is a graph? What is vertex colouring? 1 1 1 2 2 Figure : Proper Colouring.
More informationCombinatorial Optimization
Combinatorial Optimization Frank de Zeeuw EPFL 2012 Today Introduction Graph problems - What combinatorial things will we be optimizing? Algorithms - What kind of solution are we looking for? Linear Programming
More informationGraph Algorithms Matching
Chapter 5 Graph Algorithms Matching Algorithm Theory WS 2012/13 Fabian Kuhn Circulation: Demands and Lower Bounds Given: Directed network, with Edge capacities 0and lower bounds l for Node demands for
More informationApproximation Basics
Milestones, Concepts, and Examples Xiaofeng Gao Department of Computer Science and Engineering Shanghai Jiao Tong University, P.R.China Spring 2015 Spring, 2015 Xiaofeng Gao 1/53 Outline History NP Optimization
More informationMatching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.
18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have
More informationAdvanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret
Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely
More informationGRAPH THEORY and APPLICATIONS. Factorization Domination Indepence Clique
GRAPH THEORY and APPLICATIONS Factorization Domination Indepence Clique Factorization Factor A factor of a graph G is a spanning subgraph of G, not necessarily connected. G is the sum of factors G i, if:
More informationPaths, Trees, and Flowers by Jack Edmonds
Paths, Trees, and Flowers by Jack Edmonds Xiang Gao ETH Zurich Distributed Computing Group www.disco.ethz.ch Introduction and background Edmonds maximum matching algorithm Matching-duality theorem Matching
More informationCS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018
CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.
More informationA List Heuristic for Vertex Cover
A List Heuristic for Vertex Cover Happy Birthday Vasek! David Avis McGill University Tomokazu Imamura Kyoto University Operations Research Letters (to appear) Online: http://cgm.cs.mcgill.ca/ avis revised:
More informationCME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15
CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#3 Due at the beginning of class Thursday 02/26/15 1. Consider a model of a nonbipartite undirected graph in which
More informationAlgorithms for Euclidean TSP
This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation
More informationMatching Theory. Figure 1: Is this graph bipartite?
Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to
More informationDr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions
Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array
More information11. APPROXIMATION ALGORITHMS
11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005
More information1 The Traveling Salesperson Problem (TSP)
CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation
More informationAlgorithms for Grid Graphs in the MapReduce Model
University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln Computer Science and Engineering: Theses, Dissertations, and Student Research Computer Science and Engineering, Department
More information/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang
600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization
More informationApproximation Algorithms
Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms Tamassia Approximation Algorithms 1 Applications One of
More information5 MST and Greedy Algorithms
5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will
More informationApproximation Algorithms
Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours
More information1. Lecture notes on bipartite matching February 4th,
1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)
More informationarxiv: v3 [cs.dm] 12 Jun 2014
On Maximum Differential Coloring of Planar Graphs M. A. Bekos 1, M. Kaufmann 1, S. Kobourov, S. Veeramoni 1 Wilhelm-Schickard-Institut für Informatik - Universität Tübingen, Germany Department of Computer
More informationApproximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs
Approximation slides 1 An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs Approximation slides 2 Linear independence A collection of row vectors {v T i } are independent
More informationMa/CS 6b Class 2: Matchings
Ma/CS 6b Class 2: Matchings By Adam Sheffer Send anonymous suggestions and complaints from here. Email: adamcandobetter@gmail.com Password: anonymous2 There aren t enough crocodiles in the presentations
More informationApproximation Algorithms: The Primal-Dual Method. My T. Thai
Approximation Algorithms: The Primal-Dual Method My T. Thai 1 Overview of the Primal-Dual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the
More informationCSE 521: Design and Analysis of Algorithms I
CSE 521: Design and Analysis of Algorithms I Greedy Algorithms Paul Beame 1 Greedy Algorithms Hard to define exactly but can give general properties Solution is built in small steps Decisions on how to
More informationIntroduction to Graph Theory
Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex
More informationAdvanced Algorithms. On-line Algorithms
Advanced Algorithms On-line Algorithms 1 Introduction Online Algorithms are algorithms that need to make decisions without full knowledge of the input. They have full knowledge of the past but no (or partial)
More informationNetwork monitoring: detecting node failures
Network monitoring: detecting node failures 1 Monitoring failures in (communication) DS A major activity in DS consists of monitoring whether all the system components work properly To our scopes, we will
More information5 MST and Greedy Algorithms
5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will
More informationIntroduction to Algorithms. Lecture 24. Prof. Patrick Jaillet
6.006- Introduction to Algorithms Lecture 24 Prof. Patrick Jaillet Outline Decision vs optimization problems P, NP, co-np Reductions between problems NP-complete problems Beyond NP-completeness Readings
More informationAnnouncements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013
Announcements CSEP 51 Applied Algorithms Richard Anderson Winter 013 Lecture Reading Chapter.1,. Chapter 3 Chapter Homework Guidelines Prove that your algorithm works A proof is a convincing argument Give
More informationIntroduction to Approximation Algorithms
Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background
More informationLecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft)
Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft) Lecturer: Uri Zwick June 5, 2013 1 The maximum matching problem Let G = (V, E) be an undirected graph. A set M E is a matching
More informationMassachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014
Suggested Reading: Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Probabilistic Modelling and Reasoning: The Junction
More informationCode Compaction Using Post-Increment/Decrement Addressing Modes
Code Compaction Using Post-Increment/Decrement Addressing Modes Daniel Golovin and Michael De Rosa {dgolovin, mderosa}@cs.cmu.edu Abstract During computation, locality of reference is often observed, and
More informationTHE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM
1 THE PROBLEM OF WORM PROPAGATION/PREVENTION I.E. THE MINIMUM VERTEX COVER PROBLEM Prof. Tiziana Calamoneri Network Algorithms A.y. 2016/17 2 THE PROBLEM WORMS (1)! A computer worm is a standalone malware
More informationPrimality Testing. Public-Key Cryptography needs large prime numbers How can you tell if p is prime? Try dividing p by all smaller integers
Primality Testing Public-Key Cryptography needs large prime numbers How can you tell if p is prime? Try dividing p by all smaller integers Exponential in p (number of bits to represent p) Improvement:
More information1. Lecture notes on bipartite matching
Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in
More informationLecture 11: Maximum flow and minimum cut
Optimisation Part IB - Easter 2018 Lecture 11: Maximum flow and minimum cut Lecturer: Quentin Berthet 4.4. The maximum flow problem. We consider in this lecture a particular kind of flow problem, with
More informationCSE 417 Network Flows (pt 4) Min Cost Flows
CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it
More informationAlgorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees
Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016
More informationCSE 421 Applications of DFS(?) Topological sort
CSE 421 Applications of DFS(?) Topological sort Yin Tat Lee 1 Precedence Constraints In a directed graph, an edge (i, j) means task i must occur before task j. Applications Course prerequisite: course
More informationOptimization I : Brute force and Greedy strategy
Chapter 3 Optimization I : Brute force and Greedy strategy A generic definition of an optimization problem involves a set of constraints that defines a subset in some underlying space (like the Euclidean
More informationApproximation Algorithms
Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours
More informationThe complement of PATH is in NL
340 The complement of PATH is in NL Let c be the number of nodes in graph G that are reachable from s We assume that c is provided as an input to M Given G, s, t, and c the machine M operates as follows:
More information4.1 Interval Scheduling
41 Interval Scheduling Interval Scheduling Interval scheduling Job j starts at s j and finishes at f j Two jobs compatible if they don't overlap Goal: find maximum subset of mutually compatible jobs a
More informationLecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)
COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms
More informationAlgorithms for Storage Allocation Based on Client Preferences
Algorithms for Storage Allocation Based on Client Preferences Tami Tamir Benny Vaksendiser Abstract We consider a packing problem arising in storage management of Video on Demand (VoD) systems. The system
More information11. APPROXIMATION ALGORITHMS
Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem
More informationWhere have all the cars gone? A model for determining traffic flow throughout a road network
A model for determining traffic flow throughout a road network Harvey Mudd College Presentation Days 7 May 2008 Traffic monitoring Important Equations Lots of Traffic + Small Roads = Congestion Congestion
More informationPERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS
SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS THE CENTRALIZED DEPLOYMENT OF MOBILE SENSORS I.E. THE MINIMUM WEIGHT PERFECT MATCHING 1 2 ON BIPARTITE GRAPHS Prof. Tiziana Calamoneri Network Algorithms
More informationCSC 505, Fall 2000: Week 12
CSC 505, Fall 000: Week Proving the N P-completeness of a decision problem A:. Prove that A is in N P give a simple guess and check algorithm (the certificate being guessed should be something requiring
More information15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018
15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 In this lecture, we describe a very general problem called linear programming
More informationAnalysis of Algorithms Prof. Karen Daniels
UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2010 Lecture 2 Tuesday, 2/2/10 Design Patterns for Optimization Problems Greedy Algorithms Algorithmic Paradigm Context
More informationGRAPH THEORY and APPLICATIONS. Matchings
GRAPH THEORY and APPLICATIONS Matchings Definition Matching of a graph G: Any subset of edges M E such that no two elements of M are adjacent. Example: {e} {e,e5,e0} {e2,e7,e0} {e4,e6,e8} e4 e7 e8 e e2
More informationval(y, I) α (9.0.2) α (9.0.3)
CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,
More informationCMPSCI 311: Introduction to Algorithms Practice Final Exam
CMPSCI 311: Introduction to Algorithms Practice Final Exam Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question. Providing more detail including
More information1 Matchings in Graphs
Matchings in Graphs J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 Definition Two edges are called independent if they are not adjacent
More informationOn Covering a Graph Optimally with Induced Subgraphs
On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number
More informationCME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 03/02/17
CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#3 Due at the beginning of class Thursday 03/02/17 1. Consider a model of a nonbipartite undirected graph in which
More informationAPPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS
APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 70010, India. Organization Introduction
More informationComplexity and approximation of satisfactory partition problems
Complexity and approximation of satisfactory partition problems Cristina Bazgan, Zsolt Tuza, and Daniel Vanderpooten LAMSADE, Université Paris-Dauphine, France {bazgan,vdp}@lamsade.dauphine.fr Computer
More informationOn some problems in graph theory: from colourings to vertex identication
On some problems in graph theory: from colourings to vertex identication F. Foucaud 1 Joint works with: E. Guerrini 1,2, R. Klasing 1, A. Kosowski 1,3, M. Kov²e 1,2, R. Naserasr 1, A. Parreau 2, A. Raspaud
More informationNetwork Flow and Matching
Chapter 4 Network Flow and Matching In this chapter, we examine the network flow problem, a graph problem to which many problems can be reduced. In fact, some problems that don t even appear to be graph
More informationCS 4407 Algorithms. Lecture 8: Circumventing Intractability, using Approximation and other Techniques
CS 4407 Algorithms Lecture 8: Circumventing Intractability, using Approximation and other Techniques Prof. Gregory Provan Department of Computer Science University College Cork CS 4010 1 Lecture Outline
More informationMaterial handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena
Material handling and Transportation in Logistics Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Introduction to Graph Theory Graph Theory As Mathematical
More informationWelcome to the course Algorithm Design
Welcome to the course Algorithm Design Summer Term 2011 Friedhelm Meyer auf der Heide Lecture 13, 15.7.2011 Friedhelm Meyer auf der Heide 1 Topics - Divide & conquer - Dynamic programming - Greedy Algorithms
More informationResults on the min-sum vertex cover problem
Results on the min-sum vertex cover problem Ralucca Gera, 1 Craig Rasmussen, Pantelimon Stănică 1 Naval Postgraduate School Monterey, CA 9393, USA {rgera, ras, pstanica}@npsedu and Steve Horton United
More informationGraphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs
Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are
More information