Ich versuche, einen zufälligen Graphen zu erzeugen, der kleine Welteigenschaften hat (weist eine Potenzgesetzverteilung auf). Ich habe gerade begonnen, das networkx-Paket zu verwenden und entdeckte, dass es eine Vielzahl von zufälligen Graphengenerierung bietet. Kann mir jemand sagen, ob es möglich ist, ein Diagramm zu generieren, in dem der Grad eines bestimmten Knotens einer Gamma-Verteilung folgt (entweder in R oder mit dem Paket networkx von Python)?
Wenn Sie das Konfigurationsmodell verwenden möchten, sollte so etwas in NetworkX funktionieren:
%Vor%Sie müssen möglicherweise den Mittelwert der Sequenz z abhängig von Parametern in der Gammaverteilung anpassen. Auch muss z nicht grafisch sein (du bekommst ein Multigraph), aber es braucht eine gerade Summe, also musst du vielleicht ein paar zufällige Sequenzen ausprobieren (oder 1 hinzufügen) ...
Die NetworkX Dokumentationsnotizen für configuration_model geben ein anderes Beispiel, eine Referenz und wie man parallele Kanten und Selbstschleifen entfernt:
%Vor%Hier ist ein Beispiel ähnlich dem in Ссылка , das eine Zeichnung einschließlich eines Diagrammlayouts erstellt die größte zusammenhängende Komponente:
%Vor%Ich habe das vor einer Weile in der Basis Python ... IIRC, habe ich die folgende Methode verwendet. Aus dem Gedächtnis, also ist das vielleicht nicht ganz genau, aber hoffentlich ist es etwas wert:
N.B. dass dies im Allgemeinen keinen verbundenen Graphen erzeugt.
Ich weiß, dass es sehr spät ist, aber Sie können dasselbe, wenn auch ein wenig direkter, mit Mathematica machen.
RandomGraph [DegreeGraphDistribution [{3, 3, 3, 3, 3, 3, 3, 3}], 4]
Dies erzeugt 4 zufällige Graphen, wobei jeder Knoten einen vorgeschriebenen Grad aufweist.
Einschließlich der oben genannten, bietet networkx
4 Algorithmen, die die grad_distribution als Eingabe erhält:
trials
-Parameter, da es keine Garantie gibt, eine geeignete Konfiguration zu finden. Die vollständige Liste (einschließlich einiger Versionen der Algorithmen für gerichtete Graphen) ist hier .
Ich habe auch ein paar Papiere gefunden: