You may want to download the lecture slides that were used for these videos (PDF).
1. A Networking Problem
This video introduces a networking problem and asks some motivating questions. We will study two approaches to solve it. (7:05)
2. Kruskal’s Algorithm
This video gives the first solution to the networking problem, Kruskal’s Algorithm. (11:32)
3. Prim’s Algorithm (Build Tree)
In this video we give another algorithm for solving the networking problem. (5:21)
4. The Mathematics Behind the Algorithms
We will explain why Kruskal (avoid cycles) and Prim (build tree) work as intended. This will be done over several videos, and underlying principles are drawn from linear algebra, but now with a finite field rather than with the more familiar fields of real numbers and complex numbers. (2:38)
5. The Exchange Principle
We start by considering a spanning tree T in a graph G. (7:10)
6. A New Kind of Vector Space
Let G be a connected graph, and let E be the edge set of G. We consider subsets of E and call a subset S independent if it contains no cycles. Note that the maximal independent sets are the spanning trees of G. (2:07)
7. Constrained Spanning Trees
We continue our explanation of why Kruskal (avoid cycles) and Prim (build tree) work. Now we discuss a modified version of the original problem. (2:30)
8. Fundamental Lemma
This video introduces a lemma, and gives an outline of its proof. (7:12)
9. Applying the Exchange Principle
This video describes how we can use the exchange principle to show that different solutions to an optimization problem with multiple optimal solutions, are optimal. (4:40)
10. The Correctness of Kruskal’s and Prim’s Algorithms
This video describes the correctness of Kruskal’s and Prim’s algorithms. (8:28)
11. Data Structure and Computational Issues
We discuss some of the practical issues in implementing Kruskal’s and Prim’s algorithms. (4:07)
12. Finding Shortest Paths
This video introduces a constrained optimization problem, which is to find a particular route in a connected digraph whose edges have non-negative weights. (5:23)
13. Dijkstra’s Algorithm
This video introduces Dijkstra’s Algorithm and discusses how it works. In next week’s videos, we will see why this algorithm works. (9:28)
Additional Resources
At the beginning of the following week, Dr. Trotter reviewed some of this week’s material. You may find the following videos helpful in getting a better understanding of the material in Week 22.
14. Review
This video reviews the exchange principle, constrained spanning trees, and the fundamental lemma. (5:09)
15. Review – Applying the Exchange Principle
This video reviews the proof of the exchange principle. (5:45)
16. Review – Dijkstra’s Algorithm and Shortest Paths
This video reviews Dijkstra’s Algoritm and how it works. (6:34)
17. Review – The Correctness of the Algorithm (1)
This video discusses a proof related to Dijkstra’s Algorithm that we will complete in the next lecture. (2:35)
18. Review – The Correctness of the Algorithm (2)
This video goes into more detail on the proof related to Dijkstra’s Algorithm that we complete in the next lecture. (4:50)