/*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} Q21E An edge of a flow network is cal... [FREE SOLUTION] | 91Ó°ÊÓ

91Ó°ÊÓ

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 91Ó°ÊÓ!

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

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.

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.

You are given the following points in the plane:

(1,3),(2,5),(3,7),(5,11),(7,14),(8,15),(10,19)

.You want to find a lineax+by=c that approximately passes through these points (no line is a perfect fit). Write a linear program (you don’t need to solve it) to find the line that minimizes the maximum absolute error,max1≤i≤7|axi+byi−c|

Consider the following generalization of the maximum flow problem.

You are given a directed network G=(V,E)with edge capacities {ce}. Instead of a single (s,t)pair, you are given multiple pairs (s1,t1),(s2,t2),…,(sk,tk), where the siare sources of Gand tithe are sinks of G. You are also given kdemands d1,…,dk. The goal is to find kflows f(1),…,f(k)with the following properties:

  • f(i)is a valid flow fromSi toti .
  • For each edge e, the total flowfe(1)+fe(2)+…+fe(k) does not exceed the capacityce .
  • The size of each flowf(i) is at least the demand di.
  • The size of the total flow (the sum of the flows) is as large as possible.

How would you solve this problem?

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.

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.