Naming Some Special Graphs
When we talk about graph theory – particularly when we get to some of the
interesting theorems – we end up referencing certain common graphs or type of graphs
by name. In my last post, I had to work in the definition of snark, and struggle around
to avoid mentioning another one, so it seems like as good a time as any to run through
some of the basics. This won’t be an exciting post, but you’ve got to do the definitions sometime. And there’s a bunch of pretty pictures, and even an interesting simple proof or two.
A *complete* graph is a graph where every vertex has an edge to every other vertex.
We call a complete graph with N vertices KN. For example, the figure over to the right is K6. When a complete graph is a subgraph of a larger graph, it’s called a *clique*. If removing the clique makes a connected graph become disconnected, then it’s called a *clique separator*. (Clique separators are very useful in graph coloring.)
If the vertices of a graph can be separated into two disjoint sets A and B such that every edge runs from a vertex A to a vertex in B, then we call it a *bipartite* graph. (Another way of stating this is that the graph can be 2-colored.) If there’s an edge from every node in A to every node in B, then we call it a *complete* *bipartite* graph. The complete bipartite graph between two sets A and B where A has N vertices, and B has M vertices, is
called KM,N. For example, over to the left is K4,3.
A bipartite graph
can *never* include a cycle whose length is odd. There’s a remarkably simple proof. In a bipartite graph, every path must alternate A to B to A to B. Any cycle must necessarily follow the pattern of an edge from A to B, followed by a path, followed by an edge from B to A. The path must also follow a pattern: B to A, subpath, A to B. There’s no way to add to the potential cyclic paths in a bipartite graph without adding *two* edges.
If a graph is connected and contains no cycles, then it’s called a *tree*. A disconnected
graph whose connected components are all trees is called a *forest*. You can easily prove that every tree is bipartite. Take a node, and call it the root. Take the nodes connected it, and call them its children, and call the root its parent. For each of those nodes, call the nodes connected to them *their* children, and so on. Now, starting at the root, color the root one color, the children the other, the grandchildren the first, great-grandchildren the second, and so on.
A snark is, as I mentioned yesterday, a connected, bridgeless, cubic graph with chromatic index 4.
The graph over to the right is called *Petersen’s graph*. Every snark contains
Petersen’s graph as a subgraph.
Given a graph G, a subgraph is called a *spanning subgraph* if it includes every vertex
in G. If G is connected, a connected spanning subgraph that is a tree is called a *spanning tree*. Every connected graph has a *minimum spanning tree* – that is, a spanning tree such that no spanning tree can contain fewer edges. A spanning subgraph of G whose nodes all have degree N is called an *N-factor* of G. To the left, there’s a graph G; a spanning tree, and a one-factor.
Given a graph G, if there is a cycle including every node, that’s called a *Hamiltonian cycle*. A graph can have multiple hamiltonian cycles.