Graph - In MA010 graph is a pair G = (V,E) s.t. $E \subseteq {V \choose 2}$.
Subgraph - H is subgraph of G iff V(H) ⊆ V(G) and E(H) ⊆ E(G).
Subdivision - H is a subdivision of G iff it can be obtained by edge subdivision meaning adding vertex w and replacing uv by uw and wv (obtained by replacing subset of edges by paths).
Spanning subgraph - H is a spanning subgraph of G iff V(H) = V(G) and E(H) ⊂ E(G).
Induced subgraph - H is induced subgraph of G iff V(H) ⊆ V(G) and E(H) = V(H) ∩ E(G).
Minor - H is a minor of G iff it can be obtained from G by
Isomorphism - Bijection φ : V(G) → V(H) between G and H is an isomorphism iff xy ∈ E(G) ⇔ φ(x)φ(y) ∈ E(H).
Clique-number ω(G) - vertex size of the largest subgraph H s.t. H is a complete graph.
Chord - an edge uv s.t. u and v belong to a cycle but uv does not.
Chordal graph - A graph G is chordal if ∀n ≥ 4 graph G does not contain Cn as induced subgraph.
Perfect graph - A graph G is perfect if every induced subgraph H of G satisfies χ(H) = ω(H).
Walk - a sequence of vertices v1v2v3...vk s.t. vivi + 1 is an edge for every i ∈ [k−1].
Path - is a walk with no vertex twice.
Tour - is a walk with no edge twice.
Handshaking Lemma: For every graph G = (V,E) we have ∑v ∈ Vdeg(v) = 2|E|
Lemma 2: For any graph G the number of v s.t. deg(v) is odd is even.
Fact 1: If there is a walk between u and v there is a path from u to v.
Forest - a graph G is a forest if it does not contain a subgraph isomorphic with a cycle.
Tree - a graph G is a tree iff it is forest and it is connected.
Equality - The following statements are equal:
Directed graph - a pair G = (V,E) s.t. E ⊆ V × V.
Oriented graph - graph G is oriented, if it was obtained from undirected graph by orienting its edges, meaning it is directed, but it does not contain loops or bigons.
Loop - an edge (v,v)
Bigon - pair of edges (u,v) and (v,u).
Head - in oriented edge uv (u to v) vertex v is called head.
Tail - in oriented edge uv (u to v) vertex u is called tail.
Planar graph - A graph G is planar iff there exists a drawing in the plane ℝ2 without edge crossings. Meaning there exists a function φ : V(G) → ℝ2 and function φuv : [0,1] → ℝ2 for every uv ∈ E(G) s.t. φuv is injective, continous. The φ(V(G)) and all φuv((0,1)) are pairwise disjuncitve.
Plane graph - A planar graph together with a plane embedding.
Face - maximal arc-connected region which does not contain a point of the drawing.
Triangulation - plane graph s.t. every face is bounded by a C3.
Near-triangulation - is a plane graph with all faces except for the outer face bounded by a triangle and the outer face bounded by a cycle.
Platonic solid - polyhedron s.t. all faces are congruent regular polygons and the same number of faces meets at each vertex.
Facial walk - minimal face bounding walk.
Dual-graph - The dual graph G* of a plane graph G is a graph in which: the vertices of G* one-to-one correspond to the faces of G and two vertices of G* are adjacent if the corresponding faces share an edge.
Fact - If G is connected plane graph, then every face is bounded by a closed walk. Minimal such walk is called a facial walk.
Fact 2 - K3, 3 and K5 are not planar.
Euler’s formula - Let G be a connected plane graph with n vertices m edges and f faces. Then n − m + f = 2
Theorem 1 - Let G be a plane graph with n ≥ 3 vertices, then there exists a triangulation H s.t. G is a spanning subgraph of H.
Corollary - If G is a planar graph with n ≥ 3 vertices, then e ≤ 3n − 6.
Corollary - If G is a planar graph with n ≥ 3 vertices, then there exists a vertex v s.t. deg(v) ≤ 5.
Wagner’s Theorem - A graph G is planar iff G does not contain K3, 3 or K5 as a minor.
Kuratowski’s Theorem - A graph G is planar iff G does not contain a subgraph that is a subdivision of K5 or K3, 3.
k-coloring - function c : V(G) → {1, ..., k} s.t. uv ∈ E(G) ⟹ c(u) ≠ c(v).
Chromatic number χ(G) - chromatic number of graph G is the smallest k s.t. there exists a k-coloring for G.
k-edge-coloring - function c : E(G) → {1, ..., k} s.t. e, f ∈ E(G) ∧ e ≠ f ∧ e ∩ f ≠ ∅ ⟹ c(e) ≠ c(f).
Chromatic index χ′(G) - chromatic index of graph G is the smallest k s.t. there exists a k-edge-coloring for G.
k-list-assignment - a function L : V(G) → 2ℕ s.t. ∀v ∈ V(G).{|L(v)| = k}.
L-colorable - Graph G is L-colorable if ∃c : V(G) → ℕ s.t. c is a valid vertex coloring and ∀u ∈ V(G).{c(u) ∈ L(u)}.
list chromatic number χl(G) - the smallest k s.t. for all k-list-assignments L, graph G is L-colorable.
Bounds of chromatic number: ω(G) ≤ χ(G) ≤ Δ(G) + 1.
Bounds of chromatic index: Δ(G) ≤ χ′(G) ≤ Δ(G) + 1.
Bounds of list chromatic number: χ(G) ≤ χl(G) ≤ Δ(G) + 1.
Theorem: Every plane triangulation is 4 − colorable ⇔ Every cubic bridgless plane graph is 3-edge-colorable.
Brook’s Theorem: Let G be a connected graph. If G is not an odd cycle or a complete graph, then χ(G) ≤ Δ(G).
Vizing’s Theorem: χ′(G) ≤ Δ(G) + 1.
Thomassen’s Theorem: For every planar graph G, χl(G) ≤ 5.
Voigt’s Theorem: There exists a planar graph G s.t. χl(G) > 4.
Fact 2: If G is a chordal graph, then χ(G) = ω(G).
Theorem (Chudnovsky, Robertson, Seymar, Thomas): A graph G is perfect if it does not contain an odd cycle or a complement of an odd cycle as an induced subgraph.
Connected - a graph is connected iff for every u and v there exists a walk from u to v.
k-edge-connected - if removal of ≤ k − 1 edges cannot disconnect G. ∀F ⊆ E(G).{|F| ≤ k − 1 ⟹ G \ F is connected}.
k-vertex-connected - graph G is k-vertex-connected if |G| ≥ k + 1 and ∀W ⊆ V(G).{|W| ≤ k − 1 ⟹ G \ W is connected}.
Bridgless graph - a graph G is bridless iff ∄e ∈ E(G) s.t G \ e has more components than G (graph G is 2-edge-connected).
Menger’s Theorem: A graph G is k-edge-connected ⇔ ∀u, v ∈ V(G).∃k edge-disjoint paths from u to v.
Menger’s Theorem: A graph G is k-vertex-connected ⇔ ∀u, v ∈ V(G).∃k internally vertex-disjoint paths from u to v}.
Theorem: A graph G is 2-connected iff G can be obtained from K3 = C3 by the following two operations: add an edge, subdivide an edge.
Theorem: A graph G is 3-connected iff G can be obtained from K4 by the following operation G → G′: pick a vertex v, replace it with v′v″ s.t. nG(v) = nG′(v′) ∪ nG′(v″) and ∀v ∈ G′.{deg(v) ≥ 3}.
Network - directed graph together with a function c : E(G) → ℝ0+ and two special vertices labeled as source and sink.
Flow - A flow in network G is a function f : E(G) → ℝ0+ s.t.
Value of flow - |f| = ∑source → ef(e) − ∑e → sourcef(e) = ∑e → sinkf(e) − ∑sink → ef(e)
Cut - Partition of V(G) to sets A and B s.t. source ∈ A and sink ∈ B. The size of the cut is ∑e : A → Bc(e).
Optimal flow - flow f s.t. |f| = supf′|f′|.
Augmenting path - a path u = v1, v2, ..., vn = v from u to v is in context of flow networks called augmenting if it contains edges e = vivi + 1 s.t. {(vi,vi + 1) ∈ E(G) ∧ f(e) < c(e)} ∨ {(vi + 1vi) ∈ E(G) ∧ f(e) > 0}
Matching - An edge set M ⊆ E s.t. ∀e, f ∈ M.{e ∩ f = ∅}.
Perfect Matching - A matching M s.t. ∀v ∈ V(G)∃e ∈ M.{v ∈ e}.
Vertex cover - vertex set W ⊆ V s.t. ∀e ∈ E.{e ∩ W ≠ ∅}.
Fact - ∀f∀cut(A,B).{|f| ≤ |cut(A,B)|}.
Max-flow Min-cut Theorem - maxf|f| = mincut(A,B)|cut(A,B)|
Fact - ∀cut(A,B).{|f| = ∑e : A → Bf(e) − ∑e : B → Af(e)}
Fact - A flow f is optimal iff there is no augmenting path.
Ford–Fulkerson - greedy algorithm that computes the maximum flow in a flow network using augmenting paths.
Fact - size of any matching ≤ size of any vertex cover
Kőnig’s Theorem - In any bipartite graph, the number of edges in a maximum matching equals the number of vertices in a minimum vertex cover.
Hall’s Theorem - Given set set Ξ = {X1, X2, ..., Xn} there exists a system of distinct representatives x1 ∈ X1, x2 ∈ X2, …, xn ∈ Xn s.t. all x1, x2, ..., xn are pairwise distinct iff ∀Y ∈ 2Ξ.{|Y| ≤ |⋃X ∈ YX|}
P class - class of decision problems s.t. there exists an algorithm, which can solve the problem in polynomial time.
NP class - class of decision problems s.t. there exists an algorithm, which can “verify” the solution, in polynomial time.
Polynomial-time reduction - Q≤PR if there exists a algorithm A s.t. ∀x.{x ∈ Q ⇔ A(x) ∈ R}.
NP-complete - problem Q is NP-complete iff Q ∈ NP and all NP problems can be reduced to Q in polynomial time.
NP-complete problems - Here is a list of some NP-complete problems:
Π2P-complete problems - List of some Π2P-complete problems problems: