Module Information
Course Delivery
Delivery Type | Delivery length / details |
---|---|
Lecture | 22 x 1 Hour Lectures |
Assessment
Assessment Type | Assessment length / details | Proportion |
---|---|---|
Semester Exam | 2 Hours (Written Examination) | 100% |
Supplementary Exam | 2 Hours (Written Examination) | 100% |
Learning Outcomes
On completion of this module, students should be able to:
1. investigate elementary properties of graphs;
2. perform simple graph construction;
3. represent abstract graphs diagrammatically;
4. determine whether a graph satisfies various criteria;
5. apply algorithms for finding components;
6. describe the algorithms of Dijkstra and Floyd, and to apply them in simple cases;
7. apply critical path analysis to simple projects;
8. apply either Prim's or Kruskal's algorithm for finding optimum weight spanning trees;
9. apply the Ford-Fulkerson algorithm to a transport network to find a maximum flow.
Brief description
Graph theory has developed from research into a number of classical problems - Euler's Konigsberg Bridge Problem, Kirchoff's Electrical Network Problem, Cayley's Enumeration of Chemical Graphs and the Four Colour Problem for Plane Maps. A full solution is found to the Euler Problem and a related problem due to Hamilton is studied. Shortest and longest path algorithms are given with applications, for instance, to job scheduling (PERT). Algorithms are described for finding optimum weight spanning trees inweighted graphs. They can be used, for example, to find least cost connected transport networks. The theory of flows in transport networks is outlined: in paticular the max-flow-min-cut theorem. Two areas of application are traffic flows and matching theory.
Aims
To provide an introduction to some topics in classical graph theory. To describe network algorithms such as those for finding optimum length paths, optimum weight spanning trees and maximum flows and to illustrate them with applications to simple cases.
Content
2. Paths and components in graphs. Algorithms to determine components. Shortest (Dijkstra) and longest path algorithms. Floyd's algorithm.
3. Topological sorting. Critical Path Analysis.
4. Spanning trees. Prim's and Kruskal's algorithms for finding optimum weight spanning trees.
5. Transport networks. Flows, cuts. The max-flow-min-cut theorem. The Ford-Fulkerson algorithm.
6. Applications.
Notes
This module is at CQFW Level 6