Is there a relation between edges and nodes? How could it be expressed in asymptotic notation?
Related
How is decay centrality defined for a bipartite graph? I am unable to find a clear definition. All I got is https://www.centiserver.org/centrality/Decay_Centrality/. Which wasn't really helpful.
Also, is there some nice implementation of decay centrality for graphs in python? Because I managed to find only networkx (https://networkx.org/documentation/stable/index.html) and it does not have decay centrality. Though it does have all the other centrality measures like degree, closeness, betweenness, eigenvector centrality.
The definition of decay centrality given on the website you linked should work for bipartite and nonbipartite graphs alike.
Here’s how decay centrality is computed. Given a node v whose centrality you’re interested in, your first step is to pick a parameter δ between 0 and 1. The closer δ is to zero, the more emphasis you’ll place on nodes close to v. The closer δ is to 1, the more emphasis you place on nodes further from v.
Next, compute the distance from v to each other node x in the graph. (I’m not specifically familiar with networkx, but this should be easy to compute via breadth-first search if the graph doesn’t have edge weights, Dijkstra’s algorithm if the graph has edge weights and they’re nonnegative, or the Bellman-Ford algorithm if the graph has edge weights which can be negative.) Notationally, let’s have d(v, x) denote the distance from v to x that you computed.
Finally, for each node x other than v, compute δd(x, v), and add up all those values. That final number is the decay centrality for v.
what does it mean by strength of vertex in textual graph?
in reality I don't know by strength of vertex? is it equal with the edge weight or not?
Is there a graph algorithm for solving the following problem:
Given a weighted undirected graph G (all weights are positive), a start node N and a total weight W*. Generate a random cycle through the graph, starting and ending at node N, of which the total weight (the summed weight of all the edges) approximates the given weight W*.
One could see this as generating the cycle that best approximates W*, but generating a cycle that approximates W* within some margin of error is also fine.
If you want a simple cycle, you want an approximation algorithm for the travelling salesman problem. I believe there are known hardness results, indicating that this is NP-hard for general graphs, but there is a wide range of heuristics; you can check the literature.
What is the computational complexity of breadth-first and depth-first traversal in terms of the number of vertices v and the number of edges e when the graph is represented as an adjacency matrix?
The complexity is O(v^2), as the adjacency matrix must be searched to obtain all neighbors of a single vertex.
I have a large, dense graph (~33,000 nodes, ~345 million edges, so the graph density is approximately 0.63). I'm interested in estimating the number of 3-edge paths in this graph. Is there an accurate estimation using only this information (ie no adjacency matrices)?
If a rough estimate is good enough (and the number k of edges in the paths is fix and small): let d be the density, then you have n starting nodes, about n * d possible second nodes, ... and about n * d^k end nodes. If k is small the number of paths with cycles are small opposed to the simple paths. The number of all paths would be about n^(k+1) * d^(k(k+1)/2) - so this would be a (quite) rough estimate.