Wolfram Function Repository
Instantuse addon functions for the Wolfram Language
Function Repository Resource:
Find the volumes of successively larger neighborhoods around nodes in a graph
ResourceFunction["GraphNeighborhoodVolumes"][graph] gives the numbers of neighbors within successive distances for each vertex in graph.  
ResourceFunction["GraphNeighborhoodVolumes"][graph,{v_{1},v_{2},…}] finds the numbers for the vertices v_{i}.  
ResourceFunction["GraphNeighborhoodVolumes"][graph,All,r] finds the numbers of neighbors for all vertices out to maximum radius r.  
ResourceFunction["GraphNeighborhoodVolumes"][graph,v_{i},Automatic] finds the numbers of neighbors only out to the minimum radius for any of the vertices v_{i}.  
ResourceFunction["GraphNeighborhoodVolumes"][graph,"Random"→n,…] finds the numbers of neighbors for n randomly chosen vertices. 
In a complete graph, the volume around each node includes every node after one step:
In[1]:= 

Out[1]= 

In this graph, the volume grows linearly with the radius:
In[2]:= 

Out[2]= 

Limit to distance 2:
In[3]:= 

Out[3]= 

In this graph, the volume basically grows exponentially with the radius:
In[4]:= 

Out[4]= 

Demonstrating the padded volume of the same graph:
In[5]:= 

Out[5]= 

The padded volume can also be taken for an integer less than the maximum graph radius:
In[6]:= 

Out[6]= 

Find the numbers of neighbors starting from node 20:
In[7]:= 

Out[7]= 

Find the average volumes of successively larger balls around every vertex:
In[8]:= 

Out[8]= 

Plot the result:
In[9]:= 

Out[9]= 

Find the average padded volumes of successively larger balls around every vertex:
In[10]:= 

Out[10]= 

In[11]:= 

Out[11]= 

Converting the undirected graph from the previous example into a graph with asymmetric edges illustrates how padding helps:
In[12]:= 

Out[12]= 

Taking the padded graph neighborhood volumes bypasses the limitations in calculating volume that are imposed by vertices in directed graphs that have small radii:
In[13]:= 

Out[13]= 

In[14]:= 

Out[14]= 

This work is licensed under a Creative Commons Attribution 4.0 International License