Abstract
In the 1840's, Kirchhoff, while putting forth his defining work on circuit theory, was simultaneously pioneering the theory of graphs, a development which occupies a central place in circuit theory. Using algebraic methods, Kirchhoff [3] found a way to determine whether a set of edges in a connected graph was a spanning tree, that is, a tree containing all the vertices of the graph. In his setting, the spanning trees correspond to certain nonsingular submatrices of a matrix constructed from the incidence matrix of the graph. Over time, graphs came to be treated as discrete structures as well, consisting of finite sets of vertices and edges, without the algebraic structure that Kirchhoff used. Later in the century, attention was given to weighted graphs, graphs whose edges have been assigned real values. A classical problem in weighted graphs is this: Given a connected weighted graph, find all the spanning trees that have the minimum edge weight sum. These trees are called minimum spanning trees, and an algorithm for finding one was given as early as 1926 by Boruvka, whose work is discussed in [2]. In 1956 Kruskal [4] developed another algorithm for finding a minimum spanning tree; it is perhaps the most famous of all such algorithms. Minimum spanning trees have many applications; some of the most obvious ones deal with the minimizing of cost, such as the cost of building pipelines to connect storage facilities. We will begin by outlining the results of Kirchhoff and Kruskal. Although both approaches have to do with spanning trees in graphs, they appear to have little else in common. We show that there is indeed a more profound connection, which we develop here. In particular, we will develop an algorithm that uses Kirchhoff's determinants to generate the set of all minimum spanning trees in a weighted graph. In the process, the linear algebra and the discrete mathematics come together in a pleasing, intriguing, and accessible way, and it is hoped that students may be encouraged to follow this expository article with further exploration.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have