Welcome to the course Algorithm Design
|
|
- Hortense Armstrong
- 6 years ago
- Views:
Transcription
1 Welcome to the course Algorithm Design Summer Term 2011 Friedhelm Meyer auf der Heide Lecture 13, Friedhelm Meyer auf der Heide 1
2 Topics - Divide & conquer - Dynamic programming - Greedy Algorithms - Randomized Algorithms - Approximation Algorithms - Online Algorithms Friedhelm Meyer auf der Heide 2
3 Chapter 1: Divide & Conquer Friedhelm Meyer auf der Heide 3
4 Divide & Conquer Divide the problem in a number of smaller subproblems. Conquer the subproblems by solving them recursively. Combine the results of the subproblem into a solution of the original problem. Our Examples: Integer multiplication, matrix multiplication (HW), closest pair of points in the plane, Fast Fourier transform,.(hw) Friedhelm Meyer auf der Heide 4
5 Chapter 2: Dynamic Progamming Friedhelm Meyer auf der Heide 5
6 Dynamic programming You probably know dynamic programming algorithms for optimal evaluation of the product of many matrices, and for the word problem for context-free languages (CYK-algorithm) Examples: String Distance, Shortest Paths, Knapsack, Minimum Weight Triangulation (HW), Optimal Search Trees (HW) Friedhelm Meyer auf der Heide 6
7 Friedhelm Meyer auf der Heide 7
8 Friedhelm Meyer auf der Heide 8
9 Friedhelm Meyer auf der Heide 9
10 Friedhelm Meyer auf der Heide 10
11 Chapter 3: Greedy Algorithms Friedhelm Meyer auf der Heide 11
12 Greedy Algorithms Examples: Activity Selection (or Interval Scheduling), Scheduling to Minimize Lateness Theoretical Foundations of the Greedy Method: Matroid Theory Examples for Matroids: Linear independent vectors, Minimum Spanning Trees, Bipartite matching with maximum left side Friedhelm Meyer auf der Heide 12
13 For which problems are Greedy-Algorithms optimal? Consider a finite set E and a system U of subsets of E. (E,U) is called a subset-system, if the following holds: (i)? 2 U (ii) For each B 2 U, also each subset of B is in U. B2 U is called maximal, if no proper superset of B is in U. The Optimization problem corresponding to (E,U) is : Given a weight function w:e Q +,compute a maximal set B 2 U with maximizes w(b) = e2 B w(e). (Minimization problems are described analagously.) Friedhelm Meyer auf der Heide 13
14 Systems of Subsets and the Canonical Greedy Algorithm Canonical Greedy ((E,U)) (1) Sort E such that w(e 1 ) w(e n ). (2) B?. (3) For k=1 to n if B [ {e k } 2 U then B B [ {e k } (4) Return B For which types of subset-systems is the canonical Greedy algorithm optimal? Friedhelm Meyer auf der Heide 14
15 Example 2 Problem: Minimum spanning tree (MST) Input: a graph G=(V,E) with positive edge weights w:e Q +. Output: a spanning tree with minimum weight. MST is a subset-system: - E : the set of edges, - U : all subsets of E that do not contain a cycle form a subset-system Friedhelm Meyer auf der Heide 15
16 Greedy-Algorithms und Matroids A system of subsets (E,U) is a matroid, if in addition, the following exchange property holds: (iii) For all A,B 2 U with A < B, there is x2 B-A such that A[{x} 2 U. Remark: All maximal sets of a matroid have the same size. (homework) We will see: - The system of subsets for 0-1 knapsack (Example 1) is not a matroid. - The systems of subsets for examples 0,2,3 are a matroids. Theorem: Consider a system of subsets (E,U). canonical Greedy is optimal for (E,U) for every weight function w, if and only if (E,U) is a matroid. Kruskal s algorithm is optimal for MST (example 2)! Friedhelm Meyer auf der Heide 16
17 Chapter 4. Randomised Algorithms Friedhelm Meyer auf der Heide 17
18 Randomized Algorithms use the outcome of random experiments ( coin flips ) to guide the execution of the algorithm. For a fixed input, runtime and output may be random variables. Friedhelm Meyer auf der Heide 18
19 Randomized Algorithms Examples: Quicksort, Skip Lists, Contention Resolution (symmetry -breaking), Global Minimum Cut (contraction algorithm), Random Variables and their Expectations (Guessing Cards, Coupon Collector) Chernoff Bounds, example Load Balancing Friedhelm Meyer auf der Heide 19
20 Cuts in graphs Let G=(V,E) be a connected, undirected graph. A cut in G is defined by a disjoint partition of V into two sets A and B. Its size is the number of edges between A and B. Goal: Compute a cut with minimum size. A cut of size 6. A B Friedhelm Meyer auf der Heide 20
21 Friedhelm Meyer auf der Heide 21
22 Friedhelm Meyer auf der Heide 22
23 Tools from Probability Theory: Chernoff Bounds Prob( X-¹ ) ± ¹) is inverse exponential in n!!!! Friedhelm Meyer auf der Heide 23
24 Chapter 5. Approximation Algorithms Friedhelm Meyer auf der Heide 24
25 Friedhelm Meyer auf der Heide 25
26 Approximation Algorithms Examples: Greedy Techniques (Load-Balancing, Center Selection ) Pricing Method (Vertex Cover) Linear Programming and Rounding (Vertex Cover, generalized Load-Balancing ) Polynomial Time Approximation Scheme (Knapsack ) 26 Friedhelm Meyer auf der Heide 26
27 Friedhelm Meyer auf der Heide 27
28 Friedhelm Meyer auf der Heide 28
29 Friedhelm Meyer auf der Heide 29
30 Friedhelm Meyer auf der Heide 30
31 Friedhelm Meyer auf der Heide 31
32 Approximation via rounding linear programs Friedhelm Meyer auf der Heide 32
33 Friedhelm Meyer auf der Heide 33
34 minimize Friedhelm Meyer auf der Heide 34
35 Friedhelm Meyer auf der Heide 35
36 Friedhelm Meyer auf der Heide 36
37 Friedhelm Meyer auf der Heide 37
38 Chapter 6. Online Algorithms Friedhelm Meyer auf der Heide 38
39 Online Algorithms An online algorithm is one that can process its input piece-by-piece, without having the entire input available from the start. In contrast, an offline algorithm is given the whole problem data from the beginning and is required to output an answer which solves the problem at hand. Input: a sequence of requests. Task: process the requests as efficiently as possible Online: i th request has to be processed before future requests are known Offline: All requests are known in advance Friedhelm Meyer auf der Heide 39
40 How to measure quality of online algorithms? 1. Assume some a priori knowledge about request sequence, e.g., requests are chosen randomly 2. Assume worst case measure, compare online cost to offline cost Online : standard competitive analysis competitive ratio Online randomized: Friedhelm Meyer auf der Heide 40
41 Examples: Paging, page migration, data management in networks Friedhelm Meyer auf der Heide 41
42 Page Migration Model (1) Page migration Classical online problem processors connected by a network v 3 v 2 v 4 v 5 v 1 v 6 v 7 There are costs of communication associated with each edge. Cost of communication between pair of nodes = cost of the cheapest path between these nodes. Costs of communication fulfill the triangle inequality. Friedhelm Meyer auf der Heide 42
43 Page Migration Model (2) Alternative view: processors in a metric space v 3 v 2 v 4 v 5 v 1 v 6 v 7 Indivisible memory page of size one processor (initially at ) in the local memory of Friedhelm Meyer auf der Heide 43
44 Page Migration Model (3) Input: sequence of processors, dictated by a request adversary - processor which wants to access (read or write) one unit of data from the memory page. v 3 v 2 v 4 v 5 v 1 v 7 v 6 After serving a request an algorithm may move the page to a new processor. Friedhelm Meyer auf der Heide 44
45 Page Migration (cost model) Cost model: The page is at node. Serving a request issued at costs. Moving the page to node costs. Friedhelm Meyer auf der Heide 45
46 A randomized algorithm Memoryless coin-flipping algorithm CF [Westbrook 92] In each step, after serving a request issued at, move page to with probability. Theorem: CF is 3-competitive against an adaptive-online adversary (may see the outcomes of the coinflips). Remark: This ratio is optimal against adaptive-online adversary. Friedhelm Meyer auf der Heide 46
47 Deterministic algorithm Algorithm Move-To-Min (MTM) [Awerbuch, Bartal, Fiat 93] After each steps, choose to be the node which minimizes, and move to. ( is the best place for the page in the last steps) Theorem: MTM is 7-competitive Remark: The currently best deterministic algorithm achieves competitive ratio of Friedhelm Meyer auf der Heide 47
48 Data management in networks Friedhelm Meyer auf der Heide 48
49 Scenario Networks have low bandwidth, global objects are small, access is fine grained. typical for parallel processor networks, partially also for the internet. bottleneck: link-congestion task: distribute global objects (maybe dynamically) among processors such that an application (sequence of read/write access to global variables) can be executed using small link-congestion storage overhead is small. - Exploit Locality - Friedhelm Meyer auf der Heide 49
50 Basic Strategy Design strategy for trees Produce strategy for target-network by tree embedding Friedhelm Meyer auf der Heide 50
51 Dynamic Model Application: Sequence of read / write requests from processors to objects. Each processor decides solely based on its local knowledge. distributed online-strategy Goal: Develop strategy that produces only by a factor c more congestion than an optimal offline strategy. c-competitive strategy (and by a factor m more storage per processor (m, c) competitive strategy ) Friedhelm Meyer auf der Heide 51
52 Dynamic strategy for trees v writes to x : v creates (or updates) copy of x in v, and invalidates all other copies (consistency!) v reads x: v reads the closest copy of x and creates copies in every processor on the path back to v. (Remark: Data Tracking in trees is easy!) Friedhelm Meyer auf der Heide 52
53 Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 0 Friedhelm Meyer auf der Heide 53
54 Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 Friedhelm Meyer auf der Heide 54
55 Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 Friedhelm Meyer auf der Heide 55
56 Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 v 2 Friedhelm Meyer auf der Heide 56
57 Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 v 2 Friedhelm Meyer auf der Heide 57
58 Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 v 2 v 3 Friedhelm Meyer auf der Heide 58
59 Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v k v 0 v 2 v 3 Friedhelm Meyer auf der Heide 59
60 Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v k v 0 v 2 3 Each strategy has to use each link of the red subtree at least once. Our strategy uses each of these links at most three times. Strategy is 3-competitive for trees v Friedhelm Meyer auf der Heide 60
61 Other networks Idea: Simulate suitable tree in target-network M. tree embedding: Goals: - small dilation (in order to reduce overall load) - randomized embedding (in order to reduce congestion) Goals contradict?!? Friedhelm Meyer auf der Heide 61
62 Tree embedding Randomized, locality preserving embedding! Example: nxn-mesh M v leaves: nodes of the mesh link-capacity: # links leaving the submesh Friedhelm Meyer auf der Heide 62
63 Result for meshes The static and dynamic strategies are O (log(n))-competitive in nxn-meshes, w.h.p. Finding an optimal static placement for several variables is NP-hard already on 3x3-meshes. Friedhelm Meyer auf der Heide 63
64 Some Results d-dimensional meshes O(d log n) competitive ratio w.h.p. Fat Trees O(log n) Hypercubes O(log n) SE Networks De Bruijn Networks Direct Butterflies Indirect Butterflies Arbitrary Networks O(log n) O(log n) O(log n) O(1) polylog n (Räcke 2002) Friedhelm Meyer auf der Heide 64
65 I wish you. not too much stress with exams and some time for relaxing holydays. Friedhelm Meyer auf der Heide 65
66 Thank you for your attention! Friedhelm Meyer auf der Heide Heinz Nixdorf Institute & Computer Science Department Fürstenallee Paderborn, Germany Tel.: +49 (0) 52 51/ Fax: +49 (0) 52 51/ Friedhelm Meyer auf der Heide 66
Welcome to the course Algorithm Design
Welcome to the course Algorithm Design Summer Term 2011 Friedhelm Meyer auf der Heide Lecture 12, 8.7.2011 Friedhelm Meyer auf der Heide 1 Randomised Algorithms Friedhelm Meyer auf der Heide 2 Topics -
More informationPage migration in dynamic networks
Page migration in dynamic networks Friedhelm Meyer auf der Heide Data management in networks Friedhelm Meyer auf der Heide How to store data items in a network, so that arbitrary sequences of accesses
More information7 Distributed Data Management II Caching
7 Distributed Data Management II Caching In this section we will study the approach of using caching for the management of data in distributed systems. Caching always tries to keep data at the place where
More informationOutline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility
Outline CS38 Introduction to Algorithms Lecture 18 May 29, 2014 coping with intractibility approximation algorithms set cover TSP center selection randomness in algorithms May 29, 2014 CS38 Lecture 18
More information9 Distributed Data Management II Caching
9 Distributed Data Management II Caching In this section we will study the approach of using caching for the management of data in distributed systems. Caching always tries to keep data at the place where
More informationIntroduction to Optimization
Introduction to Optimization Greedy Algorithms October 5, 2015 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff INRIA Lille Nord Europe Course Overview 2 Date Topic Mon, 21.9.2015 Introduction
More informationReview of course COMP-251B winter 2010
Review of course COMP-251B winter 2010 Lecture 1. Book Section 15.2 : Chained matrix product Matrix product is associative Computing all possible ways of parenthesizing Recursive solution Worst-case running-time
More informationMinimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem
Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are
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 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 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 information1 Format. 2 Topics Covered. 2.1 Minimal Spanning Trees. 2.2 Union Find. 2.3 Greedy. CS 124 Quiz 2 Review 3/25/18
CS 124 Quiz 2 Review 3/25/18 1 Format You will have 83 minutes to complete the exam. The exam may have true/false questions, multiple choice, example/counterexample problems, run-this-algorithm problems,
More informationData Management in Networks: Experimental Evaluation of a Provably Good Strategy
Data Management in Networks: Experimental Evaluation of a Provably Good Strategy Christof Krick Friedhelm Meyer auf der Heide Harald Räcke Berthold Vöcking Matthias Westermann Abstract This paper deals
More informationWe ve done. Introduction to the greedy method Activity selection problem How to prove that a greedy algorithm works Fractional Knapsack Huffman coding
We ve done Introduction to the greedy method Activity selection problem How to prove that a greedy algorithm works Fractional Knapsack Huffman coding Matroid Theory Now Matroids and weighted matroids Generic
More informationApproximation Algorithms
Approximation Algorithms Frédéric Giroire FG Simplex 1/11 Motivation Goal: Find good solutions for difficult problems (NP-hard). Be able to quantify the goodness of the given solution. Presentation of
More informationCS521 \ Notes for the Final Exam
CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )
More information1 Unweighted Set Cover
Comp 60: Advanced Algorithms Tufts University, Spring 018 Prof. Lenore Cowen Scribe: Yuelin Liu Lecture 7: Approximation Algorithms: Set Cover and Max Cut 1 Unweighted Set Cover 1.1 Formulations There
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 informationApproximation Algorithms
Approximation Algorithms Lecture 14 01/25/11 1 - Again Problem: Steiner Tree. Given an undirected graph G=(V,E) with non-negative edge costs c : E Q + whose vertex set is partitioned into required vertices
More informationApproximation Algorithms
18.433 Combinatorial Optimization Approximation Algorithms November 20,25 Lecturer: Santosh Vempala 1 Approximation Algorithms Any known algorithm that finds the solution to an NP-hard optimization problem
More informationThomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms
Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Introduction to Algorithms Preface xiii 1 Introduction 1 1.1 Algorithms 1 1.2 Analyzing algorithms 6 1.3 Designing algorithms 1 1 1.4 Summary 1 6
More informationRandomized algorithms have several advantages over deterministic ones. We discuss them here:
CS787: Advanced Algorithms Lecture 6: Randomized Algorithms In this lecture we introduce randomized algorithms. We will begin by motivating the use of randomized algorithms through a few examples. Then
More informationDirect Routing: Algorithms and Complexity
Direct Routing: Algorithms and Complexity Costas Busch, RPI Malik Magdon-Ismail, RPI Marios Mavronicolas, Univ. Cyprus Paul Spirakis, Univ. Patras 1 Outline 1. Direct Routing. 2. Direct Routing is Hard.
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 informationVirtual University of Pakistan
Virtual University of Pakistan Department of Computer Science Course Outline Course Instructor Dr. Sohail Aslam E mail Course Code Course Title Credit Hours 3 Prerequisites Objectives Learning Outcomes
More information8 Matroid Intersection
8 Matroid Intersection 8.1 Definition and examples 8.2 Matroid Intersection Algorithm 8.1 Definitions Given two matroids M 1 = (X, I 1 ) and M 2 = (X, I 2 ) on the same set X, their intersection is M 1
More informationRecitation 13. Minimum Spanning Trees Announcements. SegmentLab has been released, and is due Friday, November 17. It s worth 135 points.
Recitation 13 Minimum Spanning Trees 13.1 Announcements SegmentLab has been released, and is due Friday, November 17. It s worth 135 points. 73 74 RECITATION 13. MINIMUM SPANNING TREES 13.2 Prim s Algorithm
More informationCOT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748
COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu http://www.cs.fiu.edu/~giri/teach/cot6936_s12.html https://moodle.cis.fiu.edu/v2.1/course/view.php?id=174
More informationDynamic Programming Homework Problems
CS 1510 Dynamic Programming Homework Problems 1. (2 points) Consider the recurrence relation T (0) = T (1) = 2 and for n > 1 n 1 T (n) = T (i)t (i 1) i=1 We consider the problem of computing T (n) from
More informationIntroduction to Optimization
Introduction to Optimization Greedy Algorithms October 28, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Course Overview Date Fri, 7.10.2016 Fri, 28.10.2016
More informationGraph Theory and Optimization Approximation Algorithms
Graph Theory and Optimization Approximation Algorithms Nicolas Nisse Université Côte d Azur, Inria, CNRS, I3S, France October 2018 Thank you to F. Giroire for some of the slides N. Nisse Graph Theory and
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 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 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 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 informationDistributed Graph Algorithms for Planar Networks
Bernhard Haeupler CMU joint work with Mohsen Ghaffari (MIT) ADGA, Austin, October 12th 2014 Distributed: CONGEST(log n) model Distributed: CONGEST(log n) model Network Optimization Problems: shortest path
More informationFinal. Name: TA: Section Time: Course Login: Person on Left: Person on Right: U.C. Berkeley CS170 : Algorithms, Fall 2013
U.C. Berkeley CS170 : Algorithms, Fall 2013 Final Professor: Satish Rao December 16, 2013 Name: Final TA: Section Time: Course Login: Person on Left: Person on Right: Answer all questions. Read them carefully
More informationGreedy Algorithms and Matroids. Andreas Klappenecker
Greedy Algorithms and Matroids Andreas Klappenecker Greedy Algorithms A greedy algorithm solves an optimization problem by working in several phases. In each phase, a decision is made that is locally optimal
More informationCSE 421 Greedy Alg: Union Find/Dijkstra s Alg
CSE 1 Greedy Alg: Union Find/Dijkstra s Alg Shayan Oveis Gharan 1 Dijkstra s Algorithm Dijkstra(G, c, s) { d s 0 foreach (v V) d[v] //This is the key of node v foreach (v V) insert v onto a priority queue
More informationIntroduction to Algorithms Third Edition
Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein Introduction to Algorithms Third Edition The MIT Press Cambridge, Massachusetts London, England Preface xiü I Foundations Introduction
More informationDepartment of Computer Applications. MCA 312: Design and Analysis of Algorithms. [Part I : Medium Answer Type Questions] UNIT I
MCA 312: Design and Analysis of Algorithms [Part I : Medium Answer Type Questions] UNIT I 1) What is an Algorithm? What is the need to study Algorithms? 2) Define: a) Time Efficiency b) Space Efficiency
More informationGreedy Algorithms and Matroids. Andreas Klappenecker
Greedy Algorithms and Matroids Andreas Klappenecker Giving Change Coin Changing Suppose we have n types of coins with values v[1] > v[2] > > v[n] > 0 Given an amount C, a positive integer, the following
More informationGreedy Algorithms and Matroids. Andreas Klappenecker
Greedy Algorithms and Matroids Andreas Klappenecker Greedy Algorithms A greedy algorithm solves an optimization problem by working in several phases. In each phase, a decision is made that is locally optimal
More informationConflict Graphs for Combinatorial Optimization Problems
Conflict Graphs for Combinatorial Optimization Problems Ulrich Pferschy joint work with Andreas Darmann and Joachim Schauer University of Graz, Austria Introduction Combinatorial Optimization Problem CO
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 informationCSci 231 Final Review
CSci 231 Final Review Here is a list of topics for the final. Generally you are responsible for anything discussed in class (except topics that appear italicized), and anything appearing on the homeworks.
More informationThe Design of Approximation Algorithms
The Design of Approximation Algorithms David P. Williamson Cornell University David B. Shmoys Cornell University m Щ0 CAMBRIDGE UNIVERSITY PRESS Contents Preface page ix I An Introduction to the Techniques
More informationF. THOMSON LEIGHTON INTRODUCTION TO PARALLEL ALGORITHMS AND ARCHITECTURES: ARRAYS TREES HYPERCUBES
F. THOMSON LEIGHTON INTRODUCTION TO PARALLEL ALGORITHMS AND ARCHITECTURES: ARRAYS TREES HYPERCUBES MORGAN KAUFMANN PUBLISHERS SAN MATEO, CALIFORNIA Contents Preface Organization of the Material Teaching
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 informationIntroduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14
600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 23.1 Introduction We spent last week proving that for certain problems,
More informationCMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017
CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 Reading: Section 9.2 of DPV. Section 11.3 of KT presents a different approximation algorithm for Vertex Cover. Coping
More informationDesign and Analysis of Algorithms - - Assessment
X Courses» Design and Analysis of Algorithms Week 1 Quiz 1) In the code fragment below, start and end are integer values and prime(x) is a function that returns true if x is a prime number and false otherwise.
More information10. EXTENDING TRACTABILITY
0. EXTENDING TRACTABILITY finding small vertex covers solving NP-hard problems on trees circular arc coverings vertex cover in bipartite graphs Lecture slides by Kevin Wayne Copyright 005 Pearson-Addison
More informationComp Online Algorithms
Comp 7720 - Online Algorithms Notes 4: Bin Packing Shahin Kamalli University of Manitoba - Fall 208 December, 208 Introduction Bin packing is one of the fundamental problems in theory of computer science.
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 informationOnline Algorithms. Lecture 11
Online Algorithms Lecture 11 Today DC on trees DC on arbitrary metrics DC on circle Scheduling K-server on trees Theorem The DC Algorithm is k-competitive for the k server problem on arbitrary tree metrics.
More informationThe minimum spanning tree problem
The minimum spanning tree problem MST is a minimum cost connection problem on graphs The graph can model the connection in a (hydraulic, electric, telecommunication) network: the nodes are the points that
More informationCSE 417 Dynamic Programming (pt 4) Sub-problems on Trees
CSE 417 Dynamic Programming (pt 4) Sub-problems on Trees Reminders > HW4 is due today > HW5 will be posted shortly Dynamic Programming Review > Apply the steps... 1. Describe solution in terms of solution
More informationVertex Cover Approximations
CS124 Lecture 20 Heuristics can be useful in practice, but sometimes we would like to have guarantees. Approximation algorithms give guarantees. It is worth keeping in mind that sometimes approximation
More informationDynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed
Dynamic programming Solves a complex problem by breaking it down into subproblems Each subproblem is broken down recursively until a trivial problem is reached Computation itself is not recursive: problems
More informationKruskal s MST Algorithm
Kruskal s MST Algorithm CLRS Chapter 23, DPV Chapter 5 Version of November 5, 2014 Main Topics of This Lecture Kruskal s algorithm Another, but different, greedy MST algorithm Introduction to UNION-FIND
More informationModel Answer. Section A Q.1 - (20 1=10) B.Tech. (Fifth Semester) Examination Analysis and Design of Algorithm (IT3105N) (Information Technology)
B.Tech. (Fifth Semester) Examination 2013 Analysis and Design of Algorithm (IT3105N) (Information Technology) Model Answer. Section A Q.1 - (20 1=10) 1. Merge Sort uses approach to algorithm design. Ans:
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 informationProbabilistic embedding into trees: definitions and applications. Fall 2011 Lecture 4
Probabilistic embedding into trees: definitions and applications. Fall 2011 Lecture 4 Instructor: Mohammad T. Hajiaghayi Scribe: Anshul Sawant September 21, 2011 1 Overview Some problems which are hard
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 informationChapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 9 Greedy Technique Copyright 2007 Pearson Addison-Wesley. All rights reserved. Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that
More informationChapter 9 Graph Algorithms
Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)
More information11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions
Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is
More informationGraph Contraction. Graph Contraction CSE341T/CSE549T 10/20/2014. Lecture 14
CSE341T/CSE549T 10/20/2014 Lecture 14 Graph Contraction Graph Contraction So far we have mostly talking about standard techniques for solving problems on graphs that were developed in the context of sequential
More information23.2 Minimum Spanning Trees
23.2 Minimum Spanning Trees Kruskal s algorithm: Kruskal s algorithm solves the Minimum Spanning Tree problem in O( E log V ) time. It employs the disjoint-set data structure that is similarly used for
More informationSome Open Problems in Graph Theory and Computational Geometry
Some Open Problems in Graph Theory and Computational Geometry David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science ICS 269, January 25, 2002 Two Models of Algorithms Research
More informationCLASS: II YEAR / IV SEMESTER CSE CS 6402-DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION
CLASS: II YEAR / IV SEMESTER CSE CS 6402-DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION 1. What is performance measurement? 2. What is an algorithm? 3. How the algorithm is good? 4. What are the
More informationMachine Learning for Software Engineering
Machine Learning for Software Engineering Introduction and Motivation Prof. Dr.-Ing. Norbert Siegmund Intelligent Software Systems 1 2 Organizational Stuff Lectures: Tuesday 11:00 12:30 in room SR015 Cover
More informationOblivious Routing on Node-Capacitated and Directed Graphs
Oblivious Routing on Node-Capacitated and Directed Graphs Mohammad Thagi Hajiaghayi Robert D. Kleinberg Tom Leighton Harald Räcke Abstract Oblivious routing algorithms for general undirected networks were
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a
More informationGIAN Course on Distributed Network Algorithms. Network Topologies and Local Routing
GIAN Course on Distributed Network Algorithms Network Topologies and Local Routing Stefan Schmid @ T-Labs, 2011 GIAN Course on Distributed Network Algorithms Network Topologies and Local Routing If you
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationCS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi
CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems
More informationGreat Theoretical Ideas in Computer Science
15-251 Great Theoretical Ideas in Computer Science Lecture 20: Randomized Algorithms November 5th, 2015 So far Formalization of computation/algorithm Computability / Uncomputability Computational complexity
More informationAlgorithms (IX) Guoqiang Li. School of Software, Shanghai Jiao Tong University
Algorithms (IX) Guoqiang Li School of Software, Shanghai Jiao Tong University Q: What we have learned in Algorithm? Algorithm Design Algorithm Design Basic methodologies: Algorithm Design Algorithm Design
More informationAlgorithms. Algorithms ALGORITHM DESIGN
Algorithms ROBERT SEDGEWICK KEVIN WAYNE ALGORITHM DESIGN Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE http://algs4.cs.princeton.edu analysis of algorithms greedy divide-and-conquer
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 informationSankalchand Patel College of Engineering - Visnagar Department of Computer Engineering and Information Technology. Assignment
Class: V - CE Sankalchand Patel College of Engineering - Visnagar Department of Computer Engineering and Information Technology Sub: Design and Analysis of Algorithms Analysis of Algorithm: Assignment
More informationApplied Algorithm Design Lecture 3
Applied Algorithm Design Lecture 3 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 1 / 75 PART I : GREEDY ALGORITHMS Pietro Michiardi (Eurecom) Applied Algorithm
More informationCSC 8301 Design & Analysis of Algorithms: Kruskal s and Dijkstra s Algorithms
CSC 8301 Design & Analysis of Algorithms: Kruskal s and Dijkstra s Algorithms Professor Henry Carter Fall 2016 Recap Greedy algorithms iterate locally optimal choices to construct a globally optimal solution
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 2018 Design and Analysis of Algorithms Lecture 9: Minimum Spanning Trees Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Goal: MST cut and cycle properties Prim, Kruskal greedy algorithms
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 informationSlides on Approximation algorithms, part 2: Basic approximation algorithms
Approximation slides Slides on Approximation algorithms, part : Basic approximation algorithms Guy Kortsarz Approximation slides Finding a lower bound; the TSP example The optimum TSP cycle P is an edge
More informationParallel Computing in Paderborn: The SFB 376 Massive Parallelism Algorithms, Design Methods, Applications?
Parallel Computing in Paderborn: The SFB 376 Massive Parallelism Algorithms, Design Methods, Applications? Friedhelm Meyer auf der Heide, Thomas Decker Department of Mathematics and Computer Science and
More informationDynamic Programming Homework Problems
CS 1510 Dynamic Programming Homework Problems 1. Consider the recurrence relation T(0) = T(1) = 2 and for n > 1 n 1 T(n) = T(i)T(i 1) i=1 We consider the problem of computing T(n) from n. (a) Show that
More informationGreedy Algorithms. Informal Definition A greedy algorithm makes its next step based only on the current state and simple calculations on the input.
Greedy Algorithms Informal Definition A greedy algorithm makes its next step based only on the current state and simple calculations on the input. easy to design not always correct challenge is to identify
More informationFrom Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols
SIAM Journal on Computing to appear From Static to Dynamic Routing: Efficient Transformations of StoreandForward Protocols Christian Scheideler Berthold Vöcking Abstract We investigate how static storeandforward
More informationRandomized Algorithms
Randomized Algorithms Last time Network topologies Intro to MPI Matrix-matrix multiplication Today MPI I/O Randomized Algorithms Parallel k-select Graph coloring Assignment 2 Parallel I/O Goal of Parallel
More informationCOMP 251 Winter 2017 Online quizzes with answers
COMP 251 Winter 2017 Online quizzes with answers Open Addressing (2) Which of the following assertions are true about open address tables? A. You cannot store more records than the total number of slots
More informationCSC 373: Algorithm Design and Analysis Lecture 8
CSC 373: Algorithm Design and Analysis Lecture 8 Allan Borodin January 23, 2013 1 / 19 Lecture 8: Announcements and Outline Announcements No lecture (or tutorial) this Friday. Lecture and tutorials as
More informationA General Approach to Online Network Optimization Problems
A General Approach to Online Network Optimization Problems NOGA ALON Schools of Mathematics and Computer Science, Tel Aviv University, Tel Aviv, Israel BARUCH AWERBUCH Computer Science Dept., Johns Hopkins
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 information