Skip to Content
Problem Solving

5-图论

2018-11-10Original-language archivelegacy assets may be incomplete

Introduction

  • Graph G=(V,E)G=(V,E)
    • order V|V|
  • incident uvu\sim v: u and v are neighbors
    • walk W=(u=v0,v1,,vk=v)W = (u=v_0, v_1, \dots, v_k = v)
      • open walk: uvu\neq v
      • closed walk: u=vu=v
    • trail: uu-vv walk in which no edge is traversed more than once
    • circuit: a closed trial of length 3 or more
    • path: uu-vv walk in which no vertices are repeated
    • cycle: a circuit that repeats no vertex, except for the first and last
  • connected: \exists uu-vv path
    • distance d(u,v)d(u,v): exists smallest uu-vv path P=(u=v0,,vk=v)P=(u=v_0,\dots,v_k=v)
    • geodesic uu-vv of length d(u,v)d(u,v)
    • diamemter diam(G)=maxu,v(d(u,v))\text{diam}(G)=\max_{u,v}(d(u,v))
  • subgraph
    • proper G=(V,E),VVG'=(V',E'),V'\subsetneq V or EEE'\subsetneq E
    • spanning G=(V,E),EEG'=(V,E'),E'\subseteq E
    • induced G=(V,E)G'=(V',E'): u,vV,\forall u,v\in V', if uvEuv\in E, then uvEuv\in E'
    • edge-induced
    • component: 最大连通子图
  • Common Graphs
    • trivial graph: V=1|V|=1
    • PnP_n : path (graph)
    • CnC_n: circle (graph)
    • KnK_n : complete graph
    • bipartite graph: contains no odd cycle
      • Ks,tK_{s,t}: complete bipartite graph
      • K1,tK_{1,t} or Ks,1K_{s,1}: star
    • k-partite graph
      • Ki1,,ikK_{i_1,\dots,i_k}: complete k-partite graph
    • n-cubes (hypercubes): Qn=Qn1×K2Q_n = Q_{n-1} \times K_2, Q1=K2Q_1 = K_2
  • Operation
    • Complement: G=(V,KnE)\overline{G}=(V,K_n-E)
    • Union: G1G2=(V1V2,E1E2)G_1 \cup G_2=(V_1\cup V_2,E_1\cup E_2)
    • Join: G+H=(V1V2,E1E2(V1×V2))G+H=(V_1\cup V_2, E_1\cup E_2\cup (V_1\times V_2))
    • Cartesian product G×H=(V(G)×V(H),E),((u,v),(x,y))EG\times H=(V(G)\times V(H),E'),((u,v),(x,y))\in E' if u=x,vyE(H)u=x,vy\in E(H) or v=y,uxEv=y,ux\in E
  • multigraph: EE is a multiset
    • parallel edges: join the same pair of vertices
  • pseudograph: (u,u)E(u,u)\in E
  • oriented graph: if (u,v)E(u,v)\in E, (v,u)E(v,u)\notin E
    • oritentation of G
  • Storage
    • adjacent matrix
    • edge set(可以链式前向星实现)

Digraph

  • digraph (directed graph): (v,u)(u,v)(v,u)\neq (u,v)
  • (u,v)(u,v): uu adjacent to vv, vv adjacent from uu
  • symmetric: (u,v)E    (v,u)E(u,v)\in E\iff(v,u)\in E
  • underlying graph: replace direction and parallel edges
  • tournament: orientation of complete graph
    • transitive: (u,v),(v,w)T,(u,w)T(u,v),(v,w)\in T,(u,w)\in T
    • every tournament contains a Hamiltonian path
    • Hamiltonian iff strong
  • weakly connected: underlying graph is connected
  • strongly connected: u,v,P\forall u,v,\exists P from uu to vv and vice versa
    • strongly connected component (SCC)
  • Semiconnected Digraph: uvu\sim v or vuv\sim u
    • Toposort + edges (vi,vi+1)(v_i,v_{i+1}) exsits

Isomorphism

  • isomorphic GHG\cong H: \exists 1-1 ϕ:V(G)V(H)\phi:V(G)\rightarrow V(H) such that uvE(G)ϕ(u)ϕ(v)E(H)uv\in E(G)\Rightarrow\phi(u)\phi(v)\in E(H)
    • self-complementary: GGG \cong \overline G
    • isomorphism is an equivalence relation of the set of all graphs
  • automorphism: isomorphism from GG to GG
  • Aut(H)\text{Aut}(H): automorphism group of GG (under composition)
    • uu and vv are similar: they are in same orbit
    • vertex-transitive: GG contains a single orbit
  • Frucht's Theorem: For every finite group AA, there exists a graph GG such that Aut(G)\text{Aut}(G) is isomorphic to AA
  • recognizable: a parameter of GG can be determined from Gv,vV(G)G-v,v\in V(G)
    • V|V|
    • E|E| for V3|V|\geq3
    • degree sequence for V3|V|\geq 3
  • reconstructible: GG can be uniquely determined (up to isomorphism) from subgraphs GviG-v_i
    • Reconstruction Conjecture: GG is reconstructible for V3|V|\geq 3

Trees

  • bridge ee: GG is connected, G{e}G-\{e\} is disconnected
    • bridge     \iff !n,CnG,eCn!\exists n, C_n\subseteq G, e\in C_n
    • nontrivial connected graph has a strong orientation     \iff no bridges in GG
  • acyclic graph(forests): !n,CnG!\exists n,C_n\subseteq G
  • tree: acyclic graph + connected
  • spanning tree of G
    • cycle property
    • cut property
    • weight: w(H)=sumeE(H)w(e)w(H)=sum_{e\in E(H)}w(e)
  • Kruskal's Algorithm: O(ElgV)O(E\lg V)
sort G.E # into nondecreasing order by weight
for e in E:
  if find_set(u) != find_set(v):
     ans += {u,v}
     merge(u,v)
  • Prim's Algorithm: O(E+VlgV)O(E + V\lg V)
for u in G.V:
  u.key = inf
  u.pi = NIL
s.key = 0
Q = G.V
while Q:
  u = Extract_Min(Q)
  for v in G.Adj[u]:
    if v in Q and w(u,v) < v.key:
      v.pi = u
      v.key = w(u,v)
  • Carley's Theorem: the spanning tree of KnK_n of order n is nn2n^{n-2}
  • Matrix Tree Theorem: The spanning tree of an arbitrary graph is any cofactor of matrix
C=[degv1a12...a1na21degv2...a2nan1an2...degvn]C=\left[\begin{matrix} \deg v_1 & -a_{12} & ... & -a_{1n}\newline -a_{21} & \deg v_2 & ... & -a_{2n}\newline \vdots & \vdots & \ldots & \vdots\newline -a_{n1} & -a_{n2} & ... & \deg v_n \end{matrix}\right]

Degrees

  • degv={u:uv}=N(v)\deg v=|\{u:u\sim v\}|=N(v)
    • isolated vertex: degv=0\deg v=0
    • end-vertex(leaf): degv=1\deg v=1
  • δ(G)=minvG(degv)\delta(G)=\min_{v\in G}(\deg v)
  • Δ(G)=maxvG(degv)\Delta(G)=\max_{v\in G}(\deg v)
  • The First Theorem of Graph Theory: vV(G)deg(v)=2E\sum_{v\in V(G)} deg(v) = 2|E|
  • rr-regular graph: δ(G)=Δ(G)=r\delta(G) = \Delta(G) = r
    • rr-regular graph of order nn exists iff at least one of rr and nn is even (Hr,nH_{r,n}: Harary graphs)
    • cubic graph(3-regular graph): K4,K3,3,Q3K_4, K_{3,3}, Q_3, Petersen graph
  • degree sequence: non-increasing
  • graphical: finite and can be a degree sequence
  • Havel-Hakimi Theorem: non-increaing sequence s:d1,d2,...,dns:d_1,d_2,...,d_n where d11d_1\geq 1 is graphical iff s1:d21,d31,...,dd1+11,dd1+2,...,dns_1:d_2-1,d_3-1,...,d_{d_1+1}-1,d_{d_1+2},...,d_n is graphical.
  • irregular graph: u,vV,degudegv\forall u,v\in V,\deg u\neq \deg v
    • The Party Theorem: At any party, there is a pair of people who have the same number of friends present
    • No nontrivial graph is irregular
  • FF-degree of vv: number of copies of FF in GG contain vv
    • GG contain mm copies of FF, then uV(G)degFv=km\sum_{u\in V(G)}\deg_F v =km
    • FF-(ir)regular
  • adjacency matrix AA: V×VV\times V
  • incidence matrix BB: V×BV\times B

Connectivity

Vertex

  • cut-vertex: GG is connected and G{v}G-\{v\} is disconnected
  • nonseparable graph (biconnected): a nontrivial connected graph with no cut-vertices
  • block (bicomponent)
    • maximal nonseparable subgraph of GG
    • equivalence class defined by R,eRfR, e R f if e,fe,f lie on a common cycle
  • vertex-cut: a set UU of vertices of GG such that GUG-U is disconnected
    • minimum vertex-cut
  • vertex-connectivity: κ(G)=minU,GU\kappa(G)=\min|U|,G-U disconnected
    • equals maxuv{disjoint u-v path}\max_{u\sim v}|\{\text{disjoint u-v path}\}|
    • kk-connected: κ(G)k\kappa(G)\geq k
    • 22-connected: no vertex-cut

Edge

  • edge-cut: GG is connected and G{e}G-\{e\} is disconnected
    • minimum edge-cut
  • edge-connectivity: λ(G)\lambda(G)
    • kk-edge-connected
  • κ(G)λ(G)δ(G)\kappa(G)\leq\lambda(G)\leq\delta(G)
    • cubic graph: κ(G)=λ(G)\kappa(G)=\lambda(G)

Menger's Theorem

  • uu-vv separating set SS: u≁vu\not\sim v and belong to seperate components of GSG-S
    • minimum uu-vv separating set
  • internal vertex of uu-vv path PP: wP,wv,wuw\in P,w\neq v,w\neq u
  • internally disjoint paths: A collection of u-v paths that every two of them have no vertices in common other than u and v
  • Menger's Theorem: minimum cardinality of uu-vv separating set = maximum number of internally disjoint uu-vv paths in G
    • induction on the size of graph, discussion on the property of separating set
  • Whitney's Theorem: kk-connected     u,v\iff\forall u,v there are at least kk internally disjoint uu-vv paths

Traversability

  • Eulerian circuit: a circuit contains every edge of G
    • Eulerian graph: graph G contians an Eulerian circuit
    • A nontrivial connected graph G is Eulerian iff every vertex of G has even degree
    • (directed) odv=idu\text{od} v=\text{id} u
  • Eulerian trail: an open trail that contains every edge of G
    • Ko¨nigsbergK\ddot{o}nigsberg Bridge Problem
    • A connected graph G contains an Eulerian trail iff exactly two vertices of G have odd degree.
  • Hamiltonian cycle: a cycle in a graph GG that contains every vertex of GG
    • Hamiltonian graph
  • Hamiltonian path: a path in GG contains every vertex of GG
  • k(G)k(G): number of components in G
    • (neccessary) Hamiltonian Graph: S,k(GS)S\forall S,k(G-S)\leq|S|
    • (sufficient) n3,u≁v,degu+degvnn\geq3,\forall u\not\sim v,\deg u+\deg v\geq n, then GG is Hamiltonian
  • closure C(G)C(G): the graph obtained from GG(order nn) by recursively joining pairs of nonadjacent vertices whose degree sum n\geq n until no such pair remains
    • (neccessary) Hamiltonian Graph: C(G)C(G) is Hamiltonian
  • BFS: Θ(V+E)\Theta(V+E)
for u in vertices:
  u.pi = NIL
  u.visited = False
s.visited = True
Q = {s}
while Q:
  u = Q.pop()
  for v in G.Adj[u]:
    if not u.visitied:
      v.pi = u
      v.visited = True
      Q.push(u)
  • DFS: Θ(V+E)\Theta(V+E)
# all colored white
def dfs(u):
  u.visited = True
  # color gray
  for v in G.Adj[v]:
    if not v.visited:
      v.pi = u
      v.visited = True
      dfs(v)
# color black
  • DFS properties
    • Parenthesis theorem
    • Nesting of descendant's intervals
    • White-path theorem
  • Classification of Edges
    • Tree edge: edge in GπG_\pi (white)
    • Back edge: ancestor (gray)
    • Forward edge: descendant (black)
    • Cross edge (black)
    • There is no Forward edges and Cross edge in undirected graphs
  • directed acyclic graph(DAG): no back edge
  • Toposort on dag: sort vertices in descending order of their finish times
    • component graph: dag of its SCCs
  • Kosaraju's Algorithm: Θ(V+E)\Theta(V+E)
dfs(G) # compute u.f for each vertex u
dfs(G^T) # in order of decreasing u.f in main loop
# SCC is trees in depth-first forest
  • Tarjan's Algorithm: Θ(V+E)\Theta(V+E)
    • cut-vertex(undirected): v\exists v son of uu, low[v] \geq dnf[u]
    • bridge(undirected): v\exists v son of uu, low[v] > dnf[u]
    • directed: SCC
def tarjan_dfs(u):
  t += 1
  dfn[u] = low[u] = t
  Stack.push(u)
  for v in G.Adj[u]:
    if not v.visited:
      tarjan_dfs(v)
      low[u] = min(low[u], low[v])
    elif v in Stack:
      low[u] = min(low[u], dfn[v])
  if dfn[u] == low[u]:
    while v != Stack.top():
      Stack.pop()

Distance

  • distance
    • positive
    • reflexivity
    • symmetric
    • triangle inequatity
  • metric space: (V(G),d)(V(G), d)
  • eccentricity: e(v)=maxuV(G)d(u,v)e(v)=\max_{u\in V(G)}d(u,v)
  • radius: rad(G)=minvV(G)e(v)\text{rad}(G)=min_{v\in V(G)}e(v)
    • center: Cen(G)={v:e(v)=rad(G)}Cen(G)=\{v:e(v)=\text{rad}(G)\}
      • self-centered: Cen(G)=GCen(G) = G
      • center is subgraph of block
  • diameter: diam(G)=maxvV(G)e(v)\text{diam}(G)=max_{v\in V(G)}e(v)
    • periphery: Per(G)={v:e(v)=diam(G)}Per(G)=\{v:e(v)=\text{diam}(G)\}
  • rad(G)diam(G)2rad(G)\text{rad}(G)\leq \text{diam}(G) \leq 2\text{rad}(G)
  • eccentric vertex of u={v:d(u,v)=e(u)}u=\{v:d(u,v)=e(u)\}
    • Ecc(G)={v:u,d(u,v)=e(u)}Ecc(G)=\{v:\exists u,d(u,v)=e(u)\}
  • boundary vertex of a vertex u={v:wv,d(u,w)d(u,v)}u=\{v:\forall w\sim v,d(u,w)\leq d(u,v)\}
    • peripheral \Rightarrow eccentric \Rightarrow boundary
  • complete vertex (extrem or simplicial vertex): the subgraph of G induced by the neighbors of v is complete
    • complete \Rightarrow boundary
  • interior vertex: u,w,d(u,w)=d(u,v)+d(v,w)\forall u, \exists w, d(u,w)=d(u,v)+d(v,w)
    • Int(G)Int(G): subgraph induced by interior vertices
    • boundary \Rightarrow not interior (connected graph)

Shortest Path

  • simple path -> path
  • path -> walk
  • in DAG or only positive edges: path = simple path
  • shortest path: walk
    • single source shortest path(sssp):
    • all pair shortest path(assp)
  • longest path: simple path, NP
  • relaxation
def relax(u,v,w):
  if v.d > u.d + w(u,v):
     v.d = u.d + w(u,v)
     v.pi = u
  • Properties
    • Triangle inequality
    • Upper-bound property
    • No-path property
    • Convergence property
    • Path-relaxation property
    • Predecessor-subgraph property
  • Bellman-Ford Algorithm: Θ(VE)\Theta(VE)
s.d = 0
for i in range(|G.V|):
  for e in G.E:
    relax(e.u, e.v, w)
for i in range(|G.V|):
  if v.d > u.d + w(u,v):
    return False
return True
  • DAG shortest path: Θ(V+E)\Theta(V+E)
    • critical path: longest path through dag
for u in G.topo:
  for v in G.Adj[u]:
    relax(u,v,w)
  • Dijkstra Algorithm: all edges are nonnegative
    • Array: O(V2)O(V^2)
    • Min-heap: O(ElgV)O(E\lg V) for sparse graph E=o(V2lgV)E=o(\frac{V^2}{\lg V})
    • Fib-heap: O(E+VlgV)O(E+V\lg V)
Q = G.V
while Q:
  u = Extract_Min(Q)
  for v in G.Adj[u]:
    relax(u, v, w)
  • matrix multiplication and repeated squaring: Θ(n3lgn)\Theta(n^3\lg n)
  • Floyed-Warshall Algorithm: Θ(V3)\Theta(V^3)
    • dynamic programming on first kk vertices as intermediate vertices
for k in range(n):
  for i in range(n):
    for j in range(n):
      d[i][j] = min(d[i][j], d[i][k] + d[k][j])
  • Johnson's Algorithm: Θ(V2lgV+VE)\Theta(V^2\lg V+VE)
    • reweighting: ω^(u,v)=ω(u,v)+h(u)h(v)\hat \omega(u,v)=\omega(u,v)+h(u)-h(v)

Matching

  • independent set(matching) FF: e1,e2F,e1e2=\forall e_1,e_2\in F,e_1\cap e_2=\emptyset
  • Theorem: partite graph GG has partite sets UU and WW such that r=UWr=|U|\leq|W|. Then GG contains a matching of cardinality rr iff GG satisfies Hall's condition.
    • N(X)={v:uX,uv}N(X)=\{v:\exists u\in X,u\sim v\}
    • Hall's condition: X,XU,N(X)X\forall X\neq \emptyset, X\subseteq U,|N(X)|\geq|X|
    • equivalent
      • a system of distinct representatives
      • marriage theory
  • Hungarian algorithm: O(VE)O(VE)
    • alternate path: unmatched edge - matched edge - unmatched edge - \cdots - unmatched edge
    • argumentation path: alternate path covering unmatched vertex
  • perfect matching: a graph of order 2k2k has a matching MM of cardinality kk
    • Every rr-regular bipartite graph has a perfect matching
  • edge independence number(maximum matching): α(G)=maxM\alpha'(G)=\max |M|
  • edge covering number β(G)=\beta'(G)= cardinality of minimum edge cover
    • cover: a vertex and an incident edge are said to cover each other
    • edge cover: a set of edges of G that covers all vertices of G
  • vertice independence number α(G)\alpha(G): maximum cardinality of an independent set of vertices in G
    • vertice independence: no two vertices in the set are adjacent
    • maximum independent set
  • vertex covering number β(G)\beta(G)
  • Gallai Identity: G,G=n\forall G,|G|=n, containing no isolated vertices, α(G)+β(G)=n,α(G)+β(G)=n\alpha'(G)+\beta'(G)=n, \alpha(G)+\beta(G)=n
  • Konig Theorem: bipartite graph GG has α(G)=β(G),α(G)=β(G)\alpha'(G)=\beta(G),\alpha(G)=\beta'(G)

Flow

  • Flow network: G=(V,E)G=(V,E)
    • Capacity constraint: u,vV\forall u,v\in V, we require 0f(u,v)c(u,v)0\leq f(u,v)\leq c(u,v)
    • Flow conservation: uV{s,t}\forall u\in V-\{s,t\}, vVf(v,u)=vVf(u,v)\sum_{v\in V}f(v,u)=\sum_{v\in V}f(u,v)
  • special cases
    • antiparallel edges: split
    • multiple sources and sinks: add source or sink
  • flow: f(u,v)=vVf(s,v)vVf(v,s)|f(u,v)|=\sum_{v\in V}f(s,v)-\sum_{v\in V}f(v,s)
  • net flow: f(S,T)=uSvTf(u,v)uSvTf(v,u)f(S,T)=\sum_{u\in S}\sum_{v\in T}f(u,v)-\sum_{u\in S}\sum_{v\in T}f(v,u)
  • capacity of cut: c(S,T)=uSvTc(u,v)c(S,T)=\sum_{u\in S}\sum_{v\in T}c(u,v)
  • Max-flow Min-cut Theorem: The maximum flow == the minimum cut capacity
  • Ford-Fulkerson Method
    • residual networks GfG_f: Ef={(u,v)V×V:cf(u,v)>0}E_f=\{(u,v)\in V\times V:c_f(u,v)>0\} cf(u,v)={c(u,v)f(u,v)(u,v)Ef(v,u)(v,u)E0o.w.c_f(u,v)=\begin{cases}c(u,v)-f(u,v) & (u,v)\in E\newline f(v,u) & (v,u)\in E \newline 0 & o.w.\end{cases}
    • augmentation: ff' is flow of residual network, if (u,v)E(u,v)\in E, (ff)(u,v)=f(u,v)+f(u,v)f(v,u)(f\uparrow f')(u,v)=f(u,v)+f'(u,v)-f'(v,u)
      • ff=f+f|f\uparrow f'|=|f|+|f'|
    • augmentation path: simple path from ss to tt in residual network
# initial flow f to 0
while augmenting_path in residual_network:
  augment(f,augmenting_path)
return f
  • Basic Ford-Fulkerson Algorithm: O(fE)O(|f^*|E) arbitrary with integer
while augmenting_path in residual_network:
  c_f(p) = min([c_f(u,v) for (u,v) in p])
  for (u,v) in p:
    if (u,v) in E
      (u,v).f += c_f(p)
    else:
      (v,u).f -= c_f(p)
  • Edmonds-Karp Algorithm: O(VE2)O(VE^2)
    • search augmenting path by BFS in residual network, where each edge has unit distance
  • Push-relabeled algorithms: O(V2E)O(V^2E)
  • relabel-to-front algorithm: O(V3)O(V^3)

Factorization

  • ko(G)k_o(G): number of odd components of GG
  • factor FF: spanning subgraph of GG
  • factorable: E(G)=i=1kE(Fi)E(G)=\bigsqcup_{i=1}^{k}E(F_i)
  • FF-factorable: factorable and FiFF_i\cong F
  • rr-factorable: factorable and FiF_i is rr-regular graph
  • 11-factorable: perfect matching
    • Tutte's Theorem: SV(G),k0(GS)S\forall S\in V(G),k_0(G-S)\leq|S|, then GG contains a 11-factor
    • Petersen's Theorem: Every 3-regular bridgeless graph contains a 1-factor
    • Every rr-regular bipartite graph is 11-factorable
  • 22-factorable: cyclic factorization
    • GG is 2-factorable iff GG is rr-regular, rr is positive even integer
  • Hamiltonian-factorization
    • k1\forall k\geq1, K2k+1K_{2k+1} is Hamiltonian-factorable
    • k1\forall k\geq1, K2kK_{2k} can be factored into k1k-1 Hamiltonian-cycles and a 11-factor
  • Kirkman's Schoolgirl Problem: Is there a 5K35K_3-factorization of K15K_{15}

Decomposition

  • decomposable: E(G)=i=1kE(Hi)E(G)=\bigsqcup_{i=1}^{k}E(H_i)
    • if HH is spanning subgraph, then it is factorization
  • HH-decomposable: HiHH_i\cong H
  • graceful labeling f:V(G)Zmf:V(G)\rightarrow\mathbb{Z}_m:
    • one-to-one
    • f(e)=f(u)f(v)f'(e)=|f(u)-f(v)| is one-to-one.
  • graceful graph: GG possessing a graceful labeling
  • Conjecture: Every tree is graceful
  • girth: minCnGn\min_{C_n\subseteq G} n
  • gg-cage: minimal 3-regular graph that has girth g3g\geq3
    • g=3,K4g=3,K_4
    • g=4,K3,3g=4,K_{3,3}
    • g=5g=5 Petersen
    • g=6g=6 Heawoo
    • g=7g=7 McGee
    • g=8g=8 Tutte-Coxeter
    • g8g\leq8, the g-cages are all sole

Embedding

Plane

  • plane graph: GG is drawed on(embeded into) a plane with no edge crossing
    • regions RR: connected area divied by plane graph
    • exterior regions: a region without bounding
    • boundary of RR: subgraph corresponding to a region
  • planar graph: P\exists P is a plane graph, GPG\cong P
  • Euler Identity: a connected plane graph of order n, number of edge m and r regions, nm+r=2n-m+r=2
    • a planar graph of order n3n\geq3 then m3n6m\leq3n-6 (2m3r2m\geq3r)
    • every planar graph contains a vertex of degree 55 or less
  • maximal planar: planar but any addition of an edge results in nonplanar graph
  • Kuratowski Theorem: G is planar     \iff it does not contain a subgraph of K5,K3,3K_5,K_{3,3} or subdivision of K5,K3,3K_5, K_{3,3}
    • subdivision: inserting vertex of degree 2 into GG

Surface

  • SkS_k surface of genus kk: a surface with kk handle
    • S0S_0: sphere
      • planar graph can be embedded into a sphere
    • S1S_1: torus
  • γ(G)\gamma(G): minimal integer kk that GG can be embedded into SkS_k
  • AA and AA' are in the same region if there is a line connecting there without crossing edges or vertices of GG
  • 2-cell embedding: every region is 2-cell embedding
    • 2-cell: a region in which any closed curves can shrink into a node continuously
  • Theorem: If GG is 2-cell embedded into SkS_k then nm+r=22kn-m+r=2-2k
    • n3,γ(G)m6n2+1n\geq3,\gamma(G)\geq\frac{m}{6}-\frac{n}{2}+1
  • γ(Kn)=(n3)(n4)12\gamma(K_n)=\lceil\frac{(n-3)(n-4)}{12}\rceil

Minor

  • GG' is got from GG by contracting edge ee (or identifying the vertices u,v)
  • minor: HH can be got be a series of edge contraction from GG
  • GG is a subdivision of HHH\Rightarrow H is a minor of GG
  • HH is a minor of Gγ(H)γ(G)G\Rightarrow\gamma(H)\leq\gamma(G)
  • Wagner Theorem: GG is planar     \iff K5,K3,3K_5,K_{3,3} is not a minor of GG
  • The Graph Minor Theorem: For any infinite set SS of graphs, there are two distinct graph in SS that one is a minor of the other

Coloring

  • clique: a complete subgraph of graph
  • clique number ω(G)\omega(G): the largest order of clique in GG
    • β(G)=ω(G)\beta(G)=\omega(\overline G)
  • coloring (proper coloring) c:V(G)N,uv,c(u)c(v)c:V(G)\rightarrow\mathbb{N},\forall u\sim v,c(u)\neq c(v)
    • color class: the independet set division corresponding to a coloring
  • χ(G)\chi(G): chromatic number, the minimal number of color to color G
    • kk-colorable: χ(G)k\chi(G)\leq k
    • χ(G)=1    G\chi(G)=1\iff G has no edges
    • χ(G)=2    G\chi(G)=2\iff G is a nonempty partite graph
    • χ(C2n+1)=3\chi(C_{2n+1})=3
    • χ(G)=4\chi(G)=4 for triangle-free graph (Grotzsch graph)
    • Four Color Theorem: For every planar graph G, χ(G)4\chi(G)\leq4
  • χ(G)\chi(G) inequality
    • χ(G)ω(G)\chi(G)\geq\omega(G)
    • χ(G)nβ(G)\chi(G)\geq\frac{n}{\beta(G)}
    • χ(G)1+Δ(G)\chi(G)\leq 1+\Delta(G)
    • Brook Theorem: GG is odd circle or complete graph, then χ(G)Δ(G)\chi(G)\leq \Delta(G)
    • χ(G)1+max(δ(H))\chi(G)\leq 1+\max(\delta(H)), HH is all possible induced subgraph
  • perfect: HG,χ(H)=ω(H)\forall H\subseteq G,\chi(H)=\omega(H)
    • perfect iff complement is perfect
  • edge coloring c:E(G)N,e1e2,c(e1)c(e2)c:E(G)\rightarrow\mathbb{N},\forall e_1\cap e_2\neq\emptyset,c(e_1)\neq c(e_2)
  • χ(G)\chi'(G): edge chromatic number(chromatic index)
    • Divide GG into minimum number of 1-regulation graph
  • Vizing Theorem: χ(G)=ΔG\chi'(G)=\Delta G or =ΔG+1=\Delta G+1
    • If m>(n1)ΔG2m>\frac{(n-1)\Delta G}{2} then χ(G)=1+Δ(G)\chi'(G)=1+\Delta(G)
    • Konig Theorem: For nonempty partite graph, χ(X)=Δ(G)\chi'(X)=\Delta(G)

Ramsey Numbers

  • Ramsey's Theorem: k+13\forall k+1\geq 3 positive integers t,n1,n2,,nk,n>0,SZn,S=tt,n_1,n_2,\cdots,n_k,\exists n>0,\forall S\subseteq \mathbb{Z}_{n},|S|=t is colored with one of kk colors, then S\exists S containing nin_i elements such that every tt-element subset of SS is colored ii
    • (t=2t=2) k2,n1,n2,,nk,n>0,E(Kn)\forall k\geq 2,n_1,n_2,\cdots,n_k,\exists n>0,E(K_n) is colored by kk colors that i\exists i, complete subgraph KniK_{n_i} is colored ii
  • Ramsey's number r(F1,F2)r(F_1,F_2): the smallest positive integer n such that if every edge of Kn is colored red or blue in any manner whatsoever, then either a red F1 or a blue F2 is produced

Domination