Graph search algorithm for finding cycle with largest end result Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Does Dijkstra's algorithm work when I multiply weights of successive nodes?In search of a symmetric homogeneous graph with a pivotal originfinding graph that not have euler cycleWhat is the maximum number of cycles there can be in a graph with $x$ edgesOptimization Algorithm for Combining Nodes on a GraphFinding the maximum weighted path in a directed cyclic weighted graph with probabilities on edgesExercises about degrees and lengths of graphsFinding Largest Graph with $n$ Vertices and Diameter $neq$ 1Path Property of Directed Acyclic GraphsWeighted digraph with AND-OR vertices, search algorithm - independent solution from a vertex for which each involved vertex has same sub-solution?

Should I use a zero-interest credit card for a large one-time purchase?

Is the Standard Deduction better than Itemized when both are the same amount?

Why is my conclusion inconsistent with the van't Hoff equation?

51k Euros annually for a family of 4 in Berlin: Is it enough?

Generate an RGB colour grid

How to tell that you are a giant?

Single word antonym of "flightless"

What does an IRS interview request entail when called in to verify expenses for a sole proprietor small business?

Short Story with Cinderella as a Voo-doo Witch

Why are there no cargo aircraft with "flying wing" design?

How can I make names more distinctive without making them longer?

How widely used is the term Treppenwitz? Is it something that most Germans know?

What exactly is a "Meth" in Altered Carbon?

Apollo command module space walk?

Seeking colloquialism for “just because”

2001: A Space Odyssey's use of the song "Daisy Bell" (Bicycle Built for Two); life imitates art or vice-versa?

Is it true that "carbohydrates are of no use for the basal metabolic need"?

What is the meaning of the new sigil in Game of Thrones Season 8 intro?

Abandoning the Ordinary World

How to react to hostile behavior from a senior developer?

Identify plant with long narrow paired leaves and reddish stems

English words in a non-english sci-fi novel

List *all* the tuples!

What does this icon in iOS Stardew Valley mean?



Graph search algorithm for finding cycle with largest end result



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Does Dijkstra's algorithm work when I multiply weights of successive nodes?In search of a symmetric homogeneous graph with a pivotal originfinding graph that not have euler cycleWhat is the maximum number of cycles there can be in a graph with $x$ edgesOptimization Algorithm for Combining Nodes on a GraphFinding the maximum weighted path in a directed cyclic weighted graph with probabilities on edgesExercises about degrees and lengths of graphsFinding Largest Graph with $n$ Vertices and Diameter $neq$ 1Path Property of Directed Acyclic GraphsWeighted digraph with AND-OR vertices, search algorithm - independent solution from a vertex for which each involved vertex has same sub-solution?










0












$begingroup$


I have a directed graph where the vertices represent Forex currencies, and the edges represent the ratio of the projecting currency to the projected currency. For example:



$$E(USD, EUR) = 0.91$$
$$E(EUR, USD) = 1.13$$
$$E(EUR,YEN) = 126.69$$
$$E(YEN,USD) = 0.0091$$



If I wanted the value of $1.50 USD in EUR, I would calculate $1.50*0.91$, and if I wanted the value of €1.50 EUR in USD, I would calculate $1.50*1.13$.



Since most pairs of vertices will have two edges between them, with one going each way, the graph has cycles. What I want to be able to do is find all cycles in the graph that result in a value larger than the initial state. This process is known as arbitrage.



So, say I have $1 USD. I want to evaluate all possible paths in the graph that would start at $V(USD)$, end at $V(USD)$, and have the end value greater than or equal to the start value. For example:



$$$1 rightarrow €0.91 rightarrow ¥115.2879 rightarrow $1.049$$



This example starts and ends at the same vertex and has an end value of $1.049, which is greater than the starting value of $1. Thus, it is a valid path.



