Arithmetic Progression Graphs
|
|
- Maximilian Tyler
- 6 years ago
- Views:
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
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 information1 Matchings in Graphs
Matchings in Graphs J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 Definition Two edges are called independent if they are not adjacent
More informationCS388C: 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 informationAlgorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees
Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016
More information1. Lecture notes on bipartite matching February 4th,
1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)
More informationMathematical 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 informationIntroduction to Graph Theory
Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex
More informationModule 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 informationCME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15
CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#3 Due at the beginning of class Thursday 02/26/15 1. Consider a model of a nonbipartite undirected graph in which
More informationCharacterizing 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 informationGraph 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 informationMatching 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 information1. Lecture notes on bipartite matching
Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in
More informationby 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 informationGraph 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 informationApproximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs
Approximation slides 1 An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs Approximation slides 2 Linear independence A collection of row vectors {v T i } are independent
More informationAdvanced 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 informationCMSC 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 informationList 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 informationMaximum 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 information5 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 informationCS 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 informationDefinition 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 informationPart 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 informationMath 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 informationMTL 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 informationGraph 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 informationMatchings 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 information1 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 informationCoping 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 informationAMS /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 informationGraphs 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 informationLecture 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 informationAlgebraic 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 informationThe 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 informationLecture 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 informationTrees. 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 informationExercise 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 informationSome 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 informationLECTURES 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 informationIntroductory 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 informationarxiv: 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 informationLecture 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
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 informationBIL694-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 informationTheorem 2.9: nearest addition algorithm
There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used
More informationNumber 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 informationCPS 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 informationLet 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 informationAssignment 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 informationImportant 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 informationMatching Theory. Figure 1: Is this graph bipartite?
Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to
More informationOn 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 informationBHARATHIDASAN 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 informationGenerating 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 informationMore 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 informationarxiv: 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 informationMatchings. 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 informationGrade 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 informationGraphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University
Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial
More informationDynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed
Dynamic programming Solves a complex problem by breaking it down into subproblems Each subproblem is broken down recursively until a trivial problem is reached Computation itself is not recursive: problems
More informationBasic 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 informationLecture 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 informationMath 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 information2 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 informationACO 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 informationPaths, 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 informationResearch 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 informationDefinition 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 informationLinear 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 informationACO 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 informationCMSC 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 informationCS6702 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 informationAn 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 informationAssignment 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 information1. 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 informationGraphs (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 informationGraph Algorithms Matching
Chapter 5 Graph Algorithms Matching Algorithm Theory WS 2012/13 Fabian Kuhn Circulation: Demands and Lower Bounds Given: Directed network, with Edge capacities 0and lower bounds l for Node demands for
More informationNetwork 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 informationComputing 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 informationCSE 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 informationLecture 11: Maximum flow and minimum cut
Optimisation Part IB - Easter 2018 Lecture 11: Maximum flow and minimum cut Lecturer: Quentin Berthet 4.4. The maximum flow problem. We consider in this lecture a particular kind of flow problem, with
More informationPaths, 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 informationAnnouncements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013
Announcements CSEP 51 Applied Algorithms Richard Anderson Winter 013 Lecture Reading Chapter.1,. Chapter 3 Chapter Homework Guidelines Prove that your algorithm works A proof is a convincing argument Give
More informationACTUALLY 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 informationKey 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 informationMaster 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 information18 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 informationSparse 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 information1. 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 informationEDGE 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 informationOn Covering a Graph Optimally with Induced Subgraphs
On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number
More informationGraph 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 informationCS 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 informationApproximation Algorithms
Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.
More informationCPSC 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 informationNotes 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 informationPerfect 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 informationMath236 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 informationimplementing 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