Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

An edge of a flow network is called critical if decreasing the capacity of this edge results in a decrease in the maximum flow. Give an efficient algorithm that finds a critical edge in a network

Short Answer

Expert verified

The overall running time of the above algorithm is O(VE2)

Step by step solution

01

Introduction

Edge of network is having flow which is help to create some critically decreasing of maximum flow of connectivity. Even though an edges is critical towards the algorithm, it really should be completely filled.

02

Algorithm to find the critical edge in a network

Graph: G (V, E)

Output: FindCriticalEdge (G)

define getCriticalEdge (G):

residualGraph = fordFulkerson (G)

for edge u, v in residualGraph such that u, v is not in

residualGraph and u,v is not in

DFS ( residualGraph, u )

If has no path to v

Return u,v

return null

03

FordFulkerson Method

FordFulkerson approach is being used in the above procedure to obtain the maximum circulation inside a flow network. Even when an edge is crucial in the algorithm, it should have been filled to the brim; otherwise, the capacity will be reduced without compromising the maximum current.

All of this checks for a path from u to v using the DFS algorithm.

The for loop checks for the presence of something like a path every time DFS is run; if there isn't one, this edge seems to be a critical edge.

Therefore, the efficient algorithm to find the critical edge in a network has been obtained.

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

Consider the following network (the numbers are edge capacities).

(a)Find the maximum flow fand a minimum cut.

(b)Draw the residual graphGf (along with its edge capacities). In this residual network, mark the vertices reachable fromS and the vertices from whichT is reachable.

(c)An edge of a network is called a bottleneck edge if increasing its capacity results in an increase in the maximum flow. List all bottleneck edges in the above network.

(d)Give a very simple example (containing at most four nodes) of a network which has no bottleneck edges.

(e)Give an efficient algorithm to identify all bottleneck edges in a network.

In a particular network G = (V, E) whose edges have integer capacities ce, we have already found the maximum flow f from node to node t. However, we now find out that one of the capacity values we used was wrong: for edge (u, v) we used cuv whereas it should have been cuv. -1 This is unfortunate because the flow f uses that particular edge at full capacity: f = c.

We could redo the flow computation from scratch, but thereโ€™s a faster way. Show how a new optimal flow can be computed inO(|V|+|E|) time.

Hallโ€™s theorem. Returning to the matchmaking scenario of Section 7.3, suppose we have a bipartite graph with boys on the left and an equal number of girls on the right. Hallโ€™s theorem says that there is a perfect matching if and only if the following condition holds: any subset sof boys is connected to at least |s|girls.

Prove this theorem. (Hint: The max-flow min-cut theorem should be helpful.)

Question: Duckwheat is produced in Kansas and Mexico and consumed in New York and California. Kansas produces 15 shnupells of duckwheat and Mexico 8. Meanwhile, New York consumes 10 shnupells and California 13. The transportation costs per shnupell are 4fromMexicotoNewYork,1 from Mexico to California, 2fromKansastoNewYork,and3 and from Kansas to California. Write a linear program that decides the amounts of duckwheat (in shnupells and fractions of a shnupell) to be transported from each producer to each consumer, so as to minimize the overall transportation cost

Direct bipartite matching. Weโ€™ve seen how to find a maximum matching in a bipartite graph via reduction to the maximum flow problem. We now develop a direct algorithm.

Let G=(V1โˆชV2,E)be a bipartite graph (so each edge has one endpoint in V1and one endpoint in V2), and letMโˆˆEbe a matching in the graph (that is, a set of edges that donโ€™t touch). A vertex is said to be covered byMif it is the endpoint of one of the edges in M. An alternating path is a path of odd length that starts and ends with a non-covered vertex, and whose edges alternate between Mand E-M.

(a) In the bipartite graph below, a matching Mis shown in bold. Find an alternating path.


(b) Prove that a matchingMis maximal if and only if there does not exist an alternating path with respect to it.

(c) Design an algorithm that finds an alternating path inO(|V|+|E|)time using a variant of breadth-first search.

(d) Give a directO(|V|-|E|)algorithm for finding a maximal matching in a bipartite graph.

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free