Random graph models

Bollobás-Riordan methode

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)