Hamilton Institute - NUI May 2013
Topics in Applied Graph Theory – Modeling and Searching Networks Lecture 1 - Introduction
Dr. Anthony Bonato Ryerson University 21st Century Graph Theory: Complex Networks • web graph, social networks, biological networks, internet networks, …
• a graph G=(V(G),E(G))=(V,E) consists of a nonempty set of vertices or nodes V, and a set of edges E, which is a symmetric binary relation on V
nodes edges • in directed graphs (digraphs) E need not be symmetric A directed graph • number of nodes: order, |V| • number of edges: size, |E| |V | • Note: | E |≤ 2 The web graph
• nodes: web pages
• edges: links
• over 1 trillion nodes, with billions of nodes added each day
Ryerson Nuit University Blanche
City of Toronto
Four Seasons Hotel
Frommer’s
Greenland small world property Tourism On-line Social Networks (OSNs) Facebook, Twitter, LinkedIn…
Biological networks: proteomics
nodes: proteins
edges: biochemical interactions
Yeast: 2401 nodes 11000 edges Complex networks
• the web graph, OSNs, and protein interaction networks are examples of complex networks: – large scale – small world property – power law degree distributions Degrees • the degree of a node x, written deg(x) is the number of edges incident with x
Theorem 1.1 - First Theorem of Graph Theory: ∑deg(x) = 2 | E(G) | x∈V(G)
Exercise: what is the analogous theorem for digraphs?
Corollary 1.2: In every graph, there are an even number of odd degree nodes.
• for example, there is no order 19 graph where each vertex has order 9 (i.e. 9- regular) Discussion
Show that a graph cannot have each vertex of different degree. Subgraphs
• let G be a graph, and S a subset of V(G) – the subgraph induced by S in G has vertices S, and edges those of G with both endpoints in S
– written G • a subgraph is a subset of the vertices and edges of G • a spanning subgraph is a subgraph H with V(H)=V(G) G S a spanning subgraph (tree) Isomorphisms
• let G and H be graphs, and let f: V(G)→V(H) be a function • f is a homomorphism if whenever xy is an edge in G, then f(x)f(y) is an edge in H; – write: G → H • f is an embedding if it is injective, and xy is an edge in G iff f(x)f(y) is an edge in H – write: G ≤ H • f is an isomorphism iff it is a surjective embedding – Write: G ≅ H • NOTE: isomorphic graphs are viewed as the “same” isomorphic graphs non-isomorphic graphs Discussion
1. Provide a homomorphism from C7 to C5. From C5 to C7?
2. Describe those graphs which admit a
homomorphism to Kn.
Special graphs
• cliques (complete graphs): Kn – n nodes – all distinct nodes are joined
• cocliques (independent sets): Kn – n nodes – no edges – complement of a clique (will define later)
• cycles Cn -n nodes on a circle
• paths Pn -n nodes on a line -length is n-1
• bipartite cliques (bicliques, complete bipartite graphs)
Ki,j: a set X of vertices of cardinality i, and one Y of cardinality j, such that all edges are present between X and Y, and these are the only edges • hypercubes Qn -vertices are n-bit binary strings; two strings adjacent if they differ in exactly one bit
Exercise: Qn is n-regular, and is isomorphic to the following graph: vertices are subsets of an n-element set; two vertices are adjacent if they differ by exactly one element Petersen graph
Connected graphs
• a graph is connected if every pair of distinct vertices is joined by at least one path
• otherwise, a graph is disconnected
• connected components: maximal (with respect to inclusion) connected induced subgraphs Examples of connected components Graph complements
• the complement of a graph G, written G, has the same vertices as G, with two distinct vertices joined if and only they are not joined in G
• examples: Trees
• a graph is a tree if it is connected and contains no cycles (that is, is acyclic) Theorem 1.3: The following are equivalent 1. The graph G is a tree. 2. The graph G is connected and has size exactly |V(G)|-1. 3. Every pair of vertices in G is connected by a unique path. Girth
• the girth of a graph G, written g(G), is the minimum order of a cycle in G • δ(G) is the minimum degree of G, while Δ(G) is the maximum degree
Lemma 1.4: G contains a path of length δ(G), and if δ(G) ≥ 2, then G contains a cycle of length at least δ(G)+1.
Graph parameters • ω(G) = clique number of G: maximum cardinality of a clique in G
• α(G) = independence number of G: maximum cardinality of a co-clique in G
• γ(G) = domination number of G: minimum cardinality of a set S with the property that each vertex not in S is joined to some vertex in S
• χ(G) = chromatic number of G: minimum number of colours needed to properly colour G (i.e. no edge has endpoints the same colour)
χ(G)= ω(G) = γ(G)= α(G) = 3 Relating the parameters
Theorem 1.5: Let G be a graph of order n.
1. χ(G) ≥ ω(G). 2. γ(G) ≤ n- Δ(G). 3. χ(G) ≥ n/α(G).
Game of Cop and Robbers
C
C R
C R loses R Cops and Robbers
• played on reflexive undirected graphs G • two players Cops C and robber R play at alternate time-steps (cops first) with perfect information • players move to vertices along edges; allowed to moved to neighbors or pass • cops try to capture (i.e. land on) the robber, while robber tries to evade capture • minimum number of cops needed to capture the robber is the cop number c(G) – well-defined as c(G) ≤ |V(G)| Examples of graphs with cop number 1 • cliques • graphs with a universal vertex • paths
Lemma 1.6: Each tree has cop number 1.
Exercise: Show that the cop number of the Petersen graph is at most 3. Distance
• dG(x,y) = distance between x and y: the length of a shortest path connecting x and y (∞ otherwise)
• the diameter of G, written diam(G), is the
maximum of dG(x,y) over all pairs x and y
Bipartite graphs
• a graph G is bipartite if χ(G) ≤ 2
Theorem 1.7: A graph is bipartite iff it contains no odd cycle as a subgraph. Big-Oh notation
f (x) • f = O(g) if lim sup exists and is finite x→∞ g(x)
• f = Ω(g) if g = O(f). We write f = Θ(g) if f =O(g) and g = O(f).
f (x) lim | |= 0. • f = o(g) if x → ∞ g(x)
f (x) lim | |=1. • f ~ g if x→∞ g(x) Useful inequalities
• If x is a real number, then 1+x ≤ ex. • If 4 ≤ m ≤ n, then n nm ≤ ≤ n m 2 . m 2
• If x = o(1), then log(1+x) ~ x.