Arithmetic Progression Graphs

Size: px
Start display at page:

Download "Arithmetic Progression Graphs"

Transcription

1 Arithmetic Progression Graphs Michael J. Dinneen, July 2016

2 1 A Real-World Problem 2 Solution 1 Combinatorial 3 Solution 2 Solving Systems of Equations 4 Solution 3 Augmenting Paths Approach

3 Arithmetic Progression Graphs Determine which finite undirected graphs G = (V, E) that can be both vertex and edge labeled (i.e., L 1 : V Z + and L 2 : E Z + ) that satisfy the following two conditions for some positive integers a and d: 1 For all v V, L 1 (v) = u N(v) L 2(uv), that is, the vertex labels are the sum of its incident edge labels. 2 range(l 1 ) = {a, a + d,..., a + (n 1)d}, where n = V. We call such a graph an Arithmetic Progression Graph (APG) with parameters a and d.

4 Yes and No instances of the APG family a 4 2 a + 2d? a + d When a, d > 0, 3a + 3d a + 3d

5 Some known properties of APGs With n = V and m = E and arithmetic progression parameters a > 0 and d > 0: a δ(g), i.e., minimum vertex degree. s v = v V V 1(v) = 2 e E V 2(e) = 2s e. s v = na + ( (n 1))d = na + n(n 1) 2 d. 2na + n(n 1)d is divisible by 4. s e = (2na + n(n 1)d)/4 m.

6 Three test cases (Are these APGs?) A few small graphs displayed using sage s Graph.show() method. Graph t1.alist Graph t2.alist Graph t3.alist n = 4, m = 4 n = 7, m = 11 n = 8, m = 11

7 Try all combinations approach We want to check all combinations of edge labels that sum up to s e = (2na + n(n 1)d)/4. This is the same as checking all integer partitions of s e with m parts as the edge labels. An integer partition is a non-increasing sequence of positive integers x 1 x 2... x m such that s e = m i=1 x i. The following theorem helps us enumerate just these cases: Theorem The number of integer partitions of s e with largest part x 1 = m is the same as the number of integer partitions of s e with m parts.

8 Try all combinations approach We want to check all combinations of edge labels that sum up to s e = (2na + n(n 1)d)/4. This is the same as checking all integer partitions of s e with m parts as the edge labels. An integer partition is a non-increasing sequence of positive integers x 1 x 2... x m such that s e = m i=1 x i. The following theorem helps us enumerate just these cases: Theorem The number of integer partitions of s e with largest part x 1 = m is the same as the number of integer partitions of s e with m parts.

9 Brute-Force Combinatorial Solution (part 1) Sage code (preliminary part) to decide if a graph is an APG. #!/usr/bin/env sage -python import networkx as nx from sage.all import * a=1; d=1 if len(sys.argv)>1: a=int(sys.argv[1]) if len(sys.argv)>2: d=int(sys.argv[2]) # command-line arguments def magic(l): # function to check if sorted L is an Arithmetic Prog. for i in range(len(l)-1): if L[i+1]-L[i]!=d: return 0 return 1 g=nx.read_adjlist(sys.stdin) # input graph from networkx package n=g.order(); m=g.size() print "Graph", [(int(u),int(v)) for (u,v) in g.edges()]

10 Brute-Force Combinatorial Solution (part 2) Sage code to decide (via exhaustive search) if a graph is an APG. s=(2*n*a+(n-1)*n*d)/4 # desired sum of edges for x in partitions_greatest_eq(s,m): for y in permutations(partition(x).conjugate()): label=[0]*n; i=0 for (u,v) in g.edges(): label[int(u)]+=y[i]; label[int(v)]+=y[i]; i+=1 if magic(sorted(label)): print label, y; sys.exit(0)

