Distributed Maximal Matching: Greedy is Optimal

Size: px
Start display at page:

Download "Distributed Maximal Matching: Greedy is Optimal"

Transcription

1 Distributed Maximal Matching: Greedy is Optimal Jukka Suomela Helsinki Institute for Information Technology HIIT University of Helsinki Joint work with Juho Hirvonen Weimann Institute of Science, 7 November 0

2 Background

3 Maximal Matchings Input Output

4 Distributed Algorithms Graph G = input = communication network node = computer edge = communication link

5 Distributed Algorithms Initially, each node only knows its incident edges i.e., each node knows its radius-0 neighbourhood 5

6 Distributed Algorithms Nodes can exchange messages to learn more about graph G communication round: discover radius- neighbourhood 6

7 Distributed Algorithms Nodes can exchange messages to learn more about graph G communication rounds: discover radius- neighbourhood 7

8 Distributed Algorithms Nodes can exchange messages to learn more about graph G communication rounds: discover radius- neighbourhood all nodes can do this in parallel 8

9 Distributed Algorithms After T rounds, all nodes know their radius-t neighbourhoods in G 9

10 Distributed Algorithms After T rounds, all nodes know their radius-t neighbourhoods in G local view 0

11 Distributed Algorithms Mapping: local view local output Each node decides whether it is matched and with whom

12 Distributed Algorithms Time = number of communication rounds Equivalent: Distributed algorithm that runs in time T All nodes run the same algorithms; after T synchronous communication rounds all nodes announce their local outputs Mapping from radius-t neighbourhoods to local outputs

13 Distributed Algorithms Time = number of communication rounds How fast can we find a maximal matching? O(n)? O(log n)? O()?

14 Distributed Algorithms Time = number of communication rounds How fast can we find a maximal matching? O(n)? O(log n)? O()? Maybe we should first make sure that we can find a maximal matching at all

15 Symmetry Breaking Some kind of symmetry-breaking is needed! identical local views, identical local outputs 5

16 Symmetry Breaking Unique identifiers Port numbering Node colouring Edge colouring Randomness Geometry 6

17 Symmetry Breaking Unique identifiers Port numbering Node colouring Edge colouring Randomness Geometry } another world 7

18 Symmetry Breaking Unique identifiers Port numbering Node colouring } not enough! Edge colouring Randomness Geometry } another world 8

19 Symmetry Breaking Unique identifiers n nodes: identifiers subset of {,, poly(n)} I will refer to this when discussing related work Edge colouring proper k-colouring of edges enough for our purposes this what we use today 9

20 Greedy Algorithm Given: k-edge coloured graph Input 0

21 Greedy Algorithm Greedily add edges of colour, Input Greedy algorithm

22 Greedy Algorithm Greedily add edges of colour,, Input Greedy algorithm

23 Greedy Algorithm Greedily add edges of colour,,, Input Greedy algorithm

24 Greedy Algorithm Greedily add edges of colour,,, k Input Greedy algorithm

25 Greedy Algorithm That s it maximal matching in time O(k) Input Greedy algorithm Output 5

26 Greedy Algorithm Running time is exactly k initially each node knows the colours of incident edges 6

27 Greedy Algorithm Running time is exactly k Analysis is tight Example for case k = Identical radius- neighbourhoods, different outputs: 7

28 Greedy Algorithm Running time is exactly k Analysis is tight But could we design a faster algorithm? turns out that this is connected to some fundamental open questions of the field 8

29 Related Work 9

30 n and Running time as a function of what? Two parameters commonly used: n = number of nodes = maximum degree We often assume that n and are known or some upper bounds of them 0

31 Problem maximal matching ( +)-vertex colouring ( -)-edge colouring maximal edge packing vertex cover -approx. Upper bound + log* n + log* n + log* n Lower bound polylog( ) + log* n polylog( ) + log* n polylog( ) + log* n polylog( ) polylog( ) Positive: Panconesi Rii (00), Barenboim Elkin (009), Kuhn (009), Åstrand Suomela (00), Negative: Linial (99), Kuhn et al. (00, 006)

32 n and Time complexity is well-understood as a function of n asymptotically tight upper and lower bounds But we do not really understand time complexity as a function of exponential gap

