Graph isomorphism Consider the following two graphs:
These two graphs look pretty different in their visual representation. But remember that the positioning of the vertices and the shape of the arcs is irrelevant. By rearranging the vertices, changing the positions of the edges, and relabelling the vertices, we see that these two graphs are actually the same. Two graphs that are the same in this sense are called isomorphic. The key to seeing that two graphs are isomorphic is deciding how to relabel the vertices.
Relabelling means finding a one-to-one correspondence between the vertices in one graph and the vertices in the other. Once you relabel, then the relabelled edges in the two graphs should be identical.
For the above two graphs, the following correspondence between vertices in the first graph and vertices in the second graph results in an identical edge list for the two graphs. Therefore, the two graphs are isomorphic.
a → 2, b → 4, c → 1, d → 3, e → 8, f → 6, g → 7, h → 5
Showing two graphs are isomorphic amounts to finding a valid one-to-one correspondence between the vertices that preserves the list of edges. To show that two graphs are not isomorphic, you must show that here exists no such mapping between the vertices. This can be a tricky thing to do, but sometimes there's an easier way. Isomorphic graphs necessarily share certain properties. If two graphs differ in any one of these properties, then it's not possible for them to be isomorphic. Here's a partial list of ways you can show that two graphs are not isomorphic.
Although each of the two graphs has 6 vertices and each of them has 9 edges, they are still not isomorphic. To see this, count the number of vertices of each degree. The graph on the left has 2 vertices of degree 2, while the one on the right has 3 vertices of degree 2. The following two graphs are also not isomorphic.
In this example, each graph has 8 vertices and 10 edges. Furthermore, each has 4 vertices of degree 2 and 4 vertices of degree 3. Still, the graphs are not isomorphic. There are many ways to show this, but the easiest is probably to note the the graph on the right has a cycle of length 8 (remember that a cycle is a path that ends at the vertex it began and repeats no edges), while the graph on the left does not.
Planar Graphs and Multigraphs
There are many ways to draw a graph - it's nice for the viewer if you can draw a version in which no edges cross each other. This is called a planar representation. Here are two drawings of the same graph, the second one is a planar representation:
Graphs which have a planar representation are called planar. Not every graph, however, has a planar representation. For example, here's a graph that does not have a planar representation:
When you try to rearrange the picture of this graph, you'll always end up having to overlap edges. Of course, the fact that we tried and failed does not prove that there is no way to do it. If you took a graph theory course, you would learn how to prove whether or not a graph is planar (if you're interested in this, look up Kuratowski's theorem in a discrete math text or graph theory text.)
There is some interesting and useful theory associated with planar graphs. If you have a planar graph, then the graph breaks the plane into regions (one of which is infinite). There's a relationship that always holds between the number of regions, the number of vertices and the number of edges. If v is the number of vertices, e is the number of edges and r is the number of regions, then the equation v-e+r = 2 always holds. Euler proved this.
Polyhedra can be represented with planar graphs. For example, the graphs below represent the tetrahedron, cube, octahedron, icosahedron, and dodecahedron.
For the tetrahedron, there are v=4 vertices, e=6 edges, and r=4 regions. v-e+r = 4 - 6 + 4 = 2, as advertized. You can verify that the formula holds for the other examples of planar graphs shown above.
Every planar graph/multigraph has a dual graph/multigraph. This idea proves useful in many applications. To draw a dual graph or multigraph, transform a planar graph or multigraph as follows. In each region (including the infinite region), draw a dot that represents a node in the dual. Each edge of the original graph lies between two regions. So for each edge in the original, find the two regions it lies between, and draw a dual edge connecting them. The regions become nodes and the nodes become regions. Here's an example of a graph (the tetrahedron) and its dual. The dual is drawn in red.
Notice that if you rearrange the vertices, you end up with the original graph (the tetrahedron is self-dual). If you draw the duals of the other polyhedra, you'll see that each one is the dual of one of the others. What happens when you draw the dual of a dual?