Iterative construction of a graph structure
First I create one cycle of a few randomly numbered nodes, connected to their two adjacent partners
v1=RandomSample[Range[8]];(*randomlyorderedset*)​​v2=RotateLeft[v1];(*...tobeconnectedtoadjacentnodes*)​​g1=Thread[UndirectedEdge[v1,v2]](*adjacentnodesformasinglecycle*)​​Graph[g1,VertexLabelsAutomatic]
Out[]=
{14,43,38,86,65,52,27,71}
Out[]=
Next I introduce another dimension of connections between the nodes. I want an uneven scattering of noise in these additional connections, so that some nodes are more connected and others less. For this set of connections I take a different random permutation, so that it’s not necessarily a single cycle with respect to the first sample
v3=RandomSample[Range[8]];(*Takea2ndrandompermutation*)​​g2=Thread[UndirectedEdge[v1,v3]](*demonstratehowthetwopermutationsconnect*)​​Graph[g2,VertexLabelsAutomatic]
Out[]=
{14,41,36,83,67,55,28,72}
Out[]=
And finally, combining this additional dimension of connections to the original ring gives a network where each vertex has 2~4 neighbors
g3=Union[g1,g2](*Thecombinationadds0~2moreconnectionstoeachvertex*)​​Graph[g3,VertexLabelsAutomatic]
Out[]=
{14,27,28,36,38,41,43,52,55,65,67,71,72,83,86}
Out[]=