33 k and What about edge-coloured graphs? k = number of colours, = maximum degree Maximal matching: upper bound: O( + log* k) lower bound: Ω(polylog( ) + log* k) Again, an exponential gap for

34 k and What about edge-coloured graphs? k = number of colours, = maximum degree Maximal matching: upper bound: O( + log* k) lower bound: Ω(polylog( ) + log* k) Ω( + log* k) Again, an exponential gap for

35 Contributions Time complexity of finding maximal matchings in k-edge-coloured graphs General graphs: k matching upper bound: k (greedy) Bounded-degree graphs: Ω( + log* k) matching upper bound: O( + log* k) (an adaptation of Panconesi Rii 00) 5

36 Lower Bound 6

37 Plan Focus: d-regular k-edge-coloured graphs If d = k: trivial to find a maximal matching in constant time (pick a colour class) If d = k : as difficult as the general case! we show that we need at least d rounds 7

38 Plan Given k, define d = k, assume: algorithm A finds a maximal matching in any d-regular k-edge-coloured graph We construct a pair of infinite trees T, T: root nodes have identical (k )-neighbourhoods output of A: root of T matched, root of T unmatched running time of A is at least k 8

39 Tools Now we need tools for constructing and manipulating infinite edge-coloured trees Warning: the manuscript uses a very different formalism (with some group-theoretic constructions) in this talk I ll try to keep everything lightweight, and just present the key ideas with illustrations 9

40 Node Colours Node colour = the unique missing colour 0

41 Templates Degree < d

42 Templates Degree < d: add loops

43 Templates Degree < d: add loops, unfold loops

44 Templates Unfolding preserves traversals

45 Templates 5 Natural homomorphism

46 Templates Compact representations of trees = 6

47 Templates = = 7

48 Templates = = 8

49 Templates origin 9

50 Templates same origin same local view same output 50

51 Templates What is the output of A here? 5

52 Templates What is the output of A here? 5

53 Templates 5 What is the output of A here? = What is the output of A here? Definition!

54 Templates What is the output of A here? From now on we can study the output of algorithm A on templates 5

55 Templates unmatched unmatched non-maximal Template of degree < d: all nodes are matched 55

56 Templates 56 Output x: matched along the edge of colour x

57 Templates 57 Output x: matched along the edge of colour x

58 Base Case Apply algorithms A to templates of degree ero Defines a mapping template output from node colours to outputs? 58

59 Base Case h: {,,,k} {,,,k} no fixed points template output h 59

60 Base Case h: {,,,k} {,,,k} no fixed points there are distinct x, y, with h(x) = y h() y template x y output 60

61 Base Case h: {,,,k} {,,,k} no fixed points there are distinct x, y, with h(x) = y h() y template x y output 6

62 Base Case x y edge of colour y exists, in matching x y edge of colour y exists, but not in matching 6

63 Base Case x y x y x K y y L x x x 6

64 Base Case x y x y x K x y X x x y x y x L output in X cannot be copied from K & L something must change! 6

65 Base Case x y x x y x y x x y x degree templates, same radius-0 view, different output 65

66 Base Case x y x x y x y x x y x degree templates, same radius-0 view, different output 66

67 Inductive Step x S Given: degree i templates, same radius-(i ) view, different output T Construct: degree i+ templates, same radius-i view, different output (here i = ) 67

68 Inductive Step S x Choose one loop per node Prefer loops that are matched in T T Then unfold these loops 68

69 Inductive Step K x x x L 69

70 Inductive Step K x x x X x L again, something must change in the output! 70

71 Inductive Step K x x x X x L 7

72 Inductive Step same radius-0 view x x x x 7

73 Inductive Step same radius-0 view same radius-0 view x x x x 7

74 Inductive Step same radius- view x x x x 7

75 Inductive Step same radius- view x degree templates, same radius- view, different output 75

76 Inductive Step x Given: degree i templates, same radius-(i ) view, different output x Construct: degree i+ templates, same radius-i view, different output (here i = ) 76

77 Inductive Step K L x x 77

78 Inductive Step K X L x x x something must change 78

79 Inductive Step K X L x x x 79

80 Inductive Step K X same radius- view x 80

81 Inductive Step K X L x x x 8

82 Inductive Step same radius- view L X x x x 8