Is there an algorithm that achieves this type of search behavior? I am familiar with basic path search algorithms, but none of the ones I currently have knowledge of allow searching specifically for cycles, and they all prioritize reducing cost rather than increasing it (although I'm sure this can be solved with a few operator swaps).










share|cite|improve this question









$endgroup$







  • 1




    $begingroup$
    According to this answer the problem is NP-hard. You can easily reduce your problem to the sum-of-weights problem by taking logarithms.
    $endgroup$
    – saulspatz
    Mar 26 at 17:13















0












$begingroup$


I have a directed graph where the vertices represent Forex currencies, and the edges represent the ratio of the projecting currency to the projected currency. For example:



$$E(USD, EUR) = 0.91$$
$$E(EUR, USD) = 1.13$$
$$E(EUR,YEN) = 126.69$$
$$E(YEN,USD) = 0.0091$$



If I wanted the value of $1.50 USD in EUR, I would calculate $1.50*0.91$, and if I wanted the value of €1.50 EUR in USD, I would calculate $1.50*1.13$.



Since most pairs of vertices will have two edges between them, with one going each way, the graph has cycles. What I want to be able to do is find all cycles in the graph that result in a value larger than the initial state. This process is known as arbitrage.



So, say I have $1 USD. I want to evaluate all possible paths in the graph that would start at $V(USD)$, end at $V(USD)$, and have the end value greater than or equal to the start value. For example:



$$$1 rightarrow €0.91 rightarrow ¥115.2879 rightarrow $1.049$$



This example starts and ends at the same vertex and has an end value of $1.049, which is greater than the starting value of $1. Thus, it is a valid path.



Is there an algorithm that achieves this type of search behavior? I am familiar with basic path search algorithms, but none of the ones I currently have knowledge of allow searching specifically for cycles, and they all prioritize reducing cost rather than increasing it (although I'm sure this can be solved with a few operator swaps).










share|cite|improve this question









$endgroup$







  • 1




    $begingroup$
    According to this answer the problem is NP-hard. You can easily reduce your problem to the sum-of-weights problem by taking logarithms.
    $endgroup$
    – saulspatz
    Mar 26 at 17:13













0












0








0





$begingroup$


I have a directed graph where the vertices represent Forex currencies, and the edges represent the ratio of the projecting currency to the projected currency. For example:



$$E(USD, EUR) = 0.91$$
$$E(EUR, USD) = 1.13$$
$$E(EUR,YEN) = 126.69$$
$$E(YEN,USD) = 0.0091$$



If I wanted the value of $1.50 USD in EUR, I would calculate $1.50*0.91$, and if I wanted the value of €1.50 EUR in USD, I would calculate $1.50*1.13$.



Since most pairs of vertices will have two edges between them, with one going each way, the graph has cycles. What I want to be able to do is find all cycles in the graph that result in a value larger than the initial state. This process is known as arbitrage.



So, say I have $1 USD. I want to evaluate all possible paths in the graph that would start at $V(USD)$, end at $V(USD)$, and have the end value greater than or equal to the start value. For example:



$$$1 rightarrow €0.91 rightarrow ¥115.2879 rightarrow $1.049$$



This example starts and ends at the same vertex and has an end value of $1.049, which is greater than the starting value of $1. Thus, it is a valid path.



Is there an algorithm that achieves this type of search behavior? I am familiar with basic path search algorithms, but none of the ones I currently have knowledge of allow searching specifically for cycles, and they all prioritize reducing cost rather than increasing it (although I'm sure this can be solved with a few operator swaps).










share|cite|improve this question









$endgroup$




I have a directed graph where the vertices represent Forex currencies, and the edges represent the ratio of the projecting currency to the projected currency. For example:



$$E(USD, EUR) = 0.91$$
$$E(EUR, USD) = 1.13$$
$$E(EUR,YEN) = 126.69$$
$$E(YEN,USD) = 0.0091$$



If I wanted the value of $1.50 USD in EUR, I would calculate $1.50*0.91$, and if I wanted the value of €1.50 EUR in USD, I would calculate $1.50*1.13$.



Since most pairs of vertices will have two edges between them, with one going each way, the graph has cycles. What I want to be able to do is find all cycles in the graph that result in a value larger than the initial state. This process is known as arbitrage.



So, say I have $1 USD. I want to evaluate all possible paths in the graph that would start at $V(USD)$, end at $V(USD)$, and have the end value greater than or equal to the start value. For example:



$$$1 rightarrow €0.91 rightarrow ¥115.2879 rightarrow $1.049$$



This example starts and ends at the same vertex and has an end value of $1.049, which is greater than the starting value of $1. Thus, it is a valid path.



Is there an algorithm that achieves this type of search behavior? I am familiar with basic path search algorithms, but none of the ones I currently have knowledge of allow searching specifically for cycles, and they all prioritize reducing cost rather than increasing it (although I'm sure this can be solved with a few operator swaps).







discrete-mathematics graph-theory directed-graphs






share|cite|improve this question













share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










asked Mar 26 at 17:06









HausHaus

1114




1114







  • 1




    $begingroup$
    According to this answer the problem is NP-hard. You can easily reduce your problem to the sum-of-weights problem by taking logarithms.
    $endgroup$
    – saulspatz
    Mar 26 at 17:13












  • 1




    $begingroup$
    According to this answer the problem is NP-hard. You can easily reduce your problem to the sum-of-weights problem by taking logarithms.
    $endgroup$
    – saulspatz
    Mar 26 at 17:13







1




1




$begingroup$
According to this answer the problem is NP-hard. You can easily reduce your problem to the sum-of-weights problem by taking logarithms.
$endgroup$
– saulspatz
Mar 26 at 17:13




$begingroup$
According to this answer the problem is NP-hard. You can easily reduce your problem to the sum-of-weights problem by taking logarithms.
$endgroup$
– saulspatz
Mar 26 at 17:13










0






active

oldest

votes












Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "69"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3163481%2fgraph-search-algorithm-for-finding-cycle-with-largest-end-result%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Mathematics Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3163481%2fgraph-search-algorithm-for-finding-cycle-with-largest-end-result%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How should I support this large drywall patch? Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How do I cover large gaps in drywall?How do I keep drywall around a patch from crumbling?Can I glue a second layer of drywall?How to patch long strip on drywall?Large drywall patch: how to avoid bulging seams?Drywall Mesh Patch vs. Bulge? To remove or not to remove?How to fix this drywall job?Prep drywall before backsplashWhat's the best way to fix this horrible drywall patch job?Drywall patching using 3M Patch Plus Primer

Lowndes Grove History Architecture References Navigation menu32°48′6″N 79°57′58″W / 32.80167°N 79.96611°W / 32.80167; -79.9661132°48′6″N 79°57′58″W / 32.80167°N 79.96611°W / 32.80167; -79.9661178002500"National Register Information System"Historic houses of South Carolina"Lowndes Grove""+32° 48' 6.00", −79° 57' 58.00""Lowndes Grove, Charleston County (260 St. Margaret St., Charleston)""Lowndes Grove"The Charleston ExpositionIt Happened in South Carolina"Lowndes Grove (House), Saint Margaret Street & Sixth Avenue, Charleston, Charleston County, SC(Photographs)"Plantations of the Carolina Low Countrye

Kathakali Contents Etymology and nomenclature History Repertoire Songs and musical instruments Traditional plays Styles: Sampradayam Training centers and awards Relationship to other dance forms See also Notes References External links Navigation menueThe Illustrated Encyclopedia of Hinduism: A-MSouth Asian Folklore: An EncyclopediaRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to Play10.1353/atj.2005.0004The Illustrated Encyclopedia of Hinduism: A-MEncyclopedia of HinduismKathakali Dance-drama: Where Gods and Demons Come to PlaySonic Liturgy: Ritual and Music in Hindu Tradition"The Mirror of Gesture"Kathakali Dance-drama: Where Gods and Demons Come to Play"Kathakali"Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceMedieval Indian Literature: An AnthologyThe Oxford Companion to Indian TheatreSouth Asian Folklore: An Encyclopedia : Afghanistan, Bangladesh, India, Nepal, Pakistan, Sri LankaThe Rise of Performance Studies: Rethinking Richard Schechner's Broad SpectrumIndian Theatre: Traditions of PerformanceModern Asian Theatre and Performance 1900-2000Critical Theory and PerformanceBetween Theater and AnthropologyKathakali603847011Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceBetween Theater and AnthropologyBetween Theater and AnthropologyNambeesan Smaraka AwardsArchivedThe Cambridge Guide to TheatreRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeThe Garland Encyclopedia of World Music: South Asia : the Indian subcontinentThe Ethos of Noh: Actors and Their Art10.2307/1145740By Means of Performance: Intercultural Studies of Theatre and Ritual10.1017/s204912550000100xReconceiving the Renaissance: A Critical ReaderPerformance TheoryListening to Theatre: The Aural Dimension of Beijing Opera10.2307/1146013Kathakali: The Art of the Non-WorldlyOn KathakaliKathakali, the dance theatreThe Kathakali Complex: Performance & StructureKathakali Dance-Drama: Where Gods and Demons Come to Play10.1093/obo/9780195399318-0071Drama and Ritual of Early Hinduism"In the Shadow of Hollywood Orientalism: Authentic East Indian Dancing"10.1080/08949460490274013Sanskrit Play Production in Ancient IndiaIndian Music: History and StructureBharata, the Nāṭyaśāstra233639306Table of Contents2238067286469807Dance In Indian Painting10.2307/32047833204783Kathakali Dance-Theatre: A Visual Narrative of Sacred Indian MimeIndian Classical Dance: The Renaissance and BeyondKathakali: an indigenous art-form of Keralaeee