Lecture 9: Network Flows ( Weighted Graphs) Flashcards
What are several algortithms to analyse a directed graph?
- maximal flow
- minimal cut-sets
- independent paths
- optimal marriages
Explain the difference between indeg(v) and outdeg(v)
indeg(v) is the number of edges in D with v as the head
outdeg(v) is the number of edges in D with v as the tail
D = (V,E) explain what V and E are
&
given an edge (A,B) what is A and B.
V = finite non-empty set of vertices V
E = finite set of E ordered pairs
A = tail
B = head
Are; Circuits, Cycles, Paths and Trails similar to that of undirected graphs?
Yes.
What is an Euclerian circuit?
A Eulerian circuit is a directed circuit that contains each edge in the graph exactly once.
indeg(V) = outdeg(V)
What is a DAG and what is its purpose?
What is total ordering and a partial ordering? How is it relevant to a DAG?
Directed Acyclic Graph
- Used for solving scheduling problems
A DAG defines a partial order between its vertices only!
Total orderings are the number of partial orders.
Explain the Maximum flow algoritihm.
- Goal is to maximise the flow through all edges;
- In a real world problem: Maximizing the flow of material through a transportation network (pipeline, communication system, road system, etc)
Two distinguished vertices:
- The source (vertex 1)
- The sink (vertex n)
- Each edge (i, j) has a capacity, ui, j
- Each edge (i, j) has a flow, xi, j
Minimal cut set
- Purpose: find the cut(s) with the smallest capacity
- Solving the maximal flow also solves the minimal cut set.
- Different cuts have different capacities
Explain the flow value lemma
Given any flow and any s-t cut that partitions the graph into sets of vertices A and B, the total flow crossing the cut equals the flow from A to B minus the flow from B to A
How to recognise optimal flows?
If the value of the network’s flow equals the capacity of an s-t cut then the flow is maximal and the cut is minimal
What is a ford fulkerson algorithm?
It is a backtracking algorithm. Allows flows to be taken away from edges.
note:
The residual capacity of an edge e is c(e) − f(e), i.e., how much extra capacity it has above its current flow
c(e) potential capacity
f(e) actual flow
What is an augumenting path?
This is a basis of the ford fulkerson algorithm.
Is a path from souce to sink on an undirected graph.
- It ignores the direction of the edges.
- Must have a positive residual capacity on all forward edges in the path
- Must have a positive flow on all reverse edges in the path
Explain the Ford fulkerson Algorithm
The algorithm then works as follows:
- Start with zero flow on all edges
- Find an augmenting path
- Calculate the bottleneck value b along the path
- For each edge e in the path:
- If it is a forward-facing edge then add the bottleneck value to its flow, i.e., f(e) = f(e) + b b.
- If it is a backward-facing edge then subtract the bottleneck value from its flow, i.e., f(e) = f(e) − b
- Repeat steps 2 to 4 until there are no more augmenting paths
How to find a minimum cut-set.
Starting from the source s, find all vertices that can be reached from s by following paths on the undirected graph composed of:
- Forward edges with positive residual capacities,
- Backward edges with positive flows
These vertices form set A in the partition; the remainder are set B
What is a bipartite graph?
&
What does the term matching mean?
&
what does the term maximum matching mean?
a graph that contains vertices that are partitioned into two disjointed groups. E.g. male/females.
matching:
is a subset of the edges, such that the two ends of each edge belongs to different partitions and no edges share a vertex.
maximum matching:
the total number of these matching edges.