83 Conclusions x x x x x By induction, we can construct: two degree-d trees same radius-(d ) view different output 8

84 Conclusions x x x x x Algorithm A requires at least k rounds in a k-edge-coloured graph Algorithm A cannot be faster than the greedy algorithm 8

85 Conclusions Greedy is optimal 85

86 Conclusions Maximal matching in k-edge-coloured graphs requires: k communication rounds in general Θ( + log* k) rounds in graphs of degree Still open: what if we have unique identifiers? or both edge colouring and node colouring? 86

Fast distributed graph algorithms. Juho Hirvonen Aalto University & HIIT

Fast distributed graph algorithms. Juho Hirvonen Aalto University & HIIT Fast distributed graph algorithms Juho Hirvonen Aalto University & HIIT Distributed 2 Distributed 3 Algorithms 4 Fast - the number of nodes n - the maximum degree Δ 5 Fast - the number of nodes n - the

More information

Models of distributed computing: port numbering and local algorithms

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

Lower Bounds for. Local Approximation. Mika Göös, Juho Hirvonen & Jukka Suomela (HIIT) Göös et al. (HIIT) Local Approximation 2nd April / 19

Lower Bounds for. Local Approximation. Mika Göös, Juho Hirvonen & Jukka Suomela (HIIT) Göös et al. (HIIT) Local Approximation 2nd April / 19 Lower Bounds for Local Approximation Mika Göös, Juho Hirvonen & Jukka Suomela (HIIT) Göös et al. (HIIT) Local Approximation nd April 0 / 9 Lower Bounds for Local Approximation We prove: Local algorithms

More information

Bipartite Vertex Cover

Bipartite Vertex Cover Bipartite Vertex Cover Mika Göös Jukka Suomela University of Toronto & HIIT University of Helsinki & HIIT Göös and Suomela Bipartite Vertex Cover 18th October 2012 1 / 12 LOCAL model Göös and Suomela Bipartite

More information

Throughout this course, we use the terms vertex and node interchangeably.

Throughout this course, we use the terms vertex and node interchangeably. Chapter Vertex Coloring. Introduction Vertex coloring is an infamous graph theory problem. It is also a useful toy example to see the style of this course already in the first lecture. Vertex coloring

More information

Exploiting Locality in Distributed SDN Control. Stefan Schmid (TU Berlin & T-Labs) Jukka Suomela (Uni Helsinki)

Exploiting Locality in Distributed SDN Control. Stefan Schmid (TU Berlin & T-Labs) Jukka Suomela (Uni Helsinki) Exploiting Locality in Distributed SDN Control Stefan Schmid (TU Berlin & T-Labs) Jukka Suomela (Uni Helsinki) 1 My view of SDN before I met Marco and Dan 2 Stefan Schmid (T-Labs) Logically Centralized,

More information

Lower bounds for maximal matchings and maximal independent sets

Lower bounds for maximal matchings and maximal independent sets arxiv:90.044v [cs.dc] 8 Jan 09 Lower bounds for maximal matchings and maximal independent sets Alkida Balliu alkida.balliu@aalto.fi Aalto University Sebastian Brandt brandts@ethz.ch ETH Zurich Juho Hirvonen

More information

A Lower Bound for the Distributed Lovász Local Lemma

A Lower Bound for the Distributed Lovász Local Lemma A Lower Bound for the Distributed Lovász Local Lemma Tuomo Lempiäinen Department of Computer Science, Aalto University Helsinki Algorithms Seminar, University of Helsinki 3rd December 2015 1 / 29 Authors

More information

Fabian Kuhn. Nicla Bernasconi, Dan Hefetz, Angelika Steger

Fabian Kuhn. Nicla Bernasconi, Dan Hefetz, Angelika Steger Algorithms and Lower Bounds for Distributed Coloring Problems Fabian Kuhn Parts are joint work with Parts are joint work with Nicla Bernasconi, Dan Hefetz, Angelika Steger Given: Network = Graph G Distributed

More information

Instructions. Notation. notation: In particular, t(i, 2) = 2 2 2

Instructions. Notation. notation: In particular, t(i, 2) = 2 2 2 Instructions Deterministic Distributed Algorithms, 10 21 May 2010, Exercises http://www.cs.helsinki.fi/jukka.suomela/dda-2010/ Jukka Suomela, last updated on May 20, 2010 exercises are merely suggestions

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

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

