The Bollobás-Riordan method, proposed by mathematicians Béla Bollobás and Oliver Riordan, is a procedure for generating random graphs with a given degree sequence
It allows researchers to explore and analyze the properties of large-scale networks and complex systems in a stochastic setting.
open Graphoscope
open Graphoscope.RandomModels
let N = 50
let myBollobasRiordan = RandomModels.BollobasRiordan.initDirectedFGraph N 0.1 0.6 0.3 0.6 0.4 FGraph.empty
"You have created a graph with 50 nodes and 104 edges"
|
namespace Graphoscope
namespace Graphoscope.RandomModels
val N: int
val myBollobasRiordan: FGraph<int,int,float>
Multiple items
type BollobasRiordan =
new: unit -> BollobasRiordan
static member initDirected: n: int * alpha: float * beta: float * gamma: float * delta_in: float * delta_out: float * create_using: FGraph<int,int,float> -> FGraph<int,int,float> + 1 overload
static member initDirectedDiGraph: n: int -> alpha: float -> beta: float -> gamma: float -> delta_in: float -> delta_out: float -> create_using: DiGraph<'NodeKey,'NodeData,'EdgeData> -> 'a3 (requires comparison)
static member initDirectedFGraph: n: int -> alpha: float -> beta: float -> gamma: float -> delta_in: float -> delta_out: float -> create_using: FGraph<int,int,float> -> FGraph<int,int,float>
--------------------
new: unit -> BollobasRiordan
static member BollobasRiordan.initDirectedFGraph: n: int -> alpha: float -> beta: float -> gamma: float -> delta_in: float -> delta_out: float -> create_using: FGraph<int,int,float> -> FGraph<int,int,float>
Multiple items
module FGraph
from Graphoscope
--------------------
type FGraph =
new: unit -> FGraph
static member addEdge: nk1: 'NodeKey -> nk2: 'NodeKey -> ed: 'EdgeData -> g: FGraph<'NodeKey,'NodeData,'EdgeData> -> FGraph<'NodeKey,'NodeData,'EdgeData> (requires comparison)
static member addEdges: edgeSeq: seq<'NodeKey * 'NodeKey * 'EdgeData> -> g: FGraph<'NodeKey,'NodeData,'EdgeData> -> FGraph<'NodeKey,'NodeData,'EdgeData> (requires comparison)
static member addElement: nk1: 'NodeKey -> nd1: 'NodeData -> nk2: 'NodeKey -> nd2: 'NodeData -> ed: 'EdgeData -> g: FGraph<'NodeKey,'NodeData,'EdgeData> -> FGraph<'NodeKey,'NodeData,'EdgeData> (requires comparison)
static member addNode: nk: 'NodeKey -> nd: 'NodeData -> g: FGraph<'NodeKey,'NodeData,'EdgeData> -> FGraph<'NodeKey,'NodeData,'EdgeData> (requires comparison)
static member addNodes: nodeSeq: seq<'NodeKey * 'NodeData> -> g: FGraph<'NodeKey,'NodeData,'EdgeData> -> FGraph<'NodeKey,'NodeData,'EdgeData> (requires comparison)
static member clone: graph: FGraph<'NodeKey,'NodeData,'EdgeData> -> FGraph<'NodeKey,'NodeData,'EdgeData> (requires comparison)
static member containsEdge: v1: 'NodeKey -> v2: 'NodeKey -> g: FGraph<'NodeKey,'NodeData,'EdgeData> -> bool (requires comparison)
static member containsNode: vk: 'NodeKey -> g: FGraph<'NodeKey,'NodeData,'EdgeData> -> bool (requires comparison)
static member countEdges: g: FGraph<'NodeKey,'NodeData,'EdgeData> -> int (requires comparison)
...
--------------------
type FGraph<'NodeKey,'NodeData,'EdgeData (requires comparison)> = System.Collections.Generic.Dictionary<'NodeKey,FContext<'NodeKey,'NodeData,'EdgeData>>
--------------------
new: unit -> FGraph
val empty<'NodeKey,'NodeData,'EdgeData (requires comparison)> : FGraph<'NodeKey,'NodeData,'EdgeData> (requires comparison)
<summary>
Returns a new, empty graph
</summary>
<returns>Empty FGraph</returns>
val g: string
val sprintf: format: Printf.StringFormat<'T> -> 'T
<summary>Print to a string using the given format.</summary>
<param name="format">The formatter.</param>
<returns>The formatted result.</returns>
<example>See <c>Printf.sprintf</c> (link: <see cref="M:Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThen``1" />) for examples.</example>
static member FGraph.countNodes: g: FGraph<'NodeKey,'NodeData,'EdgeData> -> int (requires comparison)
static member FGraph.countEdges: g: FGraph<'NodeKey,'NodeData,'EdgeData> -> int (requires comparison)