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

The tramp steamer problem. You are the owner of a steamship that can apply between a group of port cities V . You make money at each port: a visit to city i earns you a profit of pi dollars. Meanwhile, the transportation cost from port i to port j is cij>0 .You want to find a cyclic route in which the ratio of profit to cost is maximized.

To this end, consider a directed graph G=(V,E) whose nodes are ports, and which has edges between each pair of ports. For any cycle C in this graph, the profit-to-cost ratio is

role="math" localid="1658920675878" r(c)=i,jicPiji,jicCij

Let r' be the maximum ratio achievable by a simple cycle. One way to determine r' is by binary search: by first guessing some ratio r , and then testing whether it is too large or too small. Consider any positive r>0 . Give each edge (i,j) a weight of wij=rcij-pj .

  1. Show that if there is a cycle of negative weight, then .
  2. Show that if all cycles in the graph have strictly positive weight, then r<r*.
  3. Give an efficient algorithm that takes as input a desired accuracy >0 and returns a simple cycle c for which r(C)3r*- Justify the correctness of your algorithm and analyze its running time in terms of |V|, and R=max(i,j)iE(PJCIJ) .

Short Answer

Expert verified

a) The cycle of negative weight is shown below.

b) If all cycles in the graph have strictly positive weight, then r>r*is proved.

c) An efficient algorithm that takes as input a desired accuracy>0 is proved.

Step by step solution

01

Step-by-Step Solution .  Cmax,Cnegative,r, 

Step-1: (a) proof of negative weight in cycle

Let Gr be the graph with edge weights wij=rcij-pj for a given r . Let's pretend there's a negative weight cycle in Gr. Consider a simple negative-weight cycle localid="1658921532977" Cnegative . The following Cnegative is the weight is given as: localid="1658921854625" rC<i,jCPiji,jcCIJ

weightcnegative=i,jI˙CnegativeWijweight(cnegative)=(i,j)I˙Cnegativercij-pj<0r<i,jCnegativePi,ji,jCnegtiveCij=Cnegative

Thus,

r<i,jCnegativePiji,jCnegativeCij=rCNegative

Since the highest possible ratio for any simple cycle

r<rCnegative<r*.

Therefore,

r<r*

02

 Step-2: proof of positive weight in cycle.

b).

Let's consider the basic cycle cmax with the highest profit-to-cost ratio, which is r'=rcmax .

Assume that no negative weight cycles exist in Gr. In the graph Gr, the weight of cmax is:

rC<i,jCPiji,jCCijweightcmax=i,jICmaxwijweightcmaxi,jiICmaxrcij=pj

Because the weight of all cycles in the graph is strictly larger than zero,

weightcmax=i,jICmaxrcij-pj

Thus,

r<i,jcmaxPiji,jcmaxCIJ=rcmax

Therefore,

The basic purpose of this challenge is to find a cycle with a ratio r that falls withinthe interval. It can be accomplished through the use of binary search and the conclusions in (a) and (b).

To begin with, it's simple to show upperbound and is a lowerbound for . Then choose a value that is in the middle of these two and test for the presence of negative weight cycles in Gr. Let be the new lowerbound if there is a negative cycle in Gr (which implies that r<r*). Otherwise, the new upperbound should be r . When the length of the interval (the distance between lowerbound and upperbound) is less than , the binary search operation ends.

03

Step-3: (c) Algorithm

The basic purpose of this challenge is to find a cycle with a ratio r that falls within the choose a value r that is in the middle of these two and test for the presence of negative weight cycles inGr. Let r be the new lowerbound if there is a negative cycle inGr. When the length of the interval (the distance between lowerbound and upperbound) is less than,, the binary search operation ends.

.Initialize lowest¬0,highest¬maxi,jI^Epjcij

.while highest-lowest> , do

rhighest+lowest2

If G has negative cycle then

lowestr

else

highestr

end if

end while

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

|ψ=12|00+12|11is one of the famous “Bell states,” a highly entangled state of its two qubits. In this question we examine some of its strange properties. (a) Suppose this Bell state could be decomposed as the (tensor) product of two qubits (recall the box on page ), the first in state α0|0+α1|1and the second in stateβ0|0+β1|1. Write four equations that the amplitudes α0,α1,β0andβ1must satisfy. Conclude that the Bell state cannot be so decomposed.

(b) What is the result of measuring the first qubit of |ψ?

(c) What is the result of measuring the second qubit after measuring the first qubit? (d) If the two qubits in state|ψ are very far from each other, can you see why the answer to (c) is surprising?

A vertex cover of a graph G=(V,E)is a subset of vertices SVthat includes at least one endpoint of every edge in E. Give a linear-time algorithm for the following task.

Input: An undirected tree T=(V,E).

Output: The size of the smallest vertex cover of T. For instance, in the following tree, possible vertex covers include{A,B,C,D,E,F,G}and{A,C,D,F}but not{C,E,F}.The smallest vertex cover has size 3: {B,E,G}.

Question: An Eulerian tourin an undirected graph is a cycle that is allowed to pass through each vertex multiple times, but must use each edge exactly once.

This simple concept was used by Euler in to solve the famous Konigsberg bridge problem, which launched the field of graph theory. The city of Konigsberg (now called Kaliningrad, in western Russia) is the meeting point of two rivers with a small island in the middle. There are seven bridges across the rivers, and a popular recreational question of the time was to determine whether it is possible to perform a tour in which each bridge is crossed exactly once. Euler formulated the relevant information as a graph with four nodes (denoting land masses) and seven edges (denoting bridges), as shown here.

Notice an unusual feature of this problem: multiple edges between certain pairs of nodes.

(a) Show that an undirected graph has an Eulerian tour if and only if all its vertices have even degree. Conclude that there is no Eulerian tour of the Konigsberg bridges.

(b) An Eulerian pathis a path which uses each edge exactly once. Can you give a similar if-and-only-if characterization of which undirected graphs have Eulerian paths?

(c) Can you give an analog of part (a) for directedgraphs?

The kSPANNING TREE problem is the following.Input: An undirected graph G=(V,E) Output: A spanning tree of G in which each node has degree k, if such a tree exists.Show that for any k2:

  1. k SPANNING TREE is a search problem.
  2. k SPANNING TREE is NP-complete. (Hint: Start with k=2 and consider the relation between this problem and RUDRATA PATH.)

Show that any array of integers x[1n] can be sorted in O (n + M) time, where

role="math" localid="1659938331794" M=maxxi-minxiii

For small M, this is linear time: why doesn’t the Ω(nlogn) lower bound apply in this case?

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