arxiv: v1 [cs.dc] 13 Oct 2008

arxiv: v1 [cs.dc] 13 Oct 2008 A SIMPLE LOCAL 3-APPROXIMATION ALGORITHM FOR VERTEX COVER VALENTIN POLISHCHUK AND JUKKA SUOMELA arxiv:0810.2175v1 [cs.dc] 13 Oct 2008 Abstract. We present a local algorithm (constant-time distributed algorithm)

More information

Vertex Coloring. Chapter Problem & Model 6 CHAPTER 1. VERTEX COLORING. Figure 1.2: 3-colorable graph with a valid coloring.

Vertex Coloring. Chapter Problem & Model 6 CHAPTER 1. VERTEX COLORING. Figure 1.2: 3-colorable graph with a valid coloring. 6 CHAPTER 1. VERTEX COLORING 1 2 Chapter 1 Vertex Coloring Vertex coloring is an infamous graph theory problem. It is also a useful toy example to see the style of this course already in the first lecture.

More information

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

Kernelization via Sampling with Applications to Finding Matchings and Related Problems in Dynamic Graph Streams

Kernelization via Sampling with Applications to Finding Matchings and Related Problems in Dynamic Graph Streams Kernelization via Sampling with Applications to Finding Matchings and Related Problems in Dynamic Graph Streams Sofya Vorotnikova University of Massachusetts Amherst Joint work with Rajesh Chitnis, Graham

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/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

Distributed Algorithms

Distributed Algorithms Distributed Algorithms Jukka Suomela Aalto University, Finland 4 December 08 http://users.ics.aalto.fi/suomela/da/ Contents Foreword About the Course............................... vi Acknowledgements..............................

More information

Problem 1.1 (Vertex Coloring). Given an undirected graph G = (V, E), assign a color c v to each vertex v V such that the following holds: e = (v, w)

Problem 1.1 (Vertex Coloring). Given an undirected graph G = (V, E), assign a color c v to each vertex v V such that the following holds: e = (v, w) Chapter 1 Vertex Coloring Vertex coloring is an infamous graph theory problem. It is also a useful toy example to see the style of this course already in the first lecture. Vertex coloring does have quite

More information

Approximating max-min linear programs with local algorithms

Approximating max-min linear programs with local algorithms Approximating max-min linear programs with local algorithms Patrik Floréen, Marja Hassinen, Petteri Kaski, Topi Musto, Jukka Suomela HIIT seminar 29 February 2008 Max-min linear programs: Example 2 / 24

More information

Distributed Algorithms

Distributed Algorithms Distributed Algorithms Jukka Suomela Aalto University, Finland 4 December 2018 http://users.ics.aalto.fi/suomela/da/ Contents Foreword About the Course................... x Acknowledgements..................

More information

Local 3-approximation algorithms for weighted dominating set and vertex cover in quasi unit-disk graphs

Local 3-approximation algorithms for weighted dominating set and vertex cover in quasi unit-disk graphs Local 3-approximation algorithms for weighted dominating set and vertex cover in quasi unit-disk graphs Marja Hassinen, Valentin Polishchuk, Jukka Suomela HIIT, University of Helsinki, Finland LOCALGOS

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 5.1 Introduction You should all know a few ways of sorting in O(n log n)

More information

Streaming Algorithms for Matching Size in Sparse Graphs

