average degree in an undirected graph compared to a random network - networking

I have a question about the average degree in an undirected graph compared to a random network. If I have a graph A, with 1250 nodes and 321581 edges with an average degree of 521.423. Then I have a random network with 1250 nodes and 321007 edges with an average degree of 509.94.
So i have:
Graph A Random network
N° nodes=1250 N° nodes=1250
N° edges=321581 N° edges=321007
Average degree=521.423 Average degree=509.94
Density=0.406 Density=0.406
I want to analyze if the structure of the network is entirely determined by the degrees of its nodes, so comparing the graph A with the random network, what can I say about the average degree?
I also built the random network with the erdos-renji model; I used as parameters:
I= nx.erdos_renyi_graph(1259,0.406)
where 1259=numbers of nodes of graph A and
0.406=density of graph A
it's right?does it make sense to use the same number of nodes of graph A as parameters in the model of erdos renji and the same density as probability?
this is my PDF Random network VS Real network:

Related

Analytically estimate occurances of motif in random network

I am looking for a way to compute the estimated occurrence of a given motif/subgraph in a random network. For example, I am given a network motif M, which has three vertices and three edges: (A->B, B->C, C->A). What is the expected occurrence of M in a random network with n vertices and k edges?
I know methods that generate a random graph and then enumerate M. Since that is computationally expensive, I wondered if there are more straightforward methods to compute the estimated occurrences.

Building a Graph Convolutional Network for Regression - Prediction/Output is 1 scalar master node/graph feature

I am writing my MSc. thesis at the moment. I want to optimise a strategy on how to efficiently distribute a constrained budget B among some network nodes.
Let's say my network consists of 120 nodes and it is a directed network. Each edge has one feature/weight. Then my budget constraint is B <= number of nodes = 120.
Input for my Graph Convolutional Network is the specific fixed network topology as graph G and a budget distribution x.
My target is 1 scalar for a distribution x among 120 nodes, not a classification problem.
Is there a specific architecture that is relevant for this task - or do I only have to add 1 linear layer after convolution?

Obtaining weighted random graphs with degree preserving randomisation in igraph

I have a weighted network in which nodes are highly interconnected (250 nodes where 90% of the nodes have degree = 249). The connections are weighted with a normalised index that goes from 0 to 1, where 1 means a strong connection and values close to 0 identify weak connections. The weight distribution of the network is right-skewed and follows a power law, with most edges having proximity close to 0.
I am using degree-preserving randomisation tests in order to compare the network-level characteristics to the distribution of the same characteristics extracted from the randomised graphs. I have implemented a degree-preserving randomisation of the following form:
#Obtain the degree distribution to be preserved in the randomised networks
gdegree <- degree(g)
#Generate 1000 random networks with the same degree distribution as g
g.random <- vector('list', 1000)
g.random.degree <- array(dim = c(1000,vcount(g)))
for(i in 1:1000){
g.random[[i]] <- sample_degseq(gdegree)
g.random.degree[i,] <- degree(g.random[[i]])
}
However, the randomised networks resulting from the code above are unweighted.
Is there a way to obtain weighted random networks using degree preserving randomisation? And secondly, is there a statistical test I can perform in order to select the "significant" connections (those that are observed consistently both in the empirical network and randomised networks)?

What is the max number of simple cycles in a directed graph?

Is there a relation between edges and nodes? How could it be expressed in asymptotic notation?

Estimate number of n-node paths in graph using only n and graph density

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.

Resources