GraphTheory[RandomGraphs]
RandomRegularGraph
generate a random regular graph
Calling Sequence
Parameters
Options
Description
Examples
RandomRegularGraph(n,d,options)
n
-
positive integer or list of vertices
d
nonnegative integer
options
(optional) equation(s) of the form option=value where option is one of connected or seed
connected = truefalse
If specified, indicates that the generated graph should be connected.
seed = integer or none
Seed for the random number generator. When an integer is specified, this is equivalent to calling randomize(seed).
RandomRegularGraph(n,d) creates a d-regular undirected unweighted graph on n vertices. n and d cannot both be odd and d must satisfy d<n.
If the option connected is specified, the graph created will be connected. n and d must then satisfy n = 1 and d = 0, or n = 2 and d = 1, or n>2 and d>1 as well as the above.
For RandomRegularGraph(n,d,connected), a random tree with maximum degree≤d is first created.
For generating weighted graphs use weights = f and see AssignEdgeWeights for details about f.
The random number generator used can be seeded using the seed option or the randomize function.
with⁡GraphTheory:
with⁡RandomGraphs:
R≔RandomRegularGraph⁡100,80,connected
R≔Graph 1: an undirected graph with 100 vertices and 4000 edge(s)
IsRegular⁡R
true
IsConnected⁡R
R≔RandomRegularGraph⁡seq⁡a..j,3,weights=−10..10
R≔Graph 2: an undirected weighted graph with 10 vertices and 15 edge(s)
WeightMatrix⁡R
0−100030900−10090000−700000007−100609008000−7000080−10−60003000−10000−200070−60000−790−10000000−60−70−70−20000006000−7−600
f≔RandomTools:-Generate⁡float⁡range=0.1..1,digits=2,makeproc=true:
R≔RandomRegularGraph⁡10,3,weights=f
R≔Graph 3: an undirected weighted graph with 10 vertices and 15 edge(s)
000.330000.42000.95000.33000000.270.250.330.3300000.6400000000000.540.740.83000000.400.540.740000000.40000.700.4700.4200.6400.54000000000.540.740.70000000.2700.7400.4700000.950.2500.83000000
U≔rand⁡1..4:
f := proc() local x; x := U(); if x=1 then 1 else 2 end if; end proc:
H≔RandomRegularGraph⁡10,3,connected,weights=f
H≔Graph 4: an undirected weighted graph with 10 vertices and 15 edge(s)
WeightMatrix⁡H
0022100000002100100022000000202100001000100000022000000002220101000002000022000200202200000000022200
See Also
AssignEdgeWeights
GraphTheory:-IsConnected
GraphTheory:-WeightMatrix
RandomBipartiteGraph
RandomDigraph
RandomGraph
RandomNetwork
RandomTournament
RandomTree
Download Help Document