Streaming Algorithms for Matching Size in Sparse Graphs Streaming Algorithms for Matching Size in Sparse Graphs Graham Cormode g.cormode@warwick.ac.uk Joint work with S. Muthukrishnan (Rutgers), Morteza Monemizadeh (Rutgers Amazon) Hossein Jowhari (Warwick

More information

A Course on Deterministic Distributed Algorithms. Jukka Suomela

A Course on Deterministic Distributed Algorithms. Jukka Suomela A Course on Deterministic Distributed Algorithms Jukka Suomela 8 April 204 Contents Introduction and Preliminaries. Scope............................ Distributed Systems as a Model of Computation...................2

More information

A Course on Deterministic Distributed Algorithms. Jukka Suomela

A Course on Deterministic Distributed Algorithms. Jukka Suomela A Course on Deterministic Distributed Algorithms Jukka Suomela 8 April 04 Contents Introduction and Preliminaries. Scope................................. Distributed Systems as a Model of Computation...

More information

Locality in Distributed Graph Algorithms

Locality in Distributed Graph Algorithms Locality in Distributed Graph Algorithms Pierre Fraigniaud To cite this version: Pierre Fraigniaud. Locality in Distributed Graph Algorithms. Encyclopedia of Algorithms, Springer, pp.1143-1148, 2016, 978-1-4939-2863-7.

More information

Locality- Sensitive Hashing Random Projections for NN Search

Locality- Sensitive Hashing Random Projections for NN Search Case Study 2: Document Retrieval Locality- Sensitive Hashing Random Projections for NN Search Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade April 18, 2017 Sham Kakade

More information

Algorithm Design and Analysis

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

Improved Distributed Degree Splitting and Edge Coloring

Improved Distributed Degree Splitting and Edge Coloring Improved Distributed Degree Splitting and Edge Coloring arxiv:1706.04746v1 [cs.dc] 15 Jun 2017 Mohsen Ghaffari ETH Zurich ghaffari@inf.ethz.ch Juho Hirvonen IRIF, CNRS, and University Paris Diderot juho.hirvonen@irif.fr

More information

Distributed Coloring in. Kishore Kothapalli Department of Computer Science Johns Hopkins University Baltimore, MD USA

Distributed Coloring in. Kishore Kothapalli Department of Computer Science Johns Hopkins University Baltimore, MD USA Distributed Coloring in Bit Rounds Kishore Kothapalli Department of Computer Science Johns Hopkins University Baltimore, MD USA Vertex Coloring Proper coloring Not a Proper coloring 1 Coloring a Cycle

More information

Combinatorial Optimization

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

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Optimization I : Brute force and Greedy strategy

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

Approximation Algorithms

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

LCL problems on grids

LCL problems on grids LCL problems on grids Sebastian Brandt sebastian.brandt@tik.ee.ethz.ch ETH Zürich Juho Hirvonen juho.hirvonen@aalto.fi IRIF, CNRS and University Paris Diderot Janne H. Korhonen janne.h.korhonen@aalto.fi

More information

CS 4349 Lecture October 18th, 2017

CS 4349 Lecture October 18th, 2017 CS 4349 Lecture October 18th, 2017 Main topics for #lecture include #minimum_spanning_trees. Prelude Homework 6 due today. Homework 7 due Wednesday, October 25th. Homework 7 has one normal homework problem.

More information

Line Arrangements. Applications

Line Arrangements. Applications Computational Geometry Chapter 9 Line Arrangements 1 Line Arrangements Applications On the Agenda 2 1 Complexity of a Line Arrangement Given a set L of n lines in the plane, their arrangement A(L) is the

More information

Survey of Local Algorithms

Survey of Local Algorithms Survey of Local Algorithms JUKKA SUOMELA, University of Helsinki and Helsinki Institute for Information Technology HIIT 4 A local algorithm is a distributed algorithm that runs in constant time, independently

More information

Lecture 6: Linear Programming for Sparsest Cut

Lecture 6: Linear Programming for Sparsest Cut Lecture 6: Linear Programming for Sparsest Cut Sparsest Cut and SOS The SOS hierarchy captures the algorithms for sparsest cut, but they were discovered directly without thinking about SOS (and this is

More information

Matching Theory. Figure 1: Is this graph bipartite?

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

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Local algorithms. Lenzen, Christoph. Springer-Verlag 2009

Local algorithms. Lenzen, Christoph.   Springer-Verlag 2009 https://helda.helsinki.fi Local algorithms Lenzen, Christoph Springer-Verlag 2009 Lenzen, C, Suomela, J & Wattenhofer, R 2009, Local algorithms : Self-stabilization on speed. in R Guerraoui & F Petit (eds),

More information

Draft Notes 1 : Scaling in Ad hoc Routing Protocols

Draft Notes 1 : Scaling in Ad hoc Routing Protocols Draft Notes 1 : Scaling in Ad hoc Routing Protocols Timothy X Brown University of Colorado April 2, 2008 2 Introduction What is the best network wireless network routing protocol? This question is a function

More information

CS 4349 Lecture October 23rd, 2017

CS 4349 Lecture October 23rd, 2017 CS 4349 Lecture October 23rd, 2017 Main topics for #lecture include #minimum_spanning_trees and #SSSP. Prelude Homework 7 due Wednesday, October 25th. Don t forget about the extra credit. Minimum Spanning

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin September 20, 2012 1 / 1 Lecture 2 We continue where we left off last lecture, namely we are considering a PTAS for the the knapsack

More information

CS 4407 Algorithms. Lecture 8: Circumventing Intractability, using Approximation and other Techniques

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

Approximation Algorithms

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

Distributed Algorithms 6.046J, Spring, Nancy Lynch

Distributed Algorithms 6.046J, Spring, Nancy Lynch Distributed Algorithms 6.046J, Spring, 205 Nancy Lynch What are Distributed Algorithms? Algorithms that run on networked processors, or on multiprocessors that share memory. They solve many kinds of problems:

More information

Optimisation While Streaming

Optimisation While Streaming Optimisation While Streaming Amit Chakrabarti Dartmouth College Joint work with S. Kale, A. Wirth DIMACS Workshop on Big Data Through the Lens of Sublinear Algorithms, Aug 2015 Combinatorial Optimisation

More information

Approximation Algorithms

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

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs 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

LCL problems on grids

LCL problems on grids LCL problems on grids Sebastian Brandt sebastian.brandt@tik.ee.ethz.ch ETH Zürich Juho Hirvonen juho.hirvonen@aalto.fi IRIF, CNRS and University Paris Diderot Janne H. Korhonen janne.h.korhonen@aalto.fi

More information

CMSC Introduction to Algorithms Spring 2012 Lecture 16

CMSC Introduction to Algorithms Spring 2012 Lecture 16 CMSC 351 - Introduction to Algorithms Spring 2012 Lecture 16 Instructor: MohammadTaghi Hajiaghayi Scribe: Rajesh Chitnis 1 Introduction In this lecture we will look at Greedy Algorithms and Dynamic Programming.

More information

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Chapter 8 DOMINATING SETS Distributed Computing Group Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

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

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Distributed Computing Group Chapter 8 DOMINATING SETS Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

COMP Analysis of Algorithms & Data Structures

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

The Power of Locality

The Power of Locality GIAN Course on Distributed Network Algorithms The Power of Locality Case Study: Graph Coloring Stefan Schmid @ T-Labs, 2011 Case Study: Graph Coloring Case Study: Graph Coloring Assign colors to nodes.

More information

Computer Science Approach to problem solving

Computer Science Approach to problem solving Computer Science Approach to problem solving If my boss / supervisor / teacher formulates a problem to be solved urgently, can I write a program to efficiently solve this problem??? Polynomial-Time Brute

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15 600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15 14.1 Introduction Today we re going to talk about algorithms for computing shortest

More information

Geometric data structures:

Geometric data structures: Geometric data structures: Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade Sham Kakade 2017 1 Announcements: HW3 posted Today: Review: LSH for Euclidean distance Other

More information

Direct Routing: Algorithms and Complexity

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

Integral Geometry and the Polynomial Hirsch Conjecture

Integral Geometry and the Polynomial Hirsch Conjecture Integral Geometry and the Polynomial Hirsch Conjecture Jonathan Kelner, MIT Partially based on joint work with Daniel Spielman Introduction n A lot of recent work on Polynomial Hirsch Conjecture has focused

More information

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Relations Let s talk about relations! Grade 6 Math Circles November 6 & 7 2018 Relations, Functions, and

More information

The Dominating Set Problem: (a few) variants and results

The Dominating Set Problem: (a few) variants and results The Dominating Set Problem: (a few) variants and results Gerasimos G. Pollatos gpol@di.uoa.gr 23 November 2007 Definition and preliminaries Input: Graph G = (V, E), V = n and E = m. Output: Subset DS of

More information

Theorem 2.9: nearest addition algorithm

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

Think Global Act Local

Think Global Act Local Think Global Act Local Roger Wattenhofer ETH Zurich Distributed Computing www.disco.ethz.ch Town Planning Patrick Geddes Architecture Buckminster Fuller Computer Architecture Caching Robot Gathering e.g.,

More information

GIAN Course on Distributed Network Algorithms. Spanning Tree Constructions

GIAN Course on Distributed Network Algorithms. Spanning Tree Constructions GIAN Course on Distributed Network Algorithms Spanning Tree Constructions Stefan Schmid @ T-Labs, 2011 Spanning Trees Attactive infrastructure : sparse subgraph ( loop-free backbone ) connecting all nodes.

More information

All-to-All Communication

All-to-All Communication Network Algorithms All-to-All Communication Thanks to Thomas Locher from ABB Research for basis of slides! Stefan Schmid @ T-Labs, 2011 Repetition Tree: connected graph without cycles Spanning subgraph:

More information

Introduction to Asymptotic Running Time Analysis CMPSC 122

Introduction to Asymptotic Running Time Analysis CMPSC 122 Introduction to Asymptotic Running Time Analysis CMPSC 122 I. Comparing Two Searching Algorithms Let's begin by considering two searching algorithms you know, both of which will have input parameters of

More information

arxiv: v1 [cs.ds] 10 Apr 2017

arxiv: v1 [cs.ds] 10 Apr 2017 Deterministic Distributed Edge-Coloring via Hypergraph Maximal Matching arxiv:1704.02767v1 [cs.ds] 10 Apr 2017 Manuela Fischer ETH Zurich manuela.fischer@inf.ethz.ch Mohsen Ghaffari ETH Zurich ghaffari@inf.ethz.ch

More information

Realizing Planar Graphs as Convex Polytopes. Günter Rote Freie Universität Berlin

Realizing Planar Graphs as Convex Polytopes. Günter Rote Freie Universität Berlin Realizing Planar Graphs as Convex Polytopes Günter Rote Freie Universität Berlin General Problem Statement GIVEN: a combinatorial type of 3-dimensional polytope (a 3-connected planar graph) [ + additional

More information

Problem Set 2 Solutions

Problem Set 2 Solutions Problem Set 2 Solutions Graph Theory 2016 EPFL Frank de Zeeuw & Claudiu Valculescu 1. Prove that the following statements about a graph G are equivalent. - G is a tree; - G is minimally connected (it is

More information

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1 UNIT I INTRODUCTION CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1. Define Graph. A graph G = (V, E) consists

More information

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

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

Lecture 11: The PRAM Model

Lecture 11: The PRAM Model Comp 260: Advanced Algorithms Tufts University, Spring 2016 Prof. Lenore Cowen Scribe: Zhuting Xue Lecture 11: The PRAM Model 1 Basic Notations The PRAM stands for Parallel Random Access Machine, where

More information

Coping with NP-Completeness

Coping with NP-Completeness Coping with NP-Completeness Siddhartha Sen Questions: sssix@cs.princeton.edu Some figures obtained from Introduction to Algorithms, nd ed., by CLRS Coping with intractability Many NPC problems are important

More information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014

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

FINAL EXAM SOLUTIONS

FINAL EXAM SOLUTIONS COMP/MATH 3804 Design and Analysis of Algorithms I Fall 2015 FINAL EXAM SOLUTIONS Question 1 (12%). Modify Euclid s algorithm as follows. function Newclid(a,b) if a

More information

Graphs and Algorithms 2016

Graphs and Algorithms 2016 Graphs and Algorithms 2016 Teachers: Nikhil Bansal and Jesper Nederlof TA: Shashwat Garg (Office Hours: Thursday: Pick??) Webpage: www.win.tue.nl/~nikhil/courses/2wo08 (for up to date information, links

More information

Online Algorithms for Mul2-commodity Network Design

Online Algorithms for Mul2-commodity Network Design Online Algorithms for Mul2-commodity Network Design Debmalya Panigrahi Joint work with Deeparnab Chakrabarty, Alina Ene, and Ravishankar Krishnaswamy Thanks Alina for sharing slides! Online Network Design:

More information

Homomorphic Sketches Shrinking Big Data without Sacrificing Structure. Andrew McGregor University of Massachusetts

Homomorphic Sketches Shrinking Big Data without Sacrificing Structure. Andrew McGregor University of Massachusetts Homomorphic Sketches Shrinking Big Data without Sacrificing Structure Andrew McGregor University of Massachusetts 4Mv 2 2 32 3 2 3 2 3 4 M 5 3 5 = v 6 7 4 5 = 4Mv5 = 4Mv5 Sketches: Encode data as vector;

More information

8 Colouring Planar Graphs

8 Colouring Planar Graphs 8 Colouring Planar Graphs The Four Colour Theorem Lemma 8.1 If G is a simple planar graph, then (i) 12 v V (G)(6 deg(v)) with equality for triangulations. (ii) G has a vertex of degree 5. Proof: For (i),

More information

Assignment 5: Solutions

Assignment 5: Solutions Algorithm Design Techniques Assignment 5: Solutions () Port Authority. [This problem is more commonly called the Bin Packing Problem.] (a) Suppose K = 3 and (w, w, w 3, w 4 ) = (,,, ). The optimal solution

More information

CMPSCI611: Approximating SET-COVER Lecture 21

CMPSCI611: Approximating SET-COVER Lecture 21 CMPSCI611: Approximating SET-COVER Lecture 21 Today we look at two more examples of approximation algorithms for NP-hard optimization problems. The first, for the SET-COVER problem, has an approximation

More information

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H.

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H. Abstract We discuss a class of graphs called perfect graphs. After defining them and getting intuition with a few simple examples (and one less simple example), we present a proof of the Weak Perfect Graph

More information

18 Spanning Tree Algorithms

18 Spanning Tree Algorithms November 14, 2017 18 Spanning Tree Algorithms William T. Trotter trotter@math.gatech.edu A Networking Problem Problem The vertices represent 8 regional data centers which need to be connected with high-speed

More information

CSE 21 Mathematics for Algorithm and System Analysis

CSE 21 Mathematics for Algorithm and System Analysis CSE 21 Mathematics for Algorithm and System Analysis Unit 4: Basic Concepts in Graph Theory Section 3: Trees 1 Review : Decision Tree (DT-Section 1) Root of the decision tree on the left: 1 Leaves of the

More information

Lecture 4: Graph Algorithms

Lecture 4: Graph Algorithms Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e

More information

Approximation Algorithms

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

Approximation Algorithms

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

Introduction to Graph Theory

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

Graphs and Algorithms 2015

Graphs and Algorithms 2015 Graphs and Algorithms 2015 Teachers: Nikhil Bansal and Jorn van der Pol Webpage: www.win.tue.nl/~nikhil/courses/2wo08 (for up to date information, links to reading material) Goal: Have fun with discrete

More information

ALGORITHM DESIGN GREEDY ALGORITHMS. University of Waterloo

ALGORITHM DESIGN GREEDY ALGORITHMS. University of Waterloo ALORITHM DSIN RDY ALORITHMS University of Waterloo LIST OF SLIDS - List of Slides reedy Approaches xample: Making Change 4 Making Change (cont.) 5 Minimum Spanning Tree 6 xample 7 Approaches that Don t

More information

CS 395T Computational Learning Theory. Scribe: Wei Tang

CS 395T Computational Learning Theory. Scribe: Wei Tang CS 395T Computational Learning Theory Lecture 1: September 5th, 2007 Lecturer: Adam Klivans Scribe: Wei Tang 1.1 Introduction Many tasks from real application domain can be described as a process of learning.

More information

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review 1 Review 1 Something I did not emphasize enough last time is that during the execution of depth-firstsearch, we construct depth-first-search trees. One graph may have multiple depth-firstsearch trees,

More information

MA 1128: Lecture 02 1/22/2018

MA 1128: Lecture 02 1/22/2018 MA 1128: Lecture 02 1/22/2018 Exponents Scientific Notation 1 Exponents Exponents are used to indicate how many copies of a number are to be multiplied together. For example, I like to deal with the signs

More information

Direct Routing: Algorithms and Complexity

Direct Routing: Algorithms and Complexity Direct Routing: Algorithms and Complexity Costas Busch Malik Magdon-Ismail Marios Mavronicolas Paul Spirakis December 13, 2004 Abstract Direct routing is the special case of bufferless routing where N

More information

We will show that the height of a RB tree on n vertices is approximately 2*log n. In class I presented a simple structural proof of this claim:

We will show that the height of a RB tree on n vertices is approximately 2*log n. In class I presented a simple structural proof of this claim: We have seen that the insert operation on a RB takes an amount of time proportional to the number of the levels of the tree (since the additional operations required to do any rebalancing require constant

More information