11 Sample runs of Program 1 $ prog1.sage < t1.alist Graph [(1, 0), (1, 3), (0, 3), (0, 2)] [4, 3, 1, 2] [2, 1, 1, 1] $ prog1.sage 2 3 < t1.alist Graph [(1, 0), (1, 3), (0, 3), (0, 2)] [11, 8, 2, 5] [6, 2, 3, 2] $ time prog1.sage 2 2 < t2.alist Graph [(1, 5), (1, 4), (1, 6), (0, 5), (0, 4), (0, 6), (3, 5), (3, 6), ( [4, 8, 2, 12, 10, 14, 6] [1, 6, 1, 1, 1, 2, 11, 1, 1, 1, 2] real=0m4.820s user=0m3.062s sys=0m1.050s $ time prog1.sage 3 4 < t3.alist Graph [(1, 5), (1, 7), (0, 5), (0, 6), (3, 7), (3, 6), (2, 7), (2, 6), ( [7, 27, 3, 19, 11, 31, 15, 23] [26, 1, 4, 3, 18, 1, 2, 1, 1, 1, 10] real=389m54.579s user=319m3.685s sys=3m42.613s

12 Using algebra to improve decision time Definition The incidence matrix of a graph is an n m matrix where each column 1 j m has two 1 s (in rows u and v) corresponding to the edge uv of index j. From Condition 1 of the definition of an APG it follows that: Fact If M is an incidence matrix of a connected graph and x is a positive integer vector of length m (corresponding to edge labels) then the product Mx is an positive integer vector b of length n (corresponding to vertex labels).

13 Using algebra to improve decision time Definition The incidence matrix of a graph is an n m matrix where each column 1 j m has two 1 s (in rows u and v) corresponding to the edge uv of index j. From Condition 1 of the definition of an APG it follows that: Fact If M is an incidence matrix of a connected graph and x is a positive integer vector of length m (corresponding to edge labels) then the product Mx is an positive integer vector b of length n (corresponding to vertex labels).

14 What is Integer Programming? Definition Let A be an m n matrix with integral coefficients, b Z m and c Z n. The problem min{c T x x Z n, Ax = b, x 0 component-wise} is called an instance of the Integer Programming (IP) problem. The IP problem is very hard; namely, the decision version is NP-complete. Sage has a good non-branch-and-bound IP solver implementation that works well in practice. Note: the Linear Programming variant (over reals R) is in P.

15 What is Integer Programming? Definition Let A be an m n matrix with integral coefficients, b Z m and c Z n. The problem min{c T x x Z n, Ax = b, x 0 component-wise} is called an instance of the Integer Programming (IP) problem. The IP problem is very hard; namely, the decision version is NP-complete. Sage has a good non-branch-and-bound IP solver implementation that works well in practice. Note: the Linear Programming variant (over reals R) is in P.

16 Using algebra to improve decision time (cont.) Let M be the incidence matrix of a graph G. Thus if we know what vertex labels (vector b) that is desired, we can try to solve the equation Mx = b. This vector b is just some permutation of the arithmetic progression a, a + d,..., a + (n 1)d. However (!!!) to apply integer programming to APG domain, our solution x needs to be strictly positive. This problem is fixed by offsetting the solution vector by a vector of 1s : Let x = x I. If x 0 then x 1. Since M(x + I ) = Mx + MI = b, the new b vector should be b MI when solving Mx = b.

17 Using algebra to improve decision time (cont.) Let M be the incidence matrix of a graph G. Thus if we know what vertex labels (vector b) that is desired, we can try to solve the equation Mx = b. This vector b is just some permutation of the arithmetic progression a, a + d,..., a + (n 1)d. However (!!!) to apply integer programming to APG domain, our solution x needs to be strictly positive. This problem is fixed by offsetting the solution vector by a vector of 1s : Let x = x I. If x 0 then x 1. Since M(x + I ) = Mx + MI = b, the new b vector should be b MI when solving Mx = b.

18 Using algebra to improve decision time (cont.) Let M be the incidence matrix of a graph G. Thus if we know what vertex labels (vector b) that is desired, we can try to solve the equation Mx = b. This vector b is just some permutation of the arithmetic progression a, a + d,..., a + (n 1)d. However (!!!) to apply integer programming to APG domain, our solution x needs to be strictly positive. This problem is fixed by offsetting the solution vector by a vector of 1s : Let x = x I. If x 0 then x 1. Since M(x + I ) = Mx + MI = b, the new b vector should be b MI when solving Mx = b.

19 Integer Programming Solution (singular version) Sage code to decide (via IP) if a graph is an APG. #... same initialization code as before, then... M=Graph(g).incidence_matrix() for r in range(0,n): for t in range(0,m): M[r,t]=abs(M[r,t]) # make undirected singular.lib("intprog.lib") singular.eval( intmat M[%s][%s]=%s %(n,m,str(m.list())[1:-1])) I=vector(ZZ,[1]*m); M2=singular("M"); C2=singular(( 0, *m)[:-1], intvec ) for perm in permutations(n): B=vector(ZZ,[a+(perm[i]-1)*d for i in range(n)]) E=B-(M*I) if min(e)<0: continue E2=singular(str(E.list())[1:-1], intvec ) N2=singular.solve_IP(M2,E2,C2, "pct" ) if N2: print vertices =,B, edges =,list(n2+i); sys.exit(0)

20 Integer Programming Solution (MIP version) Sage code to decide (via MIP) if a graph is an APG. B=[a+(perm[i]-1)*d for i in range(n)] p=mixedintegerlinearprogram() b=p.new_variable() for i in range(n): p.add_constraint(sum([b[(u,v)] for (u,v) in G.edges(labels=None) \ if i==int(u) or i==int(v)]),min=b[i],max=b[i]) for e in G.edges(labels=None): p.add_constraint(b[e],min=1) p.set_objective(sum([b[x] for x in G.edges(labels=None)])) # anything p.set_integer(b) try: p.solve(solver="coin") except sage.numerical.mip.mipsolverexception as e: pass else: print p.get_values(b).items(); sys.exit(0)

21 Sample runs of Program 2 $ prog2.sage < t1.alist Graph [(1, 0), (1, 3), (0, 3), (0, 2)] vertices = (4, 2, 1, 3) edges = [1, 1, 2, 1] $ time prog2.sage 2 2 < t2.alist Graph [(1, 5), (1, 4), (1, 6), (0, 5), (0, 4), (0, 6), (3, 5), (3, 6), ( vertices = (4, 6, 2, 8, 12, 10, 14) edges = [1, 1, 4, 1, 2, 1, 7, 1, 1, 1, 8] real=0m3.501s user=0m1.662s sys=0m1.081s $ time prog2.sage 3 4 < t3.alist Graph [(1, 5), (1, 7), (0, 5), (0, 6), (3, 7), (3, 6), (2, 7), (2, 6), ( vertices = (3, 11, 7, 15, 19, 23, 27, 31) edges = [8, 3, 2, 1, 1, 14, 1, 6, 13, 13, 6] real=0m31.200s user=0m3.168s sys=0m1.533s

22 Initial conclusions Running time of algorithm 1 is O(m!B(s, m)) has been improved to O(n!IP(n)), where B(s, m) is the number of integer partitions of s with m parts and IP(n)) is the running time of Sage/Singular s Integer Programming algorithm. Most connected graphs are in APG. Order n Yes No

23 Initial conclusions Running time of algorithm 1 is O(m!B(s, m)) has been improved to O(n!IP(n)), where B(s, m) is the number of integer partitions of s with m parts and IP(n)) is the running time of Sage/Singular s Integer Programming algorithm. Most connected graphs are in APG. Order n Yes No

24 Can we find a better algorithm? If we change the problem slightly does it help us? E.g. what if we fix the values of the vertices? Problem (FixedIncidentEdgeLabelable) Input: Connected undirected graph G = (V, E) with a vertex labeling f : V Z +. Question: Does there exist an edge labeling g : E Z + such that for all v V, f (v) = g(uv)? u N(v) Theorem There exists a pseudo polynomial-time algorithm to decide the problem FixedIncidentEdgeLabelable.

25 Can we find a better algorithm? If we change the problem slightly does it help us? E.g. what if we fix the values of the vertices? Problem (FixedIncidentEdgeLabelable) Input: Connected undirected graph G = (V, E) with a vertex labeling f : V Z +. Question: Does there exist an edge labeling g : E Z + such that for all v V, f (v) = g(uv)? u N(v) Theorem There exists a pseudo polynomial-time algorithm to decide the problem FixedIncidentEdgeLabelable.

26 Can we find a better algorithm? If we change the problem slightly does it help us? E.g. what if we fix the values of the vertices? Problem (FixedIncidentEdgeLabelable) Input: Connected undirected graph G = (V, E) with a vertex labeling f : V Z +. Question: Does there exist an edge labeling g : E Z + such that for all v V, f (v) = g(uv)? u N(v) Theorem There exists a pseudo polynomial-time algorithm to decide the problem FixedIncidentEdgeLabelable.

27 Augmenting Paths Algorithm Definition A vertex is unsaturated if the sum of its incident edges is less than its label. An improving walk satisfies the following conditions: We use an approach similar to the augmenting path techniques used in many maximal matching algorithms. If there is an odd length sequence of edges, starting and ending at a unsaturated vertices then we can improve the saturation level of the graph by adding, in an alternating fashion, +1 and -1 to the edges in this walk sequence. To ensure that each edge label stays positive we only apply this augmentation when all of the even-indexed edges have value at least 2. The saturation levels only increase by 1 for first/last vertex.

28 Using an improving walk to increase saturation

29 Pseudocode for Solution 3 We give a decision algorithm that runs in time that is bounded by a polynomial of n = V and the sum T = v V f (v). Procedure Membership(Graph G, Vertex labels f [1..n]) begin Edge labels g[1..m] = (1, 1,..., 1) Saturation values s[v] = uv E g[uv], for all v V if v, s[v] > f [v] return false L1: while v, s[v] f [v] do for each v such that s[v] f [v] do if there exists an improving walk starting at v do Note special case of ending at v if s[v] + 1 = f [v] Augment the edges of the improving walk by updating the values of g[] and s[] next L1 return false return true end

30 # Python code for solving the Fixed_Incident_Edge_Lablelable problem import networkx as nx import numpy as np n=0 # order of input graph STree=nx.DiGraph() # bipartite search graph unsat=set() # current nodes not saturated def set_search_tree(g,g): global STree STree=nx.DiGraph() STree.add_nodes_from(range(2*n)) for x in range(n): for y in G[x]: STree.add_edge(x,y+n) if g[min(x,y),max(x,y)]>1: STree.add_edge(y+n,x) return def improve_walk(v,loopflag): path=nx.single_source_shortest_path(stree,v) endpoint=unsat if LoopFlag: endpoint=unsat set([v]) for w in endpoint: if w+n in path: return [z%n for z in path[w+n]] return None

31 def membership(g,f): """ Check connected graph G has an edge labeling (g[]) such that the sum of incident edge labels correspond to the f[] vertex labeling. """ global n, unsat n=g.order() g=np.zeros((n,n),int) # current edge labels (adjacency matrix) for (u,v) in G.edges(): g[u,v]=1 s=np.zeros((n),int) # current saturation values (vector) for v in G: s[v]=len(g[v]) if s[v]>f[v]: return None unsat=set([i for i in range(n) if s[i]<f[i]]) while unsat: # line L1 of pseudocode set_search_tree(g,g) v=unsat.pop() W=improve_walk(v,s[v]!=f[v]-1) # 2nd argument detects our "special case" if W: for i in range(len(w)-1): # augment the edges g[] if W[i]<W[i+1]: g[w[i],w[i+1]]+=2*((i+1)%2)-1 else: g[w[i+1],w[i]]+=2*((i+1)%2)-1 w=w[-1]; s[v]+=1; s[w]+=1 # and update the saturations s[] if s[v]!=f[v]: unsat.add(v) if v!=w and s[w]==f[w]: unsat.remove(w) else: return None return [((u,v),g[u,v]) for (u,v) in G.edges()]

32 Analysis of Running Time The program terminates with at most T /2 iterations of the while loop (since saturation levels always increase by two). Finding an improving walk takes O(n 2 ) steps by building a search tree of at most 2n vertices. We need to consider whether each of the other vertices is reachable at only an odd distance (not all the distances) from the starting vertex. Thus, the total running time is bounded by O(n 3 T ). More information (and correctness proof): 2014: Michael J. Dinneen, Nan Rosemary Ke, and Masoud Khosravani. Arithmetic progression graphs, Universal J. of Applied Mathematics.

Arithmetic Progression Graphs

Arithmetic Progression Graphs Universal Journal of Applied Mathematics (8): 90-97, 0 DOI: 089/ujam00080 http://wwwhrpuborg Arithmetic Progression Graphs Michael J Dinneen, Nan Rosemary Ke, Masoud Khosravani Department of Computer Science,

More information

1 Matchings in Graphs

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

CS388C: Combinatorics and Graph Theory

CS388C: Combinatorics and Graph Theory CS388C: Combinatorics and Graph Theory David Zuckerman Review Sheet 2003 TA: Ned Dimitrov updated: September 19, 2007 These are some of the concepts we assume in the class. If you have never learned them

More information

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

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

1. Lecture notes on bipartite matching February 4th,

1. 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 information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

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

Module 7. Independent sets, coverings. and matchings. Contents

Module 7. Independent sets, coverings. and matchings. Contents Module 7 Independent sets, coverings Contents and matchings 7.1 Introduction.......................... 152 7.2 Independent sets and coverings: basic equations..... 152 7.3 Matchings in bipartite graphs................

More information

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

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4) S-72.2420/T-79.5203 Basic Concepts 1 S-72.2420/T-79.5203 Basic Concepts 3 Characterizing Graphs (1) Characterizing Graphs (3) Characterizing a class G by a condition P means proving the equivalence G G

More information

Graph Theory: Matchings and Factors

Graph Theory: Matchings and Factors Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT Kharagpur pallab@cse.iitkgp.ernet.in Matchings A matching of size k in a graph G is a set of k

More information

Matching and Covering

Matching and Covering Matching and Covering Matchings A matching of size k in a graph G is a set of k pairwise disjoint edges The vertices belonging to the edges of a matching are saturated by the matching; the others are unsaturated

More information

1. Lecture notes on bipartite matching

1. 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 information

by conservation of flow, hence the cancelation. Similarly, we have

by conservation of flow, hence the cancelation. Similarly, we have Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can

More information

Graph Algorithms. Chromatic Polynomials. Graph Algorithms

Graph Algorithms. Chromatic Polynomials. Graph Algorithms Graph Algorithms Chromatic Polynomials Graph Algorithms Chromatic Polynomials Definition G a simple labelled graph with n vertices and m edges. k a positive integer. P G (k) number of different ways of

More information

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

Advanced Combinatorial Optimization September 15, Lecture 2

Advanced Combinatorial Optimization September 15, Lecture 2 18.438 Advanced Combinatorial Optimization September 15, 2009 Lecture 2 Lecturer: Michel X. Goemans Scribes: Robert Kleinberg (2004), Alex Levin (2009) In this lecture, we will present Edmonds s algorithm

More information

CMSC 380. Graph Terminology and Representation

CMSC 380. Graph Terminology and Representation CMSC 380 Graph Terminology and Representation GRAPH BASICS 2 Basic Graph Definitions n A graph G = (V,E) consists of a finite set of vertices, V, and a finite set of edges, E. n Each edge is a pair (v,w)

More information

List of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2,

List of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2, List of Theorems Mat 416, Introduction to Graph Theory 1. Ramsey s Theorem for graphs 8.3.11. Theorem 1 The numbers R(p, q) exist and for p, q 2, R(p, q) R(p 1, q) + R(p, q 1). If both summands on the

More information

Maximum Matching Algorithm

Maximum Matching Algorithm Maximum Matching Algorithm Thm: M is maximum no M-augmenting path How to find efficiently? 1 Edmonds Blossom Algorithm In bipartite graphs, we can search quickly for augmenting paths because we explore

More information

5 Matchings in Bipartite Graphs and Their Applications

5 Matchings in Bipartite Graphs and Their Applications 5 Matchings in Bipartite Graphs and Their Applications 5.1 Matchings Definition 5.1 A matching M in a graph G is a set of edges of G, none of which is a loop, such that no two edges in M have a common

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 36 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the

More information

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1 Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,

More information

Part II. Graph Theory. Year

Part II. Graph Theory. Year Part II Year 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2017 53 Paper 3, Section II 15H Define the Ramsey numbers R(s, t) for integers s, t 2. Show that R(s, t) exists for all s,

More information

Math 170- Graph Theory Notes

Math 170- Graph Theory Notes 1 Math 170- Graph Theory Notes Michael Levet December 3, 2018 Notation: Let n be a positive integer. Denote [n] to be the set {1, 2,..., n}. So for example, [3] = {1, 2, 3}. To quote Bud Brown, Graph theory

More information

MTL 776: Graph Algorithms Lecture : Matching in Graphs

MTL 776: Graph Algorithms Lecture : Matching in Graphs MTL 776: Graph Algorithms Lecture : Matching in Graphs Course Coordinator: Prof. B. S. Panda Note: The note is based on the lectures taken in the class. It is a draft version and may contain errors. It

More information

Graph Theory Day Four

Graph Theory Day Four Graph Theory Day Four February 8, 018 1 Connected Recall from last class, we discussed methods for proving a graph was connected. Our two methods were 1) Based on the definition, given any u, v V(G), there

More information

Matchings in Graphs. Definition 1 Let G = (V, E) be a graph. M E is called as a matching of G if v V we have {e M : v is incident on e E} 1.

Matchings in Graphs. Definition 1 Let G = (V, E) be a graph. M E is called as a matching of G if v V we have {e M : v is incident on e E} 1. Lecturer: Scribe: Meena Mahajan Rajesh Chitnis Matchings in Graphs Meeting: 1 6th Jan 010 Most of the material in this lecture is taken from the book Fast Parallel Algorithms for Graph Matching Problems

More information

1 Random Walks on Graphs

1 Random Walks on Graphs Lecture 7 Com S 633: Randomness in Computation Scribe: Ankit Agrawal In the last lecture, we looked at random walks on line and used them to devise randomized algorithms for 2-SAT and 3-SAT For 2-SAT we

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

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12. AMS 550.47/67: Graph Theory Homework Problems - Week V Problems to be handed in on Wednesday, March : 6, 8, 9,,.. Assignment Problem. Suppose we have a set {J, J,..., J r } of r jobs to be filled by a

More information

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

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 13 Dr. Ted Ralphs IE411 Lecture 13 1 References for Today s Lecture IE411 Lecture 13 2 References for Today s Lecture Required reading Sections 21.1 21.2 References

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Algebraic Graph Theory- Adjacency Matrix and Spectrum

Algebraic Graph Theory- Adjacency Matrix and Spectrum Algebraic Graph Theory- Adjacency Matrix and Spectrum Michael Levet December 24, 2013 Introduction This tutorial will introduce the adjacency matrix, as well as spectral graph theory. For those familiar

More information

The vertex set is a finite nonempty set. The edge set may be empty, but otherwise its elements are two-element subsets of the vertex set.

The vertex set is a finite nonempty set. The edge set may be empty, but otherwise its elements are two-element subsets of the vertex set. Math 3336 Section 10.2 Graph terminology and Special Types of Graphs Definition: A graph is an object consisting of two sets called its vertex set and its edge set. The vertex set is a finite nonempty

More information

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanfordedu) February 6, 2018 Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 In the

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

Exercise set 2 Solutions

Exercise set 2 Solutions Exercise set 2 Solutions Let H and H be the two components of T e and let F E(T ) consist of the edges of T with one endpoint in V (H), the other in V (H ) Since T is connected, F Furthermore, since T

More information

Some Elementary Lower Bounds on the Matching Number of Bipartite Graphs

Some Elementary Lower Bounds on the Matching Number of Bipartite Graphs Some Elementary Lower Bounds on the Matching Number of Bipartite Graphs Ermelinda DeLaViña and Iride Gramajo Department of Computer and Mathematical Sciences University of Houston-Downtown Houston, Texas

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Introductory Combinatorics

Introductory Combinatorics Introductory Combinatorics Third Edition KENNETH P. BOGART Dartmouth College,. " A Harcourt Science and Technology Company San Diego San Francisco New York Boston London Toronto Sydney Tokyo xm CONTENTS

More information

arxiv: v1 [cs.dm] 21 Dec 2015

arxiv: v1 [cs.dm] 21 Dec 2015 The Maximum Cardinality Cut Problem is Polynomial in Proper Interval Graphs Arman Boyacı 1, Tinaz Ekim 1, and Mordechai Shalom 1 Department of Industrial Engineering, Boğaziçi University, Istanbul, Turkey

More information

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur Lecture : Graphs Rajat Mittal IIT Kanpur Combinatorial graphs provide a natural way to model connections between different objects. They are very useful in depicting communication networks, social networks

More information

(5.2) 151 Math Exercises. Graph Terminology and Special Types of Graphs. Malek Zein AL-Abidin

(5.2) 151 Math Exercises. Graph Terminology and Special Types of Graphs. Malek Zein AL-Abidin King Saud University College of Science Department of Mathematics 151 Math Exercises (5.2) Graph Terminology and Special Types of Graphs Malek Zein AL-Abidin ه Basic Terminology First, we give some terminology

More information

BIL694-Lecture 1: Introduction to Graphs

BIL694-Lecture 1: Introduction to Graphs BIL694-Lecture 1: Introduction to Graphs Lecturer: Lale Özkahya Resources for the presentation: http://www.math.ucsd.edu/ gptesler/184a/calendar.html http://www.inf.ed.ac.uk/teaching/courses/dmmr/ Outline

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

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com

More information

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60 CPS 102: Discrete Mathematics Instructor: Bruce Maggs Quiz 3 Date: Wednesday November 30, 2011 NAME: Prob # Score Max Score 1 10 2 10 3 10 4 10 5 10 6 10 Total 60 1 Problem 1 [10 points] Find a minimum-cost

More information

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v.

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v. Graph Adjacent Endpoint of an edge Incident Neighbors of a vertex Degree of a vertex Theorem Graph relation Order of a graph Size of a graph Maximum and minimum degree Let G = (V, E) be a graph. If u,

More information

Assignment 4 Solutions of graph problems

Assignment 4 Solutions of graph problems Assignment 4 Solutions of graph problems 1. Let us assume that G is not a cycle. Consider the maximal path in the graph. Let the end points of the path be denoted as v 1, v k respectively. If either of

More information

Important separators and parameterized algorithms

Important separators and parameterized algorithms Important separators and parameterized algorithms Dániel Marx 1 1 Institute for Computer Science and Control, Hungarian Academy of Sciences (MTA SZTAKI) Budapest, Hungary PCSS 2017 Vienna, Austria September

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

On vertex-coloring edge-weighting of graphs

On vertex-coloring edge-weighting of graphs Front. Math. China DOI 10.1007/s11464-009-0014-8 On vertex-coloring edge-weighting of graphs Hongliang LU 1, Xu YANG 1, Qinglin YU 1,2 1 Center for Combinatorics, Key Laboratory of Pure Mathematics and

More information

BHARATHIDASAN ENGINEERING COLLEGE NATTARAMPALLI Department of Science and Humanities CS6702-GRAPH THEORY AND APPLICATION

BHARATHIDASAN ENGINEERING COLLEGE NATTARAMPALLI Department of Science and Humanities CS6702-GRAPH THEORY AND APPLICATION BHARATHIDASAN ENGINEERING COLLEGE NATTARAMPALLI 635 854 Department of Science and Humanities DEGREE/BRANCH : B.E. CSE YEAR/ SEMESTER : IV/VII. CS6702-GRAPH THEORY AND APPLICATION 1. Define graph. UNIT-I

More information

Generating edge covers of path graphs

Generating edge covers of path graphs Generating edge covers of path graphs J. Raymundo Marcial-Romero, J. A. Hernández, Vianney Muñoz-Jiménez and Héctor A. Montes-Venegas Facultad de Ingeniería, Universidad Autónoma del Estado de México,

More information

More NP-complete Problems. CS255 Chris Pollett May 3, 2006.

More NP-complete Problems. CS255 Chris Pollett May 3, 2006. More NP-complete Problems CS255 Chris Pollett May 3, 2006. Outline More NP-Complete Problems Hamiltonian Cycle Recall a hamiltonian cycle is a permutation of the vertices v i_1,, v i_n of a graph G so

More information

arxiv: v1 [cs.ds] 8 Jan 2019

arxiv: v1 [cs.ds] 8 Jan 2019 Subset Feedback Vertex Set in Chordal and Split Graphs Geevarghese Philip 1, Varun Rajan 2, Saket Saurabh 3,4, and Prafullkumar Tale 5 arxiv:1901.02209v1 [cs.ds] 8 Jan 2019 1 Chennai Mathematical Institute,

More information

Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching. A maximal matching cannot be enlarged by adding another edge.

Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching. A maximal matching cannot be enlarged by adding another edge. Matchings A matching is a set of (non-loop) edges with no shared endpoints. The vertices incident to an edge of a matching M are saturated by M, the others are unsaturated. A perfect matching of G is a

More information

Grade 7/8 Math Circles Graph Theory - Solutions October 13/14, 2015

Grade 7/8 Math Circles Graph Theory - Solutions October 13/14, 2015 Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Grade 7/8 Math Circles Graph Theory - Solutions October 13/14, 2015 The Seven Bridges of Königsberg In

More information

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Graphs: 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 information

Dynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed

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

Basic Combinatorics. Math 40210, Section 01 Fall Homework 4 Solutions

Basic Combinatorics. Math 40210, Section 01 Fall Homework 4 Solutions Basic Combinatorics Math 40210, Section 01 Fall 2012 Homework 4 Solutions 1.4.2 2: One possible implementation: Start with abcgfjiea From edge cd build, using previously unmarked edges: cdhlponminjkghc

More information

Lecture 3. Brute Force

Lecture 3. Brute Force Lecture 3 Brute Force 1 Lecture Contents 1. Selection Sort and Bubble Sort 2. Sequential Search and Brute-Force String Matching 3. Closest-Pair and Convex-Hull Problems by Brute Force 4. Exhaustive Search

More information

Math Summer 2012

Math Summer 2012 Math 481 - Summer 2012 Final Exam You have one hour and fifty minutes to complete this exam. You are not allowed to use any electronic device. Be sure to give reasonable justification to all your answers.

More information

2 The Mixed Postman Problem with Restrictions on the Arcs

2 The Mixed Postman Problem with Restrictions on the Arcs Approximation Algorithms for the Mixed Postman Problem with Restrictions on the Arcs Francisco Javier Zaragoza Martínez Departamento de Sistemas, Universidad Autónoma Metropolitana Unidad Azcapotzalco

More information

ACO Comprehensive Exam March 19 and 20, Computability, Complexity and Algorithms

ACO Comprehensive Exam March 19 and 20, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Bottleneck edges in a flow network: Consider a flow network on a directed graph G = (V,E) with capacities c e > 0 for e E. An edge e E is called a bottleneck

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman, M.S. Ramanujan, and Saket Saurabh Presenting: Hen Sender 1 Introduction 2 Abstract. It is well known that in a bipartite (and more generally in a Konig)

More information

Research Question Presentation on the Edge Clique Covers of a Complete Multipartite Graph. Nechama Florans. Mentor: Dr. Boram Park

Research Question Presentation on the Edge Clique Covers of a Complete Multipartite Graph. Nechama Florans. Mentor: Dr. Boram Park Research Question Presentation on the Edge Clique Covers of a Complete Multipartite Graph Nechama Florans Mentor: Dr. Boram Park G: V 5 Vertex Clique Covers and Edge Clique Covers: Suppose we have a graph

More information

Definition 1.1. A matching M in a graph G is called maximal if there is no matching M in G so that M M.

Definition 1.1. A matching M in a graph G is called maximal if there is no matching M in G so that M M. 1 Matchings Before, we defined a matching as a set of edges no two of which share an end in common. Suppose that we have a set of jobs and people and we want to match as many jobs to people as we can.

More information

Linear Programming. Slides by Carl Kingsford. Apr. 14, 2014

Linear Programming. Slides by Carl Kingsford. Apr. 14, 2014 Linear Programming Slides by Carl Kingsford Apr. 14, 2014 Linear Programming Suppose you are given: A matrix A with m rows and n columns. A vector b of length m. A vector c of length n. Find a length-n

More information

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Given a simple directed graph G = (V, E), a cycle cover is a set of vertex-disjoint directed cycles that cover all vertices of the graph. 1. Show that there

More information

CMSC Honors Discrete Mathematics

CMSC Honors Discrete Mathematics CMSC 27130 Honors Discrete Mathematics Lectures by Alexander Razborov Notes by Justin Lubin The University of Chicago, Autumn 2017 1 Contents I Number Theory 4 1 The Euclidean Algorithm 4 2 Mathematical

More information

CS6702 GRAPH THEORY AND APPLICATIONS QUESTION BANK

CS6702 GRAPH THEORY AND APPLICATIONS QUESTION BANK CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1 UNIT I INTRODUCTION CS6702 GRAPH THEORY AND APPLICATIONS QUESTION BANK 1. Define Graph. 2. Define Simple graph. 3. Write few problems

More information

An exact algorithm for max-cut in sparse graphs

An exact algorithm for max-cut in sparse graphs An exact algorithm for max-cut in sparse graphs F. Della Croce a M. J. Kaminski b, V. Th. Paschos c a D.A.I., Politecnico di Torino, Italy b RUTCOR, Rutgers University c LAMSADE, CNRS UMR 7024 and Université

More information

Assignment 1 Introduction to Graph Theory CO342

Assignment 1 Introduction to Graph Theory CO342 Assignment 1 Introduction to Graph Theory CO342 This assignment will be marked out of a total of thirty points, and is due on Thursday 18th May at 10am in class. Throughout the assignment, the graphs are

More information

1. A busy airport has 1500 takeo s perday. Provetherearetwoplanesthatmusttake o within one minute of each other. This is from Bona Chapter 1 (1).

1. A busy airport has 1500 takeo s perday. Provetherearetwoplanesthatmusttake o within one minute of each other. This is from Bona Chapter 1 (1). Math/CS 415 Combinatorics and Graph Theory Fall 2017 Prof. Readdy Homework Chapter 1 1. A busy airport has 1500 takeo s perday. Provetherearetwoplanesthatmusttake o within one minute of each other. This

More information

Graphs (MTAT , 6 EAP) Lectures: Mon 14-16, hall 404 Exercises: Wed 14-16, hall 402

Graphs (MTAT , 6 EAP) Lectures: Mon 14-16, hall 404 Exercises: Wed 14-16, hall 402 Graphs (MTAT.05.080, 6 EAP) Lectures: Mon 14-16, hall 404 Exercises: Wed 14-16, hall 402 homepage: http://courses.cs.ut.ee/2012/graafid (contains slides) For grade: Homework + three tests (during or after

More information

Graph Algorithms Matching

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

Network Design and Optimization course

Network Design and Optimization course Effective maximum flow algorithms Modeling with flows Network Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli

More information

Computing minimum distortion embeddings into a path for bipartite permutation graphs and threshold graphs

Computing minimum distortion embeddings into a path for bipartite permutation graphs and threshold graphs Computing minimum distortion embeddings into a path for bipartite permutation graphs and threshold graphs Pinar Heggernes Daniel Meister Andrzej Proskurowski Abstract The problem of computing minimum distortion

More information

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

CSE 417 Network Flows (pt 3) Modeling with Min Cuts CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined

More information

Lecture 11: Maximum flow and minimum cut

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

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Announcements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013

Announcements. 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 information

ACTUALLY DOING IT : an Introduction to Polyhedral Computation

ACTUALLY DOING IT : an Introduction to Polyhedral Computation ACTUALLY DOING IT : an Introduction to Polyhedral Computation Jesús A. De Loera Department of Mathematics Univ. of California, Davis http://www.math.ucdavis.edu/ deloera/ 1 What is a Convex Polytope? 2

More information

Key Graph Theory Theorems

Key Graph Theory Theorems Key Graph Theory Theorems Rajesh Kumar MATH 239 Intro to Combinatorics August 19, 2008 3.3 Binary Trees 3.3.1 Problem (p.82) Determine the number, t n, of binary trees with n edges. The number of binary

More information

Master Theorem, Introduction to Graphs

Master Theorem, Introduction to Graphs Master Theorem, Introduction to Graphs CSE21 Winter 2017, Day 10 (B00), Day 6-7 (A00) February 1, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Divide & Conquer: General Strategy Divide the problem of

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

Sparse Hypercube 3-Spanners

Sparse Hypercube 3-Spanners Sparse Hypercube 3-Spanners W. Duckworth and M. Zito Department of Mathematics and Statistics, University of Melbourne, Parkville, Victoria 3052, Australia Department of Computer Science, University of

More information

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time:

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time: 1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time: Input: A CNF formula ϕ with n variables x 1, x 2,..., x n. Output: True if there is an

More information

EDGE MAXIMAL GRAPHS CONTAINING NO SPECIFIC WHEELS. Jordan Journal of Mathematics and Statistics (JJMS) 8(2), 2015, pp I.

EDGE MAXIMAL GRAPHS CONTAINING NO SPECIFIC WHEELS. Jordan Journal of Mathematics and Statistics (JJMS) 8(2), 2015, pp I. EDGE MAXIMAL GRAPHS CONTAINING NO SPECIFIC WHEELS M.S.A. BATAINEH (1), M.M.M. JARADAT (2) AND A.M.M. JARADAT (3) A. Let k 4 be a positive integer. Let G(n; W k ) denote the class of graphs on n vertices

More information

On Covering a Graph Optimally with Induced Subgraphs

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

Graph Algorithms (part 3 of CSC 282),

Graph Algorithms (part 3 of CSC 282), Graph Algorithms (part of CSC 8), http://www.cs.rochester.edu/~stefanko/teaching/10cs8 1 Schedule Homework is due Thursday, Oct 1. The QUIZ will be on Tuesday, Oct. 6. List of algorithms covered in the

More information

CS Data Structures and Algorithm Analysis

CS Data Structures and Algorithm Analysis CS 483 - Data Structures and Algorithm Analysis Lecture VI: Chapter 5, part 2; Chapter 6, part 1 R. Paul Wiegand George Mason University, Department of Computer Science March 8, 2006 Outline 1 Topological

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

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

CPSC 536N: Randomized Algorithms Term 2. Lecture 10 CPSC 536N: Randomized Algorithms 011-1 Term Prof. Nick Harvey Lecture 10 University of British Columbia In the first lecture we discussed the Max Cut problem, which is NP-complete, and we presented a very

More information

Notes for Lecture 20

Notes for Lecture 20 U.C. Berkeley CS170: Intro to CS Theory Handout N20 Professor Luca Trevisan November 13, 2001 Notes for Lecture 20 1 Duality As it turns out, the max-flow min-cut theorem is a special case of a more general

More information

Perfect matchings in O(nlogn) time in regular bipartite graph

Perfect matchings in O(nlogn) time in regular bipartite graph Perfect matchings in O(nlogn) time in regular bipartite graphs Research project for computational optimization Presented by:qing Li April 26, 2011 Outline i.. ii.. iii.. iv.. What is d regular bipartite

More information

Math236 Discrete Maths with Applications

Math236 Discrete Maths with Applications Math236 Discrete Maths with Applications P. Ittmann UKZN, Pietermaritzburg Semester 1, 2012 Ittmann (UKZN PMB) Math236 2012 1 / 19 Degree Sequences Let G be a graph with vertex set V (G) = {v 1, v 2, v

More information

implementing the breadth-first search algorithm implementing the depth-first search algorithm

implementing the breadth-first search algorithm implementing the depth-first search algorithm Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm

More information