Is there an algorithm that shortens paths (and removes nodes) based on edge cost? I can't put it into words too well so I hope these images sum it up well enough:
Algorithm to simplify/reduce graph
2.4k Views Asked by AlexT At
1
There are 1 best solutions below
Related Questions in GRAPH
- Querying Office for National Statistics data using SPARQL
- Which mathematical algorithm is used for interpolation between datapoints in Smooth Line Chart of Echart?
- how can I use coordinates of path walked by multiple subjects
- Creating a Graph/Chart needing TWO secondary axis options for a combination of Clustered and Stacked Graph Columns
- How to stretch specific y axis intervals so the space between some values is larger than between others?
- out of order time points on multi line chart
- What does negative flow on a reverse arc of a graph in Boykov-Kolmogorov max flow algorithm mean?
- how to generate {8,3} regular graphs for large number of vertices
- Why can't I apply ModularityState from graph-tool on a graph in XML format?
- Update Node from OneTBB Library
- Find the smallest set of vertices in a graph such that you can still reach any point in the set when any single vertex is removed
- Graph Neural Network Custom Data
- FIFO-property in graphs
- How to display total count of bars for each group in Google Charts on the right side of the graph or in legend position
- Whats wrong on Graph API permission for selected site
Related Questions in GRAPH-THEORY
- Algorithm for total flow through weighted directed acyclic graph
- Finding path with smallest GCD of nodes's weights in directed graph
- The plot function in the 'gRc' library gives an error (also in the demo)
- Color edges distinctly in network based on attribute value
- Make a stack of adjacency matrices from a dataframe in R
- What is an efficient algorithm to identify multi-degree email chains in a mock company network?
- Approximation Algorithms for the Longest Simple Path in a Directed Graph
- Eliminate edges in a routing graph which aren't used in the shortest path between a subset of nodes
- PageRank Algorithm on a Graph with a Sink Node
- Algorithm to cover time periods
- Prims minimum spanning
- DFS Maze generation
- Find the node with the minimum maximum distance in a graph
- Undirected connected graph - Finding edges with specific weight that belong to MST
- Why is my graph coloring code not coloring the graph correctly?
Related Questions in GRAPH-ALGORITHM
- Finding optimal swapping paths in employees moving to different cities
- How create an adjacency matrix of a Maze graph
- Convert python functions (shortestpath/ prediction function using nx.adamic_adar_index) into API
- How is a cut lonely if there are often multiple edges crossing a cut in a connected undirected graph?
- How to group nodes in a directed graph so that no two nodes in a group have paths between them?
- Is this total sink algorithm only for dags?
- What would be the best way to solve this maximum path graph problem, is Dijkstra possible even?
- Given undirected graph when removing edges one-by-one verify if removed one was a bridge and if so - the vertices of both parts
- Select n items from a set of subsets
- Implementing Kosaraju's Algorithm for SCC's
- modify current algorithm - APSP
- Does the removal of a few edges remove all paths to a node?
- Sliding Puzzle - DFS Issue
- Can we transform a graph in a way that applying DFS to the new graph would result in the same traversal order as applying BFS on the first graph?
- Advantages of linked lists in adjacency representation of a graph
Related Questions in GRAPH-REDUCTION
- Algorithm to simplify/reduce graph
- Efficient Transitive Reduction of Adjacency List DAG
- Graph reduction / Tricky space leak example
- Tree or Graph contraction
- Semi-explicit parallelism in Haskell
- Haskell implemented without a stack?
- How to reason about space complexity in Haskell
- Reduce cyclic graph to tree (dependency graph-->tree)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?


Are you looking for something out-of-the box or for algorithmic ideas on how to implement this yourself? I can help you with the latter.
What you want to do is called contraction of vertices which have exactly
2neighbours, i.e. that have degree2.For implementing this, do the following:
That is, if you have the following part of the graph:
u ---2--- v ---5--- wand apply the contraction, you end up withu ---7--- w.Just doing this iteratively until no vertex wit degree
2remains will transform the graph in the first picture into the graph in your second picture.The exact implementation details will, of course, depend on which data structure you use to represent your graph in Python (or any other language that is being used).