Question: Dynamic Programming Question # 13 13. The problem of searching for cycles in graphs arises naturally in financial trading applications. Consider a firm that trades
Dynamic Programming Question # 13

13. The problem of searching for cycles in graphs arises naturally in financial trading applications. Consider a firm that trades shares in n different companies. For each pair i j, they maintain a trade ratio rj, meaning that one share of i trades for rshares of j. Here we allow the rate r to be fractional; that is, rmeans that you can trade three shares of i to get two shares of j. A trading cycle for a sequence of shares i, i2,... ,ik consists of successively trading shares in company i, for shares in company i2, then shares in company i2 for shares i, and so on, finally trading shares in ik back to shares in company i. After such a sequence of trades, one ends up with shares in the same company i that one starts with. Trading around a cycle is usually a bad idea, as you tend to end up with fewer shares than you started with. But occasionally, for short periods of time, there are opportunities to increase shares. We will call such a cycle an opportunity cycle, if trading along the cycle increases the number of shares. This happens exactly if the product of the ratios along the cycle is above 1. In analyzing the state of the market, a firm engaged in trading would like to know if there are any opportunity cycles. Give a polynomial-time algorithm that finds such an opportunity cycle, if one